diff options
Diffstat (limited to 'chromium/third_party/cld_3/src')
78 files changed, 75067 insertions, 0 deletions
diff --git a/chromium/third_party/cld_3/src/CMakeLists.txt b/chromium/third_party/cld_3/src/CMakeLists.txt new file mode 100644 index 00000000000..732a8ae67b1 --- /dev/null +++ b/chromium/third_party/cld_3/src/CMakeLists.txt @@ -0,0 +1,69 @@ +# This cmake scripts only builds a static cld3 lib and the unittests. + +project(cld3) + +# Old versions of cmake dont search/find protobuf lite +cmake_minimum_required(VERSION 3.9) + +find_package(Protobuf REQUIRED) +message(STATUS "Protobuf_FOUND= ${Protobuf_FOUND}") +message(STATUS "Protobuf_VERSION= ${Protobuf_VERSION}") +message(WARNING "Protobuf 2.5 and CLD3 seems happy together. This script does NOT check if your verison of protobuf is compatible.") +message(STATUS "Protobuf_LIBRARIES= ${Protobuf_LIBRARIES}") +message(STATUS "Protobuf_LITE_LIBRARIES= ${Protobuf_LITE_LIBRARIES}") # Usually /usr/lib64/libprotobuf-lite.so + +# By default, protobuf_generate_cpp generates pb.* files directy in the cmake build dir. +# But CLD3 sources have been coded using hard coded pathes to cld_3/protos/*.pb.h. +# So *.pb.h must be output to cld_3/protos. +# For that, let's use a custom my_protobuf_generate_cpp: +include(${CMAKE_CURRENT_SOURCE_DIR}/misc/myprotobuf.cmake) +my_protobuf_generate_cpp(cld_3/protos PROTO_SRCS PROTO_HDRS src/feature_extractor.proto src/sentence.proto src/task_spec.proto) +message(STATUS "PROTO_HDRS= ${PROTO_HDRS}") + +add_definitions(-fPIC) # Position Independant Code +add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0) +add_definitions(-std=c++11) # Needed for std::to_string(), ... + +include_directories(${CMAKE_CURRENT_BINARY_DIR}) # needed to include generated pb headers + +add_library(${PROJECT_NAME} + ${PROTO_SRCS} ${PROTO_HDRS} + src/base.cc + src/embedding_feature_extractor.cc + src/embedding_network.cc + src/feature_extractor.cc + src/feature_extractor.h + src/feature_types.cc + src/fml_parser.cc + src/language_identifier_features.cc + src/lang_id_nn_params.cc + src/nnet_language_identifier.cc + src/registry.cc + src/relevant_script_feature.cc + src/sentence_features.cc + src/task_context.cc + src/task_context_params.cc + src/unicodetext.cc + src/utils.cc + src/workspace.cc + + src/script_span/generated_entities.cc + src/script_span/getonescriptspan.cc + src/script_span/getonescriptspan.h + src/script_span/getonescriptspan_test.cc + src/script_span/utf8statetable.cc + src/script_span/offsetmap.cc + src/script_span/text_processing.cc + src/script_span/text_processing.h + src/script_span/fixunicodevalue.cc + ) + +# unit tests exec: +add_executable(language_identifier_main src/language_identifier_main.cc) +target_link_libraries(language_identifier_main cld3 ${Protobuf_LITE_LIBRARIES}) + +add_executable(getonescriptspan_test src/script_span/getonescriptspan_test.cc) +target_link_libraries(getonescriptspan_test cld3 ${Protobuf_LITE_LIBRARIES}) + +add_executable(language_identifier_features_test src/language_identifier_features_test.cc) +target_link_libraries(language_identifier_features_test cld3 ${Protobuf_LITE_LIBRARIES}) diff --git a/chromium/third_party/cld_3/src/CONTRIBUTING.md b/chromium/third_party/cld_3/src/CONTRIBUTING.md new file mode 100644 index 00000000000..ade29dbfc34 --- /dev/null +++ b/chromium/third_party/cld_3/src/CONTRIBUTING.md @@ -0,0 +1,26 @@ +Want to contribute? Great! First, read this page (including the small print at +the end). + +### Before you contribute +Before we can use your code, you must sign the +[Google Individual Contributor License Agreement](https://cla.developers.google.com/about/google-individual) +(CLA), which you can do online. The CLA is necessary mainly because you own the +copyright to your changes, even after your contribution becomes part of our +codebase, so we need your permission to use and distribute your code. We also +need to be sure of various other things—for instance that you'll tell us if you +know that your code infringes on other people's patents. You don't have to sign +the CLA until after you've submitted your code for review and a member has +approved it, but you must do it before we can put your code into our codebase. +Before you start working on a larger contribution, you should get in touch with +us first through the issue tracker with your idea so that we can help out and +possibly guide you. Coordinating up front makes it much easier to avoid +frustration later on. + +### Code reviews +All submissions, including submissions by project members, require review. We +use Github pull requests for this purpose. + +### The small print +Contributions made by corporations are covered by a different agreement than +the one above, the +[Software Grant and Corporate Contributor License Agreement](https://cla.developers.google.com/about/google-corporate). diff --git a/chromium/third_party/cld_3/src/LICENSE b/chromium/third_party/cld_3/src/LICENSE new file mode 100644 index 00000000000..c5899b26feb --- /dev/null +++ b/chromium/third_party/cld_3/src/LICENSE @@ -0,0 +1,203 @@ +Copyright 2016 Google Inc. All rights reserved. + + 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 2016, Google Inc. + + 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/chromium/third_party/cld_3/src/README.md b/chromium/third_party/cld_3/src/README.md new file mode 100644 index 00000000000..86008330c43 --- /dev/null +++ b/chromium/third_party/cld_3/src/README.md @@ -0,0 +1,73 @@ +# Compact Language Detector v3 (CLD3) + +* [Model](#model) +* [Installation](#installation) +* [Contact](#contact) +* [Credits](#credits) + +### Model + +CLD3 is a neural network model for language identification. This package + contains the inference code and a trained model. The inference code + extracts character ngrams from the input text and computes the fraction + of times each of them appears. For example, as shown in the figure below, + if the input text is "banana", then one of the extracted trigrams is "ana" + and the corresponding fraction is 2/4. The ngrams are hashed down to an id + within a small range, and each id is represented by a dense embedding vector + estimated during training. + +The model averages the embeddings corresponding to each ngram type according + to the fractions, and the averaged embeddings are concatenated to produce + the embedding layer. The remaining components of the network are a hidden + (Rectified linear) layer and a softmax layer. + +To get a language prediction for the input text, we simply perform a forward + pass through the network. + +![Figure](model.png "CLD3") + +### Installation +CLD3 is designed to run in the Chrome browser, so it relies on code in +[Chromium](http://www.chromium.org/). +The steps for building and running the demo of the language detection model are: + +- [check out](http://www.chromium.org/developers/how-tos/get-the-code) the + Chromium repository. +- copy the code to `//third_party/cld_3` +- Uncomment `language_identifier_main` executable in `src/BUILD.gn`. +- build and run the model using the commands: + +```shell +gn gen out/Default +ninja -C out/Default third_party/cld_3/src/src:language_identifier_main +out/Default/language_identifier_main +``` +### Bugs and Feature Requests + +Open a [GitHub issue](https://github.com/google/cld3/issues) for this repository to file bugs and feature requests. + +### Announcements and Discussion + +For announcements regarding major updates as well as general discussion list, please subscribe to: +[cld3-users@googlegroups.com](https://groups.google.com/forum/#!forum/cld3-users) + +### Credits + +Original authors of the code in this package include (in alphabetical order): + +* Alex Salcianu +* Andy Golding +* Anton Bakalov +* Chris Alberti +* Daniel Andor +* David Weiss +* Emily Pitler +* Greg Coppola +* Jason Riesa +* Kuzman Ganchev +* Michael Ringgaard +* Nan Hua +* Ryan McDonald +* Slav Petrov +* Stefan Istrate +* Terry Koo diff --git a/chromium/third_party/cld_3/src/misc/myprotobuf.cmake b/chromium/third_party/cld_3/src/misc/myprotobuf.cmake new file mode 100644 index 00000000000..c8d42427dc5 --- /dev/null +++ b/chromium/third_party/cld_3/src/misc/myprotobuf.cmake @@ -0,0 +1,58 @@ +# Special PROTOBUF_GENERATE_CPP which allows to set the output folder: +# From https://stackoverflow.com/users/1600278/akira-okumura + +function(MY_PROTOBUF_GENERATE_CPP PATH SRCS HDRS) + if(NOT ARGN) + message(SEND_ERROR "Error: PROTOBUF_GENERATE_CPP() called without any proto files") + return() + endif() + + if(PROTOBUF_GENERATE_CPP_APPEND_PATH) + # Create an include path for each file specified + foreach(FIL ${ARGN}) + get_filename_component(ABS_FIL ${FIL} ABSOLUTE) + get_filename_component(ABS_PATH ${ABS_FIL} PATH) + list(FIND _protobuf_include_path ${ABS_PATH} _contains_already) + if(${_contains_already} EQUAL -1) + list(APPEND _protobuf_include_path -I ${ABS_PATH}) + endif() + endforeach() + else() + set(_protobuf_include_path -I ${CMAKE_CURRENT_SOURCE_DIR}) + endif() + + if(DEFINED PROTOBUF_IMPORT_DIRS) + foreach(DIR ${PROTOBUF_IMPORT_DIRS}) + get_filename_component(ABS_PATH ${DIR} ABSOLUTE) + list(FIND _protobuf_include_path ${ABS_PATH} _contains_already) + if(${_contains_already} EQUAL -1) + list(APPEND _protobuf_include_path -I ${ABS_PATH}) + endif() + endforeach() + endif() + + set(${SRCS}) + set(${HDRS}) + foreach(FIL ${ARGN}) + get_filename_component(ABS_FIL ${FIL} ABSOLUTE) + get_filename_component(FIL_WE ${FIL} NAME_WE) + + list(APPEND ${SRCS} "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/${FIL_WE}.pb.cc") + list(APPEND ${HDRS} "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/${FIL_WE}.pb.h") + + execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${PATH}) + + add_custom_command( + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/${FIL_WE}.pb.cc" + "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/${FIL_WE}.pb.h" + COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} + ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR}/${PATH} ${_protobuf_include_path} ${ABS_FIL} + DEPENDS ${ABS_FIL} + COMMENT "Running C++ protocol buffer compiler on ${FIL}" + VERBATIM ) + endforeach() + + set_source_files_properties(${${SRCS}} ${${HDRS}} PROPERTIES GENERATED TRUE) + set(${SRCS} ${${SRCS}} PARENT_SCOPE) + set(${HDRS} ${${HDRS}} PARENT_SCOPE) +endfunction()
\ No newline at end of file diff --git a/chromium/third_party/cld_3/src/model.png b/chromium/third_party/cld_3/src/model.png Binary files differnew file mode 100644 index 00000000000..87f0f14db0b --- /dev/null +++ b/chromium/third_party/cld_3/src/model.png diff --git a/chromium/third_party/cld_3/src/src/DEPS b/chromium/third_party/cld_3/src/src/DEPS new file mode 100644 index 00000000000..e00022d82b9 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/DEPS @@ -0,0 +1,4 @@ +include_rules = [ + '+cld_3', + '+script_span', +]
\ No newline at end of file diff --git a/chromium/third_party/cld_3/src/src/base.cc b/chromium/third_party/cld_3/src/src/base.cc new file mode 100644 index 00000000000..aaa363c9c6d --- /dev/null +++ b/chromium/third_party/cld_3/src/src/base.cc @@ -0,0 +1,36 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "base.h" + +#include <string> +#if defined(COMPILER_MSVC) || defined(_WIN32) +#include <sstream> +#endif // defined(COMPILER_MSVC) || defined(_WIN32) + +namespace chrome_lang_id { + +// TODO(abakalov): Pick the most efficient approach. +#if defined(COMPILER_MSVC) || defined(_WIN32) +std::string Int64ToString(int64 input) { + std::stringstream stream; + stream << input; + return stream.str(); +} +#else +std::string Int64ToString(int64 input) { return std::to_string(input); } +#endif // defined(COMPILER_MSVC) || defined(_WIN32) + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/base.h b/chromium/third_party/cld_3/src/src/base.h new file mode 100644 index 00000000000..20189e2cd09 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/base.h @@ -0,0 +1,106 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef BASE_H_ +#define BASE_H_ + +#include <cassert> +#include <map> +#include <string> +#include <vector> + +namespace chrome_lang_id { + +using std::vector; +using std::string; +using std::map; +using std::pair; +typedef unsigned int uint32; + +#if LANG_CXX11 +#define CLD3_DISALLOW_COPY_AND_ASSIGN(TypeName) \ + TypeName(const TypeName &) = delete; \ + TypeName &operator=(const TypeName &) = delete +#else // C++98 case follows + +// Note that these C++98 implementations cannot completely disallow copying, +// as members and friends can still accidentally make elided copies without +// triggering a linker error. +#define CLD3_DISALLOW_COPY_AND_ASSIGN(TypeName) \ + TypeName(const TypeName &); \ + TypeName &operator=(const TypeName &) +#endif // LANG_CXX11 + +#ifndef CLD3_IMMEDIATE_CRASH +#if defined(__GNUC__) || defined(__clang__) +#define CLD3_IMMEDIATE_CRASH() __builtin_trap() +#else +#define CLD3_IMMEDIATE_CRASH() ((void)(*(volatile char *)0 = 0)) +#endif +#endif // CLD3_IMMEDIATE_CRASH + +#define CLD3_CHECK(f) (!(f) ? CLD3_IMMEDIATE_CRASH() : (void)0) + +#if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON) +#define CLD3_DCHECK(f) ((void)0) +#else +#define CLD3_DCHECK(f) CLD3_CHECK(f) +#endif + +#ifndef SWIG +typedef int int32; +typedef unsigned char uint8; // NOLINT +typedef unsigned short uint16; // NOLINT + +// A type to represent a Unicode code-point value. As of Unicode 4.0, +// such values require up to 21 bits. +// (For type-checking on pointers, make this explicitly signed, +// and it should always be the signed version of whatever int32 is.) +typedef signed int char32; +#endif // SWIG + +#ifdef COMPILER_MSVC +typedef __int64 int64; +#else +typedef long long int64; // NOLINT +#endif // COMPILER_MSVC + +#if defined(__GNUC__) && \ + (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) + +// For functions we want to force inline. +// Introduced in gcc 3.1. +#define CLD3_ATTRIBUTE_ALWAYS_INLINE __attribute__((always_inline)) + +#elif defined(_MSC_VER) +#define CLD3_ATTRIBUTE_ALWAYS_INLINE __forceinline +#else + +// Other compilers will have to figure it out for themselves. +#define CLD3_ATTRIBUTE_ALWAYS_INLINE +#endif + +#ifdef INTERNAL_BUILD +typedef basic_string<char> bstring; +#else +typedef std::basic_string<char> bstring; +#endif // INTERNAL_BUILD + +// Converts int64 to string. +std::string Int64ToString(int64 input); + +} // namespace chrome_lang_id + +#endif // BASE_H_ diff --git a/chromium/third_party/cld_3/src/src/casts.h b/chromium/third_party/cld_3/src/src/casts.h new file mode 100644 index 00000000000..4c9ecd788a1 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/casts.h @@ -0,0 +1,98 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +// This code is compiled directly on many platforms, including client +// platforms like Windows, Mac, and embedded systems. Before making +// any changes here, make sure that you're not breaking any platforms. +// + +#ifndef CASTS_H_ +#define CASTS_H_ + +#include <string.h> // for memcpy + +namespace chrome_lang_id { + +// lang_id_bit_cast<Dest,Source> is a template function that implements the +// equivalent of "*reinterpret_cast<Dest*>(&source)". We need this in +// very low-level functions like the protobuf library and fast math +// support. +// +// float f = 3.14159265358979; +// int i = lang_id_bit_cast<int32>(f); +// // i = 0x40490fdb +// +// The classical address-casting method is: +// +// // WRONG +// float f = 3.14159265358979; // WRONG +// int i = * reinterpret_cast<int*>(&f); // WRONG +// +// The address-casting method actually produces undefined behavior +// according to ISO C++ specification section 3.10 -15 -. Roughly, this +// section says: if an object in memory has one type, and a program +// accesses it with a different type, then the result is undefined +// behavior for most values of "different type". +// +// This is true for any cast syntax, either *(int*)&f or +// *reinterpret_cast<int*>(&f). And it is particularly true for +// conversions between integral lvalues and floating-point lvalues. +// +// The purpose of 3.10 -15- is to allow optimizing compilers to assume +// that expressions with different types refer to different memory. gcc +// 4.0.1 has an optimizer that takes advantage of this. So a +// non-conforming program quietly produces wildly incorrect output. +// +// The problem is not the use of reinterpret_cast. The problem is type +// punning: holding an object in memory of one type and reading its bits +// back using a different type. +// +// The C++ standard is more subtle and complex than this, but that +// is the basic idea. +// +// Anyways ... +// +// lang_id_bit_cast<> calls memcpy() which is blessed by the standard, +// especially by the example in section 3.9 . Also, of course, +// lang_id_bit_cast<> wraps up the nasty logic in one place. +// +// Fortunately memcpy() is very fast. In optimized mode, with a +// constant size, gcc 2.95.3, gcc 4.0.1, and msvc 7.1 produce inline +// code with the minimal amount of data movement. On a 32-bit system, +// memcpy(d,s,4) compiles to one load and one store, and memcpy(d,s,8) +// compiles to two loads and two stores. +// +// I tested this code with gcc 2.95.3, gcc 4.0.1, icc 8.1, and msvc 7.1. +// +// WARNING: if Dest or Source is a non-POD type, the result of the memcpy +// is likely to surprise you. +// +// Props to Bill Gibbons for the compile time assertion technique and +// Art Komninos and Igor Tandetnik for the msvc experiments. +// +// -- mec 2005-10-17 + +template <class Dest, class Source> +inline Dest lang_id_bit_cast(const Source &source) { + static_assert(sizeof(Dest) == sizeof(Source), "Sizes do not match"); + + Dest dest; + memcpy(&dest, &source, sizeof(dest)); + return dest; +} + +} // namespace chrome_lang_id + +#endif // CASTS_H_ diff --git a/chromium/third_party/cld_3/src/src/embedding_feature_extractor.cc b/chromium/third_party/cld_3/src/src/embedding_feature_extractor.cc new file mode 100644 index 00000000000..16692b3937d --- /dev/null +++ b/chromium/third_party/cld_3/src/src/embedding_feature_extractor.cc @@ -0,0 +1,51 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "embedding_feature_extractor.h" + +#include <stddef.h> +#include <vector> + +#include "feature_extractor.h" +#include "feature_types.h" +#include "task_context.h" +#include "utils.h" + +namespace chrome_lang_id { + +GenericEmbeddingFeatureExtractor::GenericEmbeddingFeatureExtractor() {} + +GenericEmbeddingFeatureExtractor::~GenericEmbeddingFeatureExtractor() {} + +void GenericEmbeddingFeatureExtractor::Setup(TaskContext *context) { + // Don't use version to determine how to get feature FML. + string features_param = ArgPrefix(); + features_param += "_features"; + const string features = context->Get(features_param, ""); + const string embedding_names = + context->Get(GetParamName("embedding_names"), ""); + const string embedding_dims = + context->Get(GetParamName("embedding_dims"), ""); + embedding_fml_ = utils::Split(features, ';'); + add_strings_ = context->Get(GetParamName("add_varlen_strings"), false); + embedding_names_ = utils::Split(embedding_names, ';'); + for (const string &dim : utils::Split(embedding_dims, ';')) { + embedding_dims_.push_back(utils::ParseUsing<int>(dim, utils::ParseInt32)); + } +} + +void GenericEmbeddingFeatureExtractor::Init(TaskContext *context) {} + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/embedding_feature_extractor.h b/chromium/third_party/cld_3/src/src/embedding_feature_extractor.h new file mode 100644 index 00000000000..4ff3e52f740 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/embedding_feature_extractor.h @@ -0,0 +1,182 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef EMBEDDING_FEATURE_EXTRACTOR_H_ +#define EMBEDDING_FEATURE_EXTRACTOR_H_ + +#include <memory> +#include <string> +#include <vector> + +#include "feature_extractor.h" +#include "task_context.h" +#include "workspace.h" + +namespace chrome_lang_id { + +// An EmbeddingFeatureExtractor manages the extraction of features for +// embedding-based models. It wraps a sequence of underlying classes of feature +// extractors, along with associated predicate maps. Each class of feature +// extractors is associated with a name, e.g., "unigrams", "bigrams". +// +// The class is split between a generic abstract version, +// GenericEmbeddingFeatureExtractor (that can be initialized without knowing the +// signature of the ExtractFeatures method) and a typed version. +// +// The predicate maps must be initialized before use: they can be loaded using +// Read() or updated via UpdateMapsForExample. +class GenericEmbeddingFeatureExtractor { + public: + GenericEmbeddingFeatureExtractor(); + virtual ~GenericEmbeddingFeatureExtractor(); + + // Get the prefix string to put in front of all arguments, so they don't + // conflict with other embedding models. + virtual const string ArgPrefix() const = 0; + + // Sets up predicate maps and embedding space names that are common for all + // embedding based feature extractors. + virtual void Setup(TaskContext *context); + virtual void Init(TaskContext *context); + + // Requests workspace for the underlying feature extractors. This is + // implemented in the typed class. + virtual void RequestWorkspaces(WorkspaceRegistry *registry) = 0; + + // Number of predicates for the embedding at a given index (vocabulary size.) + int EmbeddingSize(int index) const { + return generic_feature_extractor(index).GetDomainSize(); + } + + // Returns number of embedding spaces. + int NumEmbeddings() const { return embedding_dims_.size(); } + + // Returns the number of features in the embedding space. + int FeatureSize(int idx) const { + return generic_feature_extractor(idx).feature_types(); + } + + // Returns the dimensionality of the embedding space. + int EmbeddingDims(int index) const { return embedding_dims_[index]; } + + // Accessor for embedding dims (dimensions of the embedding spaces). + const std::vector<int> &embedding_dims() const { return embedding_dims_; } + + const std::vector<string> &embedding_fml() const { return embedding_fml_; } + + // Get parameter name by concatenating the prefix and the original name. + string GetParamName(const string ¶m_name) const { + string name = ArgPrefix(); + name += "_"; + name += param_name; + return name; + } + + protected: + // Provides the generic class with access to the templated extractors. This is + // used to get the type information out of the feature extractor without + // knowing the specific calling arguments of the extractor itself. + virtual const GenericFeatureExtractor &generic_feature_extractor( + int idx) const = 0; + + private: + // Embedding space names for parameter sharing. + std::vector<string> embedding_names_; + + // FML strings for each feature extractor. + std::vector<string> embedding_fml_; + + // Size of each of the embedding spaces (maximum predicate id). + std::vector<int> embedding_sizes_; + + // Embedding dimensions of the embedding spaces (i.e. 32, 64 etc.) + std::vector<int> embedding_dims_; + + // Whether or not to add string descriptions to converted examples. + bool add_strings_; +}; + +// Templated, object-specific implementation of the +// EmbeddingFeatureExtractor. EXTRACTOR should be a FeatureExtractor<OBJ, +// ARGS...> class that has the appropriate FeatureTraits() to ensure that +// locator type features work. +// +// Note: for backwards compatibility purposes, this always reads the FML spec +// from "<prefix>_features". +template <class EXTRACTOR, class OBJ, class... ARGS> +class EmbeddingFeatureExtractor : public GenericEmbeddingFeatureExtractor { + public: + // Sets up all predicate maps, feature extractors, and flags. + void Setup(TaskContext *context) override { + GenericEmbeddingFeatureExtractor::Setup(context); + feature_extractors_.resize(embedding_fml().size()); + for (size_t i = 0; i < embedding_fml().size(); ++i) { + feature_extractors_[i].Parse(embedding_fml()[i]); + feature_extractors_[i].Setup(context); + } + } + + // Initializes resources needed by the feature extractors. + void Init(TaskContext *context) override { + GenericEmbeddingFeatureExtractor::Init(context); + for (auto &feature_extractor : feature_extractors_) { + feature_extractor.Init(context); + } + } + + // Requests workspaces from the registry. Must be called after Init(), and + // before Preprocess(). + void RequestWorkspaces(WorkspaceRegistry *registry) override { + for (auto &feature_extractor : feature_extractors_) { + feature_extractor.RequestWorkspaces(registry); + } + } + + // Must be called on the object one state for each sentence, before any + // feature extraction (e.g., UpdateMapsForExample, ExtractSparseFeatures). + void Preprocess(WorkspaceSet *workspaces, OBJ *obj) const { + for (auto &feature_extractor : feature_extractors_) { + feature_extractor.Preprocess(workspaces, obj); + } + } + + // Extracts features using the extractors. Note that features must already + // be initialized to the correct number of feature extractors. No predicate + // mapping is applied. + void ExtractFeatures(const WorkspaceSet &workspaces, const OBJ &obj, + ARGS... args, + std::vector<FeatureVector> *features) const { + for (size_t i = 0; i < feature_extractors_.size(); ++i) { + features->at(i).clear(); + feature_extractors_.at(i).ExtractFeatures(workspaces, obj, args..., + &features->at(i)); + } + } + + protected: + // Provides generic access to the feature extractors. + const GenericFeatureExtractor &generic_feature_extractor( + int idx) const override { + return feature_extractors_.at(idx); + } + + private: + // Templated feature extractor class. + std::vector<EXTRACTOR> feature_extractors_; +}; + +} // namespace chrome_lang_id + +#endif // EMBEDDING_FEATURE_EXTRACTOR_H_ diff --git a/chromium/third_party/cld_3/src/src/embedding_network.cc b/chromium/third_party/cld_3/src/src/embedding_network.cc new file mode 100644 index 00000000000..f2e0801c267 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/embedding_network.cc @@ -0,0 +1,196 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "embedding_network.h" + +#include "base.h" +#include "embedding_network_params.h" +#include "float16.h" +#include "simple_adder.h" + +namespace chrome_lang_id { +namespace { + +using VectorWrapper = EmbeddingNetwork::VectorWrapper; + +void CheckNoQuantization(const EmbeddingNetworkParams::Matrix matrix) { + // Quantization not allowed here. + CLD3_DCHECK(static_cast<int>(QuantizationType::NONE) == + static_cast<int>(matrix.quant_type)); +} + +// Fills a Matrix object with the parameters in the given MatrixParams. This +// function is used to initialize weight matrices that are *not* embedding +// matrices. +void FillMatrixParams(const EmbeddingNetworkParams::Matrix source_matrix, + EmbeddingNetwork::Matrix *mat) { + mat->resize(source_matrix.rows); + CheckNoQuantization(source_matrix); + const float *weights = + reinterpret_cast<const float *>(source_matrix.elements); + for (int r = 0; r < source_matrix.rows; ++r) { + (*mat)[r] = EmbeddingNetwork::VectorWrapper(weights, source_matrix.cols); + weights += source_matrix.cols; + } +} + +// Computes y = weights * Relu(x) + b where Relu is optionally applied. +template <typename ScaleAdderClass> +void SparseReluProductPlusBias(bool apply_relu, + const EmbeddingNetwork::Matrix &weights, + const EmbeddingNetwork::VectorWrapper &b, + const EmbeddingNetwork::Vector &x, + EmbeddingNetwork::Vector *y) { + y->assign(b.data(), b.data() + b.size()); + ScaleAdderClass adder(y->data(), y->size()); + + const int x_size = x.size(); + for (int i = 0; i < x_size; ++i) { + const float &scale = x[i]; + if (apply_relu) { + if (scale > 0) { + adder.LazyScaleAdd(weights[i].data(), scale); + } + } else { + adder.LazyScaleAdd(weights[i].data(), scale); + } + } + adder.Finalize(); +} +} // namespace + +void EmbeddingNetwork::ConcatEmbeddings( + const std::vector<FeatureVector> &feature_vectors, Vector *concat) const { + concat->resize(model_->concat_layer_size()); + + // "es_index" stands for "embedding space index". + for (size_t es_index = 0; es_index < feature_vectors.size(); ++es_index) { + const int concat_offset = model_->concat_offset(es_index); + const int embedding_dim = model_->embedding_dim(es_index); + + const EmbeddingMatrix &embedding_matrix = embedding_matrices_[es_index]; + CLD3_DCHECK(embedding_matrix.dim() == embedding_dim); + + const bool is_quantized = + embedding_matrix.quant_type() != QuantizationType::NONE; + + const FeatureVector &feature_vector = feature_vectors[es_index]; + const int num_features = feature_vector.size(); + for (int fi = 0; fi < num_features; ++fi) { + const FeatureType *feature_type = feature_vector.type(fi); + int feature_offset = concat_offset + feature_type->base() * embedding_dim; + CLD3_DCHECK(feature_offset + embedding_dim <= + static_cast<int>(concat->size())); + + // Weighted embeddings will be added starting from this address. + float *concat_ptr = concat->data() + feature_offset; + + // Pointer to float / uint8 weights for relevant embedding. + const void *embedding_data; + + // Multiplier for each embedding weight. + float multiplier; + const FeatureValue feature_value = feature_vector.value(fi); + if (feature_type->is_continuous()) { + // Continuous features (encoded as FloatFeatureValue). + FloatFeatureValue float_feature_value(feature_value); + const int id = float_feature_value.value.id; + embedding_matrix.get_embedding(id, &embedding_data, &multiplier); + multiplier *= float_feature_value.value.weight; + } else { + // Discrete features: every present feature has implicit value 1.0. + embedding_matrix.get_embedding(feature_value, &embedding_data, + &multiplier); + } + + if (is_quantized) { + const uint8 *quant_weights = + reinterpret_cast<const uint8 *>(embedding_data); + for (int i = 0; i < embedding_dim; ++i, ++quant_weights, ++concat_ptr) { + // 128 is bias for UINT8 quantization, only one we currently support. + *concat_ptr += (static_cast<int>(*quant_weights) - 128) * multiplier; + } + } else { + const float *weights = reinterpret_cast<const float *>(embedding_data); + for (int i = 0; i < embedding_dim; ++i, ++weights, ++concat_ptr) { + *concat_ptr += *weights * multiplier; + } + } + } + } +} + +template <typename ScaleAdderClass> +void EmbeddingNetwork::FinishComputeFinalScores(const Vector &concat, + Vector *scores) const { + Vector h0(hidden_bias_[0].size()); + SparseReluProductPlusBias<ScaleAdderClass>(false, hidden_weights_[0], + hidden_bias_[0], concat, &h0); + + CLD3_DCHECK((hidden_weights_.size() == 1) || (hidden_weights_.size() == 2)); + if (hidden_weights_.size() == 1) { // 1 hidden layer + SparseReluProductPlusBias<ScaleAdderClass>(true, softmax_weights_, + softmax_bias_, h0, scores); + } else if (hidden_weights_.size() == 2) { // 2 hidden layers + Vector h1(hidden_bias_[1].size()); + SparseReluProductPlusBias<ScaleAdderClass>(true, hidden_weights_[1], + hidden_bias_[1], h0, &h1); + SparseReluProductPlusBias<ScaleAdderClass>(true, softmax_weights_, + softmax_bias_, h1, scores); + } +} + +void EmbeddingNetwork::ComputeFinalScores( + const std::vector<FeatureVector> &features, Vector *scores) const { + Vector concat; + ConcatEmbeddings(features, &concat); + + scores->resize(softmax_bias_.size()); + FinishComputeFinalScores<SimpleAdder>(concat, scores); +} + +EmbeddingNetwork::EmbeddingNetwork(const EmbeddingNetworkParams *model) + : model_(model) { + int offset_sum = 0; + for (int i = 0; i < model_->embedding_dim_size(); ++i) { + CLD3_DCHECK(offset_sum == model_->concat_offset(i)); + offset_sum += model_->embedding_dim(i) * model_->embedding_num_features(i); + embedding_matrices_.emplace_back(model_->GetEmbeddingMatrix(i)); + } + + CLD3_DCHECK(model_->hidden_size() == model_->hidden_bias_size()); + hidden_weights_.resize(model_->hidden_size()); + hidden_bias_.resize(model_->hidden_size()); + for (int i = 0; i < model_->hidden_size(); ++i) { + FillMatrixParams(model_->GetHiddenLayerMatrix(i), &hidden_weights_[i]); + EmbeddingNetworkParams::Matrix bias = model_->GetHiddenLayerBias(i); + CLD3_DCHECK(1 == bias.cols); + CheckNoQuantization(bias); + hidden_bias_[i] = VectorWrapper( + reinterpret_cast<const float *>(bias.elements), bias.rows); + } + + CLD3_DCHECK(model_->HasSoftmax()); + FillMatrixParams(model_->GetSoftmaxMatrix(), &softmax_weights_); + + EmbeddingNetworkParams::Matrix softmax_bias = model_->GetSoftmaxBias(); + CLD3_DCHECK(1 == softmax_bias.cols); + CheckNoQuantization(softmax_bias); + softmax_bias_ = + VectorWrapper(reinterpret_cast<const float *>(softmax_bias.elements), + softmax_bias.rows); +} + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/embedding_network.h b/chromium/third_party/cld_3/src/src/embedding_network.h new file mode 100644 index 00000000000..af11e89e3dd --- /dev/null +++ b/chromium/third_party/cld_3/src/src/embedding_network.h @@ -0,0 +1,186 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef EMBEDDING_NETWORK_H_ +#define EMBEDDING_NETWORK_H_ + +#include <vector> + +#include "embedding_network_params.h" +#include "feature_extractor.h" +#include "float16.h" + +namespace chrome_lang_id { + +// Classifier using a hand-coded feed-forward neural network. +// +// No gradient computation, just inference. +// +// Based on the more general nlp_saft::EmbeddingNetwork. +// +// Classification works as follows: +// +// Discrete features -> Embeddings -> Concatenation -> Hidden+ -> Softmax +// +// In words: given some discrete features, this class extracts the embeddings +// for these features, concatenates them, passes them through one or two hidden +// layers (each layer uses Relu) and next through a softmax layer that computes +// an unnormalized score for each possible class. Note: there is always a +// softmax layer. +// +// NOTE(salcianu): current code can easily be changed to allow more than two +// hidden layers. Feel free to do so if you have a genuine need for that. +class EmbeddingNetwork { + public: + // Class used to represent an embedding matrix. Each row is the embedding on + // a vocabulary element. Number of columns = number of embedding dimensions. + class EmbeddingMatrix { + public: + explicit EmbeddingMatrix(const EmbeddingNetworkParams::Matrix source_matrix) + : rows_(source_matrix.rows), + cols_(source_matrix.cols), + quant_type_(source_matrix.quant_type), + data_(source_matrix.elements), + row_size_in_bytes_(GetRowSizeInBytes(cols_, quant_type_)), + quant_scales_(source_matrix.quant_scales) {} + + // Returns vocabulary size; one embedding for each vocabulary element. + int size() const { return rows_; } + + // Returns number of weights in embedding of each vocabulary element. + int dim() const { return cols_; } + + // Returns quantization type for this embedding matrix. + QuantizationType quant_type() const { return quant_type_; } + + // Gets embedding for k-th vocabulary element: on return, sets *data to + // point to the embedding weights and *scale to the quantization scale (1.0 + // if no quantization). + void get_embedding(int k, const void **data, float *scale) const { + CLD3_CHECK(k >= 0); + CLD3_CHECK(k < size()); + *data = reinterpret_cast<const char *>(data_) + k * row_size_in_bytes_; + if (quant_type_ == QuantizationType::NONE) { + *scale = 1.0; + } else { + *scale = Float16To32(quant_scales_[k]); + } + } + + private: + static int GetRowSizeInBytes(int cols, QuantizationType quant_type) { + CLD3_DCHECK((quant_type == QuantizationType::NONE) || + (quant_type == QuantizationType::UINT8)); + if (quant_type == QuantizationType::NONE) { + return cols * sizeof(float); + } else { // QuantizationType::UINT8 + return cols * sizeof(uint8); + } + } + + // Vocabulary size. + int rows_; + + // Number of elements in each embedding. + int cols_; + + QuantizationType quant_type_; + + // Pointer to the embedding weights, in row-major order. This is a pointer + // to an array of floats / uint8, depending on the quantization type. + // Not owned. + const void *data_; + + // Number of bytes for one row. Used to jump to next row in data_. + int row_size_in_bytes_; + + // Pointer to quantization scales. nullptr if no quantization. Otherwise, + // quant_scales_[i] is scale for embedding of i-th vocabulary element. + const float16 *quant_scales_; + }; + + // An immutable vector that doesn't own the memory that stores the underlying + // floats. Can be used e.g., as a wrapper around model weights stored in the + // static memory. + class VectorWrapper { + public: + VectorWrapper() : VectorWrapper(nullptr, 0) {} + + // Constructs a vector wrapper around the size consecutive floats that start + // at address data. Note: the underlying data should be alive for at least + // the lifetime of this VectorWrapper object. That's trivially true if data + // points to statically allocated data :) + VectorWrapper(const float *data, int size) : data_(data), size_(size) {} + + int size() const { return size_; } + + const float *data() const { return data_; } + + private: + const float *data_; // Not owned. + int size_; + + // Doesn't own anything, so it can be copied and assigned at will :) + }; + + typedef std::vector<VectorWrapper> Matrix; + typedef std::vector<float> Vector; + + // Constructs an embedding network using the parameters from model. + // + // Note: model should stay alive for at least the lifetime of this + // EmbeddingNetwork object. TODO(salcianu): remove this constraint: we should + // copy all necessary data (except, of course, the static weights) at + // construction time and use that, instead of relying on model. + explicit EmbeddingNetwork(const EmbeddingNetworkParams *model); + + virtual ~EmbeddingNetwork() {} + + // Runs forward computation to fill scores with unnormalized output unit + // scores. This is useful for making predictions. + void ComputeFinalScores(const std::vector<FeatureVector> &features, + Vector *scores) const; + + private: + // Computes the softmax scores (prior to normalization) from the concatenated + // representation. + template <typename ScaleAdderClass> + void FinishComputeFinalScores(const Vector &concat, Vector *scores) const; + + // Constructs the concatenated input embedding vector in place in output + // vector concat. + void ConcatEmbeddings(const std::vector<FeatureVector> &features, + Vector *concat) const; + + // Pointer to the model object passed to the constructor. Not owned. + const EmbeddingNetworkParams *model_; + + // Network parameters. + + // One weight matrix for each embedding. + std::vector<EmbeddingMatrix> embedding_matrices_; + + // One weight matrix and one vector of bias weights for each hiden layer. + std::vector<Matrix> hidden_weights_; + std::vector<VectorWrapper> hidden_bias_; + + // Weight matrix and bias vector for the softmax layer. + Matrix softmax_weights_; + VectorWrapper softmax_bias_; +}; + +} // namespace chrome_lang_id + +#endif // EMBEDDING_NETWORK_H_ diff --git a/chromium/third_party/cld_3/src/src/embedding_network_params.h b/chromium/third_party/cld_3/src/src/embedding_network_params.h new file mode 100644 index 00000000000..447e0bb2fa0 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/embedding_network_params.h @@ -0,0 +1,285 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef EMBEDDING_NETWORK_PARAMS_H_ +#define EMBEDDING_NETWORK_PARAMS_H_ + +#include <string> + +#include "base.h" +#include "float16.h" + +namespace chrome_lang_id { + +enum class QuantizationType { NONE = 0, UINT8 }; + +// API for accessing parameters from a statically-linked EmbeddingNetworkProto. +class EmbeddingNetworkParams { + public: + virtual ~EmbeddingNetworkParams() {} + + // **** High-level API. + + // Simple representation of a matrix. This small struct that doesn't own any + // resource intentionally supports copy / assign, to simplify our APIs. + struct Matrix { + // Number of rows. + int rows; + + // Number of columns. + int cols; + + QuantizationType quant_type; + + // Pointer to matrix elements, in row-major order + // (https://en.wikipedia.org/wiki/Row-major_order) Not owned. + const void *elements; + + // Quantization scales: one scale for each row. + const float16 *quant_scales; + }; + + // Returns i-th embedding matrix. Crashes on out of bounds indices. + // + // This is the transpose of the corresponding matrix from the original proto. + Matrix GetEmbeddingMatrix(int i) const { + CheckMatrixRange(i, embeddings_size(), "embedding matrix"); + Matrix matrix; + matrix.rows = embeddings_num_rows(i); + matrix.cols = embeddings_num_cols(i); + matrix.elements = embeddings_weights(i); + matrix.quant_type = embeddings_quant_type(i); + matrix.quant_scales = embeddings_quant_scales(i); + return matrix; + } + + // Returns weight matrix for i-th hidden layer. Crashes on out of bounds + // indices. + // + // This is the transpose of the corresponding matrix from the original proto. + Matrix GetHiddenLayerMatrix(int i) const { + CheckMatrixRange(i, hidden_size(), "hidden layer"); + Matrix matrix; + matrix.rows = hidden_num_rows(i); + matrix.cols = hidden_num_cols(i); + + // Quantization not supported here. + matrix.quant_type = QuantizationType::NONE; + matrix.elements = hidden_weights(i); + return matrix; + } + + // Returns bias for i-th hidden layer. Technically a Matrix, but we expect it + // to be a row/column vector (i.e., num rows or num cols is 1). However, we + // don't CHECK for that: we just provide access to underlying data. Crashes + // on out of bounds indices. + Matrix GetHiddenLayerBias(int i) const { + CheckMatrixRange(i, hidden_bias_size(), "hidden layer bias"); + Matrix matrix; + matrix.rows = hidden_bias_num_rows(i); + matrix.cols = hidden_bias_num_cols(i); + + // Quantization not supported here. + matrix.quant_type = QuantizationType::NONE; + matrix.elements = hidden_bias_weights(i); + return matrix; + } + + // Returns true if a softmax layer exists. + bool HasSoftmax() const { return softmax_size() == 1; } + + // Returns weight matrix for the softmax layer. Note: should be called only + // if HasSoftmax() is true. + // + // This is the transpose of the corresponding matrix from the original proto. + Matrix GetSoftmaxMatrix() const { + CLD3_DCHECK(HasSoftmax()); + Matrix matrix; + matrix.rows = softmax_num_rows(0); + matrix.cols = softmax_num_cols(0); + + // Quantization not supported here. + matrix.quant_type = QuantizationType::NONE; + matrix.elements = softmax_weights(0); + return matrix; + } + + // Returns bias for the softmax layer. Technically a Matrix, but we expect it + // to be a row/column vector (i.e., num rows or num cols is 1). However, we + // don't CHECK for that: we just provide access to underlying data. + Matrix GetSoftmaxBias() const { + CLD3_DCHECK(HasSoftmax()); + Matrix matrix; + matrix.rows = softmax_bias_num_rows(0); + matrix.cols = softmax_bias_num_cols(0); + + // Quantization not supported here. + matrix.quant_type = QuantizationType::NONE; + matrix.elements = softmax_bias_weights(0); + return matrix; + } + + // **** Low-level API. + // + // * Most low-level API methods are documented by giving an equivalent + // function call on proto, the original proto (of type + // EmbeddingNetworkProto) which was used to generate the C++ code. + // + // * To simplify our generation code, optional proto fields of message type + // are treated as repeated fields with 0 or 1 instances. As such, we have + // *_size() methods for such optional fields: they return 0 or 1. + // + // * "transpose(M)" denotes the transpose of a matrix M. + + // ** Access methods for repeated MatrixParams embeddings. + // + // Returns proto.embeddings_size(). + virtual int embeddings_size() const = 0; + + // Returns number of rows of transpose(proto.embeddings(i)). + virtual int embeddings_num_rows(int i) const = 0; + + // Returns number of columns of transpose(proto.embeddings(i)). + virtual int embeddings_num_cols(int i) const = 0; + + // Returns pointer to elements of transpose(proto.embeddings(i)), in row-major + // order. + virtual const void *embeddings_weights(int i) const = 0; + + virtual QuantizationType embeddings_quant_type(int i) const { + return QuantizationType::NONE; + } + + virtual const float16 *embeddings_quant_scales(int i) const { + return nullptr; + } + + // ** Access methods for repeated MatrixParams hidden. + // + // Returns embedding_network_proto.hidden_size(). + virtual int hidden_size() const = 0; + + // Returns embedding_network_proto.hidden(i).rows(). + virtual int hidden_num_rows(int i) const = 0; + + // Returns embedding_network_proto.hidden(i).rows(). + virtual int hidden_num_cols(int i) const = 0; + + // Returns pointer to beginning of array of floats with all values from + // embedding_network_proto.hidden(i). + virtual const void *hidden_weights(int i) const = 0; + + // ** Access methods for repeated MatrixParams hidden_bias. + // + // Returns proto.hidden_bias_size(). + virtual int hidden_bias_size() const = 0; + + // Returns number of rows of proto.hidden_bias(i). + virtual int hidden_bias_num_rows(int i) const = 0; + + // Returns number of columns of proto.hidden_bias(i). + virtual int hidden_bias_num_cols(int i) const = 0; + + // Returns pointer to elements of proto.hidden_bias(i), in row-major order. + virtual const void *hidden_bias_weights(int i) const = 0; + + // ** Access methods for optional MatrixParams softmax. + // + // Returns 1 if proto has optional field softmax, 0 otherwise. + virtual int softmax_size() const = 0; + + // Returns number of rows of transpose(proto.softmax()). + virtual int softmax_num_rows(int i) const = 0; + + // Returns number of columns of transpose(proto.softmax()). + virtual int softmax_num_cols(int i) const = 0; + + // Returns pointer to elements of transpose(proto.softmax()), in row-major + // order. + virtual const void *softmax_weights(int i) const = 0; + + // ** Access methods for optional MatrixParams softmax_bias. + // + // Returns 1 if proto has optional field softmax_bias, 0 otherwise. + virtual int softmax_bias_size() const = 0; + + // Returns number of rows of proto.softmax_bias(). + virtual int softmax_bias_num_rows(int i) const = 0; + + // Returns number of columns of proto.softmax_bias(). + virtual int softmax_bias_num_cols(int i) const = 0; + + // Returns pointer to elements of proto.softmax_bias(), in row-major order. + virtual const void *softmax_bias_weights(int i) const = 0; + + // ** Access methods for repeated int32 embedding_dim. + // + // Returns proto.embedding_dim_size(). + virtual int embedding_dim_size() const = 0; + + // Returns proto.embedding_dim(i). + virtual int embedding_dim(int i) const = 0; + + // ** Access methods for repeated int32 embedding_num_features. + // + // Returns proto.embedding_num_features_size(). + virtual int embedding_num_features_size() const = 0; + + // Returns proto.embedding_num_features(i). + virtual int embedding_num_features(int i) const = 0; + + // ** Access methods for repeated int32 embedding_features_domain_size. + // + // Returns proto.embedding_features_domain_size_size(). + virtual int embedding_features_domain_size_size() const = 0; + + // Returns proto.embedding_features_domain_size(i). + virtual int embedding_features_domain_size(int i) const = 0; + + // ** Access methods for repeated int32 concat_offset. + // + // Returns proto.concat_offset_size(). + virtual int concat_offset(int i) const = 0; + + // Returns proto.concat_offset(i). + virtual int concat_offset_size() const = 0; + + // ** Access methods for concat_layer_size. + // + // Returns proto.has_concat_layer_size(). + virtual bool has_concat_layer_size() const = 0; + + // Returns proto.concat_layer_size(). + virtual int concat_layer_size() const = 0; + + // ** Access methods for is_precomputed + // + // Returns proto.has_is_precomputed(). + virtual bool has_is_precomputed() const = 0; + + // Returns proto.is_precomputed(). + virtual bool is_precomputed() const = 0; + + private: + void CheckMatrixRange(int index, int num_matrices, + const string &description) const { + CLD3_DCHECK(index >= 0); + CLD3_DCHECK(index < num_matrices); + } +}; // class EmbeddingNetworkParams + +} // namespace chrome_lang_id + +#endif // EMBEDDING_NETWORK_PARAMS_H_ diff --git a/chromium/third_party/cld_3/src/src/feature_extractor.cc b/chromium/third_party/cld_3/src/src/feature_extractor.cc new file mode 100644 index 00000000000..10d1348725a --- /dev/null +++ b/chromium/third_party/cld_3/src/src/feature_extractor.cc @@ -0,0 +1,137 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "feature_extractor.h" + +#include <string> + +#include "feature_types.h" +#include "fml_parser.h" +#include "utils.h" + +namespace chrome_lang_id { + +constexpr FeatureValue GenericFeatureFunction::kNone; + +FeatureVector::FeatureVector() {} + +FeatureVector::~FeatureVector() {} + +GenericFeatureExtractor::GenericFeatureExtractor() {} + +GenericFeatureExtractor::~GenericFeatureExtractor() {} + +GenericFeatureExtractor::GenericFeatureExtractor( + const GenericFeatureExtractor &extractor) + : descriptor_(extractor.descriptor_), + feature_types_(extractor.feature_types_) {} + +void GenericFeatureExtractor::Parse(const string &source) { + // Parse feature specification into descriptor. + FMLParser parser; + parser.Parse(source, mutable_descriptor()); + + // Initialize feature extractor from descriptor. + InitializeFeatureFunctions(); +} + +void GenericFeatureExtractor::InitializeFeatureTypes() { + // Register all feature types. + GetFeatureTypes(&feature_types_); + for (size_t i = 0; i < feature_types_.size(); ++i) { + FeatureType *ft = feature_types_[i]; + ft->set_base(i); + + // Check for feature space overflow. + CLD3_DCHECK(ft->GetDomainSize() >= 0); + } + + std::vector<string> types_names; + GetFeatureTypeNames(&types_names); + CLD3_DCHECK(feature_types_.size() == types_names.size()); +} + +void GenericFeatureExtractor::GetFeatureTypeNames( + std::vector<string> *type_names) const { + for (size_t i = 0; i < feature_types_.size(); ++i) { + FeatureType *ft = feature_types_[i]; + type_names->push_back(ft->name()); + } +} + +FeatureValue GenericFeatureExtractor::GetDomainSize() const { + // Domain size of the set of features is equal to: + // [largest domain size of any feature types] * [number of feature types] + FeatureValue max_feature_type_dsize = 0; + for (size_t i = 0; i < feature_types_.size(); ++i) { + FeatureType *ft = feature_types_[i]; + const FeatureValue feature_type_dsize = ft->GetDomainSize(); + if (feature_type_dsize > max_feature_type_dsize) { + max_feature_type_dsize = feature_type_dsize; + } + } + + return max_feature_type_dsize; +} + +string GenericFeatureFunction::GetParameter(const string &name) const { + // Find named parameter in feature descriptor. + for (int i = 0; i < descriptor_->parameter_size(); ++i) { + if (name == descriptor_->parameter(i).name()) { + return descriptor_->parameter(i).value(); + } + } + return ""; +} + +GenericFeatureFunction::GenericFeatureFunction() {} + +GenericFeatureFunction::~GenericFeatureFunction() { delete feature_type_; } + +int GenericFeatureFunction::GetIntParameter(const string &name, + int default_value) const { + string value = GetParameter(name); + return value.empty() ? default_value + : utils::ParseUsing<int>(value, utils::ParseInt32); +} + +bool GenericFeatureFunction::GetBoolParameter(const string &name, + bool default_value) const { + string value = GetParameter(name); + if (value.empty()) return default_value; + if (value == "true") return true; + if (value == "false") return false; + return false; +} + +void GenericFeatureFunction::GetFeatureTypes( + std::vector<FeatureType *> *types) const { + if (feature_type_ != nullptr) types->push_back(feature_type_); +} + +FeatureType *GenericFeatureFunction::GetFeatureType() const { + // If a single feature type has been registered return it. + if (feature_type_ != nullptr) return feature_type_; + + // Get feature types for function. + std::vector<FeatureType *> types; + GetFeatureTypes(&types); + + // If there is exactly one feature type return this, else return null. + if (types.size() == 1) return types[0]; + return nullptr; +} + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/feature_extractor.h b/chromium/third_party/cld_3/src/src/feature_extractor.h new file mode 100644 index 00000000000..81c7766a1ee --- /dev/null +++ b/chromium/third_party/cld_3/src/src/feature_extractor.h @@ -0,0 +1,633 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +// Generic feature extractor for extracting features from objects. The feature +// extractor can be used for extracting features from any object. The feature +// extractor and feature function classes are template classes that have to +// be instantiated for extracting feature from a specific object type. +// +// A feature extractor consists of a hierarchy of feature functions. Each +// feature function extracts one or more feature type and value pairs from the +// object. +// +// The feature extractor has a modular design where new feature functions can be +// registered as components. The feature extractor is initialized from a +// descriptor represented by a protocol buffer. The feature extractor can also +// be initialized from a text-based source specification of the feature +// extractor. Feature specification parsers can be added as components. By +// default the feature extractor can be read from an ASCII protocol buffer or in +// a simple feature modeling language (fml). + +// A feature function is invoked with a focus. Nested feature function can be +// invoked with another focus determined by the parent feature function. + +#ifndef FEATURE_EXTRACTOR_H_ +#define FEATURE_EXTRACTOR_H_ + +#include <stddef.h> +#include <memory> +#include <string> +#include <vector> + +#include "base.h" +#include "cld_3/protos/feature_extractor.pb.h" +#include "feature_types.h" +#include "registry.h" +#include "script_span/stringpiece.h" +#include "task_context.h" +#include "utils.h" +#include "workspace.h" + +namespace chrome_lang_id { + +// TODO(djweiss) Clean this up as well. +// Use the same type for feature values as is used for predicated. +typedef int64 Predicate; +typedef Predicate FeatureValue; + +// Output feature model in FML format. +void ToFMLFunction(const FeatureFunctionDescriptor &function, string *output); +void ToFML(const FeatureFunctionDescriptor &function, string *output); + +// A union used to represent discrete and continuous feature values. +union FloatFeatureValue { + public: + explicit FloatFeatureValue(FeatureValue v) : discrete_value(v) {} + FloatFeatureValue(uint32 i, float w) { + value.id = i; + value.weight = w; + } + FeatureValue discrete_value; + struct IdWeight { + uint32 id; + float weight; + } value; +}; + +// A feature vector contains feature type and value pairs. +class FeatureVector { + public: + FeatureVector(); + ~FeatureVector(); + + // Adds feature type and value pair to feature vector. + void add(FeatureType *type, FeatureValue value) { + features_.emplace_back(type, value); + } + + // Removes all elements from the feature vector. + void clear() { features_.clear(); } + + // Returns the number of elements in the feature vector. + int size() const { return features_.size(); } + + // Reserves space in the underlying feature vector. + void reserve(int n) { features_.reserve(n); } + + // Returns feature type for an element in the feature vector. + FeatureType *type(int index) const { return features_[index].type; } + + // Returns feature value for an element in the feature vector. + FeatureValue value(int index) const { return features_[index].value; } + + private: + // Structure for holding feature type and value pairs. + struct Element { + Element() : type(NULL), value(-1) {} + Element(FeatureType *t, FeatureValue v) : type(t), value(v) {} + + FeatureType *type; + FeatureValue value; + }; + + // Array for storing feature vector elements. + std::vector<Element> features_; + + CLD3_DISALLOW_COPY_AND_ASSIGN(FeatureVector); +}; + +// The generic feature extractor is the type-independent part of a feature +// extractor. This holds the descriptor for the feature extractor and the +// collection of feature types used in the feature extractor. The feature +// types are not available until FeatureExtractor<>::Init() has been called. +class GenericFeatureExtractor { + public: + GenericFeatureExtractor(); + virtual ~GenericFeatureExtractor(); + GenericFeatureExtractor(const GenericFeatureExtractor &extractor); + + // Initializes the feature extractor from a source representation of the + // feature extractor. The first line is used for determining the feature + // specification language. If the first line starts with #! followed by a name + // then this name is used for instantiating a feature specification parser + // with that name. If the language cannot be detected this way it falls back + // to using the default language supplied. + void Parse(const string &source); + + // Returns the feature extractor descriptor. + const FeatureExtractorDescriptor &descriptor() const { return descriptor_; } + FeatureExtractorDescriptor *mutable_descriptor() { return &descriptor_; } + + // Returns the number of feature types in the feature extractor. Invalid + // before Init() has been called. + int feature_types() const { return feature_types_.size(); } + + // Returns all feature types names used by the extractor. The names are + // added to the types_names array. Invalid before Init() has been called. + void GetFeatureTypeNames(std::vector<string> *type_names) const; + + // Returns a feature type used in the extractor. Invalid before Init() has + // been called. + const FeatureType *feature_type(int index) const { + return feature_types_[index]; + } + + // Returns the feature domain size of this feature extractor. + // NOTE: The way that domain size is calculated is, for some, unintuitive. It + // is the largest domain size of any feature type. + FeatureValue GetDomainSize() const; + + protected: + // Initializes the feature types used by the extractor. Called from + // FeatureExtractor<>::Init(). + void InitializeFeatureTypes(); + + private: + // Initializes the top-level feature functions. + virtual void InitializeFeatureFunctions() = 0; + + // Returns all feature types used by the extractor. The feature types are + // added to the result array. + virtual void GetFeatureTypes(std::vector<FeatureType *> *types) const = 0; + + // Descriptor for the feature extractor. This is a protocol buffer that + // contains all the information about the feature extractor. The feature + // functions are initialized from the information in the descriptor. + FeatureExtractorDescriptor descriptor_; + + // All feature types used by the feature extractor. The collection of all the + // feature types describes the feature space of the feature set produced by + // the feature extractor. Not owned. + std::vector<FeatureType *> feature_types_; +}; + +// The generic feature function is the type-independent part of a feature +// function. Each feature function is associated with the descriptor that it is +// instantiated from. The feature types associated with this feature function +// will be established by the time FeatureExtractor<>::Init() completes. +class GenericFeatureFunction { + public: + // A feature value that represents the absence of a value. + static constexpr FeatureValue kNone = -1; + + GenericFeatureFunction(); + virtual ~GenericFeatureFunction(); + + // Sets up the feature function. NB: FeatureTypes of nested functions are not + // guaranteed to be available until Init(). + virtual void Setup(TaskContext *context) {} + + // Initializes the feature function. NB: The FeatureType of this function must + // be established when this method completes. + virtual void Init(TaskContext *context) {} + + // Requests workspaces from a registry to obtain indices into a WorkspaceSet + // for any Workspace objects used by this feature function. NB: This will be + // called after Init(), so it can depend on resources and arguments. + virtual void RequestWorkspaces(WorkspaceRegistry *registry) {} + + // Appends the feature types produced by the feature function to types. The + // default implementation appends feature_type(), if non-null. Invalid + // before Init() has been called. + virtual void GetFeatureTypes(std::vector<FeatureType *> *types) const; + + // Returns the feature type for feature produced by this feature function. If + // the feature function produces features of different types this returns + // null. Invalid before Init() has been called. + virtual FeatureType *GetFeatureType() const; + + // Returns the name of the registry used for creating the feature function. + // This can be used for checking if two feature functions are of the same + // kind. + virtual const char *RegistryName() const = 0; + + // Returns the value of a named parameter in the feature functions descriptor. + // If the named parameter is not found the global parameters are searched. + string GetParameter(const string &name) const; + int GetIntParameter(const string &name, int default_value) const; + bool GetBoolParameter(const string &name, bool default_value) const; + + // Returns the FML function description for the feature function, i.e. the + // name and parameters without the nested features. + string FunctionName() const { + string output; + ToFMLFunction(*descriptor_, &output); + return output; + } + + // Returns the prefix for nested feature functions. This is the prefix of this + // feature function concatenated with the feature function name. + string SubPrefix() const { + return prefix_.empty() ? FunctionName() : prefix_ + "." + FunctionName(); + } + + // Returns/sets the feature extractor this function belongs to. + GenericFeatureExtractor *extractor() const { return extractor_; } + void set_extractor(GenericFeatureExtractor *extractor) { + extractor_ = extractor; + } + + // Returns/sets the feature function descriptor. + FeatureFunctionDescriptor *descriptor() const { return descriptor_; } + void set_descriptor(FeatureFunctionDescriptor *descriptor) { + descriptor_ = descriptor; + } + + // Returns a descriptive name for the feature function. The name is taken from + // the descriptor for the feature function. If the name is empty or the + // feature function is a variable the name is the FML representation of the + // feature, including the prefix. + string name() const { + string output; + if (descriptor_->name().empty()) { + if (!prefix_.empty()) { + output.append(prefix_); + output.append("."); + } + ToFML(*descriptor_, &output); + } else { + output = descriptor_->name(); + } + StringPiece stripped(output); + utils::RemoveWhitespaceContext(&stripped); + + string stripped_output(stripped.data(), stripped.size()); + return stripped_output; + } + + // Returns the argument from the feature function descriptor. It defaults to + // 0 if the argument has not been specified. + int argument() const { + return descriptor_->has_argument() ? descriptor_->argument() : 0; + } + + // Returns/sets/clears function name prefix. + const string &prefix() const { return prefix_; } + void set_prefix(const string &prefix) { prefix_ = prefix; } + + protected: + // Returns the feature type for single-type feature functions. + FeatureType *feature_type() const { return feature_type_; } + + // Sets the feature type for single-type feature functions. This takes + // ownership of feature_type. Can only be called once. + void set_feature_type(FeatureType *feature_type) { + CLD3_DCHECK(feature_type_ == nullptr); + feature_type_ = feature_type; + } + + private: + // Feature extractor this feature function belongs to. Not owned. + GenericFeatureExtractor *extractor_ = nullptr; + + // Descriptor for feature function. Not owned. + FeatureFunctionDescriptor *descriptor_ = nullptr; + + // Feature type for features produced by this feature function. If the + // feature function produces features of multiple feature types this is null + // and the feature function must return it's feature types in + // GetFeatureTypes(). Owned. + FeatureType *feature_type_ = nullptr; + + // Prefix used for sub-feature types of this function. + string prefix_; +}; + +// Feature function that can extract features from an object. Templated on +// two type arguments: +// +// OBJ: The "object" from which features are extracted; e.g., a sentence. This +// should be a plain type, rather than a reference or pointer. +// +// ARGS: A set of 0 or more types that are used to "index" into some part of the +// object that should be extracted, e.g. an int token index for a sentence +// object. This should not be a reference type. +template <class OBJ, class... ARGS> +class FeatureFunction + : public GenericFeatureFunction, + public RegisterableClass<FeatureFunction<OBJ, ARGS...> > { + public: + using Self = FeatureFunction<OBJ, ARGS...>; + + // Preprocesses the object. This will be called prior to calling Evaluate() + // or Compute() on that object. + virtual void Preprocess(WorkspaceSet *workspaces, OBJ *object) const {} + + // Appends features computed from the object and focus to the result. The + // default implementation delegates to Compute(), adding a single value if + // available. Multi-valued feature functions must override this method. + virtual void Evaluate(const WorkspaceSet &workspaces, const OBJ &object, + ARGS... args, FeatureVector *result) const { + FeatureValue value = Compute(workspaces, object, args..., result); + if (value != kNone) result->add(feature_type(), value); + } + + // Returns a feature value computed from the object and focus, or kNone if no + // value is computed. Single-valued feature functions only need to override + // this method. + virtual FeatureValue Compute(const WorkspaceSet &workspaces, + const OBJ &object, ARGS... args, + const FeatureVector *fv) const { + return kNone; + } + + // Instantiates a new feature function in a feature extractor from a feature + // descriptor. + static Self *Instantiate(GenericFeatureExtractor *extractor, + FeatureFunctionDescriptor *fd, + const string &prefix) { + Self *f = Self::Create(fd->type()); + f->set_extractor(extractor); + f->set_descriptor(fd); + f->set_prefix(prefix); + return f; + } + + // Returns the name of the registry for the feature function. + const char *RegistryName() const override { return Self::registry()->name; } + + private: + // Special feature function class for resolving variable references. The type + // of the feature function is used for resolving the variable reference. When + // evaluated it will either get the feature value(s) from the variable portion + // of the feature vector, if present, or otherwise it will call the referenced + // feature extractor function directly to extract the feature(s). + class Reference; +}; + +// Base class for features with nested feature functions. The nested functions +// are of type NES, which may be different from the type of the parent function. +// NB: NestedFeatureFunction will ensure that all initialization of nested +// functions takes place during Setup() and Init() -- after the nested features +// are initialized, the parent feature is initialized via SetupNested() and +// InitNested(). Alternatively, a derived classes that overrides Setup() and +// Init() directly should call Parent::Setup(), Parent::Init(), etc. first. +// +// Note: NestedFeatureFunction cannot know how to call Preprocess, Evaluate, or +// Compute, since the nested functions may be of a different type. +template <class NES, class OBJ, class... ARGS> +class NestedFeatureFunction : public FeatureFunction<OBJ, ARGS...> { + public: + using Parent = NestedFeatureFunction<NES, OBJ, ARGS...>; + + // Clean up nested functions. + ~NestedFeatureFunction() override { utils::STLDeleteElements(&nested_); } + + // By default, just appends the nested feature types. + void GetFeatureTypes(std::vector<FeatureType *> *types) const override { + // Nested features require nested features to be defined. + CLD3_DCHECK(!this->nested().empty()); + for (auto *function : nested_) function->GetFeatureTypes(types); + } + + // Sets up the nested features. + void Setup(TaskContext *context) override { + CreateNested(this->extractor(), this->descriptor(), &nested_, + this->SubPrefix()); + for (auto *function : nested_) function->Setup(context); + SetupNested(context); + } + + // Sets up this NestedFeatureFunction specifically. + virtual void SetupNested(TaskContext *context) {} + + // Initializes the nested features. + void Init(TaskContext *context) override { + for (auto *function : nested_) function->Init(context); + InitNested(context); + } + + // Initializes this NestedFeatureFunction specifically. + virtual void InitNested(TaskContext *context) {} + + // Gets all the workspaces needed for the nested functions. + void RequestWorkspaces(WorkspaceRegistry *registry) override { + for (auto *function : nested_) function->RequestWorkspaces(registry); + } + + // Returns the list of nested feature functions. + const vector<NES *> &nested() const { return nested_; } + + // Instantiates nested feature functions for a feature function. Creates and + // initializes one feature function for each sub-descriptor in the feature + // descriptor. + static void CreateNested(GenericFeatureExtractor *extractor, + FeatureFunctionDescriptor *fd, + vector<NES *> *functions, const string &prefix) { + for (int i = 0; i < fd->feature_size(); ++i) { + FeatureFunctionDescriptor *sub = fd->mutable_feature(i); + NES *f = NES::Instantiate(extractor, sub, prefix); + functions->push_back(f); + } + } + + protected: + // The nested feature functions, if any, in order of declaration in the + // feature descriptor. Owned. + vector<NES *> nested_; +}; + +// Base class for a nested feature function that takes nested features with the +// same signature as these features, i.e. a meta feature. For this class, we can +// provide preprocessing of the nested features. +template <class OBJ, class... ARGS> +class MetaFeatureFunction + : public NestedFeatureFunction<FeatureFunction<OBJ, ARGS...>, OBJ, + ARGS...> { + public: + // Preprocesses using the nested features. + void Preprocess(WorkspaceSet *workspaces, OBJ *object) const override { + for (auto *function : this->nested_) { + function->Preprocess(workspaces, object); + } + } +}; + +// Template for a special type of locator: The locator of type +// FeatureFunction<OBJ, ARGS...> calls nested functions of type +// FeatureFunction<OBJ, IDX, ARGS...>, where the derived class DER is +// responsible for translating by providing the following: +// +// // Gets the new additional focus. +// IDX GetFocus(const WorkspaceSet &workspaces, const OBJ &object); +// +// This is useful to e.g. add a token focus to a parser state based on some +// desired property of that state. +template <class DER, class OBJ, class IDX, class... ARGS> +class FeatureAddFocusLocator + : public NestedFeatureFunction<FeatureFunction<OBJ, IDX, ARGS...>, OBJ, + ARGS...> { + public: + void Preprocess(WorkspaceSet *workspaces, OBJ *object) const override { + for (auto *function : this->nested_) { + function->Preprocess(workspaces, object); + } + } + + void Evaluate(const WorkspaceSet &workspaces, const OBJ &object, ARGS... args, + FeatureVector *result) const override { + IDX focus = + static_cast<const DER *>(this)->GetFocus(workspaces, object, args...); + for (auto *function : this->nested()) { + function->Evaluate(workspaces, object, focus, args..., result); + } + } + + // Returns the first nested feature's computed value. + FeatureValue Compute(const WorkspaceSet &workspaces, const OBJ &object, + ARGS... args, + const FeatureVector *result) const override { + IDX focus = + static_cast<const DER *>(this)->GetFocus(workspaces, object, args...); + return this->nested()[0]->Compute(workspaces, object, focus, args..., + result); + } +}; + +// CRTP feature locator class. This is a meta feature that modifies ARGS and +// then calls the nested feature functions with the modified ARGS. Note that in +// order for this template to work correctly, all of ARGS must be types for +// which the reference operator & can be interpreted as a pointer to the +// argument. The derived class DER must implement the UpdateFocus method which +// takes pointers to the ARGS arguments: +// +// // Updates the current arguments. +// void UpdateArgs(const OBJ &object, ARGS *...args) const; +template <class DER, class OBJ, class... ARGS> +class FeatureLocator : public MetaFeatureFunction<OBJ, ARGS...> { + public: + // Feature locators have an additional check that there is no intrinsic type. + void GetFeatureTypes(std::vector<FeatureType *> *types) const override { + // FeatureLocators should not have an intrinsic type. + CLD3_DCHECK(this->feature_type() == nullptr); + MetaFeatureFunction<OBJ, ARGS...>::GetFeatureTypes(types); + } + + // Evaluates the locator. + void Evaluate(const WorkspaceSet &workspaces, const OBJ &object, ARGS... args, + FeatureVector *result) const override { + static_cast<const DER *>(this)->UpdateArgs(workspaces, object, &args...); + for (auto *function : this->nested()) { + function->Evaluate(workspaces, object, args..., result); + } + } + + // Returns the first nested feature's computed value. + FeatureValue Compute(const WorkspaceSet &workspaces, const OBJ &object, + ARGS... args, + const FeatureVector *result) const override { + static_cast<const DER *>(this)->UpdateArgs(workspaces, object, &args...); + return this->nested()[0]->Compute(workspaces, object, args..., result); + } +}; + +// Feature extractor for extracting features from objects of a certain class. +// Template type parameters are as defined for FeatureFunction. +template <class OBJ, class... ARGS> +class FeatureExtractor : public GenericFeatureExtractor { + public: + // Feature function type for top-level functions in the feature extractor. + typedef FeatureFunction<OBJ, ARGS...> Function; + typedef FeatureExtractor<OBJ, ARGS...> Self; + + // Feature locator type for the feature extractor. + template <class DER> + using Locator = FeatureLocator<DER, OBJ, ARGS...>; + + // Initializes feature extractor. + FeatureExtractor() {} + + ~FeatureExtractor() override { utils::STLDeleteElements(&functions_); } + + // Sets up the feature extractor. Note that only top-level functions exist + // until Setup() is called. This does not take ownership over the context, + // which must outlive this. + void Setup(TaskContext *context) { + for (Function *function : functions_) function->Setup(context); + } + + // Initializes the feature extractor. Must be called after Setup(). This + // does not take ownership over the context, which must outlive this. + void Init(TaskContext *context) { + for (Function *function : functions_) function->Init(context); + this->InitializeFeatureTypes(); + } + + // Requests workspaces from the registry. Must be called after Init(), and + // before Preprocess(). Does not take ownership over registry. This should be + // the same registry used to initialize the WorkspaceSet used in Preprocess() + // and ExtractFeatures(). NB: This is a different ordering from that used in + // SentenceFeatureRepresentation style feature computation. + void RequestWorkspaces(WorkspaceRegistry *registry) { + for (auto *function : functions_) function->RequestWorkspaces(registry); + } + + // Preprocesses the object using feature functions for the phase. Must be + // called before any calls to ExtractFeatures() on that object and phase. + void Preprocess(WorkspaceSet *workspaces, OBJ *object) const { + for (Function *function : functions_) { + function->Preprocess(workspaces, object); + } + } + + // Extracts features from an object with a focus. This invokes all the + // top-level feature functions in the feature extractor. Only feature + // functions belonging to the specified phase are invoked. + void ExtractFeatures(const WorkspaceSet &workspaces, const OBJ &object, + ARGS... args, FeatureVector *result) const { + result->reserve(this->feature_types()); + + // Extract features. + for (size_t i = 0; i < functions_.size(); ++i) { + functions_[i]->Evaluate(workspaces, object, args..., result); + } + } + + private: + // Creates and initializes all feature functions in the feature extractor. + void InitializeFeatureFunctions() override { + // Create all top-level feature functions. + for (int i = 0; i < descriptor().feature_size(); ++i) { + FeatureFunctionDescriptor *fd = mutable_descriptor()->mutable_feature(i); + Function *function = Function::Instantiate(this, fd, ""); + functions_.push_back(function); + } + } + + // Collect all feature types used in the feature extractor. + void GetFeatureTypes(std::vector<FeatureType *> *types) const override { + for (size_t i = 0; i < functions_.size(); ++i) { + functions_[i]->GetFeatureTypes(types); + } + } + + // Top-level feature functions (and variables) in the feature extractor. + // Owned. + std::vector<Function *> functions_; +}; + +} // namespace chrome_lang_id + +#endif // FEATURE_EXTRACTOR_H_ diff --git a/chromium/third_party/cld_3/src/src/feature_extractor.proto b/chromium/third_party/cld_3/src/src/feature_extractor.proto new file mode 100644 index 00000000000..50a4c83ce68 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/feature_extractor.proto @@ -0,0 +1,50 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +// Protocol buffers for feature extractor. + +syntax = "proto2"; +option optimize_for = LITE_RUNTIME; + +package chrome_lang_id; + +message Parameter { + optional string name = 1; + optional string value = 2; +} + +// Descriptor for feature function. +message FeatureFunctionDescriptor { + // Feature function type. + required string type = 1; + + // Feature function name. + optional string name = 2; + + // Default argument for feature function. + optional int32 argument = 3 [default = 0]; + + // Named parameters for feature descriptor. + repeated Parameter parameter = 4; + + // Nested sub-feature function descriptors. + repeated FeatureFunctionDescriptor feature = 7; +}; + +// Descriptor for feature extractor. +message FeatureExtractorDescriptor { + // Top-level feature function for extractor. + repeated FeatureFunctionDescriptor feature = 1; +}; diff --git a/chromium/third_party/cld_3/src/src/feature_types.cc b/chromium/third_party/cld_3/src/src/feature_types.cc new file mode 100644 index 00000000000..059a7dd6d4b --- /dev/null +++ b/chromium/third_party/cld_3/src/src/feature_types.cc @@ -0,0 +1,72 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "feature_types.h" + +#include <algorithm> +#include <map> +#include <string> +#include <utility> + +#include "base.h" + +namespace chrome_lang_id { + +FeatureType::FeatureType(const string &name) + : name_(name), + base_(0), + is_continuous_(name.find("continuous") != string::npos) {} + +FeatureType::~FeatureType() {} + +template <class Resource> +ResourceBasedFeatureType<Resource>::ResourceBasedFeatureType( + const string &name, const Resource *resource, + const std::map<FeatureValue, string> &values) + : FeatureType(name), resource_(resource), values_(values) { + max_value_ = resource->NumValues() - 1; + for (const auto &pair : values) { + CLD3_DCHECK(pair.first >= resource->NumValues()); + max_value_ = pair.first > max_value_ ? pair.first : max_value_; + } +} + +template <class Resource> +ResourceBasedFeatureType<Resource>::ResourceBasedFeatureType( + const string &name, const Resource *resource) + : ResourceBasedFeatureType(name, resource, {}) {} + +EnumFeatureType::EnumFeatureType( + const string &name, const std::map<FeatureValue, string> &value_names) + : FeatureType(name), value_names_(value_names) { + for (const auto &pair : value_names) { + CLD3_DCHECK(pair.first >= 0); + domain_size_ = std::max(domain_size_, pair.first + 1); + } +} + +EnumFeatureType::~EnumFeatureType() {} + +string EnumFeatureType::GetFeatureValueName(FeatureValue value) const { + auto it = value_names_.find(value); + if (it == value_names_.end()) { + return "<INVALID>"; + } + return it->second; +} + +FeatureValue EnumFeatureType::GetDomainSize() const { return domain_size_; } + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/feature_types.h b/chromium/third_party/cld_3/src/src/feature_types.h new file mode 100644 index 00000000000..6e138904328 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/feature_types.h @@ -0,0 +1,158 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +// Common feature types for parser components. + +#ifndef FEATURE_TYPES_H_ +#define FEATURE_TYPES_H_ + +#include <algorithm> +#include <map> +#include <string> +#include <utility> + +#include "base.h" + +namespace chrome_lang_id { + +// TODO(djweiss) Clean this up as well. +// Use the same type for feature values as is used for predicated. +typedef int64 Predicate; +typedef Predicate FeatureValue; + +// Each feature value in a feature vector has a feature type. The feature type +// is used for converting feature type and value pairs to predicate values. The +// feature type can also return names for feature values and calculate the size +// of the feature value domain. The FeatureType class is abstract and must be +// specialized for the concrete feature types. +class FeatureType { + public: + // Initializes a feature type. + explicit FeatureType(const string &name); + + virtual ~FeatureType(); + + // Converts a feature value to a name. + virtual string GetFeatureValueName(FeatureValue value) const = 0; + + // Returns the size of the feature values domain. + virtual int64 GetDomainSize() const = 0; + + // Returns the feature type name. + const string &name() const { return name_; } + + Predicate base() const { return base_; } + void set_base(Predicate base) { base_ = base; } + + // Returns true iff this feature is continuous; see FloatFeatureValue. + bool is_continuous() const { return is_continuous_; } + + private: + // Feature type name. + string name_; + + // "Base" feature value: i.e. a "slot" in a global ordering of features. + Predicate base_; + + // See doc for is_continuous(). + bool is_continuous_; +}; + +// Templated generic resource based feature type. This feature type delegates +// look up of feature value names to an unknown resource class, which is not +// owned. Optionally, this type can also store a mapping of extra values which +// are not in the resource. +// +// Note: this class assumes that Resource->GetFeatureValueName() will return +// successfully for values ONLY in the range [0, Resource->NumValues()) Any +// feature value not in the extra value map and not in the above range of +// Resource will result in a ERROR and return of "<INVALID>". +template <class Resource> +class ResourceBasedFeatureType : public FeatureType { + public: + // Creates a new type with given name, resource object, and a mapping of + // special values. The values must be greater or equal to + // resource->NumValues() so as to avoid collisions; this is verified with + // CHECK at creation. + ResourceBasedFeatureType(const string &name, const Resource *resource, + const std::map<FeatureValue, string> &values); + + // Creates a new type with no special values. + ResourceBasedFeatureType(const string &name, const Resource *resource); + + // Returns the feature name for a given feature value. First checks the values + // map, then checks the resource to look up the name. + string GetFeatureValueName(FeatureValue value) const override { + if (values_.find(value) != values_.end()) { + return values_.find(value)->second; + } + if (value >= 0 && value < resource_->NumValues()) { + return resource_->GetFeatureValueName(value); + } else { + return "<INVALID>"; + } + } + + // Returns the number of possible values for this feature type. This is the + // based on the largest value that was observed in the extra values. + FeatureValue GetDomainSize() const override { return max_value_ + 1; } + + protected: + // Shared resource. Not owned. + const Resource *resource_ = nullptr; + + // Maximum possible value this feature could take. + FeatureValue max_value_; + + // Mapping for extra feature values not in the resource. + std::map<FeatureValue, string> values_; +}; + +// Feature type that is defined using an explicit map from FeatureValue to +// string values. This can reduce some of the boilerplate when defining +// features that generate enum values. Example usage: +// +// class BeverageSizeFeature : public FeatureFunction<Beverage> +// enum FeatureValue { SMALL, MEDIUM, LARGE }; // values for this feature +// void Init(TaskContext *context) override { +// set_feature_type(new EnumFeatureType("beverage_size", +// {{SMALL, "SMALL"}, {MEDIUM, "MEDIUM"}, {LARGE, "LARGE"}}); +// } +// [...] +// }; +class EnumFeatureType : public FeatureType { + public: + EnumFeatureType(const string &name, + const std::map<FeatureValue, string> &value_names); + ~EnumFeatureType() override; + + // Returns the feature name for a given feature value. + string GetFeatureValueName(FeatureValue value) const override; + + // Returns the number of possible values for this feature type. This is one + // greater than the largest value in the value_names map. + FeatureValue GetDomainSize() const override; + + protected: + // Maximum possible value this feature could take. + FeatureValue domain_size_ = 0; + + // Names of feature values. + std::map<FeatureValue, string> value_names_; +}; + +} // namespace chrome_lang_id + +#endif // FEATURE_TYPES_H_ diff --git a/chromium/third_party/cld_3/src/src/float16.h b/chromium/third_party/cld_3/src/src/float16.h new file mode 100644 index 00000000000..7bed57da42d --- /dev/null +++ b/chromium/third_party/cld_3/src/src/float16.h @@ -0,0 +1,58 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef FLOAT16_H_ +#define FLOAT16_H_ + +#include <string.h> // for memcpy + +#include "base.h" +#include "casts.h" + +namespace chrome_lang_id { + +// Compact 16-bit encoding of floating point numbers. This +// representation uses 1 bit for the sign, 8 bits for the exponent and +// 7 bits for the mantissa. It is assumed that floats are in IEEE 754 +// format so a float16 is just bits 16-31 of a single precision float. +// +// NOTE: The IEEE floating point standard defines a float16 format that +// is different than this format (it has fewer bits of exponent and more +// bits of mantissa). We don't use that format here because conversion +// to/from 32-bit floats is more complex for that format, and the +// conversion for this format is very simple. +// +// <---------float16------------> +// s e e e e e e e e f f f f f f f f f f f f f f f f f f f f f f f +// <------------------------------float--------------------------> +// 3 3 2 2 1 1 0 +// 1 0 3 2 5 4 0 + +typedef uint16 float16; + +static inline float16 Float32To16(float f) { + // Note that we just truncate the mantissa bits: we make no effort to + // do any smarter rounding. + return (lang_id_bit_cast<uint32>(f) >> 16) & 0xffff; +} + +static inline float Float16To32(float16 f) { + // We fill in the new mantissa bits with 0, and don't do anything smarter. + return lang_id_bit_cast<float>(f << 16); +} + +} // namespace chrome_lang_id + +#endif // FLOAT16_H_ diff --git a/chromium/third_party/cld_3/src/src/fml_parser.cc b/chromium/third_party/cld_3/src/src/fml_parser.cc new file mode 100644 index 00000000000..c9cb4d8bf13 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/fml_parser.cc @@ -0,0 +1,308 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "fml_parser.h" + +#include <ctype.h> +#include <string> + +#include "base.h" +#include "utils.h" + +namespace chrome_lang_id { + +namespace { + +inline bool IsValidCharAtStartOfIdentifier(char c) { + return isalpha(c) || (c == '_') || (c == '/'); +} + +// Returns true iff character c can appear inside an identifier. +inline bool IsValidCharInsideIdentifier(char c) { + return isalnum(c) || (c == '_') || (c == '-') || (c == '/'); +} + +// Returns true iff character c can appear at the beginning of a number. +inline bool IsValidCharAtStartOfNumber(char c) { + return isdigit(c) || (c == '+') || (c == '-'); +} + +// Returns true iff character c can appear inside a number. +inline bool IsValidCharInsideNumber(char c) { return isdigit(c) || (c == '.'); } + +} // namespace + +FMLParser::FMLParser() {} +FMLParser::~FMLParser() {} + +void FMLParser::Initialize(const string &source) { + // Initialize parser state. + source_ = source; + current_ = source_.begin(); + item_start_ = line_start_ = current_; + line_number_ = item_line_number_ = 1; + + // Read first input item. + NextItem(); +} + +void FMLParser::Next() { + // Move to the next input character. If we are at a line break update line + // number and line start position. + if (CurrentChar() == '\n') { + ++line_number_; + ++current_; + line_start_ = current_; + } else { + ++current_; + } +} + +void FMLParser::NextItem() { + // Skip white space and comments. + while (!eos()) { + if (CurrentChar() == '#') { + // Skip comment. + while (!eos() && CurrentChar() != '\n') Next(); + } else if (isspace(CurrentChar())) { + // Skip whitespace. + while (!eos() && isspace(CurrentChar())) Next(); + } else { + break; + } + } + + // Record start position for next item. + item_start_ = current_; + item_line_number_ = line_number_; + + // Check for end of input. + if (eos()) { + item_type_ = END; + return; + } + + // Parse number. + if (IsValidCharAtStartOfNumber(CurrentChar())) { + string::iterator start = current_; + Next(); + while (!eos() && IsValidCharInsideNumber(CurrentChar())) Next(); + item_text_.assign(start, current_); + item_type_ = NUMBER; + return; + } + + // Parse string. + if (CurrentChar() == '"') { + Next(); + string::iterator start = current_; + while (CurrentChar() != '"') { + CLD3_DCHECK(!eos()); + Next(); + } + item_text_.assign(start, current_); + item_type_ = STRING; + Next(); + return; + } + + // Parse identifier name. + if (IsValidCharAtStartOfIdentifier(CurrentChar())) { + string::iterator start = current_; + while (!eos() && IsValidCharInsideIdentifier(CurrentChar())) { + Next(); + } + item_text_.assign(start, current_); + item_type_ = NAME; + return; + } + + // Single character item. + item_type_ = CurrentChar(); + Next(); +} + +void FMLParser::Parse(const string &source, + FeatureExtractorDescriptor *result) { + // Initialize parser. + Initialize(source); + + while (item_type_ != END) { + // Parse either a parameter name or a feature. + CLD3_DCHECK(item_type_ == NAME); + string name = item_text_; + NextItem(); + + // Feature expected. + CLD3_DCHECK(static_cast<char>(item_type_) != '='); + + // Parse feature. + FeatureFunctionDescriptor *descriptor = result->add_feature(); + descriptor->set_type(name); + ParseFeature(descriptor); + } +} + +void FMLParser::ParseFeature(FeatureFunctionDescriptor *result) { + // Parse argument and parameters. + if (item_type_ == '(') { + NextItem(); + ParseParameter(result); + while (item_type_ == ',') { + NextItem(); + ParseParameter(result); + } + + CLD3_DCHECK(item_type_ == ')'); + NextItem(); + } + + // Parse feature name. + if (item_type_ == ':') { + NextItem(); + + // Feature name expected. + CLD3_DCHECK((item_type_ == NAME) || (item_type_ == STRING)); + string name = item_text_; + NextItem(); + + // Set feature name. + result->set_name(name); + } + + // Parse sub-features. + if (item_type_ == '.') { + // Parse dotted sub-feature. + NextItem(); + CLD3_DCHECK(item_type_ == NAME); + string type = item_text_; + NextItem(); + + // Parse sub-feature. + FeatureFunctionDescriptor *subfeature = result->add_feature(); + subfeature->set_type(type); + ParseFeature(subfeature); + } else if (item_type_ == '{') { + // Parse sub-feature block. + NextItem(); + while (item_type_ != '}') { + CLD3_DCHECK(item_type_ == NAME); + string type = item_text_; + NextItem(); + + // Parse sub-feature. + FeatureFunctionDescriptor *subfeature = result->add_feature(); + subfeature->set_type(type); + ParseFeature(subfeature); + } + NextItem(); + } +} + +void FMLParser::ParseParameter(FeatureFunctionDescriptor *result) { + CLD3_DCHECK((item_type_ == NUMBER) || (item_type_ == NAME)); + if (item_type_ == NUMBER) { + int argument = utils::ParseUsing<int>(item_text_, utils::ParseInt32); + NextItem(); + + // Set default argument for feature. + result->set_argument(argument); + } else { // item_type_ == NAME + string name = item_text_; + NextItem(); + CLD3_DCHECK(item_type_ == '='); + NextItem(); + + // Parameter value expected. + CLD3_DCHECK(item_type_ < END); + string value = item_text_; + NextItem(); + + // Add parameter to feature. + Parameter *parameter; + parameter = result->add_parameter(); + parameter->set_name(name); + parameter->set_value(value); + } +} + +void ToFMLFunction(const FeatureFunctionDescriptor &function, string *output) { + output->append(function.type()); + if (function.argument() != 0 || function.parameter_size() > 0) { + output->append("("); + bool first = true; + if (function.argument() != 0) { + output->append(Int64ToString(function.argument())); + first = false; + } + for (int i = 0; i < function.parameter_size(); ++i) { + if (!first) output->append(","); + output->append(function.parameter(i).name()); + output->append("="); + output->append("\""); + output->append(function.parameter(i).value()); + output->append("\""); + first = false; + } + output->append(")"); + } +} + +void ToFML(const FeatureFunctionDescriptor &function, string *output) { + ToFMLFunction(function, output); + if (function.feature_size() == 1) { + output->append("."); + ToFML(function.feature(0), output); + } else if (function.feature_size() > 1) { + output->append(" { "); + for (int i = 0; i < function.feature_size(); ++i) { + if (i > 0) output->append(" "); + ToFML(function.feature(i), output); + } + output->append(" } "); + } +} + +void ToFML(const FeatureExtractorDescriptor &extractor, string *output) { + for (int i = 0; i < extractor.feature_size(); ++i) { + ToFML(extractor.feature(i), output); + output->append("\n"); + } +} + +string AsFML(const FeatureFunctionDescriptor &function) { + string str; + ToFML(function, &str); + return str; +} + +string AsFML(const FeatureExtractorDescriptor &extractor) { + string str; + ToFML(extractor, &str); + return str; +} + +void StripFML(string *fml_string) { + auto it = fml_string->begin(); + while (it != fml_string->end()) { + if (*it == '"') { + it = fml_string->erase(it); + } else { + ++it; + } + } +} + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/fml_parser.h b/chromium/third_party/cld_3/src/src/fml_parser.h new file mode 100644 index 00000000000..ba87b4504ca --- /dev/null +++ b/chromium/third_party/cld_3/src/src/fml_parser.h @@ -0,0 +1,123 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +// Feature modeling language (fml) parser. +// +// BNF grammar for fml: +// +// <feature model> ::= { <feature extractor> } +// +// <feature extractor> ::= <extractor spec> | +// <extractor spec> '.' <feature extractor> | +// <extractor spec> '{' { <feature extractor> } '}' +// +// <extractor spec> ::= <extractor type> +// [ '(' <parameter list> ')' ] +// [ ':' <extractor name> ] +// +// <parameter list> = ( <parameter> | <argument> ) { ',' <parameter> } +// +// <parameter> ::= <parameter name> '=' <parameter value> +// +// <extractor type> ::= NAME +// <extractor name> ::= NAME | STRING +// <argument> ::= NUMBER +// <parameter name> ::= NAME +// <parameter value> ::= NUMBER | STRING | NAME + +#ifndef FML_PARSER_H_ +#define FML_PARSER_H_ + +#include <string> + +#include "base.h" +#include "cld_3/protos/feature_extractor.pb.h" + +namespace chrome_lang_id { + +class FMLParser { + public: + // Parses fml specification into feature extractor descriptor. + void Parse(const string &source, FeatureExtractorDescriptor *result); + + FMLParser(); + ~FMLParser(); + + private: + // Initializes the parser with the source text. + void Initialize(const string &source); + + // Moves to the next input character. + void Next(); + + // Moves to the next input item. + void NextItem(); + + // Parses a feature descriptor. + void ParseFeature(FeatureFunctionDescriptor *result); + + // Parses a parameter specification. + void ParseParameter(FeatureFunctionDescriptor *result); + + // Returns true if end of source input has been reached. + bool eos() const { return current_ == source_.end(); } + + // Returns current character. Other methods should access the current + // character through this method (instead of using *current_ directly): this + // method performs extra safety checks. + char CurrentChar() const { + // CLD3_DCHECK that we are reading from inside the string. + CLD3_DCHECK(current_ >= source_.begin()); + CLD3_DCHECK(current_ < source_.end()); + return *current_; + } + + // Item types. + enum ItemTypes { + END = 0, + NAME = -1, + NUMBER = -2, + STRING = -3, + }; + + // Source text. + string source_; + + // Current input position. + string::iterator current_; + + // Line number for current input position. + int line_number_; + + // Start position for current item. + string::iterator item_start_; + + // Start position for current line. + string::iterator line_start_; + + // Line number for current item. + int item_line_number_; + + // Item type for current item. If this is positive it is interpreted as a + // character. If it is negative it is interpreted as an item type. + int item_type_; + + // Text for current item. + string item_text_; +}; + +} // namespace chrome_lang_id + +#endif // FML_PARSER_H_ diff --git a/chromium/third_party/cld_3/src/src/lang_id_nn_params.cc b/chromium/third_party/cld_3/src/src/lang_id_nn_params.cc new file mode 100644 index 00000000000..af286199962 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/lang_id_nn_params.cc @@ -0,0 +1,57449 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "lang_id_nn_params.h" + +#include "base.h" +#include "float16.h" + +namespace chrome_lang_id { + +const int LangIdNNParams::kEmbeddingsNumRows[] = {1000, 5000, 12, 103, 5000, 100}; + +const int LangIdNNParams::kEmbeddingsNumCols[] = {16, 16, 8, 8, 16, 16}; + +const float16 LangIdNNParams::kEmbeddingsQuantScales0[] = { + 15392u, 15478u, 15306u, 15497u, + 15384u, 15427u, 15373u, 15490u, + 15487u, 15490u, 15660u, 15327u, + 15407u, 15259u, 15362u, 15323u, + 15276u, 15471u, 15460u, 15368u, + 15457u, 15317u, 15535u, 15673u, + 15332u, 15459u, 15473u, 15449u, + 15484u, 15499u, 15558u, 15481u, + 15320u, 15536u, 15389u, 15454u, + 15516u, 15275u, 15354u, 15471u, + 15300u, 15358u, 15424u, 15553u, + 15255u, 15344u, 15367u, 15418u, + 15237u, 15186u, 15415u, 15304u, + 15493u, 15290u, 15365u, 15321u, + 15452u, 15262u, 15381u, 15203u, + 15397u, 15510u, 15393u, 15278u, + 15616u, 15403u, 15363u, 15405u, + 15486u, 15446u, 15164u, 15508u, + 15233u, 15398u, 15419u, 15384u, + 15301u, 15320u, 15546u, 15391u, + 15478u, 15196u, 15363u, 15478u, + 15368u, 15468u, 15247u, 15403u, + 15466u, 15618u, 15516u, 15482u, + 15446u, 15558u, 15333u, 15447u, + 15488u, 15512u, 15509u, 15451u, + 15342u, 15513u, 15450u, 15232u, + 15424u, 15377u, 15309u, 15387u, + 15392u, 15494u, 15392u, 15246u, + 15371u, 15492u, 15456u, 15412u, + 15416u, 15546u, 15445u, 15462u, + 15394u, 15343u, 15393u, 15635u, + 15549u, 15592u, 15367u, 15186u, + 15421u, 15425u, 15400u, 15266u, + 15500u, 15334u, 15495u, 15492u, + 15420u, 15357u, 15445u, 15290u, + 15512u, 15350u, 15459u, 15346u, + 15446u, 15407u, 15376u, 15398u, + 15528u, 15429u, 15323u, 15349u, + 15437u, 15467u, 15465u, 15353u, + 15418u, 15438u, 15393u, 15270u, + 15228u, 15384u, 15319u, 15300u, + 15380u, 15286u, 15508u, 15534u, + 15629u, 15337u, 15432u, 15496u, + 15366u, 15625u, 15391u, 15393u, + 15451u, 15408u, 15389u, 15391u, + 15256u, 15374u, 15336u, 15424u, + 15429u, 15475u, 15457u, 15396u, + 15392u, 15262u, 15639u, 15434u, + 15409u, 15389u, 15575u, 15366u, + 15411u, 15241u, 15578u, 15392u, + 15403u, 15358u, 15322u, 15487u, + 15436u, 15387u, 15315u, 15498u, + 15283u, 15443u, 15358u, 15418u, + 15440u, 15402u, 15249u, 15380u, + 15530u, 15368u, 15412u, 15335u, + 15589u, 15371u, 15375u, 15361u, + 15479u, 15550u, 15420u, 15385u, + 15402u, 15255u, 15478u, 15280u, + 15365u, 15531u, 15600u, 15237u, + 15481u, 15374u, 15387u, 15477u, + 15393u, 15421u, 15447u, 15394u, + 15512u, 15437u, 15348u, 15391u, + 15578u, 15339u, 15498u, 15472u, + 15372u, 15326u, 15419u, 15617u, + 15232u, 15476u, 15414u, 15230u, + 15548u, 15321u, 15307u, 15544u, + 15398u, 15382u, 15507u, 15395u, + 15382u, 15416u, 15489u, 15384u, + 15421u, 15504u, 15499u, 15549u, + 15500u, 15293u, 15559u, 15474u, + 15510u, 15452u, 15441u, 15337u, + 15441u, 15490u, 15551u, 15371u, + 15412u, 15434u, 15468u, 15449u, + 15402u, 15268u, 15446u, 15243u, + 15487u, 15389u, 15419u, 15293u, + 15587u, 15490u, 15506u, 15418u, + 15344u, 15511u, 15477u, 15449u, + 15293u, 15517u, 15531u, 15256u, + 15363u, 15485u, 15495u, 15427u, + 15416u, 15493u, 15455u, 15499u, + 15500u, 15370u, 15623u, 15456u, + 15356u, 15512u, 15371u, 15519u, + 15306u, 15379u, 15514u, 15488u, + 15391u, 15508u, 15426u, 15278u, + 15345u, 15532u, 15352u, 15522u, + 15457u, 15450u, 15528u, 15285u, + 15330u, 15313u, 15406u, 15438u, + 15385u, 15407u, 15440u, 15507u, + 15483u, 15391u, 15492u, 15385u, + 15411u, 15340u, 15324u, 15530u, + 15511u, 15538u, 15532u, 15397u, + 15449u, 15467u, 15440u, 15548u, + 15285u, 15400u, 15361u, 15431u, + 15552u, 15342u, 15273u, 15376u, + 15493u, 15446u, 15348u, 15492u, + 15361u, 15415u, 15542u, 15537u, + 15413u, 15439u, 15389u, 15298u, + 15492u, 15362u, 15468u, 15454u, + 15493u, 15461u, 15157u, 15250u, + 15560u, 15561u, 15510u, 15347u, + 15354u, 15417u, 15454u, 15417u, + 15364u, 15389u, 15461u, 15393u, + 15373u, 15406u, 15463u, 15302u, + 15449u, 15270u, 15355u, 15368u, + 15514u, 15405u, 15385u, 15384u, + 15293u, 15506u, 15424u, 15442u, + 15418u, 15361u, 15500u, 15449u, + 15466u, 15502u, 15527u, 15354u, + 15251u, 15317u, 15482u, 15494u, + 15393u, 15380u, 15441u, 15468u, + 15250u, 15440u, 15403u, 15349u, + 15468u, 15337u, 15392u, 15424u, + 15493u, 15390u, 15581u, 15472u, + 15364u, 15470u, 15321u, 15265u, + 15316u, 15302u, 15338u, 15360u, + 15516u, 15426u, 15281u, 15497u, + 15415u, 15369u, 15556u, 15346u, + 15270u, 15512u, 15504u, 15399u, + 15375u, 15366u, 15335u, 15399u, + 15401u, 15568u, 15504u, 15343u, + 15408u, 15414u, 15361u, 15288u, + 15318u, 15345u, 15364u, 15421u, + 15383u, 15392u, 15391u, 15434u, + 15467u, 15428u, 15339u, 15394u, + 15504u, 15370u, 15445u, 15396u, + 15518u, 15387u, 15324u, 15281u, + 15409u, 15405u, 15333u, 15441u, + 15276u, 15311u, 15489u, 15389u, + 15419u, 15405u, 15427u, 15404u, + 15310u, 15497u, 15462u, 15391u, + 15560u, 15405u, 15531u, 15363u, + 15286u, 15479u, 15482u, 15498u, + 15377u, 15561u, 15347u, 15627u, + 15434u, 15435u, 15614u, 15440u, + 15620u, 15338u, 15366u, 15383u, + 15426u, 15248u, 15406u, 15243u, + 15479u, 15404u, 15422u, 15481u, + 15456u, 15413u, 15286u, 15477u, + 15401u, 15494u, 15388u, 15189u, + 15397u, 15444u, 15508u, 15489u, + 15470u, 15403u, 15369u, 15396u, + 15412u, 15499u, 15553u, 15616u, + 15624u, 15362u, 15398u, 15494u, + 15374u, 15288u, 15482u, 15507u, + 15489u, 15570u, 15400u, 15460u, + 15429u, 15492u, 15396u, 15290u, + 15515u, 15496u, 15399u, 15395u, + 15358u, 15360u, 15561u, 15368u, + 15388u, 15227u, 15525u, 15295u, + 15430u, 15419u, 15391u, 15260u, + 15316u, 15465u, 15302u, 15401u, + 15477u, 15461u, 15521u, 15233u, + 15279u, 15432u, 15427u, 15436u, + 15593u, 15538u, 15467u, 15254u, + 15566u, 15329u, 15480u, 15293u, + 15360u, 15255u, 15545u, 15467u, + 15264u, 15403u, 15413u, 15449u, + 15439u, 15457u, 15374u, 15447u, + 15480u, 15363u, 15365u, 15483u, + 15403u, 15403u, 15285u, 15306u, + 15405u, 15288u, 15534u, 15348u, + 15324u, 15517u, 15398u, 15278u, + 15490u, 15530u, 15287u, 15523u, + 15403u, 15319u, 15261u, 15258u, + 15432u, 15550u, 15563u, 15247u, + 15495u, 15434u, 15390u, 15418u, + 15375u, 15332u, 15627u, 15471u, + 15318u, 15373u, 15392u, 15612u, + 15433u, 15371u, 15133u, 15388u, + 15419u, 15434u, 15521u, 15520u, + 15483u, 15302u, 15431u, 15347u, + 15382u, 15540u, 15531u, 15379u, + 15484u, 15430u, 15461u, 15380u, + 15402u, 15496u, 15363u, 15338u, + 15291u, 15282u, 15321u, 15360u, + 15251u, 15252u, 15488u, 15387u, + 15464u, 15492u, 15545u, 15505u, + 15469u, 15418u, 15331u, 15426u, + 15438u, 15416u, 15254u, 15509u, + 15514u, 15432u, 15420u, 15431u, + 15373u, 15507u, 15243u, 15372u, + 15315u, 15424u, 15536u, 15495u, + 15400u, 15586u, 15289u, 15376u, + 15497u, 15234u, 15395u, 15371u, + 15438u, 15315u, 15332u, 15431u, + 15618u, 15465u, 15619u, 15299u, + 15342u, 15444u, 15465u, 15556u, + 15509u, 15244u, 15499u, 15387u, + 15434u, 15497u, 15514u, 15387u, + 15380u, 15467u, 15414u, 15441u, + 15382u, 15482u, 15345u, 15474u, + 15520u, 15456u, 15388u, 15234u, + 15416u, 15379u, 15537u, 15537u, + 15397u, 15372u, 15281u, 15372u, + 15252u, 15367u, 15431u, 15356u, + 15408u, 15353u, 15385u, 15370u, + 15413u, 15369u, 15354u, 15515u, + 15512u, 15465u, 15299u, 15566u, + 15336u, 15368u, 15399u, 15574u, + 15504u, 15268u, 15371u, 15459u, + 15377u, 15387u, 15418u, 15459u, + 15494u, 15394u, 15414u, 15339u, + 15312u, 15460u, 15303u, 15356u, + 15491u, 15450u, 15431u, 15423u, + 15423u, 15462u, 15408u, 15408u, + 15520u, 15554u, 15671u, 15463u, + 15406u, 15490u, 15567u, 15409u, + 15335u, 15518u, 15372u, 15583u, + 15255u, 15328u, 15433u, 15424u, + 15285u, 15391u, 15540u, 15457u, + 15460u, 15372u, 15465u, 15393u, + 15490u, 15202u, 15357u, 15603u, + 15498u, 15453u, 15267u, 15516u, + 15442u, 15306u, 15489u, 15204u, + 15460u, 15327u, 15252u, 15332u, + 15222u, 15362u, 15519u, 15309u, + 15365u, 15515u, 15349u, 15378u, + 15514u, 15307u, 15522u, 15325u, + 15391u, 15291u, 15237u, 15489u, + 15294u, 15524u, 15394u, 15341u, + 15385u, 15394u, 15390u, 15279u, + 15517u, 15494u, 15418u, 15535u, + 15501u, 15393u, 15457u, 15527u, + 15392u, 15372u, 15362u, 15403u, + 15392u, 15442u, 15563u, 15399u, + 15432u, 15624u, 15286u, 15261u, + 15509u, 15255u, 15289u, 15438u, + 15407u, 15462u, 15466u, 15292u, + 15387u, 15415u, 15195u, 15522u, + 15418u, 15424u, 15459u, 15238u, + 15514u, 15463u, 15519u, 15282u, + 15468u, 15494u, 15626u, 15512u, + 15374u, 15416u, 15503u, 15380u, + 15332u, 15385u, 15431u, 15449u, + 15244u, 15443u, 15381u, 15625u, + 15421u, 15376u, 15461u, 15429u, + 15355u, 15278u, 15367u, 15504u, + 15279u, 15505u, 15538u, 15348u, + 15414u, 15377u, 15528u, 15385u, + 15285u, 15410u, 15545u, 15306u, + 15496u, 15401u, 15360u, 15536u, + 15275u, 15398u, 15366u, 15411u, + 15384u, 15419u, 15390u, 15294u, + 15456u, 15475u, 15416u, 15441u, + 15516u, 15634u, 15502u, 15541u, + 15516u, 15270u, 15448u, 15572u, + 15441u, 15424u, 15446u, 15468u, + 15432u, 15485u, 15295u, 15319u, + 15383u, 15347u, 15522u, 15438u, + 15428u, 15469u, 15408u, 15463u +}; + +const uint8 LangIdNNParams::kEmbeddingsWeights0[] = { + 37u, 120u, 90u, 69u, + 195u, 59u, 213u, 165u, + 82u, 141u, 170u, 210u, + 255u, 100u, 18u, 107u, + 60u, 93u, 135u, 255u, + 137u, 189u, 119u, 210u, + 150u, 89u, 187u, 124u, + 171u, 35u, 79u, 106u, + 68u, 228u, 115u, 74u, + 123u, 149u, 178u, 36u, + 183u, 149u, 137u, 147u, + 182u, 76u, 114u, 0u, + 159u, 122u, 172u, 185u, + 15u, 191u, 123u, 179u, + 55u, 79u, 242u, 172u, + 172u, 11u, 1u, 235u, + 163u, 85u, 227u, 190u, + 99u, 132u, 155u, 129u, + 144u, 39u, 142u, 147u, + 121u, 106u, 1u, 98u, + 105u, 83u, 154u, 86u, + 74u, 165u, 128u, 71u, + 212u, 84u, 1u, 158u, + 155u, 66u, 117u, 125u, + 67u, 152u, 84u, 168u, + 134u, 193u, 0u, 186u, + 110u, 32u, 57u, 136u, + 170u, 186u, 101u, 84u, + 14u, 207u, 74u, 165u, + 68u, 46u, 150u, 169u, + 140u, 164u, 128u, 123u, + 148u, 255u, 70u, 116u, + 188u, 158u, 88u, 255u, + 216u, 85u, 129u, 63u, + 192u, 151u, 154u, 121u, + 99u, 125u, 202u, 194u, + 112u, 68u, 150u, 167u, + 89u, 183u, 66u, 131u, + 132u, 1u, 76u, 114u, + 111u, 133u, 102u, 99u, + 76u, 131u, 180u, 210u, + 93u, 78u, 107u, 144u, + 141u, 91u, 46u, 154u, + 1u, 89u, 110u, 153u, + 182u, 123u, 168u, 1u, + 113u, 137u, 50u, 131u, + 120u, 38u, 36u, 55u, + 185u, 3u, 146u, 113u, + 141u, 119u, 173u, 188u, + 49u, 75u, 166u, 1u, + 213u, 30u, 180u, 61u, + 150u, 181u, 121u, 84u, + 127u, 123u, 174u, 96u, + 165u, 171u, 162u, 140u, + 59u, 45u, 31u, 160u, + 239u, 255u, 167u, 158u, + 170u, 137u, 1u, 100u, + 157u, 96u, 180u, 91u, + 87u, 227u, 90u, 125u, + 101u, 221u, 158u, 128u, + 53u, 209u, 179u, 128u, + 192u, 103u, 25u, 200u, + 183u, 122u, 96u, 190u, + 42u, 106u, 116u, 255u, + 77u, 101u, 118u, 120u, + 222u, 180u, 225u, 42u, + 130u, 3u, 93u, 232u, + 182u, 255u, 167u, 241u, + 49u, 9u, 17u, 143u, + 107u, 229u, 187u, 30u, + 189u, 53u, 1u, 238u, + 49u, 72u, 131u, 30u, + 141u, 141u, 158u, 72u, + 146u, 170u, 184u, 255u, + 194u, 103u, 172u, 198u, + 106u, 159u, 109u, 231u, + 87u, 115u, 126u, 213u, + 126u, 171u, 127u, 167u, + 199u, 155u, 191u, 222u, + 212u, 43u, 255u, 173u, + 60u, 120u, 109u, 176u, + 156u, 52u, 178u, 176u, + 97u, 251u, 255u, 229u, + 49u, 185u, 41u, 202u, + 103u, 1u, 165u, 141u, + 112u, 150u, 126u, 132u, + 89u, 78u, 84u, 138u, + 123u, 75u, 119u, 81u, + 110u, 189u, 225u, 58u, + 160u, 137u, 165u, 64u, + 198u, 114u, 194u, 84u, + 95u, 142u, 255u, 127u, + 144u, 5u, 84u, 161u, + 136u, 85u, 114u, 176u, + 136u, 1u, 134u, 114u, + 93u, 175u, 97u, 186u, + 126u, 125u, 159u, 114u, + 31u, 222u, 162u, 105u, + 133u, 49u, 10u, 169u, + 77u, 50u, 177u, 255u, + 118u, 108u, 92u, 80u, + 110u, 94u, 162u, 78u, + 160u, 206u, 255u, 118u, + 105u, 75u, 157u, 98u, + 96u, 124u, 242u, 91u, + 182u, 153u, 104u, 41u, + 124u, 217u, 206u, 18u, + 133u, 201u, 181u, 1u, + 103u, 175u, 117u, 191u, + 223u, 102u, 135u, 161u, + 255u, 180u, 108u, 164u, + 211u, 195u, 166u, 100u, + 87u, 212u, 158u, 91u, + 73u, 172u, 219u, 124u, + 124u, 127u, 154u, 255u, + 51u, 141u, 26u, 44u, + 159u, 148u, 85u, 116u, + 126u, 66u, 110u, 148u, + 73u, 140u, 204u, 0u, + 156u, 102u, 103u, 89u, + 188u, 139u, 143u, 136u, + 124u, 43u, 131u, 76u, + 126u, 105u, 160u, 147u, + 56u, 143u, 60u, 1u, + 195u, 200u, 150u, 170u, + 178u, 38u, 255u, 103u, + 106u, 218u, 234u, 158u, + 64u, 236u, 88u, 188u, + 63u, 96u, 184u, 227u, + 166u, 70u, 255u, 54u, + 20u, 85u, 249u, 197u, + 16u, 251u, 25u, 117u, + 1u, 156u, 197u, 143u, + 175u, 202u, 36u, 208u, + 210u, 19u, 6u, 229u, + 147u, 62u, 58u, 138u, + 26u, 108u, 43u, 13u, + 68u, 88u, 157u, 255u, + 83u, 42u, 187u, 246u, + 107u, 211u, 89u, 141u, + 175u, 1u, 92u, 162u, + 197u, 84u, 189u, 166u, + 52u, 187u, 129u, 129u, + 146u, 152u, 167u, 161u, + 84u, 21u, 81u, 141u, + 143u, 122u, 200u, 97u, + 198u, 100u, 68u, 240u, + 255u, 77u, 136u, 112u, + 95u, 31u, 118u, 179u, + 169u, 47u, 186u, 147u, + 121u, 168u, 202u, 96u, + 92u, 132u, 214u, 255u, + 185u, 134u, 23u, 37u, + 60u, 104u, 255u, 123u, + 151u, 120u, 214u, 131u, + 70u, 116u, 104u, 127u, + 13u, 46u, 162u, 110u, + 138u, 238u, 112u, 192u, + 184u, 1u, 120u, 251u, + 156u, 181u, 17u, 38u, + 193u, 141u, 203u, 114u, + 147u, 244u, 107u, 145u, + 132u, 109u, 89u, 62u, + 107u, 1u, 181u, 87u, + 71u, 128u, 131u, 52u, + 127u, 34u, 71u, 142u, + 162u, 243u, 130u, 255u, + 167u, 126u, 118u, 164u, + 10u, 112u, 148u, 152u, + 54u, 245u, 160u, 105u, + 206u, 1u, 210u, 181u, + 193u, 159u, 39u, 124u, + 1u, 142u, 113u, 110u, + 146u, 130u, 141u, 138u, + 183u, 65u, 106u, 161u, + 132u, 106u, 177u, 58u, + 44u, 11u, 1u, 103u, + 51u, 26u, 150u, 108u, + 84u, 249u, 225u, 188u, + 33u, 154u, 116u, 106u, + 57u, 223u, 151u, 96u, + 168u, 52u, 219u, 110u, + 150u, 120u, 255u, 136u, + 124u, 125u, 176u, 142u, + 152u, 199u, 198u, 91u, + 189u, 139u, 123u, 169u, + 83u, 117u, 0u, 111u, + 102u, 131u, 212u, 105u, + 133u, 205u, 111u, 106u, + 111u, 184u, 161u, 15u, + 90u, 120u, 93u, 141u, + 141u, 76u, 57u, 1u, + 179u, 182u, 0u, 115u, + 155u, 30u, 128u, 113u, + 88u, 189u, 73u, 119u, + 75u, 142u, 107u, 54u, + 112u, 0u, 155u, 110u, + 41u, 117u, 164u, 101u, + 174u, 166u, 131u, 211u, + 251u, 167u, 255u, 56u, + 170u, 152u, 42u, 227u, + 136u, 135u, 172u, 252u, + 1u, 158u, 142u, 194u, + 181u, 219u, 35u, 184u, + 255u, 206u, 167u, 63u, + 180u, 228u, 86u, 40u, + 48u, 56u, 140u, 194u, + 182u, 127u, 161u, 129u, + 103u, 24u, 165u, 133u, + 59u, 166u, 120u, 65u, + 228u, 43u, 1u, 163u, + 135u, 55u, 153u, 71u, + 134u, 163u, 108u, 120u, + 239u, 90u, 92u, 195u, + 83u, 119u, 0u, 240u, + 164u, 117u, 21u, 195u, + 113u, 1u, 156u, 138u, + 160u, 39u, 191u, 121u, + 131u, 103u, 58u, 154u, + 97u, 117u, 220u, 126u, + 72u, 209u, 153u, 126u, + 179u, 216u, 59u, 175u, + 118u, 64u, 76u, 233u, + 255u, 171u, 122u, 76u, + 179u, 103u, 144u, 163u, + 153u, 42u, 1u, 180u, + 85u, 132u, 48u, 120u, + 160u, 169u, 81u, 169u, + 145u, 145u, 59u, 151u, + 95u, 150u, 196u, 164u, + 159u, 154u, 152u, 180u, + 50u, 255u, 193u, 114u, + 40u, 134u, 220u, 111u, + 210u, 10u, 128u, 179u, + 186u, 180u, 255u, 37u, + 205u, 195u, 27u, 174u, + 99u, 197u, 53u, 154u, + 104u, 61u, 140u, 107u, + 1u, 107u, 105u, 84u, + 211u, 206u, 125u, 55u, + 150u, 255u, 119u, 76u, + 103u, 56u, 68u, 174u, + 133u, 164u, 101u, 124u, + 154u, 82u, 66u, 102u, + 88u, 109u, 246u, 157u, + 0u, 78u, 105u, 215u, + 157u, 183u, 151u, 119u, + 111u, 124u, 108u, 171u, + 187u, 1u, 56u, 157u, + 177u, 48u, 11u, 126u, + 45u, 144u, 173u, 94u, + 109u, 176u, 139u, 3u, + 208u, 94u, 212u, 98u, + 161u, 109u, 211u, 255u, + 89u, 95u, 158u, 194u, + 62u, 172u, 28u, 134u, + 161u, 255u, 196u, 142u, + 134u, 206u, 43u, 194u, + 132u, 136u, 86u, 97u, + 158u, 216u, 143u, 197u, + 182u, 1u, 101u, 182u, + 95u, 156u, 28u, 99u, + 117u, 168u, 213u, 118u, + 93u, 46u, 140u, 134u, + 62u, 42u, 157u, 156u, + 66u, 45u, 77u, 108u, + 161u, 139u, 216u, 136u, + 155u, 1u, 131u, 125u, + 158u, 164u, 244u, 188u, + 165u, 121u, 115u, 75u, + 156u, 9u, 160u, 255u, + 143u, 82u, 144u, 139u, + 97u, 85u, 123u, 170u, + 34u, 65u, 61u, 128u, + 118u, 147u, 144u, 106u, + 76u, 255u, 172u, 129u, + 131u, 41u, 143u, 158u, + 98u, 69u, 147u, 136u, + 135u, 135u, 167u, 1u, + 104u, 67u, 138u, 102u, + 208u, 76u, 49u, 102u, + 43u, 175u, 148u, 178u, + 1u, 35u, 42u, 5u, + 109u, 39u, 48u, 189u, + 123u, 0u, 128u, 0u, + 46u, 136u, 74u, 108u, + 196u, 136u, 95u, 188u, + 145u, 83u, 221u, 234u, + 44u, 186u, 81u, 29u, + 90u, 244u, 186u, 224u, + 64u, 110u, 255u, 26u, + 128u, 186u, 48u, 143u, + 211u, 83u, 178u, 248u, + 130u, 174u, 139u, 148u, + 73u, 45u, 1u, 90u, + 168u, 197u, 131u, 110u, + 102u, 53u, 125u, 192u, + 16u, 207u, 79u, 80u, + 255u, 29u, 232u, 22u, + 75u, 8u, 118u, 66u, + 188u, 49u, 180u, 106u, + 151u, 87u, 94u, 0u, + 165u, 43u, 7u, 163u, + 118u, 165u, 95u, 77u, + 146u, 112u, 32u, 105u, + 138u, 31u, 206u, 47u, + 124u, 216u, 255u, 198u, + 73u, 220u, 61u, 89u, + 142u, 83u, 166u, 114u, + 49u, 173u, 80u, 127u, + 50u, 0u, 118u, 109u, + 74u, 130u, 71u, 58u, + 104u, 37u, 130u, 116u, + 69u, 150u, 36u, 172u, + 82u, 1u, 33u, 122u, + 125u, 208u, 228u, 133u, + 60u, 76u, 24u, 255u, + 117u, 101u, 206u, 178u, + 165u, 114u, 159u, 166u, + 119u, 226u, 105u, 170u, + 157u, 152u, 127u, 214u, + 107u, 161u, 219u, 162u, + 144u, 9u, 99u, 124u, + 255u, 129u, 64u, 245u, + 102u, 103u, 255u, 211u, + 85u, 194u, 72u, 128u, + 27u, 12u, 109u, 157u, + 205u, 79u, 38u, 242u, + 40u, 75u, 76u, 213u, + 127u, 147u, 194u, 83u, + 204u, 78u, 100u, 222u, + 98u, 255u, 87u, 95u, + 189u, 145u, 184u, 143u, + 224u, 146u, 153u, 60u, + 156u, 151u, 128u, 117u, + 206u, 231u, 255u, 206u, + 84u, 80u, 80u, 136u, + 162u, 104u, 133u, 255u, + 182u, 118u, 225u, 64u, + 141u, 14u, 178u, 36u, + 97u, 111u, 107u, 156u, + 226u, 89u, 64u, 255u, + 126u, 146u, 63u, 162u, + 165u, 192u, 104u, 108u, + 243u, 98u, 100u, 147u, + 255u, 207u, 52u, 12u, + 85u, 154u, 15u, 110u, + 202u, 165u, 164u, 194u, + 217u, 177u, 143u, 204u, + 31u, 112u, 62u, 127u, + 186u, 1u, 68u, 131u, + 140u, 100u, 8u, 82u, + 155u, 107u, 75u, 50u, + 91u, 59u, 170u, 89u, + 140u, 46u, 78u, 255u, + 141u, 99u, 133u, 146u, + 111u, 129u, 107u, 135u, + 103u, 158u, 179u, 165u, + 190u, 118u, 86u, 235u, + 148u, 255u, 110u, 222u, + 104u, 82u, 121u, 139u, + 127u, 107u, 216u, 71u, + 148u, 124u, 194u, 141u, + 159u, 1u, 150u, 131u, + 86u, 189u, 91u, 178u, + 199u, 95u, 78u, 212u, + 134u, 129u, 160u, 171u, + 44u, 118u, 70u, 255u, + 125u, 237u, 165u, 37u, + 100u, 148u, 99u, 185u, + 135u, 0u, 125u, 98u, + 107u, 115u, 145u, 181u, + 249u, 154u, 190u, 152u, + 114u, 37u, 141u, 1u, + 170u, 215u, 168u, 117u, + 36u, 160u, 172u, 108u, + 137u, 153u, 140u, 119u, + 79u, 186u, 181u, 143u, + 95u, 104u, 84u, 148u, + 155u, 1u, 168u, 221u, + 168u, 209u, 136u, 167u, + 35u, 255u, 177u, 58u, + 124u, 142u, 198u, 74u, + 174u, 140u, 165u, 236u, + 112u, 151u, 106u, 88u, + 116u, 137u, 143u, 162u, + 255u, 90u, 116u, 196u, + 180u, 52u, 50u, 176u, + 153u, 108u, 115u, 118u, + 155u, 137u, 149u, 75u, + 113u, 109u, 0u, 186u, + 143u, 198u, 115u, 87u, + 143u, 113u, 175u, 161u, + 1u, 109u, 161u, 203u, + 194u, 146u, 165u, 62u, + 110u, 164u, 106u, 126u, + 99u, 101u, 80u, 152u, + 183u, 113u, 255u, 133u, + 178u, 86u, 177u, 209u, + 68u, 117u, 90u, 140u, + 38u, 35u, 112u, 81u, + 204u, 126u, 149u, 79u, + 113u, 68u, 1u, 229u, + 120u, 174u, 122u, 17u, + 70u, 1u, 230u, 216u, + 115u, 119u, 158u, 136u, + 120u, 39u, 79u, 64u, + 118u, 214u, 126u, 139u, + 109u, 16u, 169u, 255u, + 135u, 56u, 17u, 167u, + 144u, 48u, 53u, 142u, + 69u, 30u, 94u, 58u, + 151u, 234u, 104u, 34u, + 199u, 95u, 11u, 190u, + 175u, 80u, 77u, 83u, + 231u, 0u, 50u, 139u, + 114u, 125u, 131u, 175u, + 171u, 115u, 183u, 160u, + 71u, 1u, 81u, 182u, + 144u, 145u, 13u, 141u, + 89u, 142u, 107u, 42u, + 157u, 54u, 122u, 129u, + 114u, 85u, 164u, 178u, + 114u, 122u, 181u, 1u, + 130u, 80u, 122u, 190u, + 82u, 178u, 171u, 86u, + 81u, 240u, 255u, 91u, + 140u, 195u, 159u, 241u, + 43u, 92u, 81u, 244u, + 52u, 203u, 224u, 234u, + 122u, 127u, 244u, 167u, + 167u, 235u, 85u, 255u, + 227u, 111u, 116u, 149u, + 118u, 53u, 201u, 228u, + 120u, 208u, 185u, 83u, + 47u, 255u, 199u, 26u, + 132u, 165u, 17u, 100u, + 85u, 255u, 151u, 159u, + 90u, 109u, 62u, 160u, + 168u, 177u, 153u, 67u, + 255u, 226u, 108u, 34u, + 76u, 121u, 96u, 101u, + 164u, 67u, 18u, 144u, + 194u, 166u, 175u, 198u, + 163u, 194u, 124u, 75u, + 156u, 139u, 137u, 105u, + 255u, 84u, 61u, 28u, + 175u, 78u, 147u, 56u, + 162u, 71u, 167u, 118u, + 154u, 209u, 24u, 77u, + 164u, 56u, 91u, 1u, + 204u, 115u, 160u, 37u, + 176u, 90u, 154u, 19u, + 101u, 51u, 37u, 158u, + 255u, 203u, 227u, 148u, + 215u, 38u, 76u, 185u, + 156u, 133u, 202u, 0u, + 130u, 130u, 118u, 156u, + 72u, 38u, 112u, 196u, + 154u, 46u, 107u, 177u, + 2u, 193u, 198u, 81u, + 21u, 154u, 199u, 64u, + 91u, 128u, 229u, 41u, + 185u, 48u, 111u, 255u, + 113u, 186u, 207u, 103u, + 70u, 172u, 193u, 151u, + 147u, 39u, 131u, 0u, + 134u, 184u, 28u, 155u, + 111u, 140u, 111u, 122u, + 135u, 138u, 116u, 149u, + 104u, 97u, 126u, 108u, + 106u, 109u, 120u, 255u, + 62u, 1u, 145u, 133u, + 110u, 168u, 136u, 114u, + 217u, 44u, 139u, 159u, + 158u, 71u, 170u, 95u, + 93u, 117u, 186u, 255u, + 172u, 214u, 101u, 240u, + 117u, 44u, 166u, 149u, + 199u, 93u, 69u, 169u, + 251u, 214u, 45u, 191u, + 62u, 161u, 177u, 188u, + 62u, 254u, 148u, 62u, + 255u, 217u, 132u, 129u, + 160u, 1u, 168u, 139u, + 119u, 171u, 70u, 99u, + 139u, 39u, 4u, 169u, + 189u, 159u, 91u, 125u, + 135u, 25u, 176u, 22u, + 129u, 113u, 138u, 156u, + 35u, 74u, 183u, 235u, + 151u, 255u, 165u, 189u, + 152u, 88u, 146u, 107u, + 80u, 255u, 92u, 111u, + 165u, 142u, 137u, 129u, + 147u, 113u, 88u, 135u, + 181u, 85u, 201u, 184u, + 109u, 160u, 162u, 124u, + 100u, 84u, 63u, 139u, + 84u, 255u, 158u, 142u, + 137u, 43u, 255u, 103u, + 53u, 157u, 40u, 106u, + 155u, 62u, 104u, 67u, + 134u, 175u, 78u, 144u, + 109u, 192u, 188u, 123u, + 124u, 49u, 163u, 200u, + 99u, 213u, 149u, 146u, + 198u, 66u, 1u, 124u, + 215u, 146u, 149u, 190u, + 149u, 236u, 156u, 255u, + 171u, 10u, 237u, 81u, + 109u, 197u, 78u, 255u, + 208u, 255u, 210u, 53u, + 110u, 97u, 100u, 134u, + 169u, 124u, 124u, 137u, + 164u, 61u, 127u, 89u, + 123u, 194u, 186u, 132u, + 106u, 178u, 48u, 241u, + 77u, 92u, 114u, 140u, + 131u, 150u, 255u, 132u, + 119u, 136u, 74u, 130u, + 94u, 121u, 87u, 121u, + 161u, 0u, 37u, 133u, + 123u, 48u, 87u, 221u, + 139u, 0u, 81u, 104u, + 94u, 129u, 96u, 132u, + 150u, 125u, 39u, 222u, + 162u, 177u, 82u, 85u, + 179u, 139u, 123u, 85u, + 94u, 148u, 53u, 106u, + 144u, 8u, 0u, 114u, + 181u, 79u, 148u, 139u, + 177u, 53u, 30u, 95u, + 85u, 44u, 103u, 1u, + 88u, 152u, 239u, 14u, + 167u, 103u, 183u, 124u, + 15u, 142u, 207u, 134u, + 173u, 112u, 121u, 82u, + 67u, 205u, 144u, 68u, + 13u, 255u, 103u, 185u, + 119u, 77u, 252u, 201u, + 81u, 169u, 104u, 107u, + 179u, 142u, 129u, 1u, + 21u, 87u, 203u, 163u, + 53u, 214u, 158u, 58u, + 255u, 208u, 159u, 147u, + 142u, 78u, 100u, 221u, + 56u, 154u, 158u, 103u, + 13u, 92u, 51u, 53u, + 142u, 63u, 211u, 1u, + 224u, 41u, 220u, 249u, + 93u, 205u, 95u, 94u, + 133u, 196u, 174u, 106u, + 131u, 207u, 92u, 196u, + 145u, 45u, 95u, 128u, + 150u, 202u, 255u, 104u, + 164u, 255u, 151u, 126u, + 87u, 94u, 32u, 108u, + 200u, 171u, 158u, 72u, + 80u, 43u, 107u, 169u, + 113u, 140u, 255u, 196u, + 120u, 170u, 132u, 161u, + 80u, 26u, 76u, 98u, + 95u, 243u, 144u, 151u, + 43u, 28u, 29u, 34u, + 144u, 27u, 103u, 160u, + 122u, 174u, 146u, 115u, + 133u, 86u, 255u, 63u, + 108u, 5u, 142u, 111u, + 106u, 133u, 254u, 47u, + 57u, 255u, 168u, 119u, + 198u, 161u, 99u, 124u, + 188u, 176u, 211u, 52u, + 121u, 37u, 145u, 188u, + 79u, 237u, 98u, 146u, + 255u, 133u, 13u, 208u, + 164u, 84u, 129u, 117u, + 255u, 99u, 115u, 104u, + 40u, 123u, 122u, 145u, + 123u, 166u, 234u, 48u, + 118u, 0u, 160u, 187u, + 186u, 80u, 111u, 160u, + 146u, 95u, 119u, 109u, + 171u, 154u, 71u, 14u, + 140u, 206u, 98u, 0u, + 127u, 198u, 169u, 88u, + 54u, 94u, 119u, 32u, + 70u, 228u, 67u, 224u, + 92u, 132u, 193u, 62u, + 1u, 108u, 179u, 255u, + 148u, 80u, 177u, 100u, + 61u, 123u, 192u, 142u, + 159u, 123u, 180u, 224u, + 129u, 149u, 137u, 119u, + 217u, 66u, 80u, 215u, + 107u, 80u, 1u, 114u, + 111u, 56u, 118u, 163u, + 118u, 12u, 39u, 183u, + 104u, 151u, 208u, 1u, + 148u, 155u, 131u, 181u, + 144u, 35u, 136u, 134u, + 39u, 255u, 118u, 123u, + 209u, 161u, 53u, 117u, + 130u, 61u, 181u, 110u, + 1u, 161u, 230u, 179u, + 126u, 228u, 132u, 191u, + 93u, 148u, 143u, 120u, + 107u, 189u, 174u, 244u, + 128u, 69u, 255u, 58u, + 60u, 169u, 29u, 167u, + 236u, 149u, 108u, 191u, + 111u, 85u, 75u, 84u, + 144u, 123u, 71u, 1u, + 48u, 106u, 108u, 79u, + 86u, 127u, 185u, 106u, + 123u, 143u, 169u, 46u, + 206u, 190u, 255u, 37u, + 141u, 140u, 97u, 115u, + 69u, 50u, 53u, 155u, + 223u, 107u, 245u, 94u, + 121u, 214u, 240u, 102u, + 204u, 255u, 95u, 37u, + 164u, 34u, 192u, 119u, + 102u, 239u, 134u, 111u, + 85u, 116u, 78u, 191u, + 112u, 153u, 159u, 209u, + 222u, 99u, 83u, 255u, + 109u, 184u, 42u, 236u, + 99u, 159u, 165u, 27u, + 69u, 1u, 96u, 176u, + 181u, 124u, 37u, 147u, + 122u, 182u, 106u, 141u, + 148u, 20u, 34u, 164u, + 51u, 102u, 133u, 128u, + 185u, 183u, 209u, 42u, + 97u, 1u, 154u, 95u, + 232u, 167u, 114u, 47u, + 85u, 59u, 98u, 147u, + 22u, 92u, 178u, 1u, + 14u, 97u, 137u, 243u, + 183u, 47u, 55u, 51u, + 125u, 255u, 147u, 123u, + 112u, 33u, 77u, 179u, + 102u, 23u, 95u, 166u, + 255u, 107u, 180u, 212u, + 36u, 54u, 32u, 128u, + 84u, 200u, 24u, 67u, + 138u, 110u, 126u, 222u, + 1u, 156u, 139u, 215u, + 54u, 151u, 183u, 121u, + 152u, 155u, 147u, 94u, + 116u, 138u, 147u, 191u, + 168u, 98u, 106u, 31u, + 172u, 1u, 107u, 22u, + 99u, 20u, 185u, 96u, + 99u, 161u, 77u, 29u, + 181u, 110u, 108u, 81u, + 105u, 144u, 144u, 107u, + 59u, 142u, 0u, 231u, + 97u, 160u, 140u, 102u, + 107u, 83u, 250u, 193u, + 85u, 180u, 1u, 130u, + 218u, 1u, 229u, 71u, + 145u, 87u, 68u, 49u, + 103u, 128u, 1u, 158u, + 170u, 121u, 123u, 92u, + 136u, 100u, 32u, 130u, + 204u, 141u, 80u, 122u, + 125u, 121u, 73u, 86u, + 79u, 123u, 89u, 101u, + 121u, 128u, 140u, 62u, + 100u, 1u, 132u, 117u, + 164u, 1u, 39u, 143u, + 62u, 73u, 123u, 57u, + 123u, 117u, 130u, 52u, + 68u, 74u, 177u, 139u, + 223u, 105u, 79u, 111u, + 147u, 112u, 1u, 186u, + 137u, 177u, 175u, 101u, + 96u, 44u, 117u, 41u, + 94u, 1u, 106u, 87u, + 66u, 18u, 144u, 81u, + 144u, 186u, 136u, 194u, + 247u, 182u, 131u, 31u, + 16u, 138u, 163u, 214u, + 128u, 21u, 109u, 144u, + 210u, 160u, 199u, 153u, + 1u, 176u, 124u, 117u, + 121u, 0u, 138u, 145u, + 88u, 184u, 120u, 82u, + 66u, 148u, 162u, 74u, + 67u, 145u, 130u, 95u, + 181u, 176u, 148u, 158u, + 105u, 137u, 255u, 186u, + 157u, 88u, 145u, 153u, + 19u, 94u, 149u, 121u, + 66u, 116u, 205u, 109u, + 252u, 135u, 126u, 237u, + 48u, 2u, 183u, 171u, + 97u, 255u, 80u, 89u, + 200u, 203u, 166u, 130u, + 50u, 17u, 245u, 59u, + 140u, 108u, 159u, 130u, + 210u, 102u, 81u, 255u, + 252u, 54u, 174u, 229u, + 255u, 162u, 217u, 100u, + 152u, 45u, 139u, 240u, + 205u, 152u, 70u, 110u, + 82u, 189u, 206u, 160u, + 116u, 163u, 207u, 63u, + 189u, 100u, 93u, 112u, + 99u, 91u, 224u, 255u, + 213u, 89u, 151u, 255u, + 102u, 207u, 85u, 163u, + 163u, 83u, 12u, 161u, + 67u, 126u, 60u, 110u, + 125u, 154u, 167u, 107u, + 97u, 99u, 136u, 84u, + 151u, 174u, 199u, 70u, + 95u, 101u, 255u, 204u, + 196u, 199u, 182u, 122u, + 150u, 157u, 47u, 23u, + 166u, 212u, 141u, 181u, + 100u, 1u, 135u, 149u, + 129u, 117u, 226u, 200u, + 127u, 189u, 247u, 99u, + 116u, 61u, 185u, 238u, + 187u, 255u, 34u, 216u, + 185u, 255u, 121u, 179u, + 186u, 158u, 86u, 209u, + 113u, 73u, 105u, 97u, + 143u, 147u, 21u, 93u, + 162u, 104u, 157u, 28u, + 97u, 184u, 112u, 234u, + 141u, 62u, 155u, 160u, + 1u, 146u, 56u, 103u, + 42u, 163u, 76u, 96u, + 196u, 76u, 212u, 100u, + 130u, 255u, 241u, 202u, + 65u, 152u, 31u, 136u, + 134u, 80u, 83u, 160u, + 106u, 189u, 94u, 125u, + 104u, 99u, 98u, 103u, + 1u, 39u, 160u, 211u, + 194u, 87u, 188u, 205u, + 101u, 67u, 150u, 62u, + 200u, 110u, 114u, 147u, + 16u, 82u, 66u, 1u, + 90u, 186u, 20u, 61u, + 115u, 136u, 255u, 131u, + 114u, 141u, 140u, 236u, + 87u, 75u, 155u, 155u, + 133u, 176u, 129u, 75u, + 74u, 242u, 199u, 146u, + 56u, 168u, 116u, 139u, + 74u, 86u, 182u, 255u, + 122u, 153u, 146u, 79u, + 52u, 155u, 119u, 185u, + 75u, 119u, 122u, 131u, + 219u, 1u, 127u, 165u, + 116u, 101u, 119u, 119u, + 91u, 156u, 69u, 116u, + 167u, 131u, 94u, 150u, + 161u, 255u, 105u, 120u, + 148u, 137u, 166u, 75u, + 41u, 111u, 11u, 255u, + 129u, 137u, 172u, 128u, + 174u, 148u, 148u, 7u, + 102u, 140u, 193u, 107u, + 113u, 128u, 173u, 73u, + 152u, 99u, 128u, 119u, + 158u, 245u, 255u, 144u, + 143u, 24u, 143u, 204u, + 197u, 0u, 102u, 121u, + 171u, 167u, 140u, 226u, + 100u, 204u, 225u, 165u, + 64u, 141u, 101u, 191u, + 152u, 79u, 182u, 133u, + 170u, 144u, 179u, 163u, + 70u, 255u, 54u, 206u, + 23u, 155u, 94u, 79u, + 91u, 206u, 0u, 33u, + 185u, 104u, 128u, 63u, + 10u, 94u, 228u, 146u, + 25u, 42u, 204u, 95u, + 138u, 101u, 35u, 99u, + 255u, 116u, 53u, 146u, + 167u, 187u, 225u, 102u, + 91u, 113u, 195u, 210u, + 83u, 255u, 143u, 66u, + 180u, 140u, 227u, 106u, + 160u, 85u, 187u, 67u, + 143u, 135u, 101u, 48u, + 77u, 188u, 255u, 99u, + 97u, 226u, 117u, 245u, + 220u, 160u, 199u, 66u, + 88u, 134u, 184u, 186u, + 193u, 221u, 172u, 255u, + 92u, 115u, 136u, 171u, + 45u, 106u, 136u, 240u, + 121u, 62u, 184u, 180u, + 168u, 110u, 194u, 83u, + 95u, 79u, 1u, 172u, + 168u, 143u, 148u, 51u, + 74u, 83u, 160u, 255u, + 123u, 46u, 68u, 147u, + 156u, 211u, 157u, 111u, + 41u, 87u, 96u, 191u, + 99u, 76u, 155u, 180u, + 174u, 137u, 92u, 170u, + 173u, 161u, 130u, 75u, + 26u, 142u, 255u, 119u, + 117u, 255u, 239u, 173u, + 169u, 131u, 228u, 124u, + 108u, 116u, 194u, 108u, + 112u, 158u, 183u, 178u, + 83u, 1u, 113u, 63u, + 96u, 36u, 143u, 97u, + 108u, 163u, 161u, 69u, + 196u, 227u, 191u, 50u, + 216u, 1u, 164u, 56u, + 213u, 185u, 119u, 80u, + 114u, 182u, 129u, 245u, + 150u, 76u, 49u, 186u, + 53u, 118u, 54u, 93u, + 255u, 79u, 238u, 108u, + 70u, 237u, 125u, 167u, + 156u, 98u, 53u, 88u, + 150u, 1u, 147u, 139u, + 108u, 111u, 39u, 78u, + 179u, 167u, 66u, 181u, + 98u, 14u, 23u, 255u, + 134u, 108u, 18u, 241u, + 251u, 81u, 255u, 82u, + 133u, 221u, 249u, 237u, + 102u, 193u, 209u, 187u, + 178u, 83u, 134u, 140u, + 112u, 74u, 137u, 91u, + 78u, 49u, 91u, 96u, + 255u, 238u, 146u, 219u, + 230u, 200u, 134u, 110u, + 131u, 154u, 102u, 105u, + 133u, 157u, 255u, 103u, + 63u, 131u, 40u, 79u, + 111u, 87u, 103u, 144u, + 99u, 98u, 201u, 14u, + 159u, 101u, 60u, 141u, + 130u, 158u, 129u, 1u, + 177u, 133u, 115u, 215u, + 84u, 108u, 1u, 140u, + 201u, 161u, 118u, 65u, + 179u, 86u, 82u, 172u, + 70u, 213u, 1u, 132u, + 217u, 205u, 110u, 213u, + 80u, 33u, 35u, 245u, + 49u, 100u, 35u, 154u, + 71u, 108u, 109u, 77u, + 232u, 172u, 47u, 147u, + 217u, 255u, 71u, 93u, + 107u, 92u, 90u, 166u, + 38u, 206u, 68u, 134u, + 100u, 118u, 255u, 233u, + 89u, 113u, 132u, 91u, + 116u, 100u, 77u, 81u, + 164u, 137u, 105u, 176u, + 177u, 0u, 139u, 202u, + 132u, 155u, 74u, 135u, + 178u, 183u, 94u, 224u, + 101u, 126u, 68u, 105u, + 206u, 31u, 141u, 109u, + 0u, 230u, 124u, 124u, + 12u, 85u, 71u, 35u, + 104u, 116u, 245u, 212u, + 161u, 222u, 70u, 170u, + 67u, 1u, 49u, 104u, + 78u, 236u, 189u, 142u, + 3u, 71u, 109u, 115u, + 61u, 100u, 25u, 40u, + 132u, 136u, 247u, 1u, + 148u, 102u, 133u, 56u, + 133u, 140u, 238u, 180u, + 130u, 153u, 131u, 142u, + 103u, 66u, 63u, 95u, + 91u, 255u, 181u, 103u, + 160u, 88u, 90u, 255u, + 148u, 15u, 161u, 160u, + 37u, 230u, 123u, 119u, + 118u, 129u, 113u, 179u, + 75u, 132u, 144u, 48u, + 165u, 170u, 119u, 161u, + 141u, 0u, 8u, 224u, + 173u, 139u, 75u, 15u, + 1u, 195u, 13u, 221u, + 114u, 145u, 248u, 106u, + 18u, 255u, 209u, 159u, + 15u, 138u, 27u, 225u, + 91u, 235u, 158u, 80u, + 197u, 131u, 32u, 194u, + 66u, 143u, 147u, 61u, + 1u, 84u, 162u, 99u, + 103u, 56u, 63u, 197u, + 121u, 119u, 162u, 115u, + 103u, 164u, 110u, 167u, + 40u, 83u, 121u, 0u, + 211u, 60u, 103u, 66u, + 86u, 155u, 27u, 84u, + 178u, 1u, 66u, 38u, + 189u, 53u, 152u, 122u, + 84u, 84u, 194u, 66u, + 59u, 108u, 127u, 1u, + 18u, 209u, 148u, 13u, + 98u, 165u, 90u, 12u, + 187u, 255u, 155u, 109u, + 157u, 120u, 145u, 171u, + 120u, 202u, 130u, 107u, + 78u, 77u, 95u, 169u, + 208u, 83u, 73u, 82u, + 102u, 105u, 160u, 109u, + 52u, 83u, 191u, 234u, + 255u, 226u, 228u, 215u, + 135u, 120u, 31u, 90u, + 1u, 96u, 172u, 87u, + 114u, 147u, 142u, 157u, + 231u, 135u, 99u, 191u, + 124u, 118u, 152u, 166u, + 190u, 108u, 119u, 184u, + 26u, 52u, 132u, 106u, + 172u, 255u, 163u, 153u, + 113u, 113u, 165u, 127u, + 98u, 150u, 107u, 106u, + 118u, 123u, 158u, 78u, + 144u, 0u, 120u, 82u, + 134u, 140u, 187u, 166u, + 163u, 120u, 45u, 202u, + 157u, 84u, 0u, 138u, + 151u, 159u, 128u, 159u, + 40u, 124u, 150u, 101u, + 115u, 183u, 179u, 110u, + 181u, 38u, 58u, 255u, + 169u, 178u, 127u, 40u, + 161u, 10u, 99u, 199u, + 121u, 1u, 170u, 211u, + 231u, 206u, 243u, 139u, + 205u, 92u, 95u, 161u, + 74u, 170u, 150u, 231u, + 115u, 43u, 149u, 103u, + 136u, 209u, 129u, 141u, + 72u, 255u, 143u, 101u, + 71u, 187u, 114u, 47u, + 138u, 136u, 126u, 155u, + 100u, 39u, 26u, 255u, + 122u, 35u, 30u, 81u, + 241u, 255u, 129u, 87u, + 110u, 191u, 85u, 114u, + 170u, 54u, 63u, 181u, + 18u, 115u, 65u, 32u, + 81u, 48u, 62u, 95u, + 73u, 178u, 218u, 86u, + 156u, 1u, 74u, 216u, + 87u, 164u, 104u, 67u, + 69u, 1u, 77u, 145u, + 102u, 31u, 141u, 75u, + 169u, 135u, 138u, 104u, + 172u, 107u, 105u, 28u, + 79u, 177u, 112u, 113u, + 162u, 113u, 203u, 208u, + 255u, 225u, 192u, 192u, + 136u, 21u, 141u, 92u, + 169u, 44u, 187u, 77u, + 137u, 161u, 1u, 118u, + 176u, 81u, 95u, 62u, + 177u, 178u, 180u, 87u, + 82u, 135u, 99u, 154u, + 169u, 47u, 202u, 193u, + 80u, 180u, 255u, 169u, + 58u, 169u, 54u, 232u, + 137u, 120u, 37u, 171u, + 172u, 101u, 166u, 73u, + 1u, 202u, 68u, 146u, + 175u, 204u, 49u, 131u, + 170u, 255u, 169u, 196u, + 109u, 101u, 180u, 135u, + 218u, 144u, 148u, 167u, + 111u, 154u, 147u, 186u, + 153u, 36u, 77u, 119u, + 5u, 172u, 162u, 103u, + 135u, 91u, 64u, 178u, + 151u, 34u, 255u, 186u, + 150u, 114u, 197u, 185u, + 46u, 118u, 74u, 25u, + 195u, 50u, 100u, 143u, + 110u, 178u, 0u, 115u, + 62u, 157u, 255u, 91u, + 48u, 182u, 217u, 59u, + 214u, 51u, 160u, 112u, + 154u, 146u, 173u, 96u, + 222u, 73u, 197u, 245u, + 69u, 73u, 109u, 61u, + 81u, 97u, 161u, 123u, + 113u, 110u, 1u, 137u, + 50u, 117u, 100u, 186u, + 92u, 193u, 144u, 253u, + 157u, 95u, 145u, 255u, + 87u, 83u, 58u, 104u, + 150u, 172u, 105u, 12u, + 249u, 141u, 40u, 217u, + 99u, 140u, 105u, 92u, + 141u, 1u, 149u, 105u, + 224u, 198u, 160u, 168u, + 93u, 153u, 98u, 62u, + 159u, 143u, 144u, 126u, + 0u, 171u, 159u, 170u, + 219u, 80u, 158u, 37u, + 33u, 173u, 111u, 1u, + 109u, 175u, 13u, 162u, + 217u, 131u, 144u, 106u, + 98u, 88u, 70u, 96u, + 20u, 223u, 70u, 154u, + 86u, 107u, 72u, 210u, + 236u, 0u, 93u, 66u, + 0u, 76u, 168u, 164u, + 145u, 188u, 135u, 131u, + 202u, 45u, 96u, 115u, + 98u, 45u, 174u, 111u, + 109u, 187u, 119u, 132u, + 255u, 71u, 136u, 124u, + 115u, 68u, 212u, 45u, + 159u, 255u, 21u, 189u, + 105u, 160u, 255u, 175u, + 137u, 148u, 108u, 135u, + 175u, 94u, 44u, 111u, + 108u, 96u, 112u, 189u, + 255u, 233u, 210u, 224u, + 90u, 213u, 5u, 206u, + 159u, 158u, 202u, 35u, + 63u, 232u, 143u, 202u, + 152u, 91u, 23u, 3u, + 104u, 227u, 255u, 148u, + 167u, 111u, 95u, 203u, + 96u, 156u, 205u, 88u, + 3u, 171u, 151u, 164u, + 139u, 159u, 85u, 166u, + 215u, 62u, 174u, 215u, + 78u, 94u, 1u, 124u, + 113u, 102u, 80u, 64u, + 201u, 136u, 120u, 195u, + 62u, 87u, 1u, 110u, + 120u, 184u, 120u, 103u, + 62u, 28u, 12u, 185u, + 153u, 33u, 247u, 224u, + 131u, 91u, 154u, 255u, + 31u, 224u, 142u, 217u, + 112u, 91u, 1u, 151u, + 153u, 219u, 172u, 211u, + 89u, 112u, 175u, 122u, + 95u, 101u, 179u, 167u, + 1u, 50u, 170u, 180u, + 84u, 183u, 86u, 189u, + 180u, 49u, 148u, 208u, + 103u, 88u, 101u, 131u, + 111u, 254u, 0u, 6u, + 142u, 70u, 134u, 130u, + 154u, 158u, 151u, 116u, + 117u, 85u, 79u, 64u, + 101u, 97u, 118u, 221u, + 74u, 70u, 179u, 35u, + 121u, 243u, 202u, 105u, + 37u, 165u, 202u, 255u, + 11u, 125u, 248u, 64u, + 133u, 166u, 92u, 127u, + 202u, 87u, 167u, 59u, + 1u, 82u, 133u, 80u, + 122u, 75u, 77u, 182u, + 96u, 0u, 127u, 92u, + 73u, 148u, 192u, 22u, + 116u, 102u, 137u, 173u, + 118u, 187u, 68u, 112u, + 94u, 122u, 1u, 52u, + 35u, 173u, 149u, 74u, + 86u, 167u, 115u, 76u, + 88u, 67u, 200u, 235u, + 255u, 181u, 113u, 136u, + 169u, 37u, 64u, 147u, + 170u, 45u, 124u, 122u, + 201u, 119u, 156u, 104u, + 250u, 64u, 124u, 167u, + 124u, 125u, 80u, 185u, + 166u, 255u, 56u, 109u, + 61u, 72u, 196u, 86u, + 160u, 177u, 255u, 128u, + 165u, 164u, 107u, 245u, + 109u, 239u, 186u, 145u, + 99u, 98u, 74u, 31u, + 168u, 156u, 104u, 152u, + 0u, 75u, 88u, 111u, + 229u, 163u, 138u, 160u, + 102u, 89u, 157u, 192u, + 183u, 8u, 91u, 198u, + 53u, 109u, 119u, 59u, + 148u, 255u, 185u, 251u, + 115u, 76u, 89u, 183u, + 55u, 169u, 255u, 91u, + 200u, 124u, 189u, 154u, + 91u, 138u, 207u, 47u, + 24u, 141u, 83u, 117u, + 164u, 103u, 129u, 229u, + 88u, 117u, 103u, 211u, + 96u, 255u, 109u, 134u, + 73u, 152u, 191u, 90u, + 112u, 211u, 255u, 60u, + 156u, 96u, 194u, 163u, + 165u, 209u, 203u, 186u, + 81u, 213u, 140u, 148u, + 154u, 160u, 201u, 111u, + 134u, 67u, 96u, 146u, + 119u, 104u, 157u, 255u, + 186u, 137u, 188u, 225u, + 80u, 38u, 205u, 65u, + 125u, 50u, 28u, 204u, + 214u, 181u, 1u, 127u, + 83u, 60u, 31u, 106u, + 149u, 86u, 226u, 54u, + 133u, 119u, 46u, 255u, + 114u, 247u, 84u, 137u, + 183u, 31u, 166u, 144u, + 77u, 41u, 75u, 35u, + 115u, 155u, 109u, 99u, + 211u, 255u, 112u, 36u, + 125u, 151u, 102u, 150u, + 172u, 61u, 121u, 194u, + 106u, 125u, 78u, 231u, + 145u, 187u, 147u, 255u, + 111u, 141u, 34u, 255u, + 106u, 158u, 175u, 66u, + 87u, 89u, 36u, 84u, + 166u, 145u, 167u, 144u, + 92u, 115u, 47u, 180u, + 180u, 41u, 242u, 84u, + 101u, 220u, 255u, 164u, + 92u, 194u, 96u, 202u, + 123u, 179u, 162u, 141u, + 144u, 147u, 22u, 140u, + 143u, 35u, 139u, 68u, + 95u, 58u, 95u, 255u, + 88u, 103u, 117u, 126u, + 121u, 103u, 175u, 91u, + 176u, 96u, 203u, 137u, + 85u, 153u, 182u, 1u, + 255u, 242u, 39u, 175u, + 128u, 229u, 107u, 191u, + 127u, 198u, 43u, 50u, + 212u, 107u, 242u, 100u, + 109u, 148u, 100u, 131u, + 215u, 117u, 115u, 121u, + 171u, 186u, 254u, 135u, + 183u, 74u, 1u, 143u, + 141u, 87u, 87u, 225u, + 180u, 55u, 67u, 119u, + 96u, 111u, 34u, 116u, + 126u, 113u, 1u, 136u, + 166u, 132u, 255u, 165u, + 143u, 159u, 171u, 150u, + 98u, 96u, 99u, 155u, + 126u, 60u, 239u, 75u, + 164u, 116u, 217u, 74u, + 255u, 186u, 82u, 165u, + 71u, 104u, 96u, 185u, + 127u, 247u, 227u, 10u, + 143u, 190u, 199u, 64u, + 0u, 199u, 114u, 168u, + 109u, 53u, 232u, 109u, + 181u, 10u, 79u, 170u, + 108u, 166u, 60u, 3u, + 192u, 154u, 85u, 255u, + 87u, 11u, 33u, 240u, + 95u, 186u, 195u, 96u, + 189u, 160u, 225u, 194u, + 100u, 223u, 51u, 190u, + 135u, 179u, 45u, 34u, + 145u, 222u, 153u, 255u, + 67u, 38u, 73u, 68u, + 214u, 48u, 171u, 171u, + 144u, 33u, 251u, 255u, + 121u, 175u, 175u, 246u, + 45u, 47u, 116u, 187u, + 150u, 37u, 255u, 60u, + 128u, 185u, 98u, 127u, + 112u, 130u, 91u, 95u, + 125u, 148u, 197u, 186u, + 170u, 211u, 168u, 139u, + 148u, 160u, 226u, 35u, + 70u, 91u, 173u, 255u, + 148u, 133u, 255u, 200u, + 95u, 220u, 147u, 107u, + 220u, 79u, 79u, 83u, + 208u, 157u, 192u, 141u, + 54u, 41u, 196u, 150u, + 139u, 0u, 107u, 87u, + 79u, 62u, 113u, 133u, + 155u, 174u, 24u, 143u, + 145u, 64u, 1u, 186u, + 84u, 142u, 126u, 136u, + 89u, 172u, 138u, 197u, + 60u, 79u, 43u, 154u, + 210u, 120u, 98u, 117u, + 127u, 146u, 81u, 68u, + 95u, 102u, 1u, 190u, + 127u, 53u, 32u, 72u, + 0u, 203u, 167u, 134u, + 151u, 204u, 139u, 244u, + 119u, 29u, 71u, 176u, + 177u, 204u, 175u, 160u, + 108u, 45u, 49u, 229u, + 53u, 221u, 94u, 217u, + 157u, 156u, 254u, 94u, + 114u, 23u, 1u, 44u, + 0u, 78u, 73u, 161u, + 120u, 62u, 158u, 101u, + 107u, 77u, 109u, 218u, + 119u, 194u, 122u, 164u, + 57u, 107u, 154u, 65u, + 216u, 37u, 101u, 124u, + 150u, 98u, 255u, 72u, + 86u, 96u, 131u, 83u, + 255u, 254u, 155u, 75u, + 151u, 213u, 80u, 153u, + 96u, 208u, 180u, 91u, + 60u, 68u, 173u, 80u, + 122u, 86u, 174u, 97u, + 29u, 224u, 146u, 255u, + 158u, 204u, 133u, 207u, + 193u, 125u, 82u, 147u, + 129u, 124u, 66u, 209u, + 0u, 76u, 165u, 16u, + 142u, 108u, 39u, 146u, + 167u, 75u, 127u, 253u, + 157u, 66u, 108u, 145u, + 27u, 132u, 191u, 143u, + 148u, 252u, 255u, 82u, + 143u, 108u, 154u, 114u, + 165u, 132u, 146u, 128u, + 140u, 99u, 69u, 255u, + 95u, 91u, 149u, 61u, + 124u, 69u, 90u, 182u, + 67u, 225u, 200u, 150u, + 143u, 255u, 218u, 190u, + 155u, 174u, 47u, 194u, + 125u, 228u, 188u, 211u, + 108u, 66u, 166u, 181u, + 100u, 157u, 255u, 98u, + 188u, 171u, 179u, 92u, + 82u, 73u, 148u, 82u, + 203u, 213u, 186u, 173u, + 114u, 178u, 1u, 213u, + 128u, 125u, 100u, 116u, + 126u, 193u, 33u, 206u, + 30u, 58u, 99u, 213u, + 113u, 42u, 163u, 83u, + 200u, 172u, 134u, 103u, + 184u, 80u, 0u, 140u, + 61u, 146u, 162u, 177u, + 255u, 69u, 114u, 147u, + 139u, 148u, 247u, 230u, + 30u, 91u, 20u, 122u, + 73u, 63u, 93u, 167u, + 136u, 168u, 104u, 54u, + 150u, 60u, 43u, 179u, + 1u, 80u, 172u, 60u, + 175u, 118u, 102u, 62u, + 207u, 133u, 211u, 161u, + 122u, 185u, 105u, 255u, + 234u, 81u, 129u, 221u, + 255u, 114u, 250u, 165u, + 74u, 223u, 72u, 80u, + 126u, 37u, 127u, 75u, + 185u, 169u, 159u, 124u, + 114u, 100u, 37u, 161u, + 201u, 0u, 173u, 168u, + 116u, 184u, 183u, 132u, + 50u, 121u, 116u, 216u, + 133u, 92u, 88u, 218u, + 140u, 144u, 228u, 8u, + 160u, 39u, 82u, 93u, + 135u, 143u, 231u, 255u, + 173u, 160u, 162u, 206u, + 217u, 100u, 150u, 62u, + 102u, 109u, 255u, 124u, + 173u, 164u, 7u, 185u, + 1u, 56u, 102u, 182u, + 131u, 111u, 219u, 138u, + 143u, 134u, 200u, 202u, + 128u, 164u, 34u, 136u, + 116u, 169u, 255u, 192u, + 123u, 131u, 163u, 129u, + 109u, 80u, 96u, 133u, + 93u, 133u, 128u, 138u, + 98u, 23u, 1u, 142u, + 102u, 115u, 82u, 88u, + 178u, 154u, 99u, 168u, + 162u, 194u, 105u, 110u, + 183u, 112u, 45u, 73u, + 184u, 100u, 152u, 66u, + 109u, 181u, 148u, 158u, + 0u, 86u, 181u, 38u, + 255u, 127u, 155u, 134u, + 157u, 210u, 64u, 138u, + 58u, 61u, 165u, 103u, + 119u, 100u, 162u, 54u, + 47u, 169u, 94u, 150u, + 92u, 169u, 255u, 80u, + 159u, 187u, 112u, 195u, + 112u, 71u, 24u, 190u, + 152u, 129u, 159u, 67u, + 106u, 42u, 96u, 208u, + 147u, 175u, 253u, 54u, + 97u, 75u, 47u, 255u, + 67u, 147u, 86u, 202u, + 192u, 90u, 255u, 129u, + 144u, 126u, 194u, 171u, + 65u, 202u, 17u, 151u, + 218u, 1u, 108u, 158u, + 128u, 125u, 128u, 146u, + 105u, 117u, 96u, 44u, + 166u, 74u, 255u, 158u, + 154u, 1u, 46u, 137u, + 67u, 63u, 80u, 70u, + 136u, 73u, 138u, 6u, + 113u, 124u, 186u, 184u, + 175u, 197u, 50u, 0u, + 156u, 108u, 181u, 147u, + 246u, 176u, 2u, 207u, + 125u, 51u, 106u, 197u, + 44u, 202u, 39u, 117u, + 163u, 163u, 222u, 86u, + 225u, 81u, 120u, 96u, + 176u, 76u, 255u, 55u, + 156u, 141u, 149u, 228u, + 57u, 255u, 16u, 194u, + 196u, 120u, 127u, 126u, + 74u, 65u, 179u, 236u, + 91u, 210u, 111u, 62u, + 174u, 255u, 30u, 242u, + 109u, 2u, 24u, 128u, + 125u, 60u, 134u, 92u, + 207u, 157u, 215u, 108u, + 133u, 181u, 1u, 191u, + 156u, 17u, 33u, 182u, + 133u, 174u, 130u, 77u, + 142u, 124u, 90u, 108u, + 113u, 1u, 145u, 136u, + 93u, 153u, 149u, 144u, + 81u, 105u, 90u, 140u, + 19u, 182u, 74u, 130u, + 144u, 100u, 93u, 203u, + 103u, 134u, 127u, 255u, + 84u, 91u, 94u, 158u, + 21u, 110u, 158u, 149u, + 157u, 145u, 89u, 140u, + 77u, 134u, 115u, 142u, + 1u, 76u, 172u, 166u, + 72u, 124u, 148u, 165u, + 161u, 25u, 97u, 255u, + 81u, 115u, 134u, 144u, + 20u, 55u, 49u, 162u, + 81u, 74u, 125u, 255u, + 91u, 122u, 149u, 97u, + 185u, 43u, 189u, 162u, + 134u, 168u, 30u, 94u, + 205u, 255u, 145u, 103u, + 189u, 178u, 85u, 151u, + 81u, 145u, 104u, 94u, + 101u, 85u, 123u, 132u, + 161u, 57u, 255u, 221u, + 97u, 131u, 83u, 151u, + 211u, 14u, 32u, 215u, + 118u, 203u, 61u, 99u, + 182u, 146u, 7u, 62u, + 146u, 19u, 165u, 124u, + 86u, 255u, 142u, 110u, + 191u, 128u, 117u, 226u, + 182u, 197u, 68u, 112u, + 86u, 124u, 156u, 146u, + 51u, 118u, 123u, 186u, + 157u, 124u, 1u, 158u, + 145u, 8u, 113u, 107u, + 31u, 38u, 180u, 124u, + 85u, 255u, 74u, 212u, + 89u, 138u, 66u, 31u, + 213u, 168u, 112u, 182u, + 203u, 145u, 147u, 86u, + 252u, 165u, 72u, 225u, + 167u, 51u, 255u, 9u, + 81u, 82u, 140u, 201u, + 54u, 251u, 131u, 130u, + 103u, 156u, 98u, 77u, + 96u, 87u, 255u, 117u, + 49u, 129u, 112u, 238u, + 239u, 162u, 114u, 156u, + 126u, 130u, 166u, 157u, + 254u, 216u, 255u, 174u, + 50u, 130u, 147u, 93u, + 74u, 187u, 127u, 100u, + 217u, 140u, 162u, 87u, + 36u, 70u, 255u, 61u, + 125u, 46u, 142u, 131u, + 97u, 5u, 102u, 93u, + 134u, 174u, 116u, 105u, + 238u, 255u, 172u, 77u, + 157u, 87u, 137u, 173u, + 122u, 26u, 150u, 110u, + 162u, 133u, 255u, 123u, + 117u, 169u, 5u, 148u, + 144u, 75u, 77u, 74u, + 107u, 55u, 175u, 52u, + 84u, 84u, 102u, 1u, + 143u, 243u, 149u, 129u, + 239u, 255u, 151u, 59u, + 178u, 170u, 63u, 120u, + 89u, 116u, 103u, 55u, + 77u, 80u, 185u, 148u, + 105u, 104u, 134u, 164u, + 101u, 157u, 57u, 183u, + 124u, 74u, 66u, 22u, + 255u, 67u, 220u, 55u, + 177u, 84u, 78u, 170u, + 55u, 96u, 188u, 114u, + 142u, 112u, 193u, 117u, + 1u, 48u, 82u, 233u, + 219u, 147u, 189u, 138u, + 118u, 134u, 113u, 192u, + 61u, 179u, 251u, 68u, + 142u, 1u, 135u, 146u, + 151u, 131u, 115u, 122u, + 119u, 83u, 141u, 129u, + 131u, 75u, 137u, 146u, + 126u, 108u, 1u, 119u, + 50u, 1u, 79u, 144u, + 82u, 55u, 149u, 92u, + 158u, 134u, 129u, 136u, + 163u, 138u, 166u, 172u, + 26u, 81u, 0u, 225u, + 93u, 167u, 164u, 178u, + 98u, 146u, 65u, 124u, + 93u, 74u, 70u, 140u, + 170u, 67u, 184u, 114u, + 88u, 31u, 101u, 62u, + 126u, 169u, 85u, 130u, + 187u, 255u, 129u, 13u, + 222u, 105u, 239u, 159u, + 167u, 248u, 113u, 1u, + 205u, 23u, 101u, 39u, + 188u, 111u, 156u, 96u, + 152u, 72u, 159u, 176u, + 50u, 47u, 177u, 34u, + 149u, 212u, 255u, 56u, + 54u, 151u, 190u, 154u, + 132u, 227u, 38u, 176u, + 77u, 144u, 104u, 227u, + 1u, 205u, 138u, 55u, + 144u, 234u, 158u, 149u, + 135u, 127u, 195u, 122u, + 85u, 61u, 35u, 1u, + 109u, 105u, 104u, 162u, + 91u, 59u, 53u, 187u, + 255u, 171u, 201u, 182u, + 74u, 124u, 122u, 127u, + 131u, 169u, 89u, 125u, + 170u, 136u, 98u, 123u, + 123u, 197u, 239u, 188u, + 135u, 197u, 170u, 85u, + 183u, 56u, 130u, 255u, + 165u, 219u, 44u, 123u, + 165u, 147u, 198u, 205u, + 79u, 17u, 150u, 255u, + 91u, 40u, 43u, 177u, + 189u, 224u, 162u, 124u, + 0u, 205u, 79u, 176u, + 224u, 222u, 212u, 152u, + 178u, 115u, 29u, 140u, + 86u, 44u, 155u, 171u, + 169u, 133u, 130u, 171u, + 57u, 255u, 191u, 77u, + 138u, 193u, 55u, 163u, + 129u, 105u, 160u, 91u, + 199u, 128u, 122u, 168u, + 68u, 28u, 66u, 145u, + 105u, 160u, 160u, 105u, + 112u, 1u, 90u, 205u, + 196u, 51u, 32u, 111u, + 138u, 50u, 48u, 163u, + 163u, 221u, 124u, 173u, + 116u, 68u, 255u, 55u, + 177u, 118u, 106u, 161u, + 123u, 35u, 118u, 155u, + 130u, 170u, 152u, 105u, + 69u, 159u, 192u, 255u, + 83u, 226u, 194u, 240u, + 168u, 106u, 1u, 130u, + 110u, 213u, 130u, 100u, + 173u, 169u, 113u, 226u, + 28u, 119u, 255u, 87u, + 127u, 174u, 77u, 193u, + 135u, 44u, 214u, 69u, + 67u, 54u, 169u, 201u, + 89u, 152u, 141u, 82u, + 103u, 126u, 152u, 66u, + 178u, 212u, 255u, 121u, + 119u, 133u, 190u, 171u, + 22u, 189u, 133u, 92u, + 132u, 198u, 164u, 132u, + 153u, 45u, 43u, 255u, + 174u, 186u, 141u, 7u, + 141u, 99u, 116u, 169u, + 187u, 125u, 1u, 101u, + 116u, 252u, 202u, 249u, + 225u, 104u, 32u, 193u, + 149u, 84u, 102u, 119u, + 234u, 77u, 135u, 208u, + 85u, 99u, 59u, 255u, + 140u, 108u, 62u, 177u, + 24u, 15u, 91u, 239u, + 199u, 152u, 1u, 118u, + 218u, 59u, 69u, 9u, + 56u, 255u, 144u, 195u, + 242u, 116u, 135u, 183u, + 177u, 114u, 46u, 90u, + 255u, 55u, 54u, 153u, + 147u, 36u, 209u, 86u, + 88u, 60u, 149u, 153u, + 83u, 124u, 203u, 138u, + 165u, 73u, 100u, 117u, + 125u, 114u, 255u, 15u, + 116u, 213u, 181u, 204u, + 83u, 169u, 86u, 176u, + 117u, 76u, 51u, 105u, + 139u, 149u, 118u, 255u, + 92u, 143u, 159u, 209u, + 1u, 155u, 200u, 154u, + 244u, 91u, 77u, 210u, + 128u, 102u, 228u, 155u, + 1u, 163u, 130u, 49u, + 185u, 122u, 208u, 77u, + 132u, 73u, 104u, 203u, + 120u, 159u, 148u, 121u, + 107u, 14u, 61u, 215u, + 179u, 21u, 84u, 207u, + 89u, 0u, 98u, 20u, + 23u, 173u, 65u, 148u, + 133u, 63u, 124u, 187u, + 161u, 23u, 249u, 24u, + 93u, 56u, 196u, 148u, + 112u, 177u, 22u, 255u, + 88u, 95u, 219u, 167u, + 51u, 255u, 141u, 156u, + 163u, 85u, 81u, 161u, + 139u, 83u, 218u, 142u, + 67u, 94u, 135u, 255u, + 219u, 177u, 204u, 198u, + 145u, 149u, 161u, 196u, + 178u, 102u, 64u, 132u, + 153u, 140u, 68u, 136u, + 7u, 105u, 1u, 149u, + 192u, 109u, 92u, 52u, + 137u, 145u, 186u, 49u, + 53u, 152u, 35u, 41u, + 119u, 255u, 122u, 248u, + 237u, 133u, 180u, 162u, + 192u, 116u, 109u, 179u, + 121u, 109u, 107u, 116u, + 214u, 108u, 138u, 197u, + 101u, 202u, 86u, 111u, + 159u, 177u, 50u, 255u, + 92u, 126u, 255u, 80u, + 183u, 160u, 107u, 23u, + 187u, 162u, 200u, 127u, + 62u, 81u, 215u, 172u, + 160u, 222u, 154u, 133u, + 136u, 255u, 119u, 167u, + 168u, 84u, 119u, 88u, + 203u, 214u, 140u, 49u, + 168u, 135u, 165u, 63u, + 202u, 149u, 123u, 255u, + 175u, 96u, 142u, 70u, + 51u, 54u, 32u, 99u, + 207u, 255u, 231u, 161u, + 151u, 176u, 74u, 167u, + 180u, 121u, 92u, 151u, + 112u, 161u, 25u, 152u, + 125u, 202u, 174u, 148u, + 28u, 87u, 227u, 136u, + 187u, 139u, 170u, 122u, + 64u, 155u, 255u, 126u, + 133u, 131u, 176u, 120u, + 83u, 165u, 134u, 155u, + 184u, 77u, 21u, 156u, + 66u, 95u, 141u, 255u, + 139u, 66u, 19u, 3u, + 215u, 39u, 158u, 146u, + 149u, 146u, 82u, 255u, + 106u, 113u, 172u, 146u, + 137u, 195u, 145u, 185u, + 142u, 20u, 10u, 146u, + 156u, 105u, 184u, 166u, + 60u, 157u, 1u, 114u, + 1u, 136u, 89u, 131u, + 120u, 120u, 169u, 111u, + 90u, 36u, 77u, 158u, + 122u, 129u, 166u, 108u, + 237u, 149u, 86u, 136u, + 114u, 1u, 139u, 103u, + 182u, 178u, 30u, 83u, + 199u, 175u, 52u, 100u, + 152u, 255u, 64u, 37u, + 128u, 197u, 100u, 218u, + 40u, 82u, 38u, 87u, + 143u, 94u, 50u, 159u, + 105u, 120u, 109u, 52u, + 255u, 88u, 107u, 117u, + 137u, 35u, 180u, 140u, + 168u, 107u, 98u, 110u, + 0u, 94u, 65u, 160u, + 132u, 98u, 197u, 237u, + 67u, 89u, 167u, 240u, + 163u, 194u, 30u, 153u, + 18u, 51u, 106u, 219u, + 70u, 211u, 136u, 153u, + 155u, 200u, 168u, 108u, + 87u, 1u, 200u, 187u, + 116u, 1u, 55u, 136u, + 161u, 78u, 221u, 115u, + 128u, 255u, 149u, 134u, + 159u, 160u, 111u, 208u, + 169u, 119u, 133u, 138u, + 108u, 151u, 59u, 178u, + 150u, 0u, 48u, 186u, + 102u, 138u, 79u, 99u, + 77u, 41u, 153u, 202u, + 182u, 145u, 155u, 86u, + 161u, 19u, 126u, 255u, + 134u, 176u, 60u, 25u, + 112u, 123u, 1u, 151u, + 87u, 198u, 82u, 107u, + 95u, 202u, 71u, 142u, + 185u, 226u, 59u, 94u, + 246u, 101u, 244u, 169u, + 249u, 255u, 99u, 13u, + 117u, 47u, 137u, 1u, + 227u, 138u, 62u, 110u, + 244u, 58u, 97u, 156u, + 1u, 169u, 209u, 93u, + 168u, 141u, 128u, 175u, + 186u, 146u, 198u, 81u, + 62u, 96u, 122u, 203u, + 118u, 115u, 255u, 43u, + 79u, 201u, 164u, 103u, + 46u, 133u, 100u, 222u, + 98u, 161u, 191u, 146u, + 96u, 151u, 139u, 160u, + 190u, 170u, 81u, 146u, + 82u, 26u, 192u, 255u, + 108u, 219u, 88u, 43u, + 153u, 198u, 76u, 197u, + 126u, 88u, 108u, 128u, + 110u, 1u, 68u, 128u, + 244u, 147u, 118u, 47u, + 118u, 93u, 4u, 95u, + 97u, 1u, 16u, 33u, + 154u, 118u, 95u, 72u, + 141u, 88u, 142u, 123u, + 137u, 39u, 123u, 82u, + 103u, 241u, 169u, 107u, + 190u, 255u, 77u, 68u, + 60u, 193u, 66u, 60u, + 103u, 112u, 163u, 181u, + 163u, 130u, 139u, 237u, + 149u, 1u, 34u, 151u, + 119u, 212u, 154u, 72u, + 106u, 85u, 215u, 74u, + 168u, 152u, 255u, 83u, + 133u, 188u, 185u, 168u, + 204u, 165u, 198u, 89u, + 1u, 168u, 194u, 224u, + 155u, 83u, 30u, 254u, + 207u, 26u, 187u, 55u, + 102u, 118u, 105u, 124u, + 0u, 212u, 193u, 160u, + 99u, 63u, 143u, 93u, + 23u, 146u, 106u, 121u, + 99u, 151u, 75u, 200u, + 1u, 151u, 155u, 203u, + 82u, 125u, 97u, 119u, + 168u, 170u, 90u, 104u, + 94u, 142u, 159u, 1u, + 167u, 139u, 70u, 139u, + 155u, 108u, 158u, 202u, + 84u, 68u, 91u, 94u, + 67u, 95u, 169u, 255u, + 241u, 142u, 84u, 109u, + 197u, 44u, 99u, 110u, + 76u, 100u, 33u, 93u, + 77u, 75u, 24u, 124u, + 92u, 97u, 57u, 185u, + 187u, 148u, 173u, 1u, + 122u, 129u, 190u, 226u, + 143u, 127u, 215u, 156u, + 161u, 118u, 26u, 108u, + 180u, 166u, 195u, 1u, + 85u, 72u, 169u, 100u, + 70u, 62u, 55u, 137u, + 105u, 140u, 222u, 90u, + 126u, 78u, 142u, 1u, + 181u, 48u, 144u, 120u, + 173u, 93u, 78u, 1u, + 36u, 28u, 52u, 160u, + 155u, 87u, 148u, 56u, + 193u, 53u, 163u, 189u, + 247u, 110u, 214u, 227u, + 125u, 60u, 97u, 123u, + 251u, 91u, 109u, 95u, + 1u, 26u, 183u, 179u, + 212u, 157u, 195u, 249u, + 167u, 47u, 223u, 1u, + 73u, 3u, 243u, 37u, + 132u, 181u, 60u, 203u, + 77u, 102u, 209u, 104u, + 124u, 136u, 202u, 97u, + 160u, 170u, 255u, 140u, + 121u, 201u, 122u, 171u, + 171u, 253u, 194u, 63u, + 193u, 101u, 255u, 197u, + 248u, 95u, 150u, 179u, + 133u, 67u, 153u, 246u, + 147u, 166u, 174u, 255u, + 135u, 102u, 177u, 150u, + 158u, 78u, 122u, 40u, + 101u, 73u, 56u, 60u, + 112u, 175u, 181u, 150u, + 163u, 66u, 152u, 133u, + 114u, 189u, 164u, 137u, + 72u, 50u, 190u, 255u, + 88u, 187u, 160u, 32u, + 159u, 220u, 132u, 86u, + 157u, 78u, 99u, 127u, + 132u, 187u, 255u, 139u, + 133u, 134u, 162u, 194u, + 173u, 149u, 110u, 54u, + 65u, 129u, 184u, 195u, + 0u, 86u, 99u, 72u, + 61u, 1u, 127u, 151u, + 147u, 195u, 152u, 138u, + 34u, 98u, 102u, 173u, + 168u, 136u, 183u, 111u, + 204u, 110u, 167u, 242u, + 143u, 98u, 69u, 147u, + 163u, 36u, 57u, 175u, + 43u, 67u, 1u, 33u, + 132u, 89u, 173u, 223u, + 241u, 1u, 20u, 193u, + 116u, 2u, 125u, 76u, + 83u, 121u, 99u, 142u, + 218u, 195u, 108u, 105u, + 34u, 207u, 118u, 45u, + 27u, 127u, 41u, 85u, + 153u, 114u, 38u, 255u, + 129u, 233u, 115u, 115u, + 126u, 116u, 84u, 255u, + 62u, 123u, 167u, 86u, + 102u, 117u, 98u, 206u, + 142u, 158u, 114u, 89u, + 178u, 184u, 143u, 206u, + 171u, 1u, 121u, 253u, + 101u, 126u, 122u, 171u, + 118u, 179u, 138u, 164u, + 141u, 154u, 255u, 120u, + 167u, 131u, 162u, 147u, + 191u, 148u, 20u, 128u, + 36u, 59u, 89u, 244u, + 83u, 92u, 37u, 105u, + 124u, 33u, 94u, 139u, + 1u, 136u, 57u, 107u, + 35u, 143u, 147u, 96u, + 162u, 169u, 212u, 128u, + 147u, 122u, 144u, 160u, + 98u, 198u, 115u, 1u, + 138u, 39u, 150u, 162u, + 123u, 189u, 107u, 170u, + 98u, 136u, 131u, 86u, + 108u, 84u, 255u, 167u, + 136u, 173u, 168u, 138u, + 101u, 86u, 171u, 81u, + 133u, 255u, 221u, 77u, + 109u, 120u, 160u, 174u, + 147u, 202u, 218u, 155u, + 84u, 236u, 140u, 82u, + 183u, 1u, 189u, 171u, + 145u, 148u, 13u, 82u, + 71u, 90u, 171u, 137u, + 0u, 121u, 168u, 146u, + 102u, 234u, 97u, 113u, + 220u, 18u, 142u, 130u, + 26u, 104u, 174u, 233u, + 139u, 12u, 220u, 77u, + 201u, 145u, 156u, 158u, + 1u, 231u, 171u, 112u, + 86u, 180u, 145u, 71u, + 146u, 107u, 107u, 163u, + 148u, 78u, 224u, 149u, + 166u, 105u, 1u, 77u, + 0u, 81u, 89u, 95u, + 186u, 84u, 124u, 154u, + 158u, 116u, 221u, 91u, + 85u, 124u, 77u, 175u, + 80u, 104u, 244u, 191u, + 200u, 138u, 185u, 34u, + 144u, 68u, 46u, 255u, + 172u, 249u, 13u, 101u, + 61u, 116u, 145u, 203u, + 68u, 154u, 137u, 215u, + 124u, 1u, 95u, 190u, + 253u, 203u, 167u, 224u, + 137u, 165u, 127u, 164u, + 147u, 0u, 94u, 71u, + 153u, 222u, 240u, 134u, + 131u, 93u, 4u, 102u, + 202u, 137u, 125u, 144u, + 112u, 218u, 104u, 133u, + 135u, 129u, 1u, 79u, + 115u, 96u, 69u, 91u, + 56u, 128u, 93u, 22u, + 75u, 29u, 0u, 191u, + 186u, 53u, 152u, 21u, + 227u, 141u, 153u, 100u, + 121u, 152u, 120u, 101u, + 78u, 1u, 180u, 104u, + 220u, 127u, 242u, 84u, + 149u, 156u, 249u, 148u, + 10u, 0u, 238u, 149u, + 15u, 216u, 55u, 112u, + 192u, 40u, 195u, 93u, + 88u, 23u, 142u, 151u, + 139u, 92u, 89u, 156u, + 108u, 28u, 183u, 29u, + 150u, 255u, 188u, 72u, + 120u, 75u, 188u, 133u, + 65u, 206u, 161u, 181u, + 119u, 171u, 100u, 157u, + 200u, 108u, 237u, 122u, + 1u, 167u, 127u, 88u, + 151u, 133u, 164u, 107u, + 223u, 165u, 96u, 76u, + 248u, 115u, 225u, 69u, + 255u, 122u, 153u, 102u, + 143u, 127u, 156u, 103u, + 149u, 140u, 139u, 82u, + 71u, 12u, 71u, 72u, + 255u, 233u, 129u, 46u, + 14u, 239u, 255u, 90u, + 147u, 221u, 180u, 73u, + 230u, 129u, 163u, 136u, + 132u, 183u, 244u, 71u, + 239u, 213u, 177u, 106u, + 77u, 128u, 255u, 40u, + 122u, 123u, 244u, 151u, + 108u, 175u, 120u, 31u, + 176u, 152u, 255u, 142u, + 138u, 189u, 88u, 122u, + 112u, 65u, 54u, 143u, + 111u, 145u, 133u, 39u, + 17u, 155u, 175u, 97u, + 102u, 77u, 117u, 134u, + 174u, 72u, 160u, 147u, + 164u, 214u, 225u, 1u, + 31u, 11u, 133u, 97u, + 124u, 110u, 223u, 101u, + 255u, 148u, 254u, 255u, + 165u, 120u, 141u, 174u, + 134u, 255u, 150u, 96u, + 159u, 211u, 108u, 184u, + 109u, 87u, 148u, 175u, + 72u, 67u, 73u, 153u, + 99u, 154u, 164u, 255u, + 173u, 136u, 128u, 122u, + 141u, 124u, 85u, 139u, + 137u, 58u, 120u, 176u, + 92u, 15u, 145u, 137u, + 200u, 127u, 176u, 1u, + 74u, 90u, 18u, 142u, + 169u, 105u, 88u, 64u, + 166u, 184u, 126u, 176u, + 95u, 255u, 237u, 60u, + 96u, 37u, 68u, 182u, + 107u, 53u, 129u, 202u, + 1u, 34u, 118u, 105u, + 155u, 83u, 93u, 183u, + 212u, 96u, 194u, 209u, + 40u, 49u, 115u, 28u, + 126u, 148u, 192u, 171u, + 94u, 255u, 89u, 182u, + 183u, 1u, 139u, 63u, + 104u, 153u, 104u, 40u, + 209u, 213u, 178u, 92u, + 123u, 107u, 1u, 210u, + 114u, 139u, 132u, 169u, + 216u, 72u, 8u, 119u, + 103u, 109u, 128u, 133u, + 98u, 238u, 107u, 96u, + 112u, 35u, 114u, 72u, + 140u, 147u, 145u, 255u, + 1u, 130u, 124u, 138u, + 196u, 98u, 145u, 189u, + 101u, 51u, 53u, 191u, + 224u, 125u, 142u, 134u, + 46u, 162u, 53u, 202u, + 145u, 152u, 253u, 213u, + 149u, 52u, 125u, 239u, + 57u, 203u, 0u, 252u, + 238u, 163u, 146u, 130u, + 117u, 158u, 1u, 207u, + 223u, 59u, 88u, 204u, + 126u, 48u, 13u, 40u, + 108u, 53u, 107u, 198u, + 140u, 0u, 136u, 150u, + 169u, 238u, 201u, 58u, + 63u, 164u, 162u, 159u, + 141u, 79u, 19u, 76u, + 88u, 255u, 67u, 223u, + 132u, 239u, 157u, 110u, + 49u, 66u, 62u, 137u, + 122u, 189u, 143u, 11u, + 97u, 151u, 131u, 88u, + 126u, 113u, 21u, 99u, + 255u, 53u, 149u, 29u, + 123u, 0u, 195u, 149u, + 208u, 66u, 32u, 138u, + 160u, 73u, 141u, 73u, + 143u, 93u, 96u, 91u, + 211u, 145u, 101u, 86u, + 196u, 198u, 39u, 233u, + 255u, 84u, 168u, 108u, + 194u, 31u, 154u, 22u, + 69u, 192u, 82u, 60u, + 151u, 123u, 158u, 150u, + 80u, 53u, 193u, 255u, + 163u, 207u, 82u, 201u, + 111u, 105u, 131u, 39u, + 1u, 224u, 46u, 15u, + 193u, 106u, 11u, 170u, + 12u, 151u, 134u, 175u, + 130u, 176u, 116u, 94u, + 128u, 156u, 196u, 191u, + 54u, 255u, 127u, 133u, + 228u, 59u, 139u, 161u, + 159u, 83u, 93u, 104u, + 132u, 101u, 110u, 126u, + 119u, 80u, 73u, 171u, + 135u, 255u, 84u, 164u, + 255u, 92u, 147u, 65u, + 214u, 156u, 175u, 145u, + 77u, 205u, 97u, 131u, + 161u, 152u, 164u, 203u, + 29u, 104u, 88u, 181u, + 253u, 218u, 70u, 255u, + 150u, 107u, 173u, 169u, + 50u, 254u, 131u, 46u, + 93u, 166u, 127u, 143u, + 116u, 146u, 182u, 165u, + 124u, 150u, 255u, 194u, + 85u, 179u, 73u, 189u, + 14u, 140u, 75u, 143u, + 63u, 188u, 231u, 239u, + 222u, 99u, 132u, 255u, + 217u, 203u, 85u, 200u, + 177u, 161u, 168u, 184u, + 109u, 129u, 126u, 116u, + 32u, 109u, 141u, 95u, + 124u, 255u, 148u, 150u, + 222u, 128u, 148u, 239u, + 177u, 104u, 143u, 65u, + 110u, 151u, 156u, 49u, + 152u, 255u, 97u, 185u, + 206u, 247u, 85u, 111u, + 64u, 216u, 144u, 169u, + 59u, 176u, 95u, 25u, + 109u, 108u, 255u, 219u, + 115u, 1u, 147u, 177u, + 98u, 87u, 140u, 85u, + 105u, 219u, 110u, 137u, + 140u, 183u, 88u, 80u, + 151u, 124u, 73u, 165u, + 158u, 70u, 172u, 145u, + 141u, 245u, 255u, 69u, + 153u, 92u, 175u, 96u, + 235u, 249u, 112u, 39u, + 133u, 109u, 98u, 55u, + 102u, 155u, 164u, 79u, + 98u, 149u, 171u, 255u, + 109u, 116u, 124u, 183u, + 106u, 140u, 59u, 219u, + 88u, 160u, 0u, 158u, + 152u, 234u, 149u, 203u, + 170u, 127u, 187u, 63u, + 107u, 224u, 0u, 131u, + 91u, 72u, 127u, 100u, + 142u, 230u, 89u, 107u, + 96u, 188u, 173u, 69u, + 192u, 107u, 90u, 174u, + 1u, 154u, 205u, 150u, + 248u, 228u, 53u, 130u, + 91u, 223u, 148u, 187u, + 195u, 115u, 123u, 233u, + 136u, 255u, 244u, 96u, + 18u, 116u, 66u, 148u, + 184u, 253u, 69u, 128u, + 138u, 191u, 206u, 174u, + 59u, 149u, 255u, 192u, + 74u, 119u, 61u, 149u, + 208u, 197u, 133u, 170u, + 228u, 131u, 235u, 247u, + 1u, 62u, 152u, 158u, + 178u, 223u, 222u, 125u, + 48u, 194u, 163u, 1u, + 226u, 155u, 83u, 131u, + 117u, 118u, 106u, 223u, + 68u, 125u, 85u, 54u, + 145u, 163u, 129u, 189u, + 197u, 86u, 162u, 126u, + 181u, 190u, 147u, 85u, + 151u, 1u, 117u, 125u, + 131u, 225u, 249u, 173u, + 193u, 97u, 247u, 116u, + 71u, 151u, 156u, 114u, + 146u, 202u, 255u, 235u, + 102u, 73u, 115u, 89u, + 98u, 142u, 80u, 128u, + 153u, 54u, 1u, 144u, + 136u, 178u, 113u, 15u, + 100u, 70u, 185u, 190u, + 102u, 64u, 148u, 91u, + 47u, 151u, 181u, 93u, + 255u, 171u, 110u, 210u, + 42u, 154u, 173u, 178u, + 129u, 86u, 116u, 188u, + 137u, 255u, 72u, 76u, + 5u, 66u, 97u, 165u, + 168u, 164u, 138u, 102u, + 83u, 95u, 21u, 255u, + 201u, 196u, 157u, 17u, + 132u, 75u, 224u, 131u, + 141u, 178u, 173u, 213u, + 139u, 212u, 147u, 164u, + 1u, 115u, 87u, 124u, + 253u, 115u, 227u, 188u, + 108u, 255u, 152u, 101u, + 219u, 208u, 161u, 203u, + 97u, 86u, 68u, 224u, + 113u, 109u, 115u, 44u, + 98u, 70u, 119u, 173u, + 5u, 162u, 113u, 216u, + 235u, 1u, 188u, 160u, + 36u, 108u, 158u, 126u, + 149u, 41u, 90u, 226u, + 196u, 193u, 41u, 255u, + 76u, 111u, 131u, 123u, + 119u, 113u, 137u, 138u, + 96u, 126u, 75u, 149u, + 146u, 252u, 117u, 230u, + 57u, 122u, 79u, 179u, + 99u, 57u, 199u, 1u, + 61u, 185u, 160u, 111u, + 171u, 0u, 114u, 138u, + 214u, 143u, 206u, 44u, + 35u, 111u, 67u, 151u, + 58u, 100u, 117u, 210u, + 246u, 176u, 150u, 212u, + 103u, 125u, 151u, 101u, + 133u, 125u, 255u, 133u, + 233u, 88u, 18u, 38u, + 31u, 1u, 122u, 182u, + 168u, 67u, 85u, 209u, + 128u, 30u, 80u, 118u, + 137u, 91u, 123u, 86u, + 0u, 129u, 154u, 73u, + 158u, 84u, 82u, 90u, + 122u, 145u, 199u, 134u, + 0u, 93u, 78u, 211u, + 163u, 99u, 144u, 188u, + 122u, 112u, 141u, 240u, + 64u, 225u, 9u, 85u, + 159u, 93u, 139u, 80u, + 140u, 200u, 19u, 146u, + 187u, 132u, 141u, 191u, + 117u, 255u, 133u, 12u, + 97u, 48u, 148u, 84u, + 225u, 71u, 136u, 1u, + 95u, 209u, 121u, 195u, + 71u, 188u, 73u, 114u, + 146u, 150u, 105u, 110u, + 192u, 166u, 43u, 187u, + 95u, 91u, 187u, 220u, + 169u, 132u, 14u, 1u, + 125u, 85u, 90u, 201u, + 143u, 131u, 180u, 146u, + 103u, 77u, 137u, 249u, + 143u, 255u, 25u, 231u, + 140u, 147u, 71u, 144u, + 64u, 126u, 33u, 159u, + 123u, 252u, 255u, 130u, + 108u, 174u, 91u, 91u, + 72u, 74u, 119u, 150u, + 96u, 52u, 165u, 143u, + 170u, 206u, 255u, 82u, + 84u, 172u, 115u, 170u, + 149u, 1u, 117u, 189u, + 135u, 190u, 120u, 235u, + 51u, 0u, 80u, 77u, + 194u, 117u, 178u, 169u, + 103u, 148u, 45u, 150u, + 62u, 186u, 52u, 174u, + 122u, 88u, 0u, 207u, + 4u, 164u, 82u, 45u, + 83u, 196u, 209u, 169u, + 179u, 220u, 63u, 255u, + 97u, 10u, 71u, 237u, + 95u, 247u, 72u, 131u, + 1u, 115u, 227u, 171u, + 197u, 182u, 110u, 184u, + 115u, 65u, 125u, 149u, + 108u, 92u, 157u, 79u, + 234u, 181u, 205u, 0u, + 73u, 151u, 130u, 154u, + 92u, 109u, 69u, 106u, + 109u, 4u, 156u, 201u, + 161u, 250u, 204u, 142u, + 60u, 193u, 47u, 208u, + 91u, 77u, 143u, 140u, + 52u, 213u, 127u, 255u, + 1u, 48u, 209u, 163u, + 234u, 188u, 155u, 175u, + 85u, 117u, 129u, 86u, + 115u, 133u, 157u, 112u, + 60u, 88u, 111u, 255u, + 65u, 194u, 4u, 87u, + 128u, 149u, 239u, 111u, + 144u, 39u, 182u, 131u, + 91u, 110u, 123u, 122u, + 197u, 58u, 97u, 135u, + 175u, 156u, 255u, 80u, + 91u, 115u, 125u, 81u, + 22u, 130u, 198u, 133u, + 158u, 229u, 255u, 166u, + 150u, 171u, 105u, 232u, + 110u, 214u, 151u, 82u, + 160u, 0u, 135u, 198u, + 249u, 72u, 189u, 167u, + 92u, 132u, 125u, 81u, + 186u, 111u, 155u, 157u, + 98u, 85u, 0u, 88u, + 93u, 131u, 88u, 155u, + 186u, 57u, 165u, 172u, + 31u, 43u, 143u, 138u, + 255u, 218u, 107u, 45u, + 249u, 195u, 151u, 70u, + 207u, 22u, 184u, 202u, + 99u, 186u, 105u, 122u, + 43u, 151u, 221u, 172u, + 150u, 255u, 149u, 135u, + 77u, 69u, 187u, 143u, + 155u, 239u, 86u, 59u, + 0u, 184u, 118u, 127u, + 141u, 124u, 121u, 69u, + 180u, 147u, 133u, 61u, + 192u, 51u, 159u, 139u, + 208u, 51u, 13u, 245u, + 34u, 9u, 6u, 0u, + 222u, 74u, 79u, 11u, + 92u, 113u, 179u, 105u, + 164u, 59u, 183u, 145u, + 1u, 80u, 122u, 109u, + 80u, 47u, 183u, 142u, + 93u, 90u, 111u, 20u, + 153u, 172u, 149u, 154u, + 130u, 244u, 113u, 98u, + 159u, 27u, 1u, 255u, + 1u, 244u, 208u, 126u, + 143u, 75u, 169u, 176u, + 87u, 170u, 93u, 136u, + 51u, 99u, 1u, 161u, + 161u, 109u, 248u, 231u, + 151u, 182u, 170u, 162u, + 125u, 255u, 146u, 85u, + 127u, 87u, 142u, 145u, + 123u, 154u, 49u, 112u, + 63u, 17u, 51u, 196u, + 67u, 39u, 255u, 147u, + 76u, 133u, 212u, 163u, + 122u, 185u, 55u, 174u, + 105u, 129u, 131u, 63u, + 137u, 215u, 226u, 0u, + 247u, 174u, 117u, 240u, + 55u, 99u, 165u, 83u, + 96u, 165u, 111u, 92u, + 44u, 255u, 17u, 81u, + 100u, 47u, 189u, 178u, + 170u, 85u, 135u, 100u, + 213u, 255u, 217u, 53u, + 135u, 140u, 60u, 141u, + 108u, 103u, 170u, 82u, + 81u, 12u, 72u, 87u, + 97u, 17u, 255u, 184u, + 93u, 176u, 167u, 73u, + 185u, 123u, 94u, 78u, + 125u, 170u, 198u, 94u, + 233u, 169u, 114u, 1u, + 207u, 105u, 118u, 176u, + 201u, 93u, 147u, 213u, + 118u, 106u, 76u, 71u, + 135u, 228u, 45u, 128u, + 169u, 11u, 172u, 217u, + 7u, 187u, 150u, 78u, + 126u, 240u, 132u, 255u, + 90u, 203u, 58u, 87u, + 112u, 197u, 177u, 157u, + 155u, 78u, 169u, 255u, + 1u, 112u, 217u, 19u, + 31u, 114u, 62u, 140u, + 79u, 134u, 88u, 116u, + 186u, 63u, 83u, 175u, + 0u, 28u, 110u, 152u, + 104u, 127u, 120u, 255u, + 224u, 216u, 150u, 7u, + 87u, 15u, 116u, 36u, + 108u, 145u, 141u, 231u, + 101u, 7u, 76u, 167u, + 120u, 71u, 186u, 16u, + 160u, 255u, 236u, 68u, + 79u, 69u, 182u, 116u, + 198u, 114u, 141u, 230u, + 55u, 93u, 108u, 92u, + 156u, 171u, 168u, 178u, + 116u, 255u, 111u, 62u, + 84u, 183u, 169u, 95u, + 176u, 205u, 131u, 190u, + 157u, 1u, 132u, 169u, + 74u, 113u, 62u, 155u, + 70u, 143u, 172u, 92u, + 223u, 109u, 184u, 249u, + 17u, 102u, 219u, 97u, + 137u, 160u, 127u, 1u, + 157u, 165u, 125u, 151u, + 149u, 119u, 1u, 217u, + 129u, 193u, 104u, 119u, + 82u, 174u, 48u, 148u, + 107u, 50u, 132u, 199u, + 118u, 112u, 57u, 165u, + 174u, 33u, 77u, 208u, + 162u, 51u, 1u, 68u, + 166u, 150u, 199u, 138u, + 1u, 136u, 87u, 228u, + 167u, 77u, 112u, 35u, + 131u, 143u, 128u, 24u, + 24u, 164u, 156u, 181u, + 133u, 140u, 158u, 116u, + 178u, 87u, 163u, 165u, + 42u, 131u, 0u, 102u, + 132u, 83u, 155u, 231u, + 183u, 57u, 127u, 160u, + 220u, 136u, 251u, 120u, + 1u, 120u, 123u, 39u, + 143u, 165u, 132u, 189u, + 95u, 15u, 135u, 82u, + 105u, 212u, 127u, 110u, + 79u, 98u, 114u, 255u, + 87u, 130u, 107u, 202u, + 75u, 157u, 255u, 146u, + 187u, 90u, 135u, 174u, + 132u, 137u, 197u, 118u, + 52u, 182u, 179u, 180u, + 163u, 191u, 134u, 91u, + 119u, 64u, 255u, 155u, + 143u, 174u, 132u, 131u, + 232u, 60u, 154u, 255u, + 92u, 56u, 103u, 92u, + 118u, 111u, 88u, 173u, + 42u, 93u, 38u, 73u, + 27u, 91u, 106u, 163u, + 200u, 0u, 89u, 6u, + 198u, 102u, 176u, 31u, + 94u, 150u, 145u, 165u, + 26u, 1u, 143u, 220u, + 74u, 68u, 183u, 89u, + 222u, 18u, 216u, 124u, + 50u, 163u, 147u, 96u, + 75u, 198u, 38u, 200u, + 179u, 177u, 255u, 151u, + 116u, 139u, 140u, 158u, + 52u, 143u, 222u, 213u, + 195u, 1u, 84u, 113u, + 100u, 89u, 207u, 5u, + 166u, 102u, 1u, 187u, + 164u, 116u, 150u, 81u, + 184u, 52u, 135u, 54u, + 152u, 173u, 170u, 138u, + 184u, 97u, 255u, 210u, + 62u, 91u, 147u, 187u, + 255u, 177u, 162u, 112u, + 102u, 76u, 108u, 116u, + 92u, 171u, 15u, 135u, + 240u, 168u, 102u, 216u, + 46u, 41u, 163u, 194u, + 145u, 1u, 85u, 205u, + 49u, 110u, 76u, 158u, + 38u, 131u, 2u, 131u, + 82u, 42u, 148u, 255u, + 95u, 155u, 64u, 150u, + 138u, 40u, 123u, 154u, + 104u, 138u, 114u, 138u, + 183u, 139u, 154u, 160u, + 141u, 235u, 148u, 106u, + 67u, 12u, 139u, 186u, + 111u, 255u, 78u, 68u, + 157u, 143u, 202u, 175u, + 66u, 255u, 170u, 133u, + 126u, 181u, 136u, 125u, + 93u, 123u, 198u, 179u, + 246u, 29u, 172u, 195u, + 184u, 208u, 109u, 66u, + 155u, 56u, 144u, 0u, + 177u, 67u, 159u, 140u, + 81u, 113u, 125u, 76u, + 148u, 28u, 194u, 60u, + 137u, 255u, 202u, 65u, + 54u, 42u, 126u, 166u, + 81u, 255u, 124u, 94u, + 159u, 133u, 223u, 155u, + 186u, 65u, 220u, 211u, + 13u, 140u, 232u, 122u, + 44u, 139u, 9u, 99u, + 1u, 156u, 171u, 185u, + 205u, 118u, 119u, 205u, + 93u, 6u, 174u, 37u, + 1u, 94u, 196u, 122u, + 143u, 172u, 89u, 186u, + 229u, 111u, 138u, 167u, + 127u, 31u, 114u, 46u, + 185u, 69u, 213u, 255u, + 142u, 91u, 86u, 103u, + 206u, 85u, 56u, 152u, + 116u, 58u, 50u, 17u, + 29u, 74u, 155u, 165u, + 220u, 7u, 187u, 209u, + 172u, 168u, 205u, 161u, + 64u, 59u, 0u, 34u, + 1u, 8u, 63u, 103u, + 148u, 26u, 224u, 54u, + 161u, 147u, 168u, 145u, + 66u, 222u, 98u, 98u, + 34u, 181u, 127u, 156u, + 136u, 155u, 142u, 93u, + 120u, 182u, 255u, 84u, + 30u, 121u, 133u, 90u, + 43u, 82u, 69u, 177u, + 124u, 190u, 85u, 233u, + 208u, 157u, 180u, 140u, + 160u, 1u, 91u, 140u, + 202u, 155u, 232u, 24u, + 186u, 229u, 107u, 138u, + 109u, 97u, 122u, 37u, + 112u, 125u, 255u, 121u, + 183u, 69u, 84u, 108u, + 48u, 221u, 155u, 56u, + 27u, 85u, 95u, 162u, + 148u, 255u, 151u, 163u, + 103u, 95u, 106u, 81u, + 218u, 165u, 35u, 205u, + 133u, 105u, 10u, 149u, + 135u, 113u, 239u, 1u, + 65u, 114u, 106u, 193u, + 161u, 190u, 98u, 176u, + 137u, 114u, 155u, 99u, + 255u, 165u, 38u, 110u, + 64u, 49u, 152u, 112u, + 116u, 101u, 104u, 101u, + 60u, 57u, 40u, 90u, + 119u, 104u, 175u, 255u, + 115u, 61u, 255u, 217u, + 219u, 107u, 17u, 74u, + 100u, 147u, 24u, 96u, + 186u, 163u, 49u, 18u, + 145u, 0u, 186u, 163u, + 129u, 226u, 114u, 153u, + 81u, 112u, 74u, 129u, + 134u, 107u, 102u, 166u, + 96u, 116u, 56u, 69u, + 165u, 89u, 175u, 180u, + 176u, 135u, 219u, 109u, + 42u, 1u, 177u, 91u, + 35u, 99u, 1u, 142u, + 73u, 35u, 64u, 172u, + 64u, 5u, 117u, 81u, + 103u, 29u, 96u, 179u, + 255u, 12u, 222u, 101u, + 52u, 91u, 94u, 75u, + 142u, 54u, 132u, 52u, + 146u, 153u, 180u, 40u, + 168u, 39u, 204u, 112u, + 93u, 89u, 63u, 255u, + 40u, 159u, 148u, 211u, + 76u, 142u, 145u, 175u, + 126u, 82u, 51u, 87u, + 145u, 99u, 133u, 191u, + 90u, 255u, 187u, 113u, + 166u, 81u, 224u, 127u, + 118u, 163u, 111u, 181u, + 139u, 130u, 72u, 165u, + 164u, 109u, 175u, 129u, + 29u, 91u, 1u, 56u, + 141u, 142u, 109u, 120u, + 114u, 84u, 255u, 126u, + 171u, 188u, 233u, 217u, + 96u, 187u, 212u, 78u, + 119u, 79u, 201u, 153u, + 143u, 62u, 41u, 91u, + 120u, 243u, 1u, 81u, + 102u, 31u, 176u, 188u, + 52u, 185u, 137u, 87u, + 125u, 167u, 133u, 156u, + 164u, 103u, 117u, 127u, + 120u, 156u, 169u, 1u, + 169u, 120u, 173u, 121u, + 102u, 134u, 170u, 158u, + 123u, 185u, 182u, 149u, + 60u, 48u, 255u, 163u, + 5u, 139u, 127u, 215u, + 255u, 112u, 178u, 106u, + 79u, 224u, 232u, 166u, + 108u, 187u, 154u, 233u, + 119u, 122u, 62u, 148u, + 137u, 1u, 234u, 57u, + 98u, 215u, 161u, 117u, + 63u, 101u, 114u, 225u, + 107u, 113u, 201u, 162u, + 154u, 90u, 164u, 87u, + 78u, 1u, 196u, 107u, + 125u, 239u, 173u, 129u, + 140u, 29u, 73u, 132u, + 105u, 29u, 129u, 72u, + 154u, 255u, 211u, 58u, + 109u, 90u, 177u, 122u, + 191u, 65u, 53u, 28u, + 1u, 158u, 129u, 117u, + 199u, 166u, 96u, 161u, + 76u, 65u, 220u, 74u, + 37u, 75u, 100u, 163u, + 99u, 43u, 177u, 137u, + 162u, 255u, 132u, 114u, + 101u, 103u, 112u, 37u, + 110u, 199u, 138u, 125u, + 140u, 81u, 169u, 131u, + 155u, 71u, 255u, 177u, + 116u, 240u, 121u, 43u, + 85u, 56u, 190u, 185u, + 186u, 241u, 212u, 95u, + 255u, 16u, 52u, 118u, + 56u, 148u, 237u, 230u, + 80u, 102u, 85u, 153u, + 54u, 117u, 125u, 143u, + 166u, 84u, 138u, 106u, + 21u, 92u, 255u, 115u, + 81u, 115u, 209u, 255u, + 165u, 53u, 228u, 209u, + 155u, 26u, 203u, 26u, + 149u, 136u, 110u, 121u, + 178u, 133u, 163u, 121u, + 17u, 146u, 50u, 145u, + 143u, 109u, 116u, 1u, + 181u, 124u, 247u, 238u, + 232u, 177u, 179u, 117u, + 0u, 124u, 94u, 191u, + 108u, 129u, 84u, 150u, + 115u, 168u, 123u, 247u, + 88u, 131u, 0u, 38u, + 105u, 40u, 173u, 172u, + 203u, 107u, 226u, 178u, + 195u, 90u, 70u, 93u, + 179u, 162u, 94u, 255u, + 113u, 60u, 134u, 4u, + 83u, 138u, 204u, 112u, + 129u, 231u, 122u, 195u, + 129u, 73u, 81u, 150u, + 186u, 88u, 137u, 152u, + 47u, 118u, 132u, 109u, + 255u, 161u, 77u, 100u, + 152u, 32u, 196u, 194u, + 103u, 141u, 77u, 113u, + 255u, 218u, 121u, 134u, + 233u, 166u, 49u, 83u, + 97u, 96u, 49u, 255u, + 181u, 110u, 86u, 171u, + 100u, 158u, 196u, 110u, + 148u, 165u, 180u, 109u, + 133u, 0u, 151u, 185u, + 147u, 141u, 187u, 83u, + 67u, 90u, 237u, 103u, + 198u, 24u, 144u, 129u, + 121u, 255u, 233u, 115u, + 159u, 111u, 228u, 187u, + 114u, 114u, 173u, 171u, + 120u, 200u, 95u, 210u, + 134u, 4u, 125u, 188u, + 19u, 255u, 130u, 16u, + 157u, 133u, 76u, 145u, + 101u, 98u, 152u, 119u, + 119u, 220u, 104u, 129u, + 170u, 139u, 1u, 196u, + 110u, 70u, 48u, 96u, + 127u, 207u, 74u, 106u, + 30u, 117u, 101u, 255u, + 215u, 112u, 110u, 183u, + 154u, 96u, 54u, 92u, + 195u, 174u, 24u, 113u, + 166u, 131u, 4u, 125u, + 178u, 57u, 0u, 139u, + 147u, 6u, 184u, 123u, + 86u, 143u, 139u, 60u, + 223u, 168u, 82u, 86u, + 114u, 2u, 90u, 100u, + 67u, 144u, 1u, 126u, + 254u, 196u, 93u, 171u, + 1u, 193u, 214u, 113u, + 107u, 200u, 110u, 162u, + 175u, 93u, 43u, 230u, + 208u, 117u, 243u, 186u, + 67u, 141u, 110u, 210u, + 201u, 144u, 68u, 164u, + 102u, 164u, 255u, 160u, + 8u, 186u, 37u, 173u, + 76u, 97u, 215u, 171u, + 109u, 126u, 190u, 91u, + 168u, 56u, 1u, 121u, + 123u, 164u, 179u, 103u, + 189u, 101u, 163u, 149u, + 133u, 81u, 87u, 81u, + 162u, 127u, 22u, 176u, + 151u, 160u, 80u, 255u, + 182u, 216u, 127u, 165u, + 186u, 120u, 27u, 243u, + 42u, 108u, 1u, 103u, + 163u, 243u, 85u, 79u, + 155u, 50u, 36u, 90u, + 8u, 115u, 201u, 198u, + 121u, 65u, 180u, 96u, + 81u, 101u, 255u, 128u, + 253u, 173u, 159u, 119u, + 138u, 255u, 140u, 150u, + 131u, 94u, 181u, 24u, + 192u, 196u, 197u, 181u, + 141u, 133u, 172u, 172u, + 156u, 237u, 101u, 115u, + 142u, 86u, 181u, 115u, + 148u, 255u, 146u, 179u, + 62u, 192u, 248u, 177u, + 161u, 255u, 121u, 94u, + 182u, 9u, 151u, 253u, + 116u, 152u, 34u, 50u, + 178u, 98u, 52u, 169u, + 159u, 1u, 206u, 153u, + 78u, 175u, 161u, 66u, + 129u, 206u, 128u, 93u, + 80u, 0u, 99u, 132u, + 168u, 95u, 148u, 168u, + 119u, 137u, 65u, 199u, + 117u, 170u, 146u, 58u, + 223u, 5u, 168u, 76u, + 94u, 107u, 118u, 0u, + 92u, 106u, 120u, 79u, + 92u, 139u, 253u, 23u, + 1u, 227u, 175u, 179u, + 73u, 210u, 127u, 193u, + 193u, 22u, 110u, 221u, + 137u, 83u, 29u, 207u, + 150u, 91u, 146u, 140u, + 255u, 182u, 96u, 226u, + 128u, 130u, 130u, 123u, + 117u, 63u, 91u, 7u, + 59u, 131u, 36u, 224u, + 188u, 55u, 252u, 252u, + 156u, 124u, 209u, 232u, + 63u, 255u, 56u, 223u, + 124u, 153u, 255u, 105u, + 69u, 172u, 143u, 69u, + 77u, 92u, 174u, 95u, + 149u, 178u, 123u, 202u, + 133u, 104u, 89u, 153u, + 137u, 148u, 150u, 165u, + 173u, 123u, 0u, 151u, + 224u, 17u, 128u, 154u, + 125u, 141u, 242u, 123u, + 185u, 1u, 186u, 79u, + 109u, 162u, 115u, 117u, + 138u, 142u, 89u, 141u, + 129u, 213u, 1u, 138u, + 163u, 143u, 76u, 98u, + 162u, 140u, 52u, 66u, + 88u, 171u, 158u, 124u, + 186u, 66u, 154u, 124u, + 80u, 143u, 185u, 89u, + 1u, 184u, 133u, 50u, + 180u, 152u, 120u, 201u, + 83u, 62u, 65u, 151u, + 165u, 51u, 74u, 184u, + 169u, 103u, 71u, 160u, + 255u, 171u, 85u, 36u, + 106u, 109u, 180u, 205u, + 73u, 185u, 0u, 238u, + 135u, 94u, 157u, 147u, + 24u, 195u, 135u, 136u, + 66u, 52u, 255u, 87u, + 6u, 179u, 220u, 129u, + 230u, 61u, 87u, 147u, + 165u, 115u, 154u, 170u, + 210u, 167u, 226u, 76u, + 213u, 162u, 104u, 163u, + 137u, 34u, 1u, 239u, + 131u, 204u, 120u, 52u, + 213u, 57u, 144u, 102u, + 198u, 161u, 164u, 92u, + 61u, 170u, 175u, 192u, + 255u, 209u, 102u, 173u, + 142u, 71u, 90u, 136u, + 1u, 57u, 127u, 54u, + 237u, 82u, 37u, 222u, + 97u, 77u, 216u, 19u, + 144u, 154u, 91u, 132u, + 111u, 72u, 133u, 156u, + 150u, 88u, 68u, 133u, + 66u, 38u, 163u, 255u, + 73u, 163u, 25u, 100u, + 1u, 105u, 143u, 42u, + 150u, 175u, 220u, 37u, + 71u, 241u, 11u, 67u, + 52u, 34u, 77u, 180u, + 139u, 49u, 255u, 49u, + 68u, 206u, 177u, 108u, + 131u, 135u, 120u, 147u, + 175u, 150u, 137u, 164u, + 80u, 55u, 37u, 90u, + 98u, 158u, 137u, 100u, + 155u, 216u, 149u, 255u, + 191u, 1u, 147u, 131u, + 155u, 124u, 122u, 97u, + 241u, 172u, 229u, 158u, + 124u, 108u, 130u, 150u, + 148u, 202u, 255u, 126u, + 104u, 176u, 96u, 145u, + 74u, 51u, 57u, 117u, + 128u, 109u, 53u, 134u, + 127u, 116u, 161u, 161u, + 73u, 103u, 123u, 87u, + 190u, 46u, 1u, 213u, + 124u, 140u, 121u, 92u, + 84u, 51u, 244u, 178u, + 88u, 31u, 240u, 1u, + 165u, 79u, 121u, 43u, + 123u, 211u, 160u, 148u, + 103u, 161u, 85u, 149u, + 153u, 116u, 194u, 197u, + 129u, 126u, 67u, 255u, + 88u, 36u, 76u, 233u, + 86u, 0u, 132u, 164u, + 108u, 108u, 165u, 91u, + 194u, 94u, 70u, 193u, + 181u, 108u, 80u, 59u, + 190u, 27u, 117u, 96u, + 254u, 81u, 75u, 20u, + 105u, 200u, 152u, 1u, + 61u, 162u, 185u, 243u, + 75u, 125u, 0u, 140u, + 98u, 72u, 88u, 169u, + 202u, 98u, 195u, 161u, + 108u, 151u, 191u, 140u, + 193u, 43u, 177u, 199u, + 147u, 139u, 120u, 121u, + 78u, 181u, 1u, 179u, + 171u, 66u, 116u, 172u, + 190u, 105u, 158u, 85u, + 66u, 81u, 121u, 67u, + 150u, 109u, 1u, 154u, + 127u, 144u, 130u, 93u, + 101u, 120u, 50u, 57u, + 229u, 191u, 94u, 109u, + 176u, 68u, 38u, 255u, + 139u, 164u, 79u, 140u, + 98u, 68u, 153u, 32u, + 140u, 71u, 144u, 108u, + 117u, 103u, 107u, 109u, + 106u, 98u, 255u, 145u, + 162u, 146u, 211u, 228u, + 198u, 249u, 1u, 107u, + 68u, 101u, 134u, 167u, + 132u, 49u, 146u, 155u, + 126u, 125u, 139u, 30u, + 118u, 89u, 142u, 78u, + 174u, 68u, 46u, 139u, + 116u, 139u, 255u, 48u, + 140u, 198u, 87u, 78u, + 16u, 9u, 52u, 108u, + 149u, 0u, 154u, 10u, + 175u, 199u, 216u, 127u, + 81u, 34u, 69u, 87u, + 230u, 24u, 255u, 98u, + 35u, 244u, 103u, 208u, + 184u, 173u, 6u, 209u, + 115u, 42u, 187u, 238u, + 129u, 174u, 136u, 121u, + 169u, 1u, 147u, 181u, + 209u, 64u, 143u, 126u, + 128u, 179u, 86u, 255u, + 57u, 154u, 94u, 189u, + 97u, 151u, 103u, 162u, + 3u, 101u, 107u, 116u, + 141u, 1u, 93u, 162u, + 59u, 179u, 127u, 177u, + 188u, 105u, 112u, 159u, + 98u, 47u, 167u, 119u, + 39u, 78u, 129u, 156u, + 84u, 60u, 243u, 88u, + 176u, 103u, 146u, 255u, + 216u, 139u, 23u, 103u, + 164u, 169u, 84u, 145u, + 218u, 82u, 210u, 176u, + 92u, 123u, 72u, 95u, + 223u, 0u, 94u, 44u, + 212u, 108u, 98u, 37u, + 145u, 156u, 13u, 139u, + 65u, 28u, 0u, 142u, + 188u, 81u, 60u, 136u, + 51u, 142u, 255u, 158u, + 125u, 183u, 131u, 218u, + 117u, 48u, 55u, 107u, + 77u, 236u, 220u, 174u, + 226u, 255u, 190u, 203u, + 152u, 111u, 73u, 63u, + 55u, 163u, 49u, 23u, + 222u, 148u, 46u, 25u, + 73u, 209u, 164u, 164u, + 124u, 117u, 174u, 160u, + 203u, 109u, 207u, 130u, + 79u, 1u, 122u, 108u, + 219u, 144u, 103u, 96u, + 153u, 73u, 195u, 144u, + 137u, 255u, 223u, 116u, + 74u, 53u, 228u, 168u, + 45u, 106u, 176u, 114u, + 37u, 62u, 98u, 170u, + 118u, 140u, 63u, 83u, + 1u, 234u, 80u, 61u, + 162u, 211u, 255u, 108u, + 46u, 138u, 237u, 179u, + 93u, 163u, 232u, 99u, + 157u, 73u, 157u, 25u, + 84u, 111u, 1u, 163u, + 50u, 228u, 142u, 118u, + 188u, 105u, 173u, 104u, + 82u, 23u, 116u, 178u, + 164u, 87u, 91u, 88u, + 193u, 176u, 146u, 88u, + 125u, 118u, 179u, 136u, + 116u, 68u, 0u, 38u, + 212u, 222u, 19u, 1u, + 129u, 97u, 189u, 224u, + 233u, 92u, 225u, 215u, + 196u, 111u, 159u, 91u, + 113u, 165u, 101u, 67u, + 94u, 163u, 186u, 105u, + 157u, 129u, 98u, 255u, + 154u, 118u, 147u, 139u, + 11u, 120u, 5u, 95u, + 219u, 195u, 111u, 182u, + 93u, 255u, 149u, 252u, + 118u, 146u, 110u, 99u, + 89u, 142u, 129u, 255u, + 174u, 93u, 102u, 208u, + 186u, 174u, 60u, 190u, + 100u, 79u, 150u, 73u, + 159u, 64u, 114u, 106u, + 110u, 120u, 99u, 193u, + 241u, 59u, 139u, 1u, + 65u, 156u, 107u, 155u, + 178u, 29u, 128u, 214u, + 38u, 16u, 64u, 52u, + 220u, 95u, 199u, 87u, + 1u, 108u, 155u, 97u, + 149u, 218u, 121u, 151u, + 143u, 102u, 135u, 198u, + 148u, 0u, 104u, 40u, + 132u, 73u, 83u, 248u, + 153u, 76u, 64u, 255u, + 117u, 184u, 147u, 107u, + 78u, 161u, 182u, 78u, + 136u, 103u, 194u, 132u, + 119u, 189u, 0u, 225u, + 154u, 83u, 225u, 204u, + 133u, 24u, 144u, 149u, + 55u, 148u, 213u, 200u, + 156u, 59u, 99u, 163u, + 10u, 68u, 156u, 133u, + 209u, 161u, 78u, 97u, + 62u, 22u, 1u, 161u, + 171u, 204u, 205u, 74u, + 80u, 138u, 19u, 193u, + 90u, 84u, 121u, 80u, + 137u, 33u, 0u, 208u, + 73u, 62u, 135u, 69u, + 192u, 108u, 101u, 208u, + 78u, 106u, 101u, 154u, + 159u, 194u, 255u, 110u, + 131u, 140u, 147u, 88u, + 128u, 191u, 86u, 182u, + 107u, 1u, 66u, 132u, + 129u, 174u, 120u, 135u, + 160u, 51u, 119u, 112u, + 43u, 66u, 185u, 1u, + 108u, 210u, 142u, 148u, + 231u, 241u, 143u, 81u, + 133u, 114u, 112u, 104u, + 131u, 179u, 90u, 144u, + 108u, 74u, 4u, 255u, + 150u, 160u, 111u, 45u, + 1u, 89u, 175u, 249u, + 127u, 100u, 197u, 106u, + 123u, 129u, 97u, 117u, + 210u, 93u, 126u, 123u, + 46u, 226u, 147u, 179u, + 198u, 203u, 40u, 255u, + 172u, 91u, 58u, 224u, + 146u, 53u, 86u, 140u, + 75u, 95u, 154u, 207u, + 105u, 156u, 135u, 87u, + 106u, 79u, 92u, 83u, + 0u, 107u, 206u, 247u, + 132u, 35u, 114u, 171u, + 32u, 220u, 142u, 68u, + 189u, 81u, 1u, 190u, + 190u, 105u, 164u, 124u, + 174u, 64u, 240u, 255u, + 106u, 165u, 163u, 113u, + 72u, 169u, 189u, 144u, + 66u, 78u, 102u, 132u, + 106u, 30u, 85u, 189u, + 146u, 221u, 66u, 192u, + 121u, 154u, 25u, 205u, + 101u, 255u, 76u, 97u, + 173u, 138u, 82u, 171u, + 86u, 97u, 166u, 106u, + 93u, 101u, 143u, 114u, + 83u, 236u, 111u, 255u, + 226u, 255u, 116u, 239u, + 111u, 201u, 204u, 84u, + 90u, 87u, 102u, 180u, + 33u, 98u, 103u, 254u, + 199u, 116u, 150u, 212u, + 131u, 102u, 107u, 137u, + 182u, 57u, 130u, 190u, + 88u, 83u, 0u, 81u, + 70u, 40u, 255u, 118u, + 170u, 184u, 80u, 153u, + 0u, 133u, 178u, 181u, + 82u, 175u, 219u, 131u, + 210u, 187u, 254u, 94u, + 27u, 1u, 131u, 186u, + 61u, 54u, 66u, 11u, + 80u, 87u, 140u, 160u, + 0u, 129u, 186u, 142u, + 21u, 128u, 67u, 199u, + 188u, 41u, 124u, 113u, + 179u, 168u, 63u, 94u, + 189u, 184u, 180u, 49u, + 130u, 206u, 184u, 42u, + 158u, 1u, 97u, 250u, + 160u, 213u, 106u, 36u, + 215u, 132u, 255u, 14u, + 141u, 209u, 59u, 142u, + 8u, 250u, 22u, 182u, + 173u, 16u, 102u, 170u, + 136u, 74u, 168u, 255u, + 116u, 148u, 180u, 78u, + 35u, 6u, 129u, 64u, + 118u, 165u, 100u, 246u, + 154u, 142u, 72u, 77u, + 201u, 69u, 255u, 89u, + 174u, 104u, 177u, 129u, + 62u, 209u, 140u, 63u, + 87u, 14u, 90u, 180u, + 131u, 66u, 162u, 88u, + 191u, 255u, 167u, 96u, + 73u, 119u, 149u, 120u, + 121u, 150u, 144u, 108u, + 229u, 15u, 217u, 127u, + 75u, 206u, 255u, 104u, + 107u, 177u, 7u, 169u, + 114u, 45u, 19u, 120u, + 205u, 1u, 134u, 156u, + 140u, 178u, 180u, 119u, + 115u, 61u, 60u, 140u, + 224u, 255u, 196u, 125u, + 165u, 252u, 102u, 80u, + 128u, 113u, 101u, 114u, + 116u, 138u, 155u, 93u, + 100u, 124u, 34u, 47u, + 239u, 118u, 131u, 42u, + 48u, 220u, 108u, 255u, + 83u, 60u, 41u, 145u, + 34u, 111u, 115u, 99u, + 125u, 75u, 247u, 1u, + 164u, 180u, 170u, 227u, + 87u, 166u, 15u, 151u, + 155u, 123u, 77u, 51u, + 1u, 208u, 87u, 152u, + 182u, 106u, 73u, 176u, + 132u, 131u, 111u, 122u, + 77u, 149u, 83u, 232u, + 65u, 255u, 100u, 134u, + 84u, 245u, 22u, 144u, + 237u, 191u, 66u, 241u, + 110u, 113u, 125u, 112u, + 153u, 1u, 101u, 220u, + 134u, 97u, 233u, 171u, + 51u, 136u, 81u, 138u, + 130u, 215u, 74u, 96u, + 87u, 182u, 90u, 143u, + 68u, 126u, 38u, 117u, + 161u, 126u, 81u, 255u, + 192u, 117u, 14u, 173u, + 92u, 112u, 117u, 189u, + 1u, 129u, 101u, 100u, + 96u, 73u, 168u, 233u, + 151u, 49u, 95u, 73u, + 39u, 209u, 101u, 126u, + 104u, 195u, 255u, 113u, + 179u, 69u, 174u, 130u, + 140u, 16u, 92u, 140u, + 80u, 132u, 255u, 133u, + 187u, 195u, 161u, 233u, + 171u, 166u, 121u, 78u, + 161u, 136u, 161u, 83u, + 155u, 211u, 1u, 180u, + 167u, 50u, 115u, 73u, + 131u, 102u, 183u, 136u, + 96u, 141u, 117u, 99u, + 131u, 126u, 121u, 215u, + 95u, 40u, 149u, 111u, + 144u, 0u, 91u, 181u, + 160u, 44u, 68u, 49u, + 179u, 223u, 1u, 131u, + 88u, 206u, 52u, 237u, + 160u, 70u, 199u, 136u, + 212u, 233u, 158u, 106u, + 121u, 167u, 121u, 124u, + 115u, 130u, 27u, 161u, + 171u, 132u, 90u, 255u, + 203u, 69u, 67u, 149u, + 37u, 94u, 44u, 49u, + 131u, 34u, 150u, 1u, + 76u, 112u, 173u, 167u, + 190u, 120u, 148u, 95u, + 197u, 199u, 81u, 245u, + 126u, 21u, 1u, 168u, + 96u, 117u, 220u, 142u, + 158u, 189u, 198u, 130u, + 111u, 170u, 142u, 126u, + 175u, 117u, 111u, 140u, + 100u, 173u, 152u, 0u, + 189u, 206u, 181u, 174u, + 239u, 87u, 189u, 101u, + 170u, 60u, 160u, 150u, + 111u, 0u, 175u, 205u, + 141u, 137u, 99u, 140u, + 147u, 113u, 213u, 40u, + 45u, 125u, 123u, 86u, + 133u, 255u, 68u, 179u, + 129u, 30u, 86u, 107u, + 220u, 94u, 158u, 169u, + 86u, 161u, 74u, 127u, + 203u, 255u, 52u, 156u, + 156u, 63u, 154u, 151u, + 157u, 65u, 107u, 105u, + 201u, 67u, 1u, 241u, + 112u, 75u, 32u, 16u, + 139u, 137u, 151u, 114u, + 95u, 80u, 158u, 124u, + 151u, 127u, 170u, 240u, + 50u, 148u, 1u, 121u, + 28u, 109u, 150u, 122u, + 195u, 87u, 51u, 166u, + 180u, 242u, 216u, 1u, + 114u, 105u, 231u, 65u, + 99u, 14u, 166u, 190u, + 169u, 134u, 1u, 214u, + 179u, 77u, 104u, 129u, + 131u, 196u, 136u, 83u, + 74u, 160u, 244u, 68u, + 106u, 236u, 160u, 204u, + 211u, 143u, 172u, 255u, + 78u, 95u, 234u, 77u, + 134u, 255u, 169u, 157u, + 149u, 192u, 40u, 233u, + 200u, 144u, 89u, 97u, + 80u, 122u, 84u, 213u, + 94u, 223u, 137u, 144u, + 101u, 244u, 90u, 182u, + 6u, 255u, 199u, 244u, + 0u, 133u, 45u, 3u, + 1u, 195u, 115u, 108u, + 131u, 174u, 186u, 109u, + 200u, 20u, 82u, 230u, + 137u, 136u, 185u, 1u, + 46u, 49u, 105u, 152u, + 179u, 117u, 255u, 137u, + 179u, 126u, 130u, 168u, + 227u, 137u, 110u, 167u, + 136u, 255u, 151u, 102u, + 188u, 182u, 145u, 155u, + 86u, 219u, 146u, 197u, + 62u, 114u, 83u, 159u, + 255u, 119u, 122u, 220u, + 78u, 108u, 84u, 225u, + 90u, 188u, 85u, 153u, + 110u, 143u, 127u, 252u, + 177u, 1u, 217u, 137u, + 10u, 205u, 67u, 230u, + 45u, 66u, 209u, 124u, + 44u, 245u, 85u, 111u, + 141u, 121u, 137u, 94u, + 148u, 186u, 78u, 130u, + 113u, 60u, 1u, 89u, + 105u, 61u, 174u, 71u, + 142u, 73u, 56u, 207u, + 64u, 165u, 255u, 53u, + 124u, 243u, 202u, 128u, + 134u, 250u, 133u, 158u, + 178u, 189u, 82u, 97u, + 147u, 23u, 106u, 200u, + 219u, 161u, 205u, 143u, + 37u, 176u, 112u, 255u, + 90u, 255u, 185u, 81u, + 167u, 162u, 171u, 168u, + 160u, 135u, 58u, 150u, + 138u, 149u, 243u, 241u, + 68u, 223u, 238u, 124u, + 130u, 182u, 126u, 94u, + 148u, 68u, 139u, 37u, + 164u, 91u, 255u, 140u, + 33u, 94u, 157u, 152u, + 255u, 98u, 84u, 178u, + 78u, 89u, 141u, 209u, + 146u, 62u, 68u, 105u, + 98u, 1u, 120u, 165u, + 134u, 70u, 111u, 142u, + 126u, 154u, 100u, 111u, + 157u, 126u, 141u, 93u, + 171u, 1u, 52u, 227u, + 50u, 110u, 43u, 152u, + 105u, 48u, 55u, 164u, + 31u, 184u, 25u, 216u, + 91u, 71u, 144u, 114u, + 96u, 255u, 110u, 162u, + 131u, 201u, 15u, 173u, + 175u, 153u, 82u, 141u, + 253u, 0u, 79u, 255u, + 70u, 183u, 125u, 38u, + 122u, 121u, 55u, 54u, + 201u, 79u, 179u, 107u, + 130u, 168u, 158u, 147u, + 255u, 156u, 141u, 33u, + 47u, 233u, 103u, 118u, + 107u, 182u, 78u, 237u, + 127u, 22u, 137u, 156u, + 75u, 155u, 196u, 45u, + 141u, 72u, 1u, 211u, + 138u, 101u, 73u, 100u, + 65u, 105u, 120u, 61u, + 130u, 128u, 212u, 227u, + 185u, 223u, 122u, 255u, + 129u, 150u, 103u, 173u, + 139u, 153u, 108u, 92u, + 136u, 152u, 156u, 117u, + 147u, 1u, 102u, 139u, + 124u, 132u, 121u, 121u, + 255u, 98u, 249u, 232u, + 120u, 95u, 120u, 65u, + 173u, 15u, 110u, 167u, + 56u, 54u, 11u, 158u, + 170u, 121u, 74u, 122u, + 208u, 35u, 178u, 128u, + 79u, 255u, 245u, 188u, + 152u, 190u, 72u, 124u, + 113u, 112u, 232u, 1u, + 152u, 132u, 122u, 82u, + 189u, 112u, 93u, 225u, + 137u, 78u, 186u, 182u, + 182u, 126u, 52u, 174u, + 113u, 0u, 129u, 133u, + 117u, 203u, 76u, 185u, + 13u, 55u, 166u, 255u, + 71u, 182u, 208u, 141u, + 115u, 221u, 184u, 205u, + 1u, 99u, 50u, 175u, + 160u, 213u, 35u, 212u, + 71u, 72u, 151u, 149u, + 41u, 113u, 165u, 93u, + 169u, 177u, 90u, 57u, + 0u, 109u, 216u, 167u, + 195u, 57u, 91u, 13u, + 146u, 169u, 167u, 154u, + 146u, 1u, 107u, 25u, + 146u, 201u, 164u, 161u, + 95u, 198u, 152u, 91u, + 178u, 32u, 1u, 100u, + 175u, 106u, 155u, 41u, + 133u, 182u, 106u, 237u, + 79u, 187u, 18u, 250u, + 150u, 227u, 115u, 255u, + 40u, 153u, 130u, 52u, + 113u, 177u, 165u, 69u, + 152u, 73u, 91u, 182u, + 155u, 194u, 144u, 60u, + 148u, 1u, 46u, 89u, + 124u, 154u, 183u, 176u, + 17u, 141u, 177u, 131u, + 57u, 111u, 111u, 44u, + 106u, 177u, 81u, 152u, + 169u, 0u, 101u, 103u, + 216u, 133u, 37u, 86u, + 76u, 115u, 1u, 186u, + 151u, 96u, 135u, 110u, + 166u, 19u, 123u, 126u, + 0u, 18u, 148u, 191u, + 131u, 68u, 127u, 120u, + 207u, 203u, 203u, 139u, + 90u, 85u, 160u, 85u, + 128u, 88u, 185u, 167u, + 102u, 139u, 151u, 81u, + 154u, 1u, 145u, 84u, + 158u, 183u, 133u, 3u, + 253u, 167u, 149u, 72u, + 134u, 169u, 250u, 181u, + 52u, 255u, 227u, 216u, + 63u, 71u, 207u, 65u, + 64u, 54u, 84u, 44u, + 127u, 115u, 182u, 116u, + 198u, 32u, 224u, 106u, + 0u, 109u, 177u, 19u, + 23u, 108u, 211u, 136u, + 168u, 199u, 130u, 238u, + 162u, 60u, 46u, 226u, + 129u, 170u, 152u, 1u, + 178u, 246u, 211u, 211u, + 164u, 94u, 236u, 56u, + 176u, 157u, 101u, 137u, + 152u, 155u, 255u, 180u, + 153u, 194u, 193u, 195u, + 71u, 188u, 200u, 105u, + 219u, 88u, 48u, 170u, + 54u, 69u, 253u, 255u, + 94u, 170u, 172u, 32u, + 176u, 99u, 81u, 85u, + 35u, 139u, 67u, 75u, + 91u, 147u, 1u, 8u, + 171u, 228u, 91u, 96u, + 165u, 200u, 1u, 135u, + 203u, 86u, 6u, 102u, + 106u, 193u, 57u, 76u, + 180u, 255u, 203u, 6u, + 158u, 93u, 105u, 221u, + 166u, 94u, 105u, 29u, + 197u, 130u, 220u, 185u, + 177u, 223u, 186u, 184u, + 104u, 245u, 176u, 73u, + 144u, 9u, 173u, 254u, + 122u, 167u, 0u, 106u, + 103u, 182u, 138u, 204u, + 24u, 107u, 133u, 202u, + 116u, 148u, 137u, 102u, + 1u, 135u, 175u, 182u, + 77u, 19u, 107u, 206u, + 113u, 128u, 143u, 112u, + 190u, 1u, 78u, 124u, + 138u, 20u, 40u, 2u, + 91u, 90u, 62u, 137u, + 119u, 144u, 255u, 46u, + 103u, 182u, 110u, 175u, + 197u, 168u, 145u, 53u, + 194u, 137u, 72u, 126u, + 63u, 128u, 209u, 114u, + 1u, 234u, 220u, 124u, + 148u, 111u, 70u, 215u, + 65u, 179u, 104u, 128u, + 120u, 170u, 125u, 145u, + 141u, 77u, 110u, 255u, + 155u, 216u, 84u, 171u, + 127u, 0u, 78u, 184u, + 90u, 28u, 118u, 102u, + 174u, 184u, 130u, 120u, + 176u, 215u, 127u, 43u, + 123u, 179u, 112u, 189u, + 229u, 139u, 129u, 255u, + 39u, 229u, 196u, 79u, + 67u, 218u, 118u, 138u, + 108u, 153u, 239u, 255u, + 152u, 195u, 70u, 144u, + 108u, 64u, 82u, 111u, + 214u, 42u, 196u, 85u, + 75u, 173u, 80u, 96u, + 218u, 86u, 22u, 29u, + 180u, 108u, 143u, 165u, + 255u, 122u, 152u, 120u, + 36u, 175u, 49u, 230u, + 117u, 176u, 119u, 1u, + 143u, 168u, 69u, 110u, + 129u, 187u, 70u, 182u, + 129u, 30u, 184u, 214u, + 96u, 151u, 218u, 96u, + 111u, 255u, 241u, 52u, + 44u, 137u, 244u, 54u, + 116u, 87u, 176u, 160u, + 60u, 86u, 124u, 41u, + 125u, 144u, 136u, 86u, + 238u, 255u, 132u, 63u, + 183u, 141u, 170u, 140u, + 1u, 226u, 14u, 124u, + 50u, 31u, 120u, 139u, + 202u, 70u, 164u, 66u, + 255u, 102u, 183u, 182u, + 96u, 140u, 41u, 22u, + 178u, 180u, 230u, 59u, + 128u, 82u, 81u, 91u, + 155u, 3u, 64u, 44u, + 140u, 90u, 189u, 180u, + 151u, 106u, 100u, 108u, + 166u, 255u, 139u, 123u, + 167u, 131u, 63u, 131u, + 82u, 169u, 177u, 1u, + 162u, 90u, 161u, 45u, + 117u, 138u, 201u, 149u, + 36u, 20u, 148u, 237u, + 96u, 1u, 123u, 153u, + 198u, 101u, 60u, 54u, + 88u, 18u, 99u, 96u, + 89u, 132u, 128u, 169u, + 136u, 0u, 182u, 95u, + 231u, 199u, 252u, 87u, + 57u, 223u, 88u, 150u, + 168u, 68u, 107u, 129u, + 1u, 121u, 79u, 141u, + 162u, 203u, 239u, 26u, + 189u, 54u, 133u, 195u, + 114u, 102u, 157u, 84u, + 34u, 177u, 116u, 39u, + 160u, 32u, 1u, 207u, + 154u, 75u, 81u, 71u, + 49u, 20u, 84u, 198u, + 208u, 9u, 192u, 152u, + 177u, 190u, 255u, 120u, + 118u, 191u, 91u, 136u, + 164u, 147u, 134u, 151u, + 175u, 66u, 102u, 157u, + 139u, 147u, 255u, 69u, + 109u, 50u, 32u, 190u, + 207u, 106u, 50u, 67u, + 174u, 99u, 36u, 73u, + 101u, 192u, 236u, 44u, + 164u, 1u, 215u, 118u, + 135u, 102u, 132u, 98u, + 163u, 75u, 70u, 136u, + 75u, 147u, 169u, 82u, + 91u, 68u, 103u, 255u, + 87u, 73u, 159u, 22u, + 160u, 1u, 145u, 105u, + 128u, 155u, 86u, 192u, + 171u, 126u, 34u, 126u, + 129u, 114u, 222u, 255u, + 104u, 106u, 184u, 49u, + 45u, 78u, 210u, 37u, + 112u, 115u, 252u, 135u, + 171u, 168u, 173u, 255u, + 116u, 59u, 161u, 30u, + 122u, 42u, 234u, 43u, + 125u, 199u, 24u, 194u, + 18u, 90u, 255u, 160u, + 185u, 158u, 171u, 158u, + 98u, 83u, 136u, 95u, + 100u, 101u, 210u, 77u, + 214u, 131u, 84u, 0u, + 72u, 124u, 37u, 129u, + 186u, 69u, 124u, 82u, + 125u, 80u, 133u, 58u, + 104u, 78u, 135u, 102u, + 66u, 211u, 154u, 144u, + 140u, 1u, 41u, 193u, + 174u, 215u, 132u, 125u, + 171u, 217u, 153u, 105u, + 129u, 150u, 60u, 145u, + 115u, 98u, 90u, 96u, + 124u, 5u, 194u, 255u, + 154u, 129u, 139u, 90u, + 132u, 97u, 127u, 153u, + 99u, 1u, 116u, 114u, + 108u, 129u, 143u, 56u, + 161u, 201u, 164u, 59u, + 164u, 255u, 108u, 96u, + 68u, 91u, 136u, 128u, + 34u, 174u, 169u, 29u, + 81u, 106u, 81u, 45u, + 255u, 112u, 123u, 188u, + 27u, 63u, 38u, 240u, + 134u, 197u, 123u, 117u, + 130u, 95u, 117u, 208u, + 86u, 27u, 223u, 159u, + 103u, 148u, 0u, 208u, + 182u, 134u, 144u, 229u, + 89u, 197u, 190u, 184u, + 86u, 145u, 71u, 0u, + 229u, 75u, 128u, 65u, + 41u, 99u, 224u, 116u, + 150u, 174u, 196u, 152u, + 96u, 255u, 101u, 150u, + 119u, 130u, 87u, 125u, + 102u, 62u, 235u, 176u, + 156u, 126u, 106u, 30u, + 173u, 250u, 147u, 141u, + 144u, 228u, 0u, 182u, + 111u, 53u, 149u, 27u, + 97u, 131u, 196u, 34u, + 116u, 87u, 240u, 163u, + 93u, 87u, 1u, 166u, + 194u, 116u, 155u, 65u, + 52u, 1u, 123u, 171u, + 229u, 91u, 129u, 101u, + 153u, 117u, 113u, 190u, + 237u, 182u, 117u, 216u, + 161u, 185u, 128u, 61u, + 153u, 156u, 150u, 255u, + 61u, 179u, 178u, 150u, + 93u, 58u, 152u, 173u, + 165u, 233u, 129u, 55u, + 195u, 153u, 224u, 127u, + 37u, 255u, 18u, 182u, + 201u, 159u, 126u, 234u, + 161u, 15u, 136u, 157u, + 1u, 137u, 219u, 23u, + 144u, 227u, 174u, 161u, + 142u, 101u, 131u, 195u, + 140u, 222u, 70u, 179u, + 211u, 162u, 86u, 78u, + 57u, 110u, 160u, 201u, + 146u, 143u, 140u, 1u, + 167u, 5u, 164u, 123u, + 141u, 190u, 82u, 43u, + 166u, 101u, 1u, 127u, + 141u, 34u, 163u, 100u, + 169u, 126u, 171u, 246u, + 101u, 98u, 215u, 31u, + 101u, 1u, 195u, 59u, + 135u, 210u, 101u, 175u, + 43u, 103u, 165u, 219u, + 235u, 106u, 136u, 255u, + 152u, 181u, 178u, 163u, + 76u, 175u, 158u, 205u, + 136u, 104u, 202u, 115u, + 1u, 124u, 116u, 92u, + 212u, 100u, 211u, 186u, + 123u, 103u, 116u, 113u, + 136u, 255u, 99u, 22u, + 128u, 162u, 152u, 158u, + 56u, 118u, 51u, 134u, + 59u, 39u, 108u, 18u, + 125u, 132u, 31u, 111u, + 82u, 114u, 163u, 255u, + 125u, 87u, 198u, 186u, + 119u, 115u, 111u, 144u, + 96u, 149u, 123u, 1u, + 126u, 17u, 214u, 1u, + 92u, 212u, 116u, 213u, + 109u, 102u, 39u, 98u, + 124u, 233u, 134u, 205u, + 182u, 145u, 100u, 255u, + 103u, 212u, 122u, 154u, + 71u, 166u, 91u, 210u, + 180u, 45u, 143u, 156u, + 121u, 152u, 67u, 109u, + 79u, 1u, 134u, 136u, + 23u, 231u, 95u, 132u, + 189u, 122u, 65u, 151u, + 88u, 93u, 188u, 162u, + 244u, 19u, 218u, 0u, + 201u, 112u, 85u, 172u, + 1u, 14u, 179u, 185u, + 138u, 164u, 133u, 139u, + 94u, 128u, 114u, 110u, + 146u, 152u, 204u, 88u, + 171u, 151u, 61u, 129u, + 214u, 255u, 84u, 74u, + 188u, 47u, 128u, 194u, + 130u, 116u, 224u, 50u, + 103u, 150u, 168u, 150u, + 113u, 204u, 158u, 32u, + 113u, 128u, 86u, 84u, + 140u, 0u, 202u, 106u, + 144u, 140u, 99u, 84u, + 140u, 221u, 160u, 120u, + 92u, 64u, 19u, 255u, + 153u, 187u, 94u, 63u, + 255u, 36u, 126u, 147u, + 126u, 36u, 245u, 57u, + 147u, 184u, 185u, 75u, + 104u, 47u, 47u, 111u, + 195u, 19u, 224u, 100u, + 151u, 173u, 102u, 255u, + 158u, 181u, 123u, 57u, + 67u, 178u, 218u, 206u, + 142u, 96u, 124u, 191u, + 25u, 33u, 245u, 8u, + 77u, 196u, 255u, 251u, + 134u, 127u, 30u, 23u, + 154u, 149u, 1u, 114u, + 215u, 11u, 152u, 163u, + 76u, 171u, 220u, 203u, + 49u, 110u, 3u, 196u, + 192u, 1u, 68u, 172u, + 62u, 152u, 149u, 131u, + 115u, 70u, 128u, 149u, + 90u, 194u, 148u, 214u, + 175u, 202u, 113u, 153u, + 67u, 255u, 114u, 160u, + 115u, 63u, 137u, 137u, + 88u, 86u, 197u, 178u, + 176u, 180u, 123u, 228u, + 245u, 134u, 116u, 161u, + 174u, 121u, 255u, 199u, + 33u, 148u, 71u, 129u, + 85u, 191u, 202u, 71u, + 201u, 1u, 77u, 67u, + 83u, 190u, 221u, 218u, + 118u, 158u, 88u, 67u, + 255u, 119u, 82u, 93u, + 209u, 183u, 203u, 177u, + 161u, 209u, 145u, 235u, + 197u, 37u, 88u, 35u, + 142u, 116u, 163u, 106u, + 52u, 130u, 136u, 1u, + 164u, 186u, 154u, 126u, + 9u, 124u, 81u, 180u, + 43u, 152u, 69u, 107u, + 193u, 39u, 218u, 99u, + 77u, 150u, 255u, 161u, + 155u, 216u, 31u, 103u, + 56u, 74u, 60u, 189u, + 132u, 119u, 163u, 104u, + 100u, 1u, 86u, 80u, + 161u, 93u, 111u, 148u, + 168u, 216u, 211u, 161u, + 217u, 107u, 135u, 61u, + 170u, 161u, 131u, 207u, + 1u, 10u, 23u, 4u, + 117u, 55u, 125u, 143u, + 156u, 97u, 89u, 255u, + 128u, 43u, 1u, 148u, + 134u, 140u, 152u, 101u, + 164u, 140u, 112u, 121u, + 118u, 153u, 56u, 140u, + 117u, 77u, 0u, 192u, + 169u, 149u, 122u, 174u, + 0u, 78u, 121u, 140u, + 124u, 83u, 188u, 144u, + 176u, 89u, 206u, 183u, + 110u, 195u, 18u, 176u, + 80u, 139u, 134u, 116u, + 57u, 129u, 59u, 39u, + 86u, 136u, 83u, 59u, + 131u, 255u, 93u, 129u, + 104u, 210u, 161u, 85u, + 79u, 255u, 124u, 174u, + 119u, 73u, 194u, 166u, + 142u, 14u, 109u, 173u, + 29u, 1u, 234u, 244u, + 99u, 156u, 45u, 170u, + 102u, 96u, 49u, 23u, + 95u, 208u, 217u, 32u, + 138u, 100u, 195u, 159u, + 27u, 211u, 82u, 103u, + 159u, 49u, 1u, 78u, + 106u, 34u, 220u, 169u, + 3u, 94u, 168u, 1u, + 142u, 143u, 242u, 123u, + 171u, 115u, 72u, 148u, + 25u, 126u, 171u, 115u, + 120u, 179u, 2u, 144u, + 229u, 25u, 178u, 211u, + 1u, 186u, 195u, 135u, + 151u, 178u, 108u, 154u, + 147u, 88u, 57u, 92u, + 168u, 119u, 128u, 11u, + 156u, 94u, 196u, 110u, + 56u, 255u, 113u, 144u, + 137u, 29u, 130u, 225u, + 176u, 154u, 92u, 117u, + 163u, 111u, 11u, 36u, + 255u, 120u, 245u, 131u, + 162u, 82u, 88u, 102u, + 40u, 0u, 122u, 100u, + 106u, 149u, 194u, 40u, + 121u, 120u, 109u, 80u, + 126u, 178u, 5u, 105u, + 175u, 53u, 152u, 47u, + 51u, 255u, 161u, 64u, + 113u, 98u, 134u, 135u, + 29u, 234u, 17u, 1u, + 255u, 222u, 69u, 132u, + 102u, 95u, 164u, 61u, + 142u, 156u, 116u, 133u, + 128u, 114u, 223u, 153u, + 221u, 174u, 108u, 53u, + 97u, 236u, 235u, 255u, + 198u, 187u, 145u, 58u, + 27u, 0u, 5u, 189u, + 181u, 84u, 70u, 130u, + 38u, 122u, 154u, 116u, + 177u, 132u, 191u, 125u, + 119u, 139u, 120u, 135u, + 85u, 175u, 199u, 88u, + 133u, 15u, 116u, 94u, + 68u, 255u, 99u, 127u, + 1u, 99u, 53u, 164u, + 208u, 140u, 220u, 151u, + 135u, 112u, 135u, 92u, + 63u, 208u, 132u, 130u, + 102u, 101u, 171u, 73u, + 74u, 108u, 109u, 54u, + 165u, 123u, 90u, 108u, + 120u, 154u, 107u, 1u, + 174u, 4u, 113u, 122u, + 242u, 87u, 72u, 234u, + 93u, 153u, 34u, 222u, + 172u, 95u, 1u, 61u, + 108u, 0u, 62u, 93u, + 142u, 74u, 243u, 186u, + 103u, 56u, 220u, 149u, + 166u, 63u, 184u, 97u, + 155u, 125u, 64u, 72u, + 41u, 211u, 142u, 208u, + 145u, 153u, 94u, 243u, + 221u, 38u, 106u, 255u, + 28u, 0u, 175u, 112u, + 53u, 173u, 126u, 99u, + 215u, 126u, 89u, 147u, + 115u, 132u, 192u, 123u, + 114u, 82u, 155u, 136u, + 63u, 141u, 159u, 1u, + 196u, 106u, 72u, 133u, + 96u, 79u, 92u, 193u, + 126u, 5u, 115u, 187u, + 44u, 255u, 216u, 17u, + 193u, 90u, 97u, 220u, + 118u, 85u, 117u, 82u, + 33u, 155u, 143u, 86u, + 177u, 117u, 118u, 126u, + 246u, 208u, 255u, 230u, + 21u, 75u, 111u, 148u, + 255u, 178u, 36u, 152u, + 147u, 167u, 91u, 107u, + 66u, 255u, 118u, 149u, + 67u, 119u, 57u, 116u, + 247u, 201u, 233u, 58u, + 144u, 255u, 76u, 117u, + 141u, 181u, 82u, 224u, + 215u, 108u, 123u, 187u, + 146u, 189u, 255u, 145u, + 106u, 164u, 128u, 141u, + 141u, 7u, 61u, 183u, + 103u, 127u, 189u, 137u, + 149u, 160u, 25u, 113u, + 155u, 127u, 94u, 170u, + 102u, 110u, 29u, 157u, + 255u, 221u, 149u, 68u, + 108u, 116u, 77u, 113u, + 120u, 114u, 144u, 235u, + 131u, 255u, 207u, 245u, + 104u, 2u, 95u, 131u, + 80u, 48u, 115u, 104u, + 83u, 23u, 162u, 55u, + 171u, 253u, 255u, 90u, + 121u, 82u, 108u, 80u, + 143u, 104u, 135u, 62u, + 47u, 146u, 59u, 214u, + 91u, 165u, 150u, 177u, + 149u, 100u, 255u, 74u, + 149u, 68u, 54u, 238u, + 130u, 81u, 243u, 89u, + 110u, 179u, 175u, 57u, + 51u, 1u, 15u, 72u, + 92u, 117u, 189u, 110u, + 105u, 255u, 232u, 182u, + 81u, 73u, 178u, 105u, + 77u, 82u, 93u, 123u, + 79u, 34u, 94u, 187u, + 141u, 94u, 176u, 130u, + 158u, 179u, 255u, 121u, + 88u, 144u, 115u, 127u, + 114u, 122u, 133u, 107u, + 162u, 1u, 169u, 138u, + 159u, 177u, 203u, 77u, + 116u, 57u, 237u, 48u, + 1u, 22u, 148u, 114u, + 78u, 78u, 252u, 19u, + 241u, 163u, 154u, 133u, + 30u, 23u, 241u, 25u, + 25u, 184u, 198u, 92u, + 95u, 214u, 135u, 145u, + 238u, 1u, 86u, 207u, + 179u, 161u, 162u, 106u, + 70u, 124u, 153u, 111u, + 111u, 211u, 80u, 244u, + 233u, 81u, 186u, 113u, + 158u, 1u, 103u, 222u, + 50u, 97u, 70u, 130u, + 0u, 38u, 115u, 174u, + 10u, 180u, 197u, 96u, + 82u, 151u, 90u, 242u, + 47u, 132u, 137u, 209u, + 131u, 22u, 221u, 137u, + 255u, 190u, 119u, 159u, + 168u, 46u, 184u, 247u, + 198u, 11u, 255u, 187u, + 108u, 24u, 100u, 53u, + 157u, 145u, 98u, 41u, + 163u, 196u, 106u, 73u, + 37u, 72u, 201u, 73u, + 255u, 220u, 182u, 127u, + 57u, 61u, 176u, 167u, + 181u, 167u, 145u, 139u, + 139u, 102u, 137u, 104u, + 88u, 42u, 95u, 93u, + 182u, 157u, 116u, 116u, + 222u, 255u, 114u, 56u, + 107u, 115u, 131u, 154u, + 166u, 179u, 112u, 208u, + 41u, 127u, 87u, 235u, + 198u, 83u, 1u, 152u, + 92u, 151u, 182u, 202u, + 176u, 148u, 104u, 111u, + 255u, 131u, 172u, 76u, + 163u, 86u, 120u, 62u, + 153u, 113u, 41u, 147u, + 92u, 34u, 179u, 127u, + 100u, 202u, 255u, 150u, + 101u, 149u, 75u, 152u, + 94u, 105u, 82u, 32u, + 62u, 160u, 10u, 42u, + 24u, 195u, 15u, 135u, + 32u, 167u, 162u, 255u, + 157u, 255u, 109u, 197u, + 120u, 181u, 144u, 137u, + 111u, 33u, 43u, 163u, + 15u, 51u, 188u, 249u, + 42u, 82u, 166u, 227u, + 159u, 58u, 91u, 222u, + 142u, 68u, 71u, 201u, + 34u, 136u, 0u, 41u, + 125u, 9u, 169u, 117u, + 129u, 34u, 172u, 55u, + 171u, 151u, 240u, 1u, + 0u, 42u, 216u, 60u, + 228u, 213u, 162u, 157u, + 134u, 172u, 94u, 151u, + 57u, 105u, 52u, 142u, + 243u, 194u, 1u, 196u, + 31u, 1u, 23u, 150u, + 159u, 53u, 65u, 118u, + 53u, 160u, 107u, 131u, + 40u, 135u, 8u, 110u, + 210u, 110u, 81u, 168u, + 125u, 163u, 91u, 128u, + 45u, 173u, 221u, 105u, + 68u, 0u, 122u, 228u, + 165u, 57u, 86u, 180u, + 143u, 1u, 111u, 105u, + 70u, 165u, 72u, 169u, + 233u, 179u, 130u, 149u, + 148u, 161u, 90u, 97u, + 106u, 133u, 132u, 225u, + 113u, 244u, 255u, 18u, + 167u, 76u, 73u, 142u, + 179u, 137u, 89u, 68u, + 0u, 150u, 35u, 206u, + 96u, 133u, 152u, 145u, + 144u, 90u, 226u, 131u, + 142u, 98u, 155u, 226u, + 73u, 101u, 77u, 90u, + 255u, 132u, 178u, 122u, + 148u, 155u, 135u, 117u, + 255u, 149u, 176u, 147u, + 54u, 154u, 138u, 32u, + 191u, 84u, 31u, 197u, + 77u, 177u, 138u, 136u, + 164u, 99u, 107u, 132u, + 73u, 76u, 135u, 164u, + 125u, 255u, 255u, 18u, + 181u, 78u, 124u, 229u, + 165u, 126u, 1u, 158u, + 45u, 163u, 99u, 146u, + 80u, 189u, 98u, 134u, + 147u, 201u, 79u, 206u, + 111u, 138u, 140u, 89u, + 143u, 115u, 128u, 29u, + 255u, 12u, 133u, 222u, + 125u, 109u, 87u, 85u, + 139u, 1u, 42u, 180u, + 169u, 58u, 127u, 194u, + 86u, 161u, 87u, 163u, + 128u, 116u, 49u, 138u, + 40u, 126u, 255u, 164u, + 187u, 117u, 99u, 158u, + 149u, 142u, 68u, 137u, + 97u, 181u, 109u, 197u, + 125u, 118u, 160u, 224u, + 99u, 116u, 152u, 126u, + 255u, 70u, 148u, 117u, + 193u, 86u, 90u, 73u, + 232u, 193u, 112u, 1u, + 123u, 146u, 54u, 159u, + 81u, 41u, 8u, 39u, + 158u, 61u, 160u, 80u, + 75u, 109u, 10u, 83u, + 252u, 122u, 114u, 64u, + 218u, 143u, 38u, 128u, + 169u, 167u, 0u, 130u, + 209u, 242u, 207u, 114u, + 187u, 234u, 81u, 123u, + 62u, 99u, 55u, 139u, + 82u, 109u, 123u, 1u, + 255u, 169u, 71u, 187u, + 103u, 98u, 86u, 137u, + 142u, 201u, 87u, 113u, + 63u, 94u, 76u, 122u, + 166u, 130u, 255u, 89u, + 57u, 199u, 102u, 36u, + 181u, 134u, 182u, 119u, + 147u, 31u, 138u, 28u, + 102u, 93u, 1u, 87u, + 158u, 73u, 204u, 69u, + 110u, 125u, 152u, 132u, + 153u, 149u, 11u, 163u, + 93u, 191u, 110u, 101u, + 126u, 51u, 49u, 120u, + 117u, 124u, 192u, 0u, + 108u, 123u, 172u, 107u, + 161u, 77u, 112u, 53u, + 0u, 184u, 132u, 195u, + 178u, 161u, 148u, 119u, + 141u, 117u, 86u, 126u, + 255u, 153u, 119u, 116u, + 146u, 177u, 167u, 149u, + 143u, 104u, 119u, 186u, + 137u, 192u, 86u, 85u, + 42u, 66u, 149u, 254u, + 92u, 124u, 172u, 81u, + 255u, 108u, 150u, 251u, + 112u, 205u, 105u, 27u, + 80u, 117u, 54u, 152u, + 180u, 36u, 76u, 154u, + 106u, 58u, 80u, 76u, + 255u, 180u, 99u, 115u, + 73u, 72u, 54u, 74u, + 88u, 31u, 69u, 255u, + 172u, 182u, 133u, 126u, + 59u, 65u, 154u, 132u, + 59u, 183u, 130u, 162u, + 174u, 89u, 89u, 107u, + 119u, 209u, 255u, 65u, + 20u, 170u, 181u, 118u, + 76u, 253u, 197u, 160u, + 35u, 76u, 255u, 143u, + 128u, 106u, 122u, 232u, + 128u, 153u, 144u, 52u, + 188u, 240u, 168u, 57u, + 227u, 208u, 183u, 67u, + 119u, 153u, 96u, 186u, + 93u, 173u, 94u, 0u, + 116u, 133u, 146u, 116u, + 138u, 147u, 56u, 255u, + 125u, 111u, 74u, 128u, + 167u, 76u, 160u, 132u, + 42u, 166u, 244u, 28u, + 255u, 247u, 114u, 146u, + 88u, 52u, 86u, 166u, + 84u, 181u, 111u, 95u, + 165u, 177u, 98u, 116u, + 177u, 218u, 166u, 128u, + 151u, 128u, 93u, 235u, + 161u, 100u, 1u, 38u, + 123u, 65u, 103u, 161u, + 162u, 0u, 74u, 159u, + 85u, 143u, 79u, 134u, + 118u, 141u, 103u, 133u, + 219u, 97u, 147u, 180u, + 107u, 196u, 79u, 6u, + 204u, 81u, 124u, 1u, + 140u, 106u, 152u, 35u, + 175u, 64u, 174u, 67u, + 189u, 106u, 0u, 208u, + 164u, 109u, 190u, 134u, + 247u, 144u, 72u, 127u, + 116u, 66u, 111u, 89u, + 93u, 45u, 123u, 182u, + 81u, 143u, 83u, 255u, + 132u, 152u, 106u, 64u, + 84u, 169u, 123u, 21u, + 255u, 25u, 127u, 126u, + 79u, 199u, 211u, 80u, + 66u, 220u, 211u, 145u, + 1u, 68u, 156u, 226u, + 143u, 14u, 149u, 178u, + 135u, 159u, 98u, 75u, + 106u, 136u, 141u, 149u, + 177u, 64u, 34u, 169u, + 119u, 0u, 56u, 99u, + 39u, 202u, 128u, 180u, + 59u, 145u, 25u, 110u, + 78u, 27u, 69u, 185u, + 115u, 250u, 202u, 130u, + 125u, 205u, 137u, 104u, + 104u, 195u, 255u, 91u, + 147u, 112u, 211u, 249u, + 131u, 1u, 187u, 88u, + 170u, 177u, 77u, 145u, + 200u, 238u, 215u, 208u, + 123u, 102u, 204u, 125u, + 189u, 189u, 74u, 72u, + 217u, 1u, 35u, 217u, + 125u, 54u, 145u, 13u, + 125u, 169u, 175u, 230u, + 7u, 186u, 0u, 132u, + 106u, 189u, 87u, 121u, + 128u, 182u, 245u, 194u, + 102u, 234u, 116u, 1u, + 200u, 253u, 57u, 28u, + 81u, 82u, 111u, 187u, + 175u, 206u, 122u, 100u, + 125u, 183u, 94u, 114u, + 184u, 87u, 159u, 178u, + 149u, 175u, 197u, 237u, + 140u, 201u, 0u, 157u, + 1u, 160u, 93u, 82u, + 176u, 74u, 141u, 102u, + 91u, 133u, 114u, 139u, + 183u, 99u, 15u, 190u, + 125u, 68u, 204u, 0u, + 246u, 175u, 51u, 103u, + 189u, 78u, 208u, 140u, + 75u, 102u, 11u, 172u, + 127u, 85u, 65u, 72u, + 217u, 41u, 76u, 172u, + 125u, 55u, 137u, 208u, + 105u, 81u, 0u, 82u, + 34u, 2u, 126u, 174u, + 154u, 83u, 90u, 50u, + 124u, 109u, 115u, 127u, + 102u, 104u, 61u, 255u, + 175u, 99u, 35u, 103u, + 61u, 123u, 165u, 60u, + 129u, 171u, 255u, 93u, + 99u, 35u, 35u, 149u, + 0u, 174u, 132u, 206u, + 82u, 150u, 255u, 127u, + 180u, 217u, 224u, 255u, + 95u, 155u, 34u, 191u, + 113u, 126u, 171u, 1u, + 50u, 204u, 120u, 31u, + 193u, 37u, 47u, 124u, + 216u, 99u, 81u, 142u, + 103u, 191u, 123u, 192u, + 100u, 190u, 150u, 164u, + 193u, 124u, 123u, 255u, + 146u, 193u, 115u, 234u, + 179u, 56u, 124u, 184u, + 70u, 96u, 109u, 56u, + 74u, 27u, 70u, 74u, + 72u, 176u, 1u, 129u, + 86u, 41u, 191u, 151u, + 84u, 160u, 111u, 79u, + 255u, 160u, 93u, 136u, + 154u, 100u, 156u, 93u, + 238u, 116u, 158u, 123u, + 191u, 127u, 174u, 84u, + 1u, 167u, 169u, 132u, + 153u, 152u, 151u, 90u, + 131u, 54u, 156u, 129u, + 112u, 188u, 160u, 38u, + 163u, 88u, 1u, 182u, + 162u, 99u, 176u, 147u, + 128u, 84u, 251u, 255u, + 194u, 52u, 107u, 108u, + 168u, 49u, 97u, 2u, + 84u, 61u, 227u, 215u, + 255u, 50u, 220u, 170u, + 238u, 86u, 245u, 134u, + 172u, 88u, 101u, 167u, + 202u, 84u, 197u, 133u, + 131u, 102u, 200u, 100u, + 131u, 189u, 84u, 112u, + 255u, 117u, 153u, 152u, + 108u, 89u, 160u, 109u, + 101u, 87u, 126u, 66u, + 107u, 117u, 96u, 76u, + 89u, 53u, 248u, 133u, + 106u, 161u, 1u, 76u, + 95u, 63u, 127u, 119u, + 103u, 112u, 103u, 93u, + 191u, 138u, 235u, 66u, + 94u, 1u, 162u, 132u, + 137u, 100u, 190u, 134u, + 96u, 205u, 119u, 179u, + 188u, 100u, 209u, 53u, + 134u, 1u, 116u, 118u, + 56u, 82u, 131u, 121u, + 113u, 255u, 193u, 118u, + 56u, 121u, 84u, 152u, + 151u, 185u, 160u, 214u, + 36u, 175u, 199u, 154u, + 128u, 173u, 99u, 147u, + 146u, 33u, 28u, 255u, + 79u, 139u, 113u, 100u, + 55u, 123u, 255u, 160u, + 242u, 155u, 170u, 237u, + 89u, 10u, 159u, 191u, + 112u, 141u, 158u, 39u, + 197u, 108u, 1u, 92u, + 96u, 170u, 153u, 132u, + 165u, 88u, 123u, 178u, + 117u, 114u, 97u, 69u, + 115u, 150u, 1u, 51u, + 141u, 162u, 124u, 90u, + 135u, 126u, 141u, 84u, + 125u, 129u, 133u, 158u, + 131u, 121u, 223u, 185u, + 26u, 255u, 2u, 135u, + 168u, 101u, 54u, 66u, + 104u, 99u, 179u, 121u, + 113u, 102u, 118u, 109u, + 133u, 93u, 147u, 124u, + 104u, 156u, 255u, 105u, + 151u, 95u, 123u, 133u, + 206u, 72u, 72u, 56u, + 1u, 104u, 66u, 171u, + 189u, 22u, 191u, 139u, + 190u, 129u, 136u, 142u, + 88u, 135u, 135u, 49u, + 160u, 27u, 163u, 208u, + 127u, 1u, 150u, 47u, + 153u, 43u, 210u, 150u, + 98u, 144u, 68u, 110u, + 162u, 58u, 197u, 199u, + 48u, 180u, 142u, 255u, + 107u, 192u, 73u, 168u, + 164u, 90u, 245u, 251u, + 56u, 104u, 87u, 111u, + 236u, 172u, 78u, 255u, + 71u, 131u, 15u, 25u, + 1u, 149u, 160u, 101u, + 42u, 159u, 173u, 164u, + 183u, 89u, 150u, 213u, + 172u, 89u, 148u, 133u, + 1u, 195u, 196u, 42u, + 115u, 141u, 106u, 238u, + 229u, 30u, 74u, 181u, + 137u, 130u, 207u, 88u, + 189u, 54u, 166u, 81u, + 116u, 24u, 211u, 55u, + 62u, 65u, 218u, 50u, + 115u, 102u, 255u, 58u, + 93u, 110u, 99u, 152u, + 85u, 104u, 255u, 55u, + 147u, 196u, 174u, 133u, + 108u, 112u, 91u, 129u, + 104u, 0u, 188u, 156u, + 70u, 36u, 110u, 96u, + 76u, 186u, 12u, 185u, + 254u, 87u, 106u, 148u, + 137u, 169u, 172u, 76u, + 149u, 255u, 187u, 98u, + 87u, 54u, 44u, 202u, + 207u, 210u, 140u, 130u, + 1u, 98u, 119u, 155u, + 187u, 95u, 117u, 161u, + 211u, 139u, 24u, 170u, + 205u, 226u, 36u, 76u, + 23u, 1u, 162u, 180u, + 197u, 181u, 141u, 133u, + 72u, 141u, 111u, 173u, + 52u, 172u, 56u, 2u +}; + +const float16 LangIdNNParams::kEmbeddingsQuantScales1[] = { + 15339u, 15412u, 15432u, 15371u, + 15312u, 15494u, 15344u, 15449u, + 15369u, 15449u, 15378u, 15369u, + 15386u, 15296u, 15364u, 15363u, + 15281u, 15380u, 15420u, 15367u, + 15365u, 15307u, 15308u, 15361u, + 15421u, 15384u, 15344u, 15357u, + 15367u, 15388u, 15366u, 15348u, + 15399u, 15297u, 15411u, 15317u, + 15442u, 15431u, 15389u, 15385u, + 15446u, 15322u, 15356u, 15366u, + 15394u, 15459u, 15257u, 15316u, + 15413u, 15347u, 15437u, 15411u, + 15535u, 15338u, 15386u, 15280u, + 15305u, 15388u, 15451u, 15312u, + 15358u, 15323u, 15385u, 15313u, + 15339u, 15350u, 15369u, 15283u, + 15407u, 15361u, 15384u, 15395u, + 15380u, 15357u, 15372u, 15287u, + 15348u, 15447u, 15366u, 15380u, + 15332u, 15375u, 15391u, 15420u, + 15373u, 15383u, 15417u, 15303u, + 15349u, 15388u, 15284u, 15343u, + 15402u, 15337u, 15466u, 15343u, + 15327u, 15398u, 15386u, 15381u, + 15418u, 15394u, 15386u, 15390u, + 15414u, 15361u, 15388u, 15338u, + 15331u, 15319u, 15365u, 15322u, + 15281u, 15372u, 15400u, 15356u, + 15255u, 15346u, 15327u, 15413u, + 15409u, 15403u, 15365u, 15349u, + 15312u, 15321u, 15387u, 15316u, + 15336u, 15344u, 15294u, 15388u, + 15282u, 15369u, 15394u, 15407u, + 15463u, 15432u, 15360u, 15323u, + 15383u, 15393u, 15362u, 15411u, + 15385u, 15375u, 15343u, 15406u, + 15287u, 15301u, 15374u, 15351u, + 15360u, 15384u, 15362u, 15396u, + 15326u, 15318u, 15400u, 15380u, + 15370u, 15353u, 15390u, 15296u, + 15316u, 15491u, 15409u, 15409u, + 15377u, 15450u, 15358u, 15469u, + 15376u, 15429u, 15401u, 15364u, + 15402u, 15347u, 15391u, 15348u, + 15336u, 15327u, 15333u, 15399u, + 15421u, 15348u, 15519u, 15291u, + 15350u, 15459u, 15353u, 15372u, + 15371u, 15325u, 15332u, 15409u, + 15362u, 15274u, 15417u, 15329u, + 15498u, 15388u, 15391u, 15270u, + 15317u, 15311u, 15365u, 15429u, + 15352u, 15381u, 15300u, 15422u, + 15383u, 15381u, 15236u, 15334u, + 15262u, 15387u, 15333u, 15500u, + 15340u, 15300u, 15388u, 15419u, + 15362u, 15363u, 15387u, 15320u, + 15302u, 15372u, 15371u, 15301u, + 15506u, 15400u, 15423u, 15390u, + 15425u, 15310u, 15347u, 15310u, + 15380u, 15317u, 15280u, 15353u, + 15416u, 15398u, 15320u, 15399u, + 15375u, 15392u, 15332u, 15355u, + 15420u, 15404u, 15381u, 15310u, + 15330u, 15376u, 15408u, 15382u, + 15382u, 15442u, 15396u, 15376u, + 15290u, 15299u, 15432u, 15375u, + 15492u, 15309u, 15401u, 15366u, + 15339u, 15406u, 15327u, 15407u, + 15316u, 15335u, 15425u, 15364u, + 15284u, 15407u, 15313u, 15409u, + 15384u, 15373u, 15352u, 15433u, + 15392u, 15383u, 15506u, 15327u, + 15297u, 15327u, 15288u, 15372u, + 15386u, 15414u, 15276u, 15389u, + 15328u, 15372u, 15341u, 15354u, + 15431u, 15385u, 15396u, 15364u, + 15374u, 15294u, 15375u, 15398u, + 15507u, 15378u, 15398u, 15401u, + 15381u, 15365u, 15345u, 15412u, + 15402u, 15339u, 15290u, 15395u, + 15364u, 15391u, 15370u, 15319u, + 15253u, 15371u, 15293u, 15356u, + 15300u, 15252u, 15444u, 15298u, + 15377u, 15365u, 15276u, 15291u, + 15356u, 15448u, 15512u, 15384u, + 15338u, 15335u, 15363u, 15392u, + 15365u, 15340u, 15395u, 15466u, + 15310u, 15386u, 15371u, 15384u, + 15414u, 15361u, 15375u, 15416u, + 15425u, 15359u, 15425u, 15402u, + 15396u, 15439u, 15350u, 15329u, + 15382u, 15365u, 15294u, 15265u, + 15319u, 15390u, 15383u, 15386u, + 15404u, 15373u, 15355u, 15451u, + 15330u, 15393u, 15327u, 15408u, + 15360u, 15375u, 15394u, 15370u, + 15319u, 15324u, 15277u, 15296u, + 15349u, 15363u, 15413u, 15324u, + 15502u, 15362u, 15408u, 15365u, + 15365u, 15436u, 15393u, 15396u, + 15376u, 15442u, 15390u, 15331u, + 15299u, 15313u, 15400u, 15261u, + 15434u, 15345u, 15338u, 15332u, + 15395u, 15371u, 15393u, 15289u, + 15361u, 15338u, 15374u, 15336u, + 15379u, 15384u, 15395u, 15260u, + 15324u, 15449u, 15304u, 15337u, + 15357u, 15445u, 15376u, 15336u, + 15367u, 15326u, 15274u, 15361u, + 15380u, 15380u, 15335u, 15445u, + 15393u, 15446u, 15367u, 15302u, + 15463u, 15400u, 15385u, 15297u, + 15392u, 15320u, 15312u, 15357u, + 15484u, 15382u, 15435u, 15367u, + 15370u, 15232u, 15392u, 15371u, + 15433u, 15427u, 15283u, 15327u, + 15381u, 15393u, 15395u, 15362u, + 15305u, 15369u, 15425u, 15456u, + 15338u, 15369u, 15366u, 15380u, + 15427u, 15396u, 15327u, 15364u, + 15392u, 15314u, 15465u, 15349u, + 15392u, 15430u, 15332u, 15307u, + 15275u, 15343u, 15295u, 15383u, + 15433u, 15420u, 15330u, 15446u, + 15495u, 15416u, 15420u, 15426u, + 15504u, 15336u, 15394u, 15385u, + 15354u, 15313u, 15405u, 15470u, + 15401u, 15395u, 15382u, 15379u, + 15361u, 15307u, 15264u, 15364u, + 15323u, 15389u, 15352u, 15382u, + 15390u, 15367u, 15400u, 15327u, + 15351u, 15287u, 15392u, 15392u, + 15401u, 15356u, 15373u, 15361u, + 15434u, 15489u, 15585u, 15386u, + 15410u, 15387u, 15302u, 15359u, + 15424u, 15398u, 15376u, 15289u, + 15294u, 15381u, 15497u, 15396u, + 15398u, 15372u, 15454u, 15359u, + 15381u, 15367u, 15477u, 15308u, + 15314u, 15317u, 15402u, 15289u, + 15370u, 15279u, 15383u, 15332u, + 15363u, 15382u, 15413u, 15385u, + 15285u, 15456u, 15476u, 15392u, + 15360u, 15458u, 15382u, 15387u, + 15368u, 15300u, 15391u, 15282u, + 15307u, 15420u, 15321u, 15368u, + 15312u, 15308u, 15457u, 15323u, + 15385u, 15476u, 15369u, 15407u, + 15347u, 15440u, 15303u, 15474u, + 15396u, 15310u, 15195u, 15331u, + 15246u, 15353u, 15364u, 15441u, + 15400u, 15376u, 15305u, 15393u, + 15405u, 15350u, 15421u, 15388u, + 15441u, 15495u, 15280u, 15381u, + 15336u, 15233u, 15362u, 15383u, + 15396u, 15439u, 15318u, 15266u, + 15264u, 15286u, 15275u, 15375u, + 15410u, 15258u, 15284u, 15364u, + 15350u, 15354u, 15246u, 15398u, + 15321u, 15373u, 15363u, 15405u, + 15318u, 15280u, 15403u, 15365u, + 15284u, 15425u, 15390u, 15382u, + 15384u, 15408u, 15398u, 15317u, + 15304u, 15403u, 15375u, 15387u, + 15394u, 15271u, 15434u, 15340u, + 15344u, 15279u, 15502u, 15357u, + 15322u, 15407u, 15304u, 15374u, + 15302u, 15389u, 15539u, 15383u, + 15267u, 15370u, 15363u, 15371u, + 15409u, 15328u, 15331u, 15464u, + 15366u, 15433u, 15308u, 15334u, + 15458u, 15402u, 15229u, 15331u, + 15422u, 15289u, 15410u, 15336u, + 15402u, 15365u, 15348u, 15365u, + 15319u, 15386u, 15483u, 15361u, + 15365u, 15410u, 15393u, 15397u, + 15360u, 15263u, 15292u, 15445u, + 15433u, 15364u, 15298u, 15408u, + 15410u, 15267u, 15404u, 15417u, + 15399u, 15418u, 15499u, 15426u, + 15291u, 15358u, 15443u, 15298u, + 15285u, 15371u, 15371u, 15450u, + 15426u, 15326u, 15339u, 15391u, + 15437u, 15357u, 15362u, 15383u, + 15354u, 15364u, 15405u, 15373u, + 15304u, 15338u, 15414u, 15432u, + 15291u, 15376u, 15431u, 15420u, + 15374u, 15312u, 15388u, 15363u, + 15383u, 15381u, 15556u, 15328u, + 15464u, 15400u, 15304u, 15360u, + 15411u, 15402u, 15460u, 15344u, + 15364u, 15399u, 15418u, 15277u, + 15368u, 15380u, 15371u, 15416u, + 15413u, 15403u, 15381u, 15414u, + 15390u, 15367u, 15297u, 15414u, + 15393u, 15389u, 15346u, 15420u, + 15322u, 15363u, 15489u, 15306u, + 15276u, 15443u, 15364u, 15443u, + 15498u, 15325u, 15375u, 15347u, + 15391u, 15510u, 15397u, 15409u, + 15401u, 15397u, 15370u, 15348u, + 15399u, 15264u, 15308u, 15383u, + 15470u, 15413u, 15420u, 15436u, + 15290u, 15416u, 15388u, 15286u, + 15402u, 15397u, 15265u, 15408u, + 15322u, 15358u, 15409u, 15364u, + 15360u, 15320u, 15384u, 15363u, + 15367u, 15391u, 15424u, 15445u, + 15305u, 15341u, 15368u, 15362u, + 15310u, 15440u, 15331u, 15359u, + 15297u, 15328u, 15372u, 15379u, + 15408u, 15348u, 15349u, 15386u, + 15365u, 15399u, 15404u, 15302u, + 15264u, 15318u, 15379u, 15322u, + 15364u, 15563u, 15343u, 15365u, + 15333u, 15345u, 15356u, 15328u, + 15335u, 15466u, 15347u, 15306u, + 15404u, 15325u, 15406u, 15238u, + 15428u, 15382u, 15396u, 15421u, + 15423u, 15381u, 15383u, 15314u, + 15360u, 15387u, 15369u, 15379u, + 15407u, 15382u, 15323u, 15376u, + 15384u, 15416u, 15271u, 15412u, + 15370u, 15309u, 15369u, 15379u, + 15305u, 15386u, 15306u, 15383u, + 15377u, 15290u, 15307u, 15407u, + 15491u, 15360u, 15448u, 15382u, + 15418u, 15370u, 15322u, 15373u, + 15420u, 15399u, 15291u, 15366u, + 15405u, 15320u, 15407u, 15347u, + 15458u, 15469u, 15323u, 15390u, + 15448u, 15408u, 15346u, 15339u, + 15312u, 15442u, 15395u, 15285u, + 15398u, 15346u, 15437u, 15301u, + 15397u, 15448u, 15260u, 15488u, + 15349u, 15291u, 15372u, 15428u, + 15423u, 15386u, 15262u, 15371u, + 15331u, 15353u, 15412u, 15387u, + 15353u, 15510u, 15312u, 15247u, + 15411u, 15409u, 15403u, 15366u, + 15404u, 15266u, 15390u, 15365u, + 15361u, 15367u, 15394u, 15363u, + 15387u, 15438u, 15330u, 15268u, + 15494u, 15403u, 15302u, 15496u, + 15363u, 15368u, 15382u, 15412u, + 15330u, 15312u, 15356u, 15395u, + 15359u, 15378u, 15419u, 15384u, + 15387u, 15282u, 15338u, 15332u, + 15259u, 15341u, 15293u, 15368u, + 15365u, 15228u, 15394u, 15282u, + 15393u, 15315u, 15355u, 15381u, + 15362u, 15277u, 15401u, 15382u, + 15339u, 15406u, 15404u, 15373u, + 15421u, 15347u, 15419u, 15261u, + 15364u, 15317u, 15342u, 15276u, + 15306u, 15374u, 15313u, 15459u, + 15319u, 15291u, 15472u, 15406u, + 15314u, 15374u, 15302u, 15430u, + 15282u, 15354u, 15304u, 15391u, + 15372u, 15356u, 15415u, 15345u, + 15403u, 15382u, 15350u, 15368u, + 15329u, 15277u, 15378u, 15349u, + 15407u, 15329u, 15510u, 15335u, + 15373u, 15278u, 15339u, 15396u, + 15285u, 15339u, 15388u, 15331u, + 15381u, 15367u, 15444u, 15320u, + 15382u, 15432u, 15356u, 15369u, + 15366u, 15492u, 15258u, 15450u, + 15402u, 15420u, 15379u, 15371u, + 15497u, 15470u, 15320u, 15369u, + 15358u, 15404u, 15385u, 15579u, + 15314u, 15365u, 15342u, 15394u, + 15392u, 15263u, 15327u, 15406u, + 15436u, 15517u, 15387u, 15397u, + 15412u, 15334u, 15369u, 15407u, + 15367u, 15285u, 15389u, 15443u, + 15366u, 15369u, 15308u, 15407u, + 15384u, 15411u, 15315u, 15390u, + 15408u, 15384u, 15401u, 15516u, + 15426u, 15418u, 15337u, 15402u, + 15238u, 15391u, 15329u, 15377u, + 15394u, 15369u, 15378u, 15362u, + 15333u, 15371u, 15326u, 15347u, + 15425u, 15378u, 15420u, 15345u, + 15361u, 15300u, 15371u, 15389u, + 15360u, 15452u, 15345u, 15364u, + 15502u, 15413u, 15339u, 15222u, + 15372u, 15429u, 15364u, 15388u, + 15315u, 15392u, 15510u, 15317u, + 15367u, 15439u, 15429u, 15357u, + 15439u, 15433u, 15345u, 15419u, + 15355u, 15308u, 15402u, 15238u, + 15422u, 15349u, 15337u, 15375u, + 15424u, 15340u, 15317u, 15417u, + 15442u, 15325u, 15269u, 15349u, + 15336u, 15412u, 15379u, 15408u, + 15338u, 15241u, 15349u, 15381u, + 15423u, 15306u, 15376u, 15445u, + 15381u, 15389u, 15309u, 15363u, + 15403u, 15417u, 15237u, 15480u, + 15429u, 15399u, 15327u, 15340u, + 15433u, 15374u, 15366u, 15331u, + 15310u, 15339u, 15334u, 15351u, + 15345u, 15295u, 15347u, 15413u, + 15304u, 15370u, 15385u, 15298u, + 15338u, 15409u, 15321u, 15360u, + 15370u, 15402u, 15399u, 15403u, + 15307u, 15239u, 15280u, 15366u, + 15381u, 15377u, 15346u, 15407u, + 15396u, 15419u, 15401u, 15369u, + 15321u, 15328u, 15389u, 15371u, + 15412u, 15338u, 15376u, 15394u, + 15369u, 15364u, 15426u, 15312u, + 15396u, 15448u, 15319u, 15288u, + 15392u, 15411u, 15297u, 15400u, + 15394u, 15386u, 15385u, 15333u, + 15361u, 15400u, 15401u, 15313u, + 15308u, 15414u, 15321u, 15399u, + 15392u, 15455u, 15454u, 15354u, + 15362u, 15340u, 15335u, 15398u, + 15263u, 15371u, 15377u, 15361u, + 15370u, 15274u, 15309u, 15408u, + 15391u, 15251u, 15441u, 15323u, + 15305u, 15366u, 15279u, 15363u, + 15364u, 15285u, 15380u, 15380u, + 15406u, 15473u, 15437u, 15422u, + 15351u, 15412u, 15385u, 15298u, + 15389u, 15370u, 15332u, 15291u, + 15492u, 15469u, 15382u, 15381u, + 15379u, 15365u, 15391u, 15408u, + 15412u, 15350u, 15307u, 15394u, + 15362u, 15402u, 15443u, 15364u, + 15367u, 15380u, 15363u, 15397u, + 15374u, 15283u, 15338u, 15248u, + 15394u, 15392u, 15416u, 15258u, + 15354u, 15356u, 15360u, 15433u, + 15526u, 15363u, 15405u, 15347u, + 15367u, 15384u, 15415u, 15366u, + 15316u, 15341u, 15422u, 15370u, + 15389u, 15404u, 15330u, 15232u, + 15372u, 15327u, 15302u, 15366u, + 15326u, 15385u, 15290u, 15360u, + 15300u, 15349u, 15456u, 15401u, + 15403u, 15338u, 15456u, 15487u, + 15371u, 15377u, 15350u, 15366u, + 15348u, 15444u, 15629u, 15422u, + 15363u, 15365u, 15384u, 15269u, + 15405u, 15383u, 15411u, 15417u, + 15376u, 15404u, 15347u, 15401u, + 15365u, 15387u, 15443u, 15380u, + 15303u, 15319u, 15434u, 15370u, + 15368u, 15297u, 15392u, 15504u, + 15419u, 15522u, 15432u, 15332u, + 15380u, 15386u, 15383u, 15284u, + 15370u, 15324u, 15413u, 15362u, + 15353u, 15363u, 15288u, 15400u, + 15367u, 15445u, 15385u, 15378u, + 15194u, 15349u, 15248u, 15323u, + 15315u, 15395u, 15384u, 15315u, + 15409u, 15420u, 15372u, 15343u, + 15428u, 15408u, 15352u, 15388u, + 15391u, 15402u, 15444u, 15384u, + 15409u, 15327u, 15279u, 15327u, + 15351u, 15349u, 15336u, 15418u, + 15372u, 15361u, 15408u, 15360u, + 15382u, 15389u, 15210u, 15409u, + 15399u, 15327u, 15352u, 15363u, + 15374u, 15355u, 15342u, 15313u, + 15287u, 15432u, 15478u, 15541u, + 15379u, 15393u, 15317u, 15470u, + 15375u, 15381u, 15385u, 15411u, + 15367u, 15368u, 15414u, 15305u, + 15531u, 15475u, 15418u, 15350u, + 15391u, 15376u, 15361u, 15326u, + 15362u, 15343u, 15287u, 15412u, + 15342u, 15276u, 15369u, 15306u, + 15423u, 15309u, 15532u, 15390u, + 15414u, 15378u, 15318u, 15432u, + 15361u, 15368u, 15364u, 15380u, + 15337u, 15386u, 15320u, 15328u, + 15395u, 15326u, 15243u, 15405u, + 15366u, 15415u, 15282u, 15401u, + 15411u, 15356u, 15418u, 15447u, + 15371u, 15295u, 15381u, 15293u, + 15298u, 15417u, 15326u, 15370u, + 15362u, 15393u, 15269u, 15385u, + 15387u, 15370u, 15389u, 15362u, + 15374u, 15309u, 15486u, 15347u, + 15273u, 15451u, 15407u, 15402u, + 15297u, 15371u, 15383u, 15331u, + 15395u, 15465u, 15319u, 15310u, + 15352u, 15362u, 15383u, 15321u, + 15400u, 15422u, 15470u, 15391u, + 15403u, 15437u, 15275u, 15394u, + 15355u, 15379u, 15371u, 15385u, + 15331u, 15397u, 15303u, 15370u, + 15492u, 15276u, 15501u, 15309u, + 15538u, 15350u, 15243u, 15307u, + 15349u, 15398u, 15464u, 15387u, + 15305u, 15318u, 15519u, 15259u, + 15289u, 15421u, 15331u, 15489u, + 15384u, 15362u, 15363u, 15409u, + 15227u, 15439u, 15445u, 15298u, + 15393u, 15376u, 15406u, 15411u, + 15400u, 15310u, 15362u, 15382u, + 15386u, 15464u, 15318u, 15420u, + 15286u, 15362u, 15338u, 15284u, + 15344u, 15372u, 15297u, 15392u, + 15294u, 15368u, 15376u, 15404u, + 15326u, 15335u, 15314u, 15268u, + 15405u, 15360u, 15435u, 15291u, + 15423u, 15290u, 15349u, 15377u, + 15274u, 15334u, 15430u, 15411u, + 15430u, 15402u, 15372u, 15339u, + 15356u, 15363u, 15364u, 15471u, + 15439u, 15373u, 15383u, 15487u, + 15354u, 15389u, 15343u, 15382u, + 15373u, 15405u, 15272u, 15377u, + 15383u, 15296u, 15423u, 15357u, + 15383u, 15270u, 15332u, 15321u, + 15361u, 15390u, 15377u, 15402u, + 15437u, 15338u, 15344u, 15351u, + 15430u, 15382u, 15259u, 15372u, + 15508u, 15390u, 15347u, 15353u, + 15426u, 15364u, 15327u, 15395u, + 15348u, 15369u, 15442u, 15273u, + 15285u, 15441u, 15411u, 15334u, + 15338u, 15314u, 15400u, 15364u, + 15359u, 15410u, 15320u, 15302u, + 15305u, 15495u, 15262u, 15226u, + 15390u, 15392u, 15350u, 15388u, + 15400u, 15360u, 15294u, 15326u, + 15434u, 15317u, 15320u, 15381u, + 15418u, 15275u, 15392u, 15507u, + 15356u, 15407u, 15375u, 15325u, + 15338u, 15398u, 15245u, 15367u, + 15425u, 15409u, 15384u, 15369u, + 15418u, 15310u, 15360u, 15351u, + 15349u, 15387u, 15417u, 15323u, + 15365u, 15311u, 15284u, 15377u, + 15364u, 15397u, 15361u, 15386u, + 15344u, 15272u, 15403u, 15461u, + 15219u, 15279u, 15217u, 15372u, + 15360u, 15364u, 15297u, 15471u, + 15338u, 15379u, 15281u, 15377u, + 15326u, 15280u, 15421u, 15498u, + 15325u, 15395u, 15436u, 15367u, + 15366u, 15417u, 15301u, 15573u, + 15354u, 15276u, 15358u, 15261u, + 15282u, 15328u, 15436u, 15402u, + 15466u, 15345u, 15223u, 15402u, + 15536u, 15327u, 15470u, 15323u, + 15334u, 15448u, 15299u, 15323u, + 15384u, 15381u, 15312u, 15422u, + 15408u, 15367u, 15440u, 15370u, + 15357u, 15365u, 15384u, 15437u, + 15375u, 15297u, 15300u, 15396u, + 15360u, 15400u, 15375u, 15338u, + 15398u, 15329u, 15405u, 15162u, + 15542u, 15404u, 15272u, 15406u, + 15420u, 15373u, 15339u, 15327u, + 15379u, 15382u, 15442u, 15441u, + 15383u, 15326u, 15407u, 15355u, + 15404u, 15342u, 15377u, 15361u, + 15270u, 15309u, 15480u, 15297u, + 15394u, 15307u, 15376u, 15407u, + 15324u, 15400u, 15436u, 15363u, + 15324u, 15508u, 15320u, 15369u, + 15376u, 15328u, 15371u, 15381u, + 15253u, 15414u, 15328u, 15284u, + 15367u, 15326u, 15365u, 15512u, + 15356u, 15344u, 15419u, 15376u, + 15392u, 15405u, 15392u, 15393u, + 15410u, 15325u, 15267u, 15388u, + 15402u, 15281u, 15255u, 15286u, + 15318u, 15363u, 15362u, 15368u, + 15342u, 15313u, 15353u, 15288u, + 15366u, 15367u, 15391u, 15281u, + 15344u, 15319u, 15365u, 15349u, + 15295u, 15320u, 15370u, 15261u, + 15370u, 15362u, 15525u, 15309u, + 15439u, 15361u, 15367u, 15385u, + 15371u, 15390u, 15396u, 15358u, + 15388u, 15279u, 15250u, 15484u, + 15259u, 15339u, 15413u, 15326u, + 15494u, 15350u, 15323u, 15338u, + 15395u, 15371u, 15339u, 15393u, + 15389u, 15299u, 15386u, 15427u, + 15397u, 15363u, 15390u, 15307u, + 15377u, 15250u, 15467u, 15382u, + 15351u, 15401u, 15313u, 15291u, + 15332u, 15305u, 15340u, 15447u, + 15298u, 15391u, 15455u, 15367u, + 15282u, 15438u, 15338u, 15320u, + 15428u, 15391u, 15394u, 15491u, + 15365u, 15373u, 15425u, 15436u, + 15365u, 15455u, 15366u, 15334u, + 15398u, 15388u, 15360u, 15387u, + 15310u, 15302u, 15367u, 15361u, + 15349u, 15403u, 15296u, 15389u, + 15458u, 15438u, 15367u, 15403u, + 15385u, 15360u, 15327u, 15527u, + 15394u, 15425u, 15324u, 15387u, + 15376u, 15476u, 15378u, 15391u, + 15397u, 15404u, 15387u, 15402u, + 15242u, 15389u, 15393u, 15363u, + 15376u, 15327u, 15335u, 15295u, + 15326u, 15395u, 15349u, 15342u, + 15283u, 15434u, 15453u, 15449u, + 15327u, 15222u, 15381u, 15303u, + 15330u, 15364u, 15338u, 15409u, + 15337u, 15349u, 15369u, 15363u, + 15382u, 15339u, 15385u, 15261u, + 15373u, 15442u, 15401u, 15361u, + 15289u, 15362u, 15325u, 15332u, + 15405u, 15369u, 15350u, 15404u, + 15364u, 15285u, 15383u, 15403u, + 15384u, 15355u, 15292u, 15263u, + 15382u, 15341u, 15389u, 15422u, + 15358u, 15419u, 15333u, 15418u, + 15406u, 15425u, 15410u, 15374u, + 15290u, 15387u, 15425u, 15353u, + 15393u, 15289u, 15424u, 15365u, + 15314u, 15454u, 15342u, 15372u, + 15468u, 15533u, 15371u, 15384u, + 15374u, 15401u, 15321u, 15343u, + 15317u, 15424u, 15333u, 15386u, + 15369u, 15334u, 15320u, 15337u, + 15380u, 15428u, 15386u, 15341u, + 15442u, 15287u, 15469u, 15346u, + 15438u, 15341u, 15294u, 15325u, + 15379u, 15305u, 15365u, 15405u, + 15314u, 15377u, 15338u, 15381u, + 15396u, 15344u, 15373u, 15320u, + 15417u, 15277u, 15402u, 15439u, + 15310u, 15466u, 15309u, 15406u, + 15396u, 15345u, 15361u, 15327u, + 15361u, 15308u, 15336u, 15254u, + 15397u, 15388u, 15374u, 15498u, + 15332u, 15386u, 15441u, 15276u, + 15359u, 15322u, 15256u, 15387u, + 15392u, 15405u, 15370u, 15361u, + 15361u, 15434u, 15400u, 15364u, + 15330u, 15388u, 15257u, 15344u, + 15362u, 15440u, 15308u, 15368u, + 15369u, 15347u, 15430u, 15341u, + 15349u, 15366u, 15381u, 15450u, + 15326u, 15320u, 15306u, 15367u, + 15333u, 15387u, 15341u, 15360u, + 15394u, 15420u, 15415u, 15275u, + 15296u, 15466u, 15410u, 15359u, + 15375u, 15386u, 15281u, 15310u, + 15366u, 15310u, 15329u, 15314u, + 15327u, 15393u, 15363u, 15415u, + 15449u, 15392u, 15341u, 15465u, + 15443u, 15378u, 15361u, 15308u, + 15355u, 15325u, 15296u, 15325u, + 15464u, 15416u, 15320u, 15367u, + 15405u, 15434u, 15400u, 15371u, + 15420u, 15349u, 15414u, 15355u, + 15360u, 15415u, 15332u, 15488u, + 15308u, 15403u, 15364u, 15286u, + 15420u, 15321u, 15388u, 15379u, + 15308u, 15367u, 15489u, 15442u, + 15387u, 15376u, 15380u, 15364u, + 15364u, 15447u, 15336u, 15404u, + 15483u, 15372u, 15414u, 15358u, + 15379u, 15245u, 15370u, 15294u, + 15485u, 15362u, 15373u, 15375u, + 15350u, 15371u, 15374u, 15384u, + 15440u, 15395u, 15374u, 15281u, + 15303u, 15316u, 15494u, 15389u, + 15403u, 15394u, 15364u, 15269u, + 15430u, 15399u, 15416u, 15384u, + 15431u, 15488u, 15367u, 15380u, + 15437u, 15313u, 15384u, 15389u, + 15326u, 15397u, 15337u, 15374u, + 15390u, 15335u, 15306u, 15281u, + 15295u, 15382u, 15444u, 15366u, + 15329u, 15359u, 15405u, 15377u, + 15354u, 15449u, 15421u, 15423u, + 15358u, 15393u, 15355u, 15401u, + 15343u, 15351u, 15255u, 15424u, + 15362u, 15282u, 15372u, 15290u, + 15407u, 15335u, 15308u, 15290u, + 15388u, 15357u, 15406u, 15322u, + 15348u, 15376u, 15521u, 15504u, + 15337u, 15387u, 15312u, 15277u, + 15269u, 15316u, 15348u, 15466u, + 15393u, 15388u, 15398u, 15400u, + 15433u, 15301u, 15335u, 15407u, + 15435u, 15331u, 15313u, 15449u, + 15395u, 15411u, 15366u, 15359u, + 15369u, 15421u, 15290u, 15390u, + 15377u, 15421u, 15398u, 15377u, + 15312u, 15394u, 15395u, 15364u, + 15496u, 15286u, 15459u, 15352u, + 15525u, 15297u, 15394u, 15502u, + 15377u, 15360u, 15452u, 15390u, + 15375u, 15416u, 15338u, 15392u, + 15348u, 15361u, 15354u, 15422u, + 15333u, 15503u, 15312u, 15321u, + 15408u, 15491u, 15544u, 15271u, + 15357u, 15420u, 15376u, 15362u, + 15408u, 15494u, 15277u, 15330u, + 15412u, 15408u, 15369u, 15341u, + 15412u, 15376u, 15367u, 15415u, + 15274u, 15397u, 15371u, 15295u, + 15381u, 15262u, 15437u, 15361u, + 15384u, 15393u, 15436u, 15449u, + 15360u, 15324u, 15244u, 15319u, + 15350u, 15422u, 15316u, 15396u, + 15304u, 15403u, 15348u, 15372u, + 15328u, 15349u, 15361u, 15374u, + 15443u, 15432u, 15384u, 15370u, + 15360u, 15262u, 15340u, 15391u, + 15316u, 15385u, 15335u, 15374u, + 15422u, 15372u, 15398u, 15382u, + 15448u, 15298u, 15379u, 15269u, + 15289u, 15400u, 15377u, 15422u, + 15216u, 15318u, 15425u, 15372u, + 15319u, 15362u, 15327u, 15378u, + 15426u, 15350u, 15290u, 15366u, + 15402u, 15289u, 15383u, 15436u, + 15443u, 15424u, 15346u, 15403u, + 15392u, 15364u, 15299u, 15363u, + 15426u, 15337u, 15253u, 15403u, + 15402u, 15507u, 15415u, 15425u, + 15373u, 15307u, 15488u, 15339u, + 15296u, 15377u, 15383u, 15462u, + 15471u, 15355u, 15456u, 15352u, + 15454u, 15251u, 15447u, 15300u, + 15425u, 15276u, 15377u, 15382u, + 15398u, 15376u, 15297u, 15385u, + 15394u, 15373u, 15295u, 15383u, + 15383u, 15491u, 15395u, 15446u, + 15369u, 15365u, 15447u, 15639u, + 15348u, 15327u, 15322u, 15307u, + 15435u, 15316u, 15367u, 15308u, + 15329u, 15390u, 15283u, 15386u, + 15326u, 15407u, 15383u, 15365u, + 15323u, 15384u, 15426u, 15412u, + 15373u, 15490u, 15374u, 15308u, + 15498u, 15304u, 15296u, 15304u, + 15278u, 15324u, 15369u, 15355u, + 15334u, 15330u, 15376u, 15391u, + 15299u, 15358u, 15411u, 15384u, + 15267u, 15317u, 15307u, 15414u, + 15411u, 15276u, 15357u, 15283u, + 15393u, 15409u, 15367u, 15340u, + 15386u, 15389u, 15366u, 15273u, + 15316u, 15217u, 15331u, 15360u, + 15429u, 15376u, 15374u, 15322u, + 15300u, 15373u, 15402u, 15337u, + 15362u, 15356u, 15368u, 15376u, + 15380u, 15291u, 15313u, 15338u, + 15328u, 15354u, 15355u, 15230u, + 15401u, 15388u, 15398u, 15355u, + 15438u, 15481u, 15320u, 15413u, + 15279u, 15437u, 15366u, 15342u, + 15334u, 15306u, 15368u, 15323u, + 15357u, 15404u, 15375u, 15287u, + 15311u, 15361u, 15223u, 15359u, + 15370u, 15407u, 15416u, 15335u, + 15314u, 15451u, 15360u, 15391u, + 15343u, 15396u, 15362u, 15484u, + 15423u, 15394u, 15345u, 15439u, + 15384u, 15356u, 15282u, 15379u, + 15418u, 15490u, 15323u, 15409u, + 15338u, 15464u, 15399u, 15370u, + 15337u, 15275u, 15339u, 15384u, + 15392u, 15336u, 15381u, 15346u, + 15343u, 15417u, 15392u, 15387u, + 15407u, 15413u, 15361u, 15372u, + 15307u, 15361u, 15426u, 15393u, + 15482u, 15409u, 15393u, 15366u, + 15395u, 15475u, 15320u, 15432u, + 15311u, 15478u, 15424u, 15262u, + 15510u, 15377u, 15404u, 15385u, + 15349u, 15379u, 15318u, 15274u, + 15294u, 15345u, 15322u, 15446u, + 15236u, 15409u, 15392u, 15367u, + 15411u, 15500u, 15416u, 15269u, + 15329u, 15468u, 15345u, 15264u, + 15319u, 15392u, 15410u, 15500u, + 15361u, 15321u, 15374u, 15372u, + 15397u, 15387u, 15449u, 15411u, + 15452u, 15310u, 15342u, 15401u, + 15325u, 15325u, 15306u, 15406u, + 15394u, 15361u, 15298u, 15364u, + 15508u, 15417u, 15390u, 15456u, + 15383u, 15385u, 15369u, 15330u, + 15343u, 15377u, 15424u, 15447u, + 15270u, 15444u, 15400u, 15411u, + 15316u, 15283u, 15354u, 15398u, + 15314u, 15355u, 15408u, 15384u, + 15323u, 15438u, 15305u, 15303u, + 15447u, 15413u, 15464u, 15346u, + 15393u, 15515u, 15321u, 15436u, + 15326u, 15367u, 15346u, 15353u, + 15407u, 15360u, 15342u, 15418u, + 15490u, 15328u, 15288u, 15311u, + 15398u, 15413u, 15352u, 15306u, + 15406u, 15374u, 15281u, 15400u, + 15423u, 15276u, 15340u, 15427u, + 15295u, 15402u, 15365u, 15456u, + 15291u, 15341u, 15243u, 15363u, + 15321u, 15379u, 15298u, 15414u, + 15282u, 15404u, 15372u, 15377u, + 15372u, 15332u, 15385u, 15295u, + 15440u, 15362u, 15392u, 15483u, + 15401u, 15377u, 15424u, 15380u, + 15339u, 15304u, 15442u, 15371u, + 15308u, 15331u, 15364u, 15303u, + 15296u, 15347u, 15262u, 15366u, + 15313u, 15386u, 15344u, 15427u, + 15321u, 15387u, 15304u, 15337u, + 15273u, 15392u, 15351u, 15398u, + 15361u, 15390u, 15351u, 15412u, + 15350u, 15417u, 15399u, 15349u, + 15365u, 15343u, 15297u, 15543u, + 15272u, 15316u, 15322u, 15407u, + 15344u, 15373u, 15348u, 15453u, + 15372u, 15307u, 15300u, 15412u, + 15317u, 15380u, 15412u, 15289u, + 15432u, 15403u, 15363u, 15372u, + 15392u, 15301u, 15321u, 15326u, + 15360u, 15453u, 15278u, 15429u, + 15366u, 15274u, 15459u, 15370u, + 15376u, 15315u, 15387u, 15383u, + 15368u, 15373u, 15373u, 15324u, + 15304u, 15341u, 15318u, 15361u, + 15313u, 15320u, 15363u, 15369u, + 15471u, 15351u, 15476u, 15415u, + 15339u, 15380u, 15318u, 15322u, + 15353u, 15258u, 15368u, 15430u, + 15377u, 15327u, 15387u, 15251u, + 15446u, 15380u, 15324u, 15391u, + 15457u, 15256u, 15316u, 15433u, + 15410u, 15386u, 15427u, 15446u, + 15380u, 15310u, 15417u, 15412u, + 15375u, 15365u, 15369u, 15323u, + 15363u, 15330u, 15352u, 15325u, + 15359u, 15360u, 15497u, 15361u, + 15352u, 15458u, 15413u, 15386u, + 15367u, 15325u, 15379u, 15452u, + 15464u, 15420u, 15359u, 15326u, + 15361u, 15393u, 15417u, 15403u, + 15429u, 15362u, 15383u, 15262u, + 15367u, 15394u, 15418u, 15351u, + 15360u, 15450u, 15370u, 15314u, + 15297u, 15362u, 15349u, 15390u, + 15365u, 15391u, 15319u, 15370u, + 15286u, 15431u, 15399u, 15389u, + 15331u, 15274u, 15425u, 15374u, + 15308u, 15269u, 15374u, 15350u, + 15347u, 15335u, 15280u, 15302u, + 15285u, 15424u, 15394u, 15297u, + 15290u, 15255u, 15419u, 15368u, + 15344u, 15376u, 15380u, 15332u, + 15383u, 15375u, 15305u, 15304u, + 15370u, 15412u, 15312u, 15352u, + 15398u, 15464u, 15384u, 15354u, + 15423u, 15337u, 15310u, 15427u, + 15363u, 15369u, 15459u, 15318u, + 15306u, 15396u, 15387u, 15314u, + 15361u, 15366u, 15320u, 15374u, + 15328u, 15424u, 15354u, 15374u, + 15333u, 15398u, 15372u, 15360u, + 15344u, 15408u, 15379u, 15384u, + 15306u, 15399u, 15397u, 15239u, + 15335u, 15377u, 15372u, 15406u, + 15283u, 15378u, 15494u, 15415u, + 15338u, 15360u, 15350u, 15403u, + 15347u, 15399u, 15380u, 15276u, + 15248u, 15394u, 15289u, 15310u, + 15469u, 15419u, 15280u, 15408u, + 15379u, 15396u, 15385u, 15307u, + 15381u, 15372u, 15358u, 15456u, + 15524u, 15309u, 15395u, 15368u, + 15398u, 15386u, 15385u, 15382u, + 15428u, 15384u, 15307u, 15423u, + 15389u, 15346u, 15401u, 15415u, + 15460u, 15386u, 15351u, 15295u, + 15364u, 15363u, 15347u, 15316u, + 15269u, 15613u, 15454u, 15350u, + 15443u, 15372u, 15358u, 15375u, + 15394u, 15266u, 15289u, 15283u, + 15403u, 15439u, 15393u, 15300u, + 15338u, 15372u, 15327u, 15346u, + 15343u, 15395u, 15368u, 15326u, + 15427u, 15369u, 15434u, 15346u, + 15366u, 15413u, 15296u, 15290u, + 15413u, 15420u, 15278u, 15373u, + 15433u, 15391u, 15359u, 15370u, + 15320u, 15359u, 15361u, 15419u, + 15376u, 15364u, 15387u, 15352u, + 15366u, 15389u, 15258u, 15396u, + 15401u, 15342u, 15431u, 15355u, + 15391u, 15420u, 15422u, 15314u, + 15423u, 15437u, 15354u, 15377u, + 15421u, 15336u, 15464u, 15427u, + 15361u, 15358u, 15401u, 15332u, + 15377u, 15443u, 15382u, 15260u, + 15343u, 15405u, 15391u, 15388u, + 15355u, 15397u, 15510u, 15408u, + 15314u, 15379u, 15375u, 15306u, + 15266u, 15329u, 15306u, 15475u, + 15477u, 15322u, 15332u, 15291u, + 15336u, 15208u, 15484u, 15276u, + 15370u, 15369u, 15353u, 15381u, + 15512u, 15366u, 15404u, 15325u, + 15276u, 15329u, 15298u, 15531u, + 15287u, 15383u, 15391u, 15310u, + 15350u, 15447u, 15314u, 15434u, + 15453u, 15365u, 15368u, 15369u, + 15323u, 15302u, 15396u, 15263u, + 15419u, 15368u, 15476u, 15426u, + 15227u, 15398u, 15313u, 15320u, + 15420u, 15379u, 15282u, 15361u, + 15401u, 15390u, 15353u, 15268u, + 15387u, 15352u, 15327u, 15354u, + 15363u, 15401u, 15344u, 15322u, + 15388u, 15296u, 15378u, 15394u, + 15318u, 15271u, 15338u, 15479u, + 15305u, 15367u, 15401u, 15350u, + 15363u, 15398u, 15325u, 15529u, + 15374u, 15304u, 15330u, 15379u, + 15347u, 15342u, 15377u, 15335u, + 15379u, 15324u, 15336u, 15384u, + 15396u, 15288u, 15363u, 15358u, + 15362u, 15371u, 15390u, 15306u, + 15274u, 15264u, 15320u, 15317u, + 15367u, 15416u, 15385u, 15283u, + 15277u, 15338u, 15380u, 15385u, + 15284u, 15477u, 15407u, 15377u, + 15379u, 15366u, 15393u, 15429u, + 15420u, 15364u, 15325u, 15337u, + 15361u, 15271u, 15309u, 15254u, + 15276u, 15312u, 15328u, 15453u, + 15468u, 15362u, 15260u, 15249u, + 15406u, 15386u, 15397u, 15348u, + 15387u, 15347u, 15363u, 15368u, + 15316u, 15257u, 15283u, 15283u, + 15348u, 15387u, 15389u, 15272u, + 15361u, 15341u, 15252u, 15362u, + 15368u, 15394u, 15299u, 15381u, + 15544u, 15365u, 15425u, 15355u, + 15315u, 15334u, 15335u, 15392u, + 15387u, 15379u, 15331u, 15281u, + 15326u, 15318u, 15322u, 15355u, + 15371u, 15323u, 15443u, 15325u, + 15298u, 15365u, 15374u, 15372u, + 15271u, 15471u, 15399u, 15379u, + 15316u, 15343u, 15405u, 15358u, + 15427u, 15330u, 15334u, 15321u, + 15398u, 15405u, 15359u, 15380u, + 15438u, 15396u, 15357u, 15409u, + 15275u, 15319u, 15268u, 15414u, + 15347u, 15459u, 15378u, 15248u, + 15368u, 15344u, 15378u, 15395u, + 15332u, 15393u, 15327u, 15389u, + 15393u, 15332u, 15434u, 15367u, + 15417u, 15460u, 15411u, 15309u, + 15375u, 15278u, 15426u, 15364u, + 15450u, 15411u, 15373u, 15289u, + 15302u, 15372u, 15361u, 15374u, + 15311u, 15377u, 15390u, 15416u, + 15347u, 15437u, 15498u, 15367u, + 15380u, 15438u, 15278u, 15444u, + 15268u, 15422u, 15361u, 15525u, + 15333u, 15405u, 15393u, 15404u, + 15352u, 15414u, 15471u, 15254u, + 15389u, 15425u, 15351u, 15391u, + 15333u, 15350u, 15518u, 15370u, + 15464u, 15451u, 15394u, 15335u, + 15327u, 15347u, 15322u, 15455u, + 15263u, 15477u, 15379u, 15447u, + 15310u, 15390u, 15366u, 15406u, + 15455u, 15338u, 15388u, 15361u, + 15276u, 15292u, 15379u, 15397u, + 15426u, 15338u, 15332u, 15338u, + 15420u, 15362u, 15425u, 15409u, + 15381u, 15263u, 15472u, 15317u, + 15511u, 15344u, 15356u, 15286u, + 15347u, 15377u, 15297u, 15489u, + 15393u, 15333u, 15352u, 15393u, + 15367u, 15355u, 15409u, 15421u, + 15300u, 15363u, 15321u, 15457u, + 15352u, 15438u, 15385u, 15363u, + 15380u, 15338u, 15354u, 15361u, + 15324u, 15370u, 15244u, 15350u, + 15419u, 15371u, 15278u, 15406u, + 15379u, 15432u, 15379u, 15329u, + 15419u, 15366u, 15345u, 15454u, + 15345u, 15334u, 15398u, 15478u, + 15382u, 15277u, 15367u, 15384u, + 15360u, 15367u, 15325u, 15377u, + 15416u, 15420u, 15402u, 15341u, + 15376u, 15353u, 15296u, 15351u, + 15292u, 15423u, 15395u, 15362u, + 15287u, 15386u, 15288u, 15376u, + 15388u, 15387u, 15432u, 15369u, + 15448u, 15380u, 15317u, 15405u, + 15409u, 15395u, 15423u, 15443u, + 15398u, 15384u, 15381u, 15354u, + 15292u, 15350u, 15371u, 15485u, + 15305u, 15313u, 15381u, 15423u, + 15352u, 15320u, 15389u, 15337u, + 15317u, 15354u, 15354u, 15332u, + 15241u, 15342u, 15395u, 15339u, + 15353u, 15304u, 15274u, 15391u, + 15314u, 15273u, 15296u, 15383u, + 15386u, 15277u, 15355u, 15354u, + 15404u, 15410u, 15278u, 15355u, + 15389u, 15383u, 15262u, 15373u, + 15228u, 15451u, 15280u, 15402u, + 15290u, 15308u, 15366u, 15444u, + 15360u, 15440u, 15468u, 15298u, + 15371u, 15335u, 15372u, 15391u, + 15435u, 15314u, 15219u, 15282u, + 15401u, 15408u, 15378u, 15365u, + 15397u, 15412u, 15335u, 15367u, + 15286u, 15304u, 15380u, 15423u, + 15320u, 15299u, 15282u, 15519u, + 15422u, 15433u, 15410u, 15381u, + 15395u, 15332u, 15440u, 15298u, + 15610u, 15488u, 15353u, 15341u, + 15357u, 15280u, 15439u, 15441u, + 15369u, 15334u, 15272u, 15385u, + 15445u, 15439u, 15313u, 15392u, + 15483u, 15331u, 15344u, 15329u, + 15395u, 15396u, 15355u, 15392u, + 15309u, 15370u, 15366u, 15399u, + 15326u, 15378u, 15362u, 15384u, + 15367u, 15372u, 15337u, 15376u, + 15367u, 15365u, 15261u, 15390u, + 15321u, 15428u, 15362u, 15364u, + 15405u, 15376u, 15403u, 15380u, + 15356u, 15383u, 15450u, 15375u, + 15370u, 15358u, 15365u, 15399u, + 15322u, 15342u, 15314u, 15380u, + 15365u, 15312u, 15393u, 15412u, + 15375u, 15338u, 15324u, 15394u, + 15363u, 15384u, 15360u, 15414u, + 15380u, 15348u, 15376u, 15406u, + 15290u, 15349u, 15352u, 15422u, + 15284u, 15329u, 15440u, 15374u, + 15311u, 15489u, 15438u, 15348u, + 15394u, 15328u, 15376u, 15304u, + 15403u, 15371u, 15333u, 15402u, + 15371u, 15290u, 15408u, 15391u, + 15258u, 15383u, 15366u, 15303u, + 15411u, 15442u, 15378u, 15340u, + 15365u, 15396u, 15442u, 15375u, + 15304u, 15325u, 15460u, 15401u, + 15491u, 15421u, 15409u, 15371u, + 15414u, 15377u, 15402u, 15337u, + 15310u, 15407u, 15300u, 15399u, + 15385u, 15363u, 15404u, 15340u, + 15299u, 15375u, 15287u, 15320u, + 15311u, 15359u, 15320u, 15381u, + 15370u, 15344u, 15397u, 15404u, + 15415u, 15266u, 15523u, 15284u, + 15466u, 15428u, 15391u, 15324u, + 15318u, 15474u, 15249u, 15391u, + 15386u, 15332u, 15364u, 15424u, + 15381u, 15363u, 15356u, 15308u, + 15327u, 15384u, 15334u, 15362u, + 15418u, 15355u, 15306u, 15328u, + 15400u, 15396u, 15361u, 15244u, + 15403u, 15362u, 15386u, 15300u, + 15280u, 15478u, 15352u, 15421u, + 15357u, 15404u, 15388u, 15276u, + 15375u, 15308u, 15453u, 15338u, + 15394u, 15310u, 15332u, 15343u, + 15350u, 15409u, 15421u, 15385u, + 15411u, 15407u, 15437u, 15276u, + 15378u, 15406u, 15360u, 15399u, + 15395u, 15470u, 15304u, 15403u, + 15386u, 15458u, 15425u, 15347u, + 15323u, 15401u, 15411u, 15470u, + 15419u, 15404u, 15417u, 15387u, + 15395u, 15369u, 15344u, 15370u, + 15473u, 15397u, 15371u, 15379u, + 15359u, 15389u, 15453u, 15288u, + 15488u, 15353u, 15422u, 15300u, + 15412u, 15332u, 15393u, 15409u, + 15387u, 15335u, 15443u, 15305u, + 15340u, 15351u, 15385u, 15370u, + 15456u, 15286u, 15385u, 15403u, + 15342u, 15366u, 15294u, 15426u, + 15353u, 15405u, 15269u, 15385u, + 15364u, 15376u, 15390u, 15400u, + 15392u, 15360u, 15399u, 15320u, + 15363u, 15372u, 15215u, 15264u, + 15411u, 15443u, 15321u, 15363u, + 15327u, 15321u, 15465u, 15405u, + 15362u, 15277u, 15494u, 15507u, + 15472u, 15402u, 15369u, 15383u, + 15326u, 15389u, 15264u, 15522u, + 15368u, 15349u, 15439u, 15491u, + 15379u, 15346u, 15290u, 15277u, + 15358u, 15324u, 15275u, 15346u, + 15380u, 15379u, 15413u, 15301u, + 15383u, 15272u, 15403u, 15363u, + 15386u, 15346u, 15259u, 15394u, + 15362u, 15285u, 15381u, 15320u, + 15360u, 15371u, 15327u, 15361u, + 15434u, 15446u, 15370u, 15365u, + 15414u, 15351u, 15376u, 15322u, + 15364u, 15330u, 15364u, 15314u, + 15257u, 15399u, 15466u, 15355u, + 15396u, 15428u, 15298u, 15467u, + 15285u, 15381u, 15255u, 15374u, + 15402u, 15370u, 15344u, 15296u, + 15426u, 15327u, 15273u, 15328u, + 15302u, 15450u, 15350u, 15409u, + 15408u, 15493u, 15381u, 15244u, + 15288u, 15370u, 15221u, 15365u, + 15374u, 15490u, 15350u, 15362u, + 15422u, 15389u, 15294u, 15377u, + 15384u, 15268u, 15416u, 15363u, + 15384u, 15360u, 15378u, 15363u, + 15334u, 15290u, 15372u, 15284u, + 15265u, 15368u, 15368u, 15454u, + 15343u, 15306u, 15387u, 15304u, + 15429u, 15329u, 15437u, 15367u, + 15288u, 15421u, 15327u, 15381u, + 15378u, 15415u, 15310u, 15373u, + 15386u, 15360u, 15557u, 15393u, + 15390u, 15381u, 15466u, 15294u, + 15294u, 15457u, 15397u, 15409u, + 15344u, 15500u, 15384u, 15387u, + 15377u, 15412u, 15345u, 15321u, + 15386u, 15394u, 15394u, 15330u, + 15388u, 15374u, 15343u, 15363u, + 15373u, 15377u, 15390u, 15388u, + 15338u, 15312u, 15410u, 15371u, + 15348u, 15342u, 15415u, 15422u, + 15285u, 15441u, 15338u, 15292u, + 15275u, 15416u, 15394u, 15380u, + 15307u, 15415u, 15295u, 15456u, + 15388u, 15422u, 15373u, 15275u, + 15361u, 15350u, 15390u, 15394u, + 15376u, 15440u, 15372u, 15324u, + 15362u, 15321u, 15389u, 15372u, + 15383u, 15308u, 15312u, 15401u, + 15372u, 15436u, 15330u, 15442u, + 15406u, 15355u, 15411u, 15426u, + 15472u, 15322u, 15289u, 15333u, + 15259u, 15424u, 15295u, 15430u, + 15365u, 15306u, 15394u, 15414u, + 15360u, 15405u, 15395u, 15364u, + 15363u, 15294u, 15401u, 15490u, + 15446u, 15415u, 15390u, 15379u, + 15423u, 15369u, 15364u, 15301u, + 15401u, 15329u, 15303u, 15309u, + 15401u, 15464u, 15384u, 15412u, + 15442u, 15368u, 15402u, 15365u, + 15363u, 15421u, 15401u, 15289u, + 15384u, 15515u, 15332u, 15332u, + 15393u, 15379u, 15252u, 15387u, + 15361u, 15470u, 15356u, 15296u, + 15334u, 15402u, 15406u, 15292u, + 15383u, 15316u, 15347u, 15261u, + 15328u, 15378u, 15258u, 15385u, + 15388u, 15373u, 15362u, 15403u, + 15334u, 15317u, 15341u, 15318u, + 15336u, 15365u, 15362u, 15346u, + 15490u, 15393u, 15362u, 15380u, + 15423u, 15350u, 15383u, 15333u, + 15376u, 15305u, 15279u, 15407u, + 15326u, 15337u, 15326u, 15237u, + 15348u, 15407u, 15338u, 15391u, + 15421u, 15322u, 15332u, 15408u, + 15355u, 15420u, 15436u, 15274u, + 15417u, 15318u, 15426u, 15340u, + 15310u, 15297u, 15341u, 15253u, + 15506u, 15304u, 15380u, 15431u, + 15376u, 15373u, 15392u, 15397u, + 15367u, 15280u, 15427u, 15387u, + 15280u, 15379u, 15434u, 15289u, + 15378u, 15340u, 15399u, 15374u, + 15443u, 15356u, 15385u, 15388u, + 15429u, 15385u, 15430u, 15401u, + 15351u, 15317u, 15374u, 15410u, + 15415u, 15360u, 15305u, 15294u, + 15444u, 15419u, 15253u, 15369u, + 15356u, 15270u, 15375u, 15371u, + 15377u, 15349u, 15292u, 15343u, + 15349u, 15508u, 15440u, 15401u, + 15412u, 15349u, 15447u, 15303u, + 15362u, 15412u, 15310u, 15399u, + 15407u, 15307u, 15362u, 15382u, + 15407u, 15223u, 15376u, 15416u, + 15341u, 15374u, 15291u, 15332u, + 15405u, 15416u, 15338u, 15417u, + 15371u, 15391u, 15329u, 15493u, + 15397u, 15377u, 15369u, 15465u, + 15340u, 15357u, 15383u, 15502u, + 15348u, 15324u, 15299u, 15338u, + 15357u, 15401u, 15410u, 15441u, + 15510u, 15353u, 15381u, 15389u, + 15373u, 15420u, 15401u, 15327u, + 15366u, 15369u, 15358u, 15355u, + 15439u, 15383u, 15376u, 15420u, + 15278u, 15381u, 15335u, 15406u, + 15372u, 15414u, 15405u, 15368u, + 15335u, 15376u, 15359u, 15367u, + 15402u, 15355u, 15364u, 15360u, + 15355u, 15415u, 15268u, 15519u, + 15313u, 15389u, 15350u, 15392u, + 15382u, 15389u, 15445u, 15326u, + 15301u, 15278u, 15431u, 15335u, + 15241u, 15371u, 15286u, 15400u, + 15316u, 15253u, 15315u, 15393u, + 15393u, 15394u, 15407u, 15439u, + 15332u, 15388u, 15347u, 15317u, + 15405u, 15323u, 15362u, 15414u, + 15421u, 15369u, 15380u, 15391u, + 15253u, 15395u, 15397u, 15368u, + 15272u, 15381u, 15300u, 15349u, + 15418u, 15412u, 15322u, 15367u, + 15288u, 15326u, 15455u, 15423u, + 15433u, 15385u, 15377u, 15355u, + 15395u, 15298u, 15319u, 15366u, + 15379u, 15270u, 15454u, 15368u, + 15311u, 15424u, 15338u, 15216u, + 15433u, 15397u, 15332u, 15403u, + 15276u, 15359u, 15272u, 15350u, + 15387u, 15470u, 15360u, 15355u, + 15376u, 15363u, 15440u, 15394u, + 15439u, 15429u, 15333u, 15378u, + 15497u, 15321u, 15365u, 15400u, + 15363u, 15388u, 15385u, 15391u, + 15332u, 15363u, 15363u, 15389u, + 15351u, 15414u, 15403u, 15411u, + 15415u, 15374u, 15366u, 15384u, + 15384u, 15307u, 15435u, 15464u, + 15327u, 15363u, 15347u, 15451u, + 15394u, 15376u, 15364u, 15381u, + 15371u, 15357u, 15383u, 15433u, + 15455u, 15270u, 15410u, 15273u, + 15303u, 15440u, 15330u, 15357u, + 15367u, 15326u, 15394u, 15320u, + 15331u, 15426u, 15367u, 15284u, + 15256u, 15342u, 15370u, 15362u, + 15405u, 15310u, 15310u, 15388u, + 15390u, 15337u, 15330u, 15375u, + 15295u, 15330u, 15422u, 15394u, + 15329u, 15307u, 15341u, 15343u, + 15398u, 15280u, 15406u, 15395u, + 15333u, 15387u, 15297u, 15391u, + 15402u, 15337u, 15299u, 15422u, + 15363u, 15261u, 15308u, 15418u, + 15345u, 15370u, 15362u, 15439u, + 15401u, 15356u, 15344u, 15392u, + 15395u, 15463u, 15398u, 15366u, + 15485u, 15402u, 15405u, 15366u, + 15427u, 15382u, 15345u, 15382u, + 15390u, 15295u, 15339u, 15369u, + 15254u, 15418u, 15397u, 15427u, + 15397u, 15362u, 15419u, 15334u, + 15398u, 15229u, 15333u, 15287u, + 15363u, 15390u, 15330u, 15345u, + 15331u, 15370u, 15269u, 15317u, + 15346u, 15367u, 15420u, 15412u, + 15377u, 15394u, 15388u, 15423u, + 15304u, 15366u, 15354u, 15425u, + 15246u, 15365u, 15295u, 15381u, + 15274u, 15304u, 15350u, 15242u, + 15374u, 15373u, 15330u, 15345u, + 15316u, 15425u, 15370u, 15337u, + 15377u, 15369u, 15251u, 15350u, + 15366u, 15400u, 15390u, 15409u, + 15295u, 15344u, 15308u, 15391u, + 15261u, 15394u, 15403u, 15395u, + 15247u, 15360u, 15375u, 15370u, + 15384u, 15452u, 15347u, 15336u, + 15340u, 15301u, 15454u, 15427u, + 15443u, 15391u, 15390u, 15348u, + 15361u, 15368u, 15459u, 15454u, + 15336u, 15336u, 15363u, 15390u, + 15422u, 15294u, 15358u, 15240u, + 15525u, 15430u, 15329u, 15287u, + 15375u, 15383u, 15363u, 15320u, + 15377u, 15363u, 15268u, 15350u, + 15402u, 15405u, 15386u, 15319u, + 15345u, 15363u, 15366u, 15239u, + 15371u, 15398u, 15367u, 15380u, + 15431u, 15362u, 15287u, 15369u, + 15309u, 15365u, 15301u, 15355u, + 15312u, 15502u, 15367u, 15380u, + 15291u, 15457u, 15390u, 15402u, + 15435u, 15366u, 15333u, 15259u, + 15396u, 15346u, 15330u, 15303u, + 15360u, 15429u, 15306u, 15357u, + 15388u, 15365u, 15300u, 15353u, + 15384u, 15327u, 15280u, 15290u, + 15420u, 15361u, 15366u, 15361u, + 15379u, 15358u, 15342u, 15312u, + 15299u, 15351u, 15378u, 15409u, + 15418u, 15368u, 15301u, 15495u, + 15281u, 15304u, 15439u, 15349u, + 15300u, 15280u, 15371u, 15416u, + 15369u, 15371u, 15407u, 15405u, + 15298u, 15369u, 15466u, 15386u, + 15378u, 15435u, 15348u, 15388u, + 15403u, 15269u, 15305u, 15290u, + 15405u, 15289u, 15397u, 15375u, + 15302u, 15407u, 15315u, 15374u, + 15341u, 15301u, 15369u, 15418u, + 15302u, 15496u, 15345u, 15347u, + 15267u, 15408u, 15380u, 15336u, + 15542u, 15292u, 15385u, 15321u, + 15398u, 15401u, 15189u, 15303u, + 15400u, 15356u, 15294u, 15411u, + 15377u, 15358u, 15400u, 15361u, + 15317u, 15364u, 15323u, 15475u, + 15385u, 15442u, 15402u, 15297u, + 15361u, 15397u, 15260u, 15418u, + 15340u, 15386u, 15391u, 15318u, + 15407u, 15377u, 15382u, 15405u, + 15358u, 15437u, 15339u, 15300u, + 15366u, 15414u, 15400u, 15424u, + 15421u, 15353u, 15414u, 15383u, + 15431u, 15376u, 15358u, 15397u, + 15365u, 15426u, 15392u, 15368u, + 15386u, 15271u, 15372u, 15403u, + 15272u, 15316u, 15375u, 15374u, + 15392u, 15347u, 15369u, 15403u, + 15265u, 15371u, 15408u, 15416u, + 15357u, 15439u, 15413u, 15451u, + 15306u, 15361u, 15372u, 15380u, + 15295u, 15421u, 15363u, 15308u, + 15374u, 15267u, 15375u, 15432u, + 15300u, 15401u, 15315u, 15392u, + 15380u, 15346u, 15442u, 15401u, + 15414u, 15363u, 15278u, 15371u, + 15415u, 15365u, 15425u, 15309u, + 15400u, 15365u, 15422u, 15419u, + 15295u, 15360u, 15334u, 15296u, + 15262u, 15410u, 15424u, 15361u, + 15369u, 15305u, 15432u, 15416u, + 15431u, 15371u, 15284u, 15308u, + 15382u, 15314u, 15358u, 15337u, + 15316u, 15373u, 15400u, 15491u, + 15359u, 15341u, 15311u, 15340u +}; + +const uint8 LangIdNNParams::kEmbeddingsWeights1[] = { + 96u, 188u, 120u, 112u, + 147u, 89u, 255u, 35u, + 75u, 178u, 79u, 119u, + 215u, 162u, 136u, 12u, + 190u, 255u, 58u, 118u, + 68u, 42u, 237u, 107u, + 51u, 141u, 144u, 132u, + 238u, 144u, 144u, 25u, + 117u, 255u, 131u, 107u, + 136u, 184u, 60u, 198u, + 122u, 24u, 166u, 71u, + 183u, 96u, 177u, 97u, + 93u, 157u, 38u, 162u, + 1u, 45u, 225u, 64u, + 64u, 187u, 187u, 171u, + 146u, 21u, 143u, 161u, + 218u, 74u, 33u, 174u, + 112u, 99u, 176u, 113u, + 140u, 105u, 1u, 64u, + 81u, 198u, 16u, 90u, + 85u, 145u, 126u, 56u, + 154u, 109u, 255u, 114u, + 191u, 122u, 48u, 150u, + 141u, 142u, 206u, 126u, + 234u, 164u, 224u, 20u, + 220u, 151u, 192u, 166u, + 111u, 1u, 72u, 96u, + 211u, 255u, 167u, 90u, + 157u, 92u, 55u, 255u, + 43u, 70u, 159u, 38u, + 179u, 210u, 164u, 138u, + 165u, 97u, 116u, 7u, + 157u, 146u, 176u, 0u, + 81u, 155u, 110u, 227u, + 152u, 185u, 163u, 172u, + 142u, 133u, 127u, 219u, + 91u, 176u, 123u, 148u, + 255u, 85u, 159u, 164u, + 91u, 49u, 67u, 115u, + 225u, 129u, 118u, 47u, + 76u, 143u, 73u, 191u, + 1u, 129u, 57u, 162u, + 44u, 94u, 183u, 46u, + 97u, 118u, 151u, 211u, + 169u, 93u, 133u, 93u, + 108u, 89u, 177u, 100u, + 74u, 137u, 120u, 113u, + 229u, 169u, 255u, 70u, + 108u, 153u, 255u, 73u, + 84u, 149u, 195u, 123u, + 59u, 127u, 115u, 158u, + 201u, 79u, 173u, 152u, + 164u, 80u, 182u, 60u, + 137u, 124u, 104u, 216u, + 148u, 122u, 99u, 57u, + 20u, 44u, 152u, 255u, + 181u, 130u, 52u, 191u, + 158u, 0u, 211u, 104u, + 6u, 209u, 14u, 102u, + 162u, 144u, 169u, 138u, + 142u, 255u, 171u, 143u, + 44u, 123u, 77u, 147u, + 88u, 83u, 110u, 104u, + 51u, 96u, 171u, 228u, + 124u, 28u, 147u, 134u, + 164u, 146u, 235u, 137u, + 1u, 56u, 1u, 96u, + 195u, 218u, 215u, 197u, + 36u, 105u, 85u, 67u, + 86u, 191u, 35u, 221u, + 164u, 188u, 246u, 91u, + 60u, 1u, 184u, 211u, + 174u, 205u, 117u, 46u, + 122u, 176u, 94u, 255u, + 68u, 65u, 204u, 128u, + 215u, 198u, 57u, 73u, + 194u, 173u, 234u, 142u, + 213u, 127u, 255u, 201u, + 127u, 168u, 1u, 79u, + 95u, 57u, 215u, 182u, + 210u, 255u, 251u, 141u, + 91u, 151u, 140u, 239u, + 92u, 196u, 200u, 205u, + 9u, 175u, 149u, 125u, + 199u, 118u, 161u, 1u, + 35u, 217u, 96u, 124u, + 72u, 119u, 162u, 146u, + 135u, 171u, 195u, 12u, + 199u, 83u, 103u, 161u, + 126u, 151u, 139u, 140u, + 81u, 121u, 7u, 0u, + 178u, 160u, 163u, 113u, + 152u, 71u, 255u, 73u, + 240u, 124u, 183u, 32u, + 169u, 172u, 94u, 229u, + 210u, 173u, 220u, 145u, + 255u, 149u, 178u, 75u, + 189u, 85u, 128u, 84u, + 135u, 73u, 82u, 151u, + 49u, 174u, 84u, 105u, + 167u, 96u, 155u, 156u, + 179u, 70u, 120u, 123u, + 83u, 164u, 137u, 145u, + 255u, 125u, 81u, 108u, + 74u, 188u, 124u, 184u, + 105u, 91u, 141u, 87u, + 1u, 110u, 103u, 51u, + 171u, 98u, 149u, 71u, + 1u, 13u, 191u, 55u, + 90u, 55u, 81u, 72u, + 128u, 106u, 63u, 52u, + 12u, 75u, 165u, 220u, + 129u, 97u, 156u, 49u, + 162u, 113u, 95u, 183u, + 140u, 255u, 202u, 67u, + 41u, 106u, 51u, 196u, + 117u, 101u, 125u, 165u, + 82u, 74u, 188u, 0u, + 47u, 212u, 75u, 233u, + 162u, 92u, 193u, 67u, + 169u, 128u, 159u, 91u, + 108u, 222u, 1u, 192u, + 194u, 6u, 208u, 118u, + 140u, 223u, 171u, 48u, + 100u, 91u, 228u, 109u, + 181u, 208u, 170u, 146u, + 127u, 146u, 92u, 98u, + 142u, 110u, 136u, 255u, + 195u, 150u, 115u, 114u, + 1u, 146u, 80u, 56u, + 202u, 47u, 197u, 66u, + 104u, 85u, 136u, 123u, + 70u, 86u, 201u, 203u, + 98u, 20u, 21u, 152u, + 14u, 18u, 195u, 132u, + 56u, 46u, 255u, 98u, + 131u, 115u, 64u, 210u, + 156u, 151u, 157u, 109u, + 136u, 1u, 140u, 134u, + 127u, 211u, 130u, 78u, + 116u, 207u, 248u, 129u, + 1u, 63u, 103u, 71u, + 115u, 24u, 108u, 109u, + 171u, 122u, 136u, 101u, + 168u, 78u, 1u, 97u, + 120u, 122u, 164u, 221u, + 134u, 206u, 129u, 137u, + 166u, 123u, 123u, 187u, + 105u, 103u, 59u, 136u, + 124u, 64u, 160u, 127u, + 99u, 80u, 133u, 73u, + 112u, 255u, 161u, 204u, + 226u, 118u, 138u, 170u, + 112u, 150u, 167u, 135u, + 104u, 114u, 123u, 169u, + 95u, 128u, 0u, 170u, + 75u, 144u, 146u, 225u, + 81u, 190u, 137u, 116u, + 46u, 0u, 91u, 133u, + 158u, 97u, 174u, 129u, + 96u, 1u, 116u, 135u, + 143u, 137u, 188u, 118u, + 35u, 143u, 88u, 40u, + 98u, 107u, 78u, 199u, + 146u, 154u, 159u, 152u, + 139u, 7u, 1u, 179u, + 78u, 210u, 79u, 135u, + 118u, 57u, 155u, 201u, + 24u, 6u, 20u, 161u, + 149u, 138u, 147u, 167u, + 166u, 185u, 111u, 182u, + 63u, 89u, 161u, 255u, + 156u, 103u, 165u, 195u, + 100u, 83u, 30u, 9u, + 125u, 70u, 255u, 161u, + 110u, 137u, 151u, 164u, + 147u, 129u, 97u, 181u, + 68u, 211u, 1u, 146u, + 139u, 78u, 122u, 120u, + 118u, 150u, 104u, 132u, + 156u, 170u, 1u, 151u, + 39u, 94u, 150u, 106u, + 171u, 2u, 208u, 82u, + 124u, 91u, 203u, 144u, + 60u, 255u, 254u, 3u, + 178u, 160u, 207u, 206u, + 15u, 224u, 110u, 113u, + 230u, 117u, 158u, 77u, + 87u, 165u, 85u, 45u, + 187u, 77u, 154u, 76u, + 141u, 129u, 1u, 113u, + 67u, 212u, 124u, 56u, + 101u, 155u, 1u, 184u, + 114u, 219u, 81u, 179u, + 154u, 108u, 133u, 181u, + 98u, 122u, 115u, 122u, + 57u, 66u, 131u, 166u, + 62u, 160u, 168u, 1u, + 73u, 150u, 63u, 167u, + 41u, 171u, 91u, 237u, + 246u, 128u, 136u, 152u, + 109u, 108u, 106u, 255u, + 146u, 80u, 135u, 136u, + 133u, 110u, 101u, 65u, + 142u, 143u, 189u, 106u, + 160u, 215u, 62u, 92u, + 0u, 153u, 85u, 105u, + 181u, 144u, 221u, 123u, + 109u, 59u, 71u, 131u, + 186u, 163u, 33u, 132u, + 86u, 0u, 94u, 127u, + 92u, 51u, 77u, 149u, + 184u, 120u, 147u, 60u, + 101u, 148u, 151u, 116u, + 86u, 118u, 30u, 58u, + 116u, 114u, 125u, 255u, + 84u, 214u, 140u, 229u, + 22u, 172u, 76u, 75u, + 146u, 29u, 222u, 120u, + 247u, 255u, 126u, 85u, + 138u, 85u, 176u, 234u, + 255u, 190u, 157u, 16u, + 79u, 196u, 21u, 190u, + 179u, 169u, 123u, 86u, + 169u, 68u, 218u, 52u, + 213u, 146u, 1u, 205u, + 37u, 238u, 49u, 192u, + 137u, 181u, 101u, 77u, + 160u, 20u, 215u, 137u, + 120u, 133u, 0u, 143u, + 122u, 116u, 76u, 138u, + 38u, 58u, 69u, 196u, + 114u, 211u, 197u, 80u, + 92u, 255u, 106u, 84u, + 177u, 136u, 131u, 228u, + 217u, 187u, 159u, 131u, + 131u, 124u, 132u, 247u, + 1u, 57u, 138u, 145u, + 57u, 166u, 226u, 125u, + 76u, 218u, 144u, 129u, + 21u, 193u, 48u, 255u, + 8u, 139u, 172u, 100u, + 247u, 149u, 191u, 40u, + 212u, 70u, 220u, 148u, + 179u, 28u, 184u, 128u, + 100u, 190u, 90u, 121u, + 189u, 105u, 135u, 107u, + 178u, 255u, 106u, 142u, + 203u, 1u, 151u, 60u, + 222u, 71u, 105u, 237u, + 109u, 143u, 147u, 106u, + 90u, 116u, 124u, 111u, + 137u, 36u, 167u, 110u, + 116u, 18u, 71u, 26u, + 240u, 63u, 169u, 194u, + 69u, 145u, 1u, 91u, + 99u, 176u, 168u, 102u, + 187u, 159u, 177u, 62u, + 255u, 153u, 140u, 24u, + 106u, 136u, 131u, 81u, + 71u, 60u, 67u, 127u, + 255u, 110u, 146u, 143u, + 50u, 218u, 110u, 149u, + 124u, 63u, 145u, 202u, + 141u, 86u, 169u, 78u, + 144u, 90u, 145u, 178u, + 46u, 182u, 114u, 255u, + 165u, 76u, 111u, 184u, + 65u, 236u, 58u, 141u, + 87u, 34u, 225u, 62u, + 235u, 99u, 211u, 120u, + 133u, 1u, 150u, 25u, + 240u, 148u, 233u, 1u, + 171u, 41u, 74u, 119u, + 184u, 136u, 223u, 112u, + 188u, 194u, 145u, 249u, + 163u, 15u, 55u, 180u, + 93u, 81u, 6u, 168u, + 27u, 227u, 88u, 31u, + 1u, 173u, 120u, 188u, + 152u, 88u, 73u, 95u, + 20u, 116u, 132u, 147u, + 82u, 114u, 183u, 46u, + 171u, 1u, 81u, 137u, + 151u, 132u, 60u, 100u, + 134u, 95u, 95u, 255u, + 113u, 147u, 87u, 72u, + 123u, 173u, 117u, 122u, + 192u, 105u, 187u, 126u, + 160u, 122u, 154u, 196u, + 188u, 131u, 148u, 74u, + 166u, 129u, 147u, 1u, + 32u, 148u, 161u, 154u, + 28u, 195u, 106u, 160u, + 255u, 46u, 219u, 207u, + 67u, 162u, 94u, 81u, + 164u, 170u, 120u, 255u, + 153u, 148u, 199u, 91u, + 168u, 43u, 209u, 195u, + 84u, 206u, 38u, 136u, + 76u, 97u, 114u, 209u, + 167u, 192u, 210u, 71u, + 138u, 39u, 134u, 63u, + 181u, 28u, 0u, 167u, + 130u, 194u, 63u, 130u, + 192u, 115u, 1u, 104u, + 106u, 113u, 161u, 96u, + 16u, 60u, 129u, 3u, + 71u, 94u, 212u, 113u, + 143u, 194u, 223u, 73u, + 125u, 117u, 138u, 139u, + 194u, 0u, 24u, 149u, + 136u, 95u, 101u, 55u, + 64u, 155u, 88u, 90u, + 90u, 52u, 192u, 153u, + 64u, 255u, 72u, 50u, + 138u, 101u, 181u, 234u, + 120u, 160u, 115u, 126u, + 0u, 132u, 93u, 134u, + 204u, 228u, 100u, 198u, + 49u, 224u, 134u, 224u, + 183u, 208u, 39u, 76u, + 199u, 184u, 75u, 71u, + 1u, 136u, 124u, 136u, + 169u, 79u, 114u, 178u, + 137u, 100u, 106u, 236u, + 69u, 136u, 72u, 224u, + 128u, 64u, 1u, 173u, + 185u, 187u, 159u, 165u, + 254u, 147u, 58u, 77u, + 151u, 17u, 1u, 28u, + 143u, 128u, 156u, 57u, + 150u, 111u, 148u, 144u, + 255u, 66u, 169u, 154u, + 174u, 249u, 113u, 159u, + 213u, 81u, 128u, 103u, + 143u, 190u, 22u, 160u, + 83u, 171u, 78u, 255u, + 197u, 74u, 166u, 120u, + 67u, 77u, 139u, 100u, + 137u, 144u, 163u, 77u, + 201u, 136u, 99u, 240u, + 177u, 124u, 144u, 1u, + 197u, 55u, 181u, 135u, + 127u, 132u, 107u, 151u, + 154u, 117u, 147u, 157u, + 73u, 166u, 109u, 112u, + 244u, 146u, 129u, 0u, + 135u, 45u, 45u, 255u, + 235u, 165u, 135u, 104u, + 50u, 16u, 4u, 11u, + 205u, 158u, 15u, 51u, + 163u, 104u, 197u, 43u, + 163u, 33u, 231u, 127u, + 77u, 255u, 138u, 143u, + 152u, 162u, 127u, 128u, + 183u, 35u, 108u, 1u, + 111u, 168u, 51u, 99u, + 64u, 102u, 142u, 147u, + 168u, 202u, 196u, 186u, + 192u, 134u, 4u, 61u, + 134u, 41u, 197u, 92u, + 136u, 54u, 236u, 205u, + 149u, 255u, 117u, 38u, + 121u, 105u, 165u, 118u, + 103u, 81u, 115u, 141u, + 176u, 255u, 178u, 205u, + 144u, 102u, 115u, 201u, + 255u, 65u, 206u, 57u, + 155u, 105u, 128u, 93u, + 140u, 110u, 97u, 18u, + 152u, 166u, 134u, 77u, + 227u, 171u, 34u, 61u, + 150u, 76u, 81u, 178u, + 83u, 142u, 173u, 166u, + 203u, 128u, 80u, 1u, + 73u, 136u, 134u, 140u, + 164u, 164u, 128u, 94u, + 140u, 1u, 115u, 169u, + 166u, 116u, 187u, 122u, + 156u, 103u, 173u, 154u, + 132u, 227u, 43u, 87u, + 44u, 122u, 15u, 54u, + 143u, 1u, 146u, 202u, + 79u, 87u, 0u, 246u, + 101u, 88u, 72u, 124u, + 188u, 92u, 48u, 143u, + 215u, 107u, 108u, 122u, + 172u, 118u, 255u, 73u, + 109u, 100u, 208u, 54u, + 53u, 189u, 200u, 193u, + 170u, 145u, 193u, 170u, + 195u, 236u, 186u, 77u, + 109u, 104u, 48u, 7u, + 88u, 255u, 83u, 65u, + 129u, 45u, 48u, 199u, + 169u, 41u, 255u, 161u, + 110u, 88u, 154u, 91u, + 125u, 92u, 178u, 68u, + 39u, 117u, 145u, 189u, + 108u, 84u, 218u, 110u, + 133u, 125u, 242u, 1u, + 101u, 192u, 202u, 176u, + 217u, 153u, 173u, 87u, + 229u, 59u, 255u, 133u, + 109u, 113u, 240u, 104u, + 130u, 156u, 113u, 101u, + 115u, 186u, 111u, 83u, + 130u, 99u, 91u, 202u, + 117u, 91u, 129u, 110u, + 255u, 79u, 132u, 89u, + 128u, 62u, 129u, 85u, + 43u, 148u, 168u, 1u, + 68u, 126u, 35u, 200u, + 104u, 115u, 243u, 108u, + 97u, 129u, 123u, 77u, + 206u, 88u, 122u, 168u, + 181u, 93u, 0u, 78u, + 115u, 88u, 129u, 137u, + 125u, 233u, 126u, 146u, + 63u, 162u, 101u, 149u, + 228u, 40u, 111u, 103u, + 161u, 239u, 223u, 98u, + 119u, 72u, 165u, 0u, + 47u, 183u, 125u, 140u, + 121u, 152u, 0u, 140u, + 83u, 83u, 186u, 144u, + 66u, 109u, 172u, 223u, + 255u, 153u, 92u, 146u, + 226u, 118u, 172u, 153u, + 133u, 180u, 117u, 189u, + 208u, 126u, 11u, 44u, + 196u, 167u, 185u, 132u, + 198u, 136u, 94u, 101u, + 156u, 167u, 82u, 139u, + 194u, 180u, 1u, 71u, + 56u, 238u, 122u, 140u, + 68u, 255u, 141u, 192u, + 102u, 196u, 171u, 69u, + 114u, 79u, 132u, 214u, + 189u, 116u, 184u, 155u, + 141u, 224u, 108u, 52u, + 111u, 40u, 143u, 242u, + 255u, 92u, 57u, 69u, + 170u, 244u, 142u, 0u, + 74u, 55u, 164u, 107u, + 50u, 177u, 253u, 140u, + 118u, 132u, 78u, 80u, + 106u, 159u, 1u, 232u, + 111u, 139u, 124u, 206u, + 194u, 131u, 211u, 212u, + 146u, 192u, 35u, 40u, + 55u, 111u, 184u, 79u, + 145u, 164u, 185u, 138u, + 255u, 42u, 79u, 113u, + 70u, 92u, 12u, 155u, + 115u, 128u, 196u, 255u, + 169u, 90u, 134u, 67u, + 132u, 6u, 64u, 110u, + 139u, 127u, 155u, 106u, + 128u, 135u, 132u, 138u, + 168u, 95u, 110u, 195u, + 56u, 195u, 117u, 225u, + 160u, 14u, 255u, 180u, + 255u, 177u, 154u, 198u, + 197u, 217u, 60u, 54u, + 177u, 139u, 32u, 11u, + 156u, 34u, 97u, 146u, + 97u, 77u, 200u, 179u, + 177u, 171u, 14u, 233u, + 152u, 1u, 88u, 67u, + 28u, 228u, 100u, 67u, + 200u, 49u, 255u, 217u, + 136u, 130u, 144u, 184u, + 246u, 91u, 53u, 153u, + 216u, 100u, 27u, 110u, + 108u, 110u, 194u, 175u, + 97u, 100u, 174u, 148u, + 138u, 188u, 92u, 181u, + 181u, 255u, 149u, 84u, + 146u, 93u, 152u, 74u, + 75u, 141u, 102u, 155u, + 164u, 168u, 255u, 147u, + 54u, 97u, 128u, 69u, + 103u, 94u, 122u, 122u, + 111u, 138u, 26u, 100u, + 212u, 82u, 255u, 172u, + 81u, 150u, 151u, 124u, + 137u, 255u, 112u, 204u, + 26u, 137u, 91u, 128u, + 160u, 91u, 170u, 134u, + 96u, 85u, 40u, 145u, + 146u, 255u, 100u, 13u, + 175u, 78u, 239u, 167u, + 163u, 67u, 174u, 206u, + 134u, 239u, 171u, 114u, + 138u, 132u, 106u, 180u, + 211u, 190u, 169u, 143u, + 18u, 70u, 1u, 137u, + 242u, 100u, 195u, 141u, + 200u, 157u, 35u, 116u, + 110u, 152u, 169u, 196u, + 98u, 1u, 99u, 33u, + 202u, 220u, 109u, 14u, + 178u, 154u, 211u, 97u, + 255u, 137u, 6u, 174u, + 179u, 44u, 192u, 157u, + 228u, 205u, 132u, 33u, + 102u, 189u, 31u, 85u, + 255u, 81u, 5u, 98u, + 101u, 143u, 249u, 100u, + 141u, 27u, 226u, 117u, + 174u, 50u, 162u, 183u, + 108u, 126u, 99u, 1u, + 48u, 149u, 17u, 157u, + 74u, 229u, 148u, 218u, + 130u, 87u, 99u, 139u, + 108u, 182u, 82u, 215u, + 170u, 191u, 161u, 205u, + 240u, 255u, 145u, 97u, + 217u, 40u, 158u, 255u, + 54u, 77u, 199u, 163u, + 220u, 171u, 79u, 102u, + 97u, 137u, 28u, 173u, + 145u, 189u, 194u, 53u, + 159u, 160u, 118u, 81u, + 70u, 118u, 149u, 255u, + 178u, 166u, 25u, 254u, + 140u, 94u, 127u, 91u, + 148u, 148u, 35u, 55u, + 206u, 157u, 29u, 59u, + 239u, 132u, 255u, 223u, + 1u, 54u, 113u, 39u, + 124u, 134u, 73u, 54u, + 223u, 246u, 230u, 177u, + 146u, 44u, 185u, 195u, + 156u, 126u, 142u, 211u, + 84u, 141u, 80u, 185u, + 233u, 94u, 123u, 240u, + 119u, 47u, 0u, 80u, + 192u, 131u, 164u, 147u, + 255u, 167u, 73u, 63u, + 118u, 131u, 63u, 44u, + 131u, 246u, 131u, 83u, + 211u, 130u, 125u, 100u, + 1u, 160u, 155u, 143u, + 120u, 148u, 154u, 106u, + 116u, 65u, 124u, 155u, + 187u, 200u, 171u, 1u, + 150u, 152u, 150u, 196u, + 171u, 106u, 107u, 142u, + 92u, 125u, 147u, 129u, + 206u, 208u, 122u, 192u, + 78u, 134u, 255u, 200u, + 56u, 99u, 115u, 230u, + 173u, 186u, 193u, 127u, + 100u, 120u, 74u, 149u, + 1u, 58u, 180u, 13u, + 94u, 236u, 234u, 220u, + 255u, 129u, 126u, 127u, + 201u, 113u, 166u, 142u, + 108u, 211u, 255u, 189u, + 175u, 165u, 156u, 139u, + 215u, 48u, 171u, 129u, + 148u, 92u, 124u, 118u, + 75u, 125u, 224u, 228u, + 165u, 0u, 125u, 187u, + 74u, 132u, 108u, 62u, + 109u, 85u, 146u, 72u, + 210u, 134u, 255u, 155u, + 80u, 87u, 83u, 51u, + 236u, 148u, 111u, 101u, + 64u, 67u, 104u, 71u, + 92u, 229u, 119u, 255u, + 194u, 93u, 99u, 172u, + 52u, 105u, 68u, 185u, + 46u, 106u, 117u, 115u, + 115u, 128u, 66u, 71u, + 122u, 255u, 151u, 140u, + 119u, 139u, 168u, 150u, + 80u, 115u, 97u, 170u, + 60u, 182u, 138u, 228u, + 170u, 159u, 255u, 141u, + 177u, 120u, 165u, 151u, + 163u, 194u, 140u, 148u, + 63u, 107u, 178u, 183u, + 92u, 143u, 255u, 151u, + 96u, 82u, 119u, 80u, + 129u, 134u, 0u, 96u, + 57u, 107u, 202u, 94u, + 131u, 80u, 170u, 157u, + 172u, 206u, 88u, 37u, + 50u, 161u, 227u, 11u, + 233u, 135u, 229u, 70u, + 82u, 223u, 83u, 0u, + 213u, 185u, 121u, 4u, + 136u, 65u, 127u, 152u, + 216u, 39u, 123u, 1u, + 121u, 97u, 31u, 67u, + 183u, 145u, 99u, 123u, + 157u, 97u, 106u, 23u, + 69u, 52u, 242u, 255u, + 206u, 188u, 184u, 112u, + 179u, 15u, 193u, 54u, + 118u, 98u, 112u, 94u, + 181u, 118u, 80u, 199u, + 153u, 26u, 69u, 1u, + 25u, 50u, 154u, 166u, + 116u, 207u, 166u, 81u, + 30u, 178u, 128u, 160u, + 94u, 213u, 110u, 121u, + 122u, 104u, 108u, 255u, + 92u, 203u, 255u, 125u, + 113u, 136u, 96u, 183u, + 18u, 201u, 53u, 133u, + 120u, 135u, 91u, 139u, + 116u, 166u, 212u, 165u, + 28u, 76u, 75u, 12u, + 11u, 67u, 255u, 194u, + 159u, 68u, 130u, 108u, + 121u, 241u, 111u, 58u, + 79u, 172u, 255u, 151u, + 224u, 194u, 147u, 129u, + 148u, 172u, 12u, 93u, + 130u, 197u, 3u, 92u, + 72u, 135u, 13u, 209u, + 101u, 193u, 145u, 255u, + 122u, 124u, 79u, 133u, + 189u, 195u, 127u, 143u, + 147u, 121u, 89u, 87u, + 199u, 1u, 184u, 241u, + 71u, 190u, 143u, 88u, + 55u, 200u, 84u, 136u, + 111u, 255u, 37u, 151u, + 111u, 40u, 181u, 167u, + 125u, 58u, 135u, 154u, + 101u, 187u, 43u, 39u, + 8u, 168u, 165u, 134u, + 140u, 255u, 213u, 92u, + 147u, 168u, 164u, 88u, + 199u, 63u, 132u, 187u, + 121u, 56u, 227u, 163u, + 57u, 29u, 54u, 255u, + 95u, 82u, 213u, 161u, + 177u, 112u, 110u, 146u, + 94u, 105u, 187u, 54u, + 159u, 208u, 229u, 107u, + 165u, 236u, 205u, 1u, + 70u, 171u, 165u, 81u, + 223u, 101u, 0u, 191u, + 127u, 109u, 139u, 122u, + 126u, 156u, 58u, 141u, + 226u, 195u, 96u, 255u, + 31u, 145u, 29u, 216u, + 20u, 8u, 133u, 50u, + 196u, 66u, 20u, 107u, + 202u, 214u, 172u, 169u, + 162u, 31u, 69u, 19u, + 102u, 93u, 105u, 0u, + 179u, 131u, 158u, 28u, + 121u, 108u, 255u, 84u, + 199u, 249u, 97u, 117u, + 45u, 20u, 44u, 71u, + 189u, 219u, 122u, 232u, + 189u, 153u, 19u, 216u, + 123u, 129u, 106u, 1u, + 223u, 177u, 137u, 214u, + 133u, 195u, 96u, 37u, + 84u, 61u, 176u, 186u, + 128u, 168u, 182u, 118u, + 55u, 94u, 1u, 131u, + 44u, 144u, 90u, 163u, + 134u, 64u, 64u, 1u, + 143u, 104u, 250u, 85u, + 94u, 192u, 82u, 65u, + 182u, 72u, 236u, 173u, + 79u, 149u, 86u, 129u, + 174u, 118u, 80u, 255u, + 126u, 101u, 131u, 106u, + 177u, 84u, 106u, 70u, + 86u, 126u, 55u, 166u, + 52u, 21u, 231u, 128u, + 183u, 113u, 158u, 255u, + 175u, 114u, 232u, 45u, + 119u, 112u, 160u, 189u, + 144u, 157u, 151u, 155u, + 113u, 1u, 85u, 144u, + 119u, 183u, 153u, 105u, + 115u, 78u, 85u, 146u, + 33u, 68u, 88u, 107u, + 36u, 241u, 126u, 1u, + 135u, 55u, 158u, 107u, + 119u, 77u, 188u, 57u, + 255u, 104u, 145u, 124u, + 98u, 111u, 95u, 83u, + 99u, 88u, 120u, 155u, + 181u, 134u, 169u, 221u, + 199u, 1u, 20u, 63u, + 75u, 55u, 164u, 126u, + 107u, 99u, 153u, 85u, + 177u, 82u, 171u, 140u, + 153u, 0u, 106u, 39u, + 87u, 83u, 100u, 72u, + 108u, 173u, 104u, 101u, + 244u, 122u, 218u, 109u, + 97u, 126u, 0u, 158u, + 168u, 69u, 139u, 148u, + 65u, 176u, 67u, 136u, + 7u, 46u, 96u, 240u, + 87u, 74u, 162u, 14u, + 209u, 97u, 219u, 219u, + 107u, 88u, 1u, 126u, + 133u, 124u, 116u, 114u, + 38u, 140u, 83u, 113u, + 118u, 106u, 143u, 86u, + 89u, 202u, 53u, 255u, + 95u, 183u, 1u, 254u, + 16u, 135u, 118u, 113u, + 233u, 189u, 210u, 160u, + 128u, 60u, 92u, 37u, + 153u, 255u, 80u, 125u, + 59u, 165u, 61u, 81u, + 58u, 141u, 199u, 222u, + 174u, 117u, 50u, 73u, + 134u, 239u, 104u, 120u, + 237u, 0u, 144u, 147u, + 139u, 195u, 137u, 104u, + 211u, 196u, 122u, 118u, + 212u, 255u, 183u, 121u, + 84u, 77u, 97u, 190u, + 109u, 176u, 200u, 81u, + 230u, 51u, 88u, 206u, + 108u, 96u, 138u, 139u, + 129u, 89u, 92u, 115u, + 255u, 121u, 106u, 159u, + 148u, 110u, 117u, 162u, + 190u, 153u, 166u, 69u, + 12u, 181u, 84u, 114u, + 106u, 135u, 255u, 91u, + 171u, 20u, 122u, 170u, + 108u, 116u, 44u, 193u, + 116u, 206u, 145u, 153u, + 16u, 130u, 112u, 141u, + 255u, 138u, 98u, 188u, + 180u, 180u, 27u, 0u, + 147u, 113u, 74u, 206u, + 158u, 175u, 208u, 20u, + 147u, 111u, 123u, 119u, + 44u, 124u, 141u, 1u, + 38u, 186u, 126u, 168u, + 93u, 21u, 33u, 98u, + 115u, 97u, 3u, 104u, + 38u, 32u, 120u, 1u, + 211u, 43u, 111u, 116u, + 72u, 1u, 187u, 142u, + 33u, 145u, 87u, 141u, + 150u, 81u, 134u, 147u, + 148u, 101u, 96u, 170u, + 62u, 72u, 135u, 121u, + 200u, 172u, 18u, 1u, + 171u, 137u, 133u, 99u, + 144u, 231u, 149u, 255u, + 119u, 122u, 176u, 186u, + 151u, 177u, 176u, 131u, + 87u, 104u, 118u, 206u, + 62u, 56u, 16u, 138u, + 41u, 42u, 1u, 150u, + 91u, 62u, 91u, 217u, + 101u, 65u, 83u, 255u, + 158u, 27u, 85u, 132u, + 121u, 49u, 214u, 237u, + 130u, 63u, 58u, 166u, + 112u, 134u, 158u, 178u, + 1u, 117u, 62u, 248u, + 199u, 25u, 182u, 5u, + 87u, 106u, 101u, 63u, + 188u, 68u, 148u, 157u, + 95u, 110u, 151u, 110u, + 190u, 104u, 151u, 81u, + 1u, 149u, 76u, 88u, + 151u, 211u, 134u, 216u, + 70u, 145u, 102u, 60u, + 166u, 153u, 146u, 71u, + 116u, 78u, 1u, 49u, + 117u, 80u, 30u, 85u, + 158u, 57u, 100u, 191u, + 99u, 251u, 130u, 169u, + 229u, 75u, 1u, 127u, + 124u, 52u, 108u, 142u, + 132u, 149u, 135u, 48u, + 236u, 194u, 208u, 255u, + 181u, 153u, 80u, 108u, + 122u, 176u, 121u, 201u, + 104u, 114u, 178u, 154u, + 100u, 110u, 84u, 255u, + 71u, 160u, 33u, 219u, + 177u, 124u, 56u, 234u, + 88u, 247u, 255u, 146u, + 128u, 195u, 154u, 212u, + 135u, 154u, 119u, 251u, + 149u, 167u, 151u, 143u, + 95u, 108u, 168u, 129u, + 192u, 0u, 190u, 116u, + 94u, 183u, 176u, 115u, + 121u, 88u, 109u, 167u, + 228u, 194u, 125u, 114u, + 201u, 57u, 153u, 164u, + 128u, 160u, 91u, 1u, + 110u, 37u, 158u, 92u, + 102u, 97u, 187u, 110u, + 126u, 255u, 117u, 144u, + 56u, 85u, 130u, 129u, + 101u, 239u, 231u, 9u, + 170u, 64u, 237u, 56u, + 1u, 25u, 187u, 195u, + 71u, 178u, 163u, 37u, + 198u, 252u, 205u, 45u, + 51u, 30u, 125u, 80u, + 215u, 141u, 255u, 117u, + 205u, 228u, 192u, 128u, + 88u, 158u, 14u, 244u, + 27u, 210u, 115u, 125u, + 113u, 1u, 209u, 123u, + 123u, 141u, 136u, 178u, + 183u, 79u, 81u, 191u, + 138u, 18u, 203u, 31u, + 210u, 142u, 169u, 171u, + 94u, 0u, 126u, 126u, + 135u, 255u, 137u, 97u, + 158u, 214u, 13u, 18u, + 60u, 134u, 53u, 170u, + 185u, 26u, 1u, 159u, + 145u, 147u, 152u, 172u, + 73u, 143u, 186u, 75u, + 107u, 86u, 98u, 129u, + 54u, 255u, 205u, 170u, + 187u, 33u, 83u, 177u, + 103u, 74u, 130u, 255u, + 204u, 141u, 213u, 217u, + 51u, 33u, 55u, 150u, + 185u, 86u, 176u, 130u, + 118u, 216u, 128u, 1u, + 217u, 118u, 111u, 85u, + 86u, 79u, 166u, 72u, + 72u, 200u, 108u, 180u, + 73u, 122u, 101u, 67u, + 105u, 177u, 228u, 147u, + 255u, 82u, 149u, 110u, + 149u, 119u, 120u, 196u, + 142u, 58u, 168u, 150u, + 27u, 212u, 92u, 67u, + 130u, 0u, 90u, 59u, + 103u, 97u, 199u, 199u, + 138u, 114u, 168u, 176u, + 44u, 183u, 112u, 235u, + 53u, 50u, 139u, 255u, + 163u, 190u, 172u, 63u, + 255u, 255u, 130u, 230u, + 142u, 223u, 136u, 219u, + 216u, 209u, 118u, 227u, + 128u, 113u, 127u, 1u, + 147u, 62u, 195u, 83u, + 108u, 126u, 171u, 220u, + 60u, 78u, 219u, 139u, + 41u, 243u, 65u, 18u, + 223u, 29u, 200u, 249u, + 104u, 130u, 1u, 81u, + 123u, 197u, 226u, 26u, + 140u, 102u, 1u, 90u, + 132u, 112u, 88u, 154u, + 192u, 112u, 170u, 227u, + 73u, 146u, 136u, 166u, + 172u, 209u, 126u, 111u, + 108u, 118u, 1u, 113u, + 59u, 51u, 209u, 114u, + 115u, 173u, 51u, 31u, + 1u, 110u, 154u, 136u, + 147u, 143u, 93u, 86u, + 86u, 129u, 147u, 95u, + 88u, 88u, 118u, 180u, + 175u, 139u, 68u, 196u, + 63u, 160u, 86u, 255u, + 150u, 221u, 46u, 41u, + 63u, 144u, 36u, 101u, + 156u, 127u, 110u, 236u, + 150u, 167u, 43u, 148u, + 93u, 1u, 178u, 183u, + 98u, 154u, 169u, 26u, + 101u, 159u, 157u, 83u, + 205u, 169u, 198u, 71u, + 0u, 174u, 29u, 120u, + 105u, 178u, 130u, 144u, + 47u, 200u, 84u, 180u, + 4u, 158u, 106u, 132u, + 7u, 231u, 180u, 127u, + 178u, 0u, 54u, 154u, + 68u, 131u, 19u, 255u, + 78u, 157u, 130u, 90u, + 145u, 222u, 103u, 114u, + 144u, 108u, 118u, 135u, + 6u, 235u, 92u, 0u, + 31u, 146u, 160u, 182u, + 237u, 103u, 130u, 79u, + 107u, 95u, 63u, 165u, + 125u, 58u, 112u, 155u, + 144u, 181u, 196u, 83u, + 118u, 255u, 27u, 125u, + 152u, 213u, 243u, 188u, + 147u, 186u, 93u, 133u, + 112u, 230u, 253u, 29u, + 113u, 231u, 52u, 77u, + 139u, 184u, 255u, 173u, + 214u, 179u, 128u, 34u, + 252u, 118u, 92u, 51u, + 255u, 11u, 176u, 170u, + 119u, 90u, 116u, 77u, + 80u, 103u, 1u, 204u, + 109u, 119u, 57u, 138u, + 149u, 56u, 185u, 147u, + 244u, 75u, 205u, 132u, + 186u, 148u, 99u, 105u, + 160u, 171u, 199u, 255u, + 115u, 74u, 101u, 150u, + 135u, 124u, 116u, 103u, + 57u, 197u, 189u, 208u, + 134u, 243u, 106u, 209u, + 30u, 77u, 113u, 148u, + 158u, 70u, 142u, 255u, + 255u, 113u, 180u, 192u, + 68u, 156u, 146u, 79u, + 106u, 91u, 66u, 2u, + 189u, 153u, 150u, 85u, + 83u, 104u, 92u, 122u, + 97u, 113u, 140u, 88u, + 159u, 205u, 107u, 79u, + 84u, 1u, 157u, 183u, + 106u, 24u, 62u, 219u, + 37u, 171u, 59u, 246u, + 255u, 136u, 212u, 202u, + 185u, 64u, 171u, 170u, + 202u, 67u, 181u, 213u, + 44u, 184u, 50u, 197u, + 255u, 137u, 122u, 86u, + 134u, 86u, 74u, 128u, + 91u, 75u, 180u, 233u, + 110u, 127u, 50u, 1u, + 65u, 81u, 16u, 26u, + 155u, 174u, 124u, 93u, + 211u, 153u, 141u, 147u, + 216u, 65u, 106u, 96u, + 137u, 253u, 192u, 118u, + 235u, 89u, 255u, 138u, + 92u, 244u, 131u, 254u, + 105u, 94u, 96u, 190u, + 81u, 79u, 77u, 163u, + 172u, 23u, 1u, 74u, + 169u, 138u, 183u, 121u, + 113u, 138u, 9u, 176u, + 133u, 114u, 170u, 115u, + 143u, 228u, 199u, 1u, + 1u, 111u, 113u, 114u, + 72u, 176u, 193u, 163u, + 108u, 151u, 56u, 12u, + 147u, 140u, 115u, 119u, + 31u, 162u, 150u, 156u, + 131u, 220u, 122u, 132u, + 136u, 170u, 176u, 212u, + 255u, 10u, 147u, 130u, + 242u, 61u, 88u, 128u, + 97u, 10u, 122u, 1u, + 154u, 172u, 222u, 123u, + 149u, 104u, 64u, 43u, + 170u, 88u, 200u, 220u, + 33u, 226u, 73u, 97u, + 173u, 182u, 104u, 1u, + 177u, 203u, 140u, 127u, + 137u, 186u, 99u, 76u, + 76u, 124u, 255u, 198u, + 125u, 161u, 103u, 149u, + 104u, 100u, 174u, 142u, + 154u, 202u, 153u, 188u, + 0u, 89u, 148u, 134u, + 120u, 76u, 73u, 85u, + 131u, 176u, 119u, 60u, + 229u, 85u, 68u, 100u, + 62u, 1u, 140u, 118u, + 31u, 198u, 160u, 134u, + 109u, 139u, 207u, 91u, + 67u, 160u, 32u, 246u, + 1u, 75u, 220u, 90u, + 37u, 223u, 101u, 50u, + 197u, 45u, 193u, 82u, + 195u, 189u, 132u, 113u, + 91u, 197u, 1u, 125u, + 120u, 109u, 108u, 124u, + 112u, 57u, 239u, 165u, + 130u, 190u, 44u, 144u, + 71u, 246u, 230u, 223u, + 12u, 175u, 87u, 114u, + 255u, 120u, 58u, 168u, + 126u, 149u, 54u, 166u, + 212u, 97u, 152u, 158u, + 116u, 180u, 118u, 248u, + 181u, 1u, 81u, 76u, + 154u, 87u, 255u, 167u, + 16u, 118u, 172u, 114u, + 139u, 125u, 158u, 95u, + 139u, 111u, 129u, 80u, + 212u, 128u, 108u, 96u, + 212u, 105u, 243u, 180u, + 157u, 0u, 90u, 153u, + 68u, 171u, 105u, 55u, + 164u, 95u, 174u, 113u, + 114u, 76u, 150u, 47u, + 68u, 255u, 95u, 128u, + 61u, 196u, 98u, 207u, + 147u, 198u, 75u, 108u, + 170u, 33u, 115u, 1u, + 95u, 140u, 201u, 153u, + 212u, 181u, 100u, 125u, + 218u, 197u, 241u, 137u, + 105u, 101u, 91u, 169u, + 177u, 133u, 181u, 255u, + 24u, 118u, 19u, 125u, + 233u, 115u, 168u, 140u, + 39u, 21u, 102u, 255u, + 165u, 176u, 226u, 21u, + 186u, 6u, 103u, 34u, + 74u, 222u, 167u, 1u, + 221u, 76u, 117u, 228u, + 179u, 78u, 160u, 105u, + 153u, 126u, 99u, 138u, + 135u, 119u, 135u, 170u, + 149u, 143u, 70u, 195u, + 98u, 109u, 165u, 35u, + 255u, 106u, 108u, 141u, + 212u, 159u, 118u, 205u, + 189u, 183u, 195u, 79u, + 0u, 128u, 59u, 117u, + 182u, 221u, 226u, 76u, + 120u, 95u, 189u, 162u, + 77u, 152u, 88u, 168u, + 60u, 159u, 90u, 192u, + 0u, 182u, 191u, 168u, + 77u, 146u, 56u, 219u, + 14u, 228u, 128u, 189u, + 141u, 175u, 150u, 156u, + 158u, 0u, 80u, 149u, + 23u, 198u, 160u, 100u, + 105u, 174u, 1u, 159u, + 60u, 201u, 160u, 128u, + 40u, 15u, 130u, 215u, + 108u, 167u, 27u, 139u, + 0u, 110u, 216u, 168u, + 179u, 170u, 161u, 169u, + 132u, 155u, 147u, 20u, + 142u, 255u, 58u, 113u, + 33u, 197u, 164u, 203u, + 168u, 88u, 212u, 225u, + 167u, 148u, 96u, 100u, + 255u, 196u, 132u, 184u, + 107u, 152u, 171u, 217u, + 156u, 105u, 12u, 120u, + 86u, 165u, 49u, 11u, + 173u, 128u, 101u, 93u, + 128u, 84u, 164u, 255u, + 153u, 115u, 172u, 171u, + 140u, 143u, 114u, 64u, + 99u, 147u, 90u, 102u, + 120u, 94u, 127u, 103u, + 255u, 63u, 133u, 145u, + 98u, 100u, 149u, 114u, + 176u, 158u, 162u, 255u, + 47u, 65u, 44u, 143u, + 36u, 63u, 89u, 70u, + 110u, 81u, 112u, 217u, + 61u, 64u, 74u, 116u, + 230u, 152u, 168u, 107u, + 171u, 1u, 149u, 173u, + 95u, 246u, 115u, 68u, + 52u, 62u, 4u, 115u, + 55u, 59u, 147u, 127u, + 178u, 178u, 144u, 150u, + 0u, 68u, 145u, 196u, + 125u, 255u, 68u, 204u, + 137u, 116u, 81u, 102u, + 78u, 83u, 213u, 179u, + 185u, 145u, 80u, 107u, + 228u, 105u, 255u, 59u, + 224u, 31u, 53u, 149u, + 77u, 32u, 56u, 105u, + 232u, 64u, 242u, 95u, + 193u, 173u, 41u, 108u, + 43u, 87u, 93u, 255u, + 151u, 162u, 205u, 162u, + 187u, 26u, 153u, 51u, + 88u, 225u, 214u, 75u, + 247u, 255u, 21u, 99u, + 161u, 70u, 146u, 22u, + 240u, 166u, 8u, 166u, + 96u, 117u, 75u, 127u, + 255u, 199u, 156u, 77u, + 187u, 63u, 102u, 121u, + 104u, 170u, 111u, 89u, + 142u, 113u, 224u, 126u, + 141u, 206u, 78u, 153u, + 84u, 105u, 255u, 182u, + 116u, 131u, 87u, 149u, + 111u, 140u, 145u, 173u, + 73u, 163u, 169u, 113u, + 114u, 203u, 57u, 63u, + 83u, 148u, 123u, 1u, + 158u, 85u, 136u, 183u, + 44u, 95u, 255u, 44u, + 142u, 135u, 46u, 180u, + 184u, 108u, 62u, 119u, + 142u, 73u, 83u, 212u, + 240u, 74u, 144u, 110u, + 185u, 0u, 119u, 156u, + 192u, 186u, 88u, 56u, + 153u, 113u, 41u, 22u, + 170u, 92u, 241u, 186u, + 183u, 125u, 61u, 169u, + 121u, 145u, 62u, 255u, + 90u, 98u, 98u, 83u, + 105u, 170u, 255u, 155u, + 137u, 105u, 99u, 178u, + 121u, 125u, 110u, 97u, + 142u, 1u, 90u, 168u, + 55u, 141u, 62u, 203u, + 156u, 102u, 174u, 112u, + 99u, 86u, 185u, 145u, + 111u, 149u, 83u, 255u, + 179u, 96u, 195u, 122u, + 120u, 107u, 47u, 78u, + 164u, 193u, 157u, 123u, + 178u, 63u, 174u, 182u, + 170u, 43u, 120u, 113u, + 124u, 134u, 1u, 37u, + 168u, 52u, 64u, 126u, + 146u, 160u, 246u, 117u, + 98u, 135u, 146u, 125u, + 147u, 98u, 133u, 87u, + 199u, 203u, 255u, 76u, + 139u, 65u, 209u, 101u, + 167u, 142u, 55u, 156u, + 86u, 113u, 67u, 195u, + 164u, 144u, 1u, 106u, + 138u, 146u, 255u, 136u, + 144u, 146u, 88u, 53u, + 60u, 191u, 101u, 162u, + 139u, 101u, 150u, 204u, + 111u, 136u, 47u, 44u, + 157u, 210u, 1u, 142u, + 181u, 183u, 225u, 122u, + 137u, 74u, 71u, 200u, + 125u, 255u, 156u, 73u, + 23u, 143u, 135u, 116u, + 92u, 85u, 159u, 166u, + 96u, 192u, 135u, 178u, + 104u, 127u, 0u, 141u, + 177u, 178u, 94u, 125u, + 215u, 122u, 153u, 172u, + 75u, 130u, 169u, 143u, + 89u, 87u, 255u, 5u, + 131u, 60u, 199u, 61u, + 133u, 138u, 139u, 156u, + 61u, 182u, 173u, 114u, + 196u, 132u, 56u, 255u, + 15u, 125u, 68u, 91u, + 234u, 173u, 89u, 9u, + 158u, 161u, 174u, 255u, + 177u, 112u, 188u, 1u, + 48u, 197u, 64u, 249u, + 236u, 81u, 177u, 172u, + 104u, 204u, 115u, 164u, + 87u, 121u, 60u, 163u, + 207u, 249u, 138u, 236u, + 197u, 254u, 120u, 1u, + 168u, 203u, 87u, 39u, + 134u, 1u, 158u, 54u, + 195u, 45u, 85u, 119u, + 194u, 67u, 154u, 161u, + 80u, 127u, 139u, 213u, + 171u, 145u, 100u, 255u, + 137u, 4u, 234u, 104u, + 242u, 120u, 97u, 165u, + 175u, 82u, 150u, 107u, + 133u, 168u, 107u, 77u, + 128u, 103u, 153u, 183u, + 83u, 148u, 83u, 119u, + 39u, 1u, 107u, 197u, + 222u, 127u, 124u, 130u, + 135u, 105u, 52u, 218u, + 85u, 186u, 213u, 1u, + 115u, 87u, 55u, 25u, + 88u, 97u, 126u, 144u, + 255u, 119u, 91u, 95u, + 113u, 132u, 141u, 230u, + 150u, 56u, 176u, 119u, + 168u, 136u, 158u, 83u, + 114u, 248u, 68u, 82u, + 96u, 255u, 196u, 112u, + 202u, 84u, 110u, 93u, + 56u, 182u, 138u, 77u, + 132u, 67u, 196u, 255u, + 105u, 170u, 100u, 117u, + 149u, 65u, 159u, 7u, + 52u, 153u, 113u, 168u, + 255u, 146u, 132u, 90u, + 74u, 3u, 54u, 175u, + 119u, 251u, 120u, 146u, + 109u, 131u, 156u, 200u, + 31u, 172u, 111u, 111u, + 125u, 183u, 118u, 68u, + 64u, 1u, 168u, 191u, + 126u, 154u, 170u, 1u, + 153u, 116u, 55u, 242u, + 143u, 130u, 149u, 81u, + 63u, 229u, 186u, 178u, + 73u, 255u, 108u, 159u, + 102u, 164u, 204u, 184u, + 105u, 105u, 62u, 55u, + 170u, 86u, 118u, 13u, + 107u, 105u, 165u, 100u, + 144u, 56u, 138u, 80u, + 131u, 168u, 137u, 169u, + 1u, 70u, 138u, 131u, + 162u, 78u, 71u, 174u, + 105u, 109u, 189u, 0u, + 161u, 126u, 123u, 146u, + 90u, 144u, 139u, 113u, + 65u, 80u, 170u, 82u, + 48u, 146u, 121u, 207u, + 1u, 219u, 49u, 88u, + 50u, 148u, 97u, 195u, + 148u, 113u, 190u, 101u, + 112u, 143u, 158u, 113u, + 125u, 14u, 41u, 1u, + 96u, 137u, 188u, 150u, + 92u, 144u, 51u, 184u, + 194u, 1u, 171u, 166u, + 166u, 114u, 94u, 184u, + 98u, 83u, 38u, 132u, + 189u, 157u, 104u, 1u, + 250u, 125u, 26u, 238u, + 109u, 97u, 195u, 169u, + 66u, 227u, 105u, 182u, + 152u, 142u, 125u, 147u, + 101u, 141u, 207u, 163u, + 113u, 74u, 137u, 117u, + 235u, 120u, 101u, 0u, + 1u, 114u, 117u, 14u, + 254u, 25u, 19u, 90u, + 103u, 112u, 97u, 107u, + 91u, 182u, 171u, 126u, + 106u, 87u, 62u, 121u, + 55u, 134u, 61u, 43u, + 174u, 145u, 91u, 124u, + 1u, 235u, 78u, 186u, + 73u, 186u, 85u, 135u, + 195u, 97u, 89u, 143u, + 59u, 1u, 103u, 59u, + 96u, 239u, 137u, 110u, + 221u, 186u, 57u, 196u, + 119u, 218u, 228u, 150u, + 104u, 90u, 68u, 147u, + 255u, 175u, 158u, 103u, + 104u, 85u, 1u, 191u, + 227u, 126u, 153u, 199u, + 79u, 169u, 27u, 127u, + 117u, 142u, 73u, 152u, + 212u, 203u, 112u, 137u, + 255u, 98u, 161u, 143u, + 243u, 146u, 127u, 202u, + 173u, 88u, 106u, 123u, + 147u, 131u, 0u, 138u, + 5u, 147u, 191u, 204u, + 82u, 222u, 170u, 98u, + 94u, 138u, 225u, 90u, + 122u, 104u, 146u, 1u, + 124u, 106u, 171u, 31u, + 127u, 164u, 130u, 121u, + 164u, 170u, 168u, 96u, + 124u, 102u, 235u, 123u, + 164u, 122u, 160u, 244u, + 170u, 69u, 197u, 216u, + 55u, 35u, 1u, 146u, + 122u, 152u, 174u, 189u, + 10u, 144u, 233u, 255u, + 172u, 20u, 121u, 225u, + 67u, 110u, 78u, 166u, + 57u, 126u, 255u, 168u, + 113u, 135u, 88u, 108u, + 81u, 221u, 103u, 127u, + 91u, 75u, 134u, 138u, + 120u, 144u, 0u, 129u, + 127u, 194u, 32u, 106u, + 206u, 125u, 112u, 161u, + 87u, 182u, 98u, 111u, + 152u, 55u, 150u, 224u, + 58u, 238u, 174u, 119u, + 169u, 112u, 45u, 1u, + 96u, 184u, 105u, 31u, + 250u, 42u, 235u, 166u, + 135u, 74u, 139u, 1u, + 93u, 80u, 13u, 63u, + 103u, 154u, 145u, 58u, + 112u, 136u, 164u, 170u, + 105u, 95u, 208u, 225u, + 166u, 109u, 1u, 127u, + 161u, 80u, 132u, 76u, + 186u, 74u, 169u, 141u, + 91u, 2u, 19u, 135u, + 255u, 87u, 227u, 104u, + 108u, 62u, 45u, 234u, + 214u, 104u, 235u, 210u, + 49u, 186u, 156u, 90u, + 108u, 1u, 141u, 47u, + 109u, 22u, 49u, 88u, + 70u, 44u, 116u, 166u, + 239u, 119u, 217u, 146u, + 154u, 104u, 33u, 127u, + 87u, 255u, 106u, 155u, + 187u, 222u, 100u, 123u, + 72u, 116u, 86u, 106u, + 100u, 83u, 210u, 105u, + 255u, 189u, 119u, 62u, + 123u, 122u, 146u, 66u, + 211u, 219u, 126u, 103u, + 67u, 117u, 54u, 102u, + 63u, 105u, 72u, 255u, + 69u, 123u, 42u, 66u, + 77u, 73u, 135u, 46u, + 255u, 190u, 134u, 126u, + 9u, 16u, 105u, 220u, + 121u, 166u, 124u, 201u, + 97u, 95u, 48u, 255u, + 94u, 213u, 175u, 104u, + 121u, 68u, 75u, 106u, + 162u, 157u, 206u, 1u, + 134u, 134u, 133u, 161u, + 222u, 15u, 84u, 41u, + 21u, 163u, 181u, 164u, + 170u, 140u, 111u, 57u, + 165u, 154u, 148u, 188u, + 173u, 106u, 67u, 174u, + 154u, 192u, 99u, 0u, + 213u, 50u, 168u, 106u, + 10u, 136u, 191u, 115u, + 88u, 89u, 124u, 108u, + 1u, 85u, 18u, 134u, + 99u, 148u, 176u, 29u, + 165u, 201u, 39u, 225u, + 39u, 65u, 40u, 36u, + 90u, 217u, 255u, 171u, + 31u, 73u, 144u, 154u, + 121u, 110u, 186u, 33u, + 0u, 227u, 115u, 110u, + 24u, 29u, 76u, 228u, + 190u, 217u, 217u, 98u, + 85u, 50u, 116u, 178u, + 80u, 72u, 180u, 73u, + 255u, 91u, 115u, 58u, + 158u, 80u, 149u, 45u, + 255u, 133u, 165u, 58u, + 113u, 40u, 104u, 132u, + 146u, 133u, 134u, 119u, + 107u, 162u, 115u, 101u, + 139u, 104u, 85u, 150u, + 130u, 107u, 97u, 84u, + 121u, 1u, 130u, 114u, + 174u, 255u, 171u, 37u, + 145u, 142u, 46u, 161u, + 204u, 122u, 239u, 181u, + 206u, 161u, 222u, 2u, + 71u, 152u, 7u, 44u, + 198u, 132u, 68u, 255u, + 103u, 108u, 98u, 115u, + 199u, 102u, 80u, 144u, + 164u, 58u, 12u, 149u, + 134u, 184u, 68u, 40u, + 103u, 101u, 70u, 133u, + 1u, 207u, 103u, 207u, + 17u, 143u, 255u, 107u, + 112u, 36u, 131u, 107u, + 132u, 197u, 161u, 212u, + 211u, 72u, 155u, 111u, + 108u, 153u, 111u, 159u, + 111u, 214u, 84u, 141u, + 65u, 100u, 107u, 34u, + 71u, 170u, 223u, 255u, + 75u, 125u, 49u, 176u, + 146u, 99u, 118u, 120u, + 160u, 91u, 142u, 121u, + 93u, 124u, 78u, 1u, + 140u, 231u, 102u, 24u, + 32u, 182u, 88u, 1u, + 33u, 181u, 150u, 109u, + 250u, 51u, 177u, 178u, + 151u, 91u, 0u, 182u, + 24u, 135u, 180u, 104u, + 154u, 251u, 69u, 125u, + 178u, 142u, 142u, 78u, + 145u, 102u, 120u, 125u, + 111u, 34u, 238u, 231u, + 88u, 207u, 105u, 126u, + 167u, 255u, 104u, 119u, + 31u, 196u, 233u, 36u, + 70u, 120u, 128u, 146u, + 155u, 150u, 1u, 53u, + 36u, 208u, 177u, 35u, + 119u, 108u, 178u, 217u, + 122u, 123u, 67u, 97u, + 17u, 215u, 26u, 1u, + 67u, 107u, 48u, 32u, + 169u, 155u, 119u, 107u, + 162u, 204u, 101u, 120u, + 255u, 44u, 150u, 138u, + 167u, 122u, 47u, 21u, + 151u, 169u, 177u, 126u, + 92u, 62u, 194u, 205u, + 135u, 110u, 142u, 151u, + 187u, 196u, 173u, 255u, + 113u, 152u, 49u, 136u, + 93u, 82u, 70u, 93u, + 147u, 86u, 90u, 37u, + 1u, 155u, 116u, 174u, + 98u, 43u, 120u, 127u, + 2u, 136u, 98u, 101u, + 183u, 130u, 240u, 255u, + 129u, 230u, 204u, 204u, + 102u, 87u, 88u, 124u, + 21u, 1u, 65u, 122u, + 83u, 115u, 172u, 65u, + 75u, 93u, 132u, 150u, + 75u, 77u, 88u, 58u, + 148u, 250u, 152u, 86u, + 60u, 181u, 8u, 1u, + 182u, 167u, 238u, 231u, + 201u, 150u, 165u, 173u, + 160u, 241u, 63u, 68u, + 115u, 178u, 177u, 253u, + 55u, 164u, 83u, 255u, + 248u, 104u, 143u, 195u, + 97u, 129u, 170u, 126u, + 131u, 140u, 1u, 163u, + 172u, 247u, 105u, 127u, + 137u, 188u, 77u, 70u, + 167u, 166u, 90u, 136u, + 178u, 98u, 191u, 203u, + 117u, 255u, 163u, 74u, + 208u, 144u, 205u, 112u, + 34u, 211u, 86u, 167u, + 102u, 1u, 138u, 144u, + 146u, 234u, 232u, 181u, + 145u, 107u, 198u, 165u, + 211u, 143u, 235u, 152u, + 169u, 152u, 1u, 160u, + 143u, 177u, 159u, 95u, + 142u, 153u, 134u, 50u, + 255u, 138u, 84u, 203u, + 196u, 128u, 150u, 198u, + 159u, 164u, 33u, 87u, + 28u, 202u, 75u, 113u, + 1u, 211u, 164u, 76u, + 36u, 111u, 185u, 181u, + 166u, 165u, 11u, 185u, + 125u, 92u, 151u, 99u, + 67u, 98u, 106u, 83u, + 146u, 13u, 1u, 80u, + 173u, 77u, 180u, 217u, + 196u, 142u, 102u, 57u, + 109u, 35u, 236u, 124u, + 144u, 253u, 151u, 84u, + 152u, 146u, 255u, 23u, + 108u, 205u, 93u, 143u, + 50u, 160u, 119u, 48u, + 185u, 201u, 255u, 146u, + 114u, 222u, 165u, 187u, + 189u, 169u, 112u, 75u, + 98u, 140u, 255u, 204u, + 201u, 95u, 181u, 150u, + 107u, 74u, 214u, 28u, + 24u, 179u, 0u, 151u, + 62u, 98u, 149u, 175u, + 92u, 155u, 142u, 118u, + 108u, 57u, 17u, 97u, + 27u, 217u, 203u, 76u, + 144u, 193u, 1u, 217u, + 105u, 168u, 109u, 92u, + 234u, 168u, 235u, 75u, + 124u, 102u, 153u, 157u, + 96u, 39u, 169u, 109u, + 255u, 162u, 98u, 41u, + 50u, 173u, 40u, 120u, + 99u, 197u, 137u, 69u, + 131u, 138u, 116u, 248u, + 68u, 181u, 200u, 1u, + 227u, 93u, 124u, 124u, + 184u, 71u, 73u, 221u, + 96u, 117u, 174u, 46u, + 88u, 49u, 138u, 207u, + 255u, 193u, 83u, 110u, + 167u, 225u, 121u, 123u, + 136u, 87u, 199u, 103u, + 126u, 191u, 211u, 175u, + 0u, 117u, 143u, 86u, + 255u, 249u, 69u, 83u, + 34u, 182u, 251u, 208u, + 163u, 156u, 177u, 232u, + 112u, 107u, 103u, 76u, + 192u, 149u, 117u, 189u, + 147u, 27u, 255u, 117u, + 134u, 248u, 39u, 215u, + 24u, 29u, 53u, 170u, + 186u, 135u, 1u, 192u, + 9u, 98u, 129u, 81u, + 144u, 230u, 101u, 22u, + 139u, 211u, 162u, 90u, + 147u, 204u, 10u, 170u, + 181u, 127u, 126u, 1u, + 124u, 198u, 132u, 216u, + 144u, 136u, 133u, 162u, + 172u, 127u, 111u, 91u, + 144u, 209u, 43u, 216u, + 197u, 67u, 205u, 1u, + 210u, 139u, 109u, 39u, + 210u, 89u, 65u, 157u, + 56u, 236u, 163u, 255u, + 111u, 2u, 184u, 201u, + 213u, 195u, 158u, 104u, + 71u, 202u, 103u, 39u, + 162u, 231u, 131u, 255u, + 134u, 161u, 231u, 167u, + 100u, 130u, 254u, 222u, + 66u, 61u, 127u, 218u, + 255u, 106u, 18u, 75u, + 103u, 182u, 11u, 60u, + 71u, 67u, 203u, 243u, + 111u, 116u, 194u, 104u, + 75u, 132u, 18u, 138u, + 41u, 162u, 255u, 149u, + 121u, 60u, 142u, 109u, + 169u, 68u, 127u, 79u, + 213u, 119u, 120u, 126u, + 117u, 106u, 131u, 113u, + 197u, 1u, 238u, 67u, + 169u, 106u, 177u, 42u, + 82u, 96u, 135u, 47u, + 161u, 30u, 123u, 206u, + 77u, 175u, 255u, 147u, + 219u, 177u, 183u, 111u, + 1u, 92u, 148u, 158u, + 7u, 131u, 152u, 92u, + 101u, 112u, 98u, 21u, + 155u, 144u, 153u, 188u, + 127u, 210u, 26u, 70u, + 114u, 193u, 107u, 76u, + 0u, 80u, 195u, 200u, + 156u, 171u, 146u, 206u, + 201u, 161u, 43u, 130u, + 174u, 164u, 108u, 75u, + 255u, 92u, 222u, 113u, + 162u, 160u, 133u, 97u, + 255u, 68u, 63u, 110u, + 47u, 183u, 190u, 131u, + 112u, 67u, 127u, 218u, + 51u, 110u, 129u, 165u, + 86u, 150u, 203u, 154u, + 163u, 52u, 133u, 108u, + 223u, 1u, 112u, 121u, + 107u, 111u, 1u, 211u, + 7u, 136u, 142u, 223u, + 229u, 219u, 165u, 97u, + 108u, 100u, 109u, 121u, + 135u, 203u, 202u, 29u, + 255u, 125u, 251u, 141u, + 39u, 117u, 115u, 219u, + 184u, 172u, 170u, 203u, + 105u, 82u, 255u, 90u, + 50u, 119u, 223u, 118u, + 74u, 70u, 86u, 85u, + 112u, 197u, 171u, 194u, + 136u, 136u, 108u, 33u, + 89u, 239u, 255u, 102u, + 173u, 237u, 63u, 150u, + 167u, 124u, 26u, 109u, + 50u, 128u, 69u, 98u, + 78u, 141u, 77u, 129u, + 167u, 116u, 121u, 217u, + 176u, 255u, 138u, 161u, + 177u, 52u, 255u, 99u, + 127u, 129u, 171u, 106u, + 223u, 97u, 20u, 108u, + 156u, 141u, 159u, 194u, + 93u, 224u, 176u, 103u, + 76u, 46u, 118u, 20u, + 206u, 183u, 32u, 121u, + 152u, 0u, 128u, 89u, + 23u, 184u, 89u, 37u, + 39u, 97u, 97u, 118u, + 175u, 35u, 220u, 72u, + 141u, 131u, 255u, 81u, + 133u, 77u, 75u, 132u, + 133u, 40u, 106u, 77u, + 1u, 175u, 69u, 118u, + 203u, 205u, 187u, 188u, + 75u, 96u, 38u, 201u, + 1u, 161u, 93u, 168u, + 105u, 207u, 108u, 84u, + 100u, 122u, 131u, 176u, + 151u, 163u, 130u, 192u, + 67u, 59u, 163u, 173u, + 179u, 190u, 163u, 194u, + 54u, 0u, 118u, 66u, + 85u, 151u, 1u, 165u, + 90u, 55u, 143u, 157u, + 84u, 196u, 159u, 112u, + 141u, 77u, 139u, 74u, + 126u, 125u, 180u, 130u, + 65u, 81u, 0u, 119u, + 90u, 165u, 149u, 80u, + 84u, 85u, 103u, 148u, + 185u, 128u, 130u, 154u, + 0u, 180u, 138u, 124u, + 176u, 95u, 159u, 131u, + 212u, 115u, 99u, 95u, + 110u, 181u, 151u, 69u, + 158u, 152u, 131u, 180u, + 61u, 255u, 219u, 61u, + 173u, 68u, 139u, 177u, + 120u, 177u, 1u, 157u, + 37u, 144u, 147u, 88u, + 108u, 126u, 150u, 172u, + 55u, 76u, 140u, 169u, + 127u, 142u, 118u, 140u, + 1u, 175u, 197u, 124u, + 81u, 165u, 183u, 144u, + 222u, 237u, 103u, 77u, + 255u, 125u, 96u, 129u, + 139u, 54u, 36u, 83u, + 88u, 96u, 86u, 31u, + 63u, 132u, 123u, 145u, + 34u, 163u, 121u, 232u, + 74u, 3u, 145u, 98u, + 166u, 1u, 50u, 226u, + 125u, 183u, 246u, 98u, + 169u, 127u, 121u, 138u, + 148u, 178u, 47u, 186u, + 110u, 68u, 194u, 3u, + 146u, 209u, 87u, 1u, + 186u, 184u, 255u, 113u, + 32u, 87u, 117u, 43u, + 29u, 247u, 205u, 125u, + 174u, 182u, 79u, 161u, + 139u, 53u, 182u, 61u, + 197u, 59u, 9u, 69u, + 255u, 12u, 207u, 69u, + 72u, 97u, 123u, 207u, + 69u, 187u, 4u, 166u, + 55u, 147u, 108u, 151u, + 112u, 198u, 255u, 73u, + 191u, 66u, 176u, 80u, + 72u, 40u, 92u, 142u, + 143u, 11u, 171u, 93u, + 190u, 139u, 86u, 158u, + 80u, 0u, 209u, 143u, + 124u, 177u, 162u, 140u, + 233u, 232u, 94u, 37u, + 116u, 56u, 64u, 122u, + 180u, 131u, 76u, 255u, + 113u, 206u, 129u, 67u, + 138u, 125u, 54u, 113u, + 70u, 105u, 174u, 214u, + 80u, 106u, 87u, 255u, + 48u, 103u, 192u, 158u, + 130u, 159u, 233u, 68u, + 26u, 85u, 35u, 129u, + 146u, 255u, 96u, 200u, + 124u, 163u, 1u, 184u, + 121u, 124u, 153u, 187u, + 115u, 100u, 149u, 214u, + 125u, 153u, 209u, 226u, + 147u, 101u, 157u, 210u, + 161u, 255u, 195u, 17u, + 130u, 161u, 60u, 29u, + 79u, 162u, 189u, 107u, + 55u, 58u, 70u, 214u, + 52u, 185u, 186u, 72u, + 0u, 89u, 116u, 252u, + 200u, 197u, 90u, 186u, + 255u, 157u, 39u, 176u, + 147u, 5u, 47u, 41u, + 133u, 30u, 102u, 65u, + 104u, 132u, 80u, 83u, + 63u, 217u, 186u, 104u, + 72u, 127u, 255u, 47u, + 183u, 108u, 172u, 150u, + 188u, 38u, 24u, 184u, + 70u, 94u, 48u, 243u, + 86u, 72u, 255u, 129u, + 146u, 140u, 88u, 49u, + 73u, 41u, 196u, 55u, + 139u, 112u, 172u, 129u, + 149u, 173u, 153u, 112u, + 255u, 223u, 108u, 132u, + 180u, 130u, 106u, 169u, + 127u, 104u, 182u, 108u, + 1u, 72u, 186u, 91u, + 235u, 154u, 5u, 10u, + 146u, 3u, 243u, 212u, + 43u, 129u, 198u, 88u, + 163u, 230u, 100u, 112u, + 56u, 55u, 232u, 1u, + 255u, 244u, 171u, 172u, + 174u, 137u, 168u, 255u, + 101u, 144u, 27u, 144u, + 125u, 134u, 111u, 178u, + 146u, 140u, 171u, 181u, + 165u, 158u, 160u, 156u, + 147u, 82u, 131u, 151u, + 106u, 109u, 221u, 255u, + 109u, 141u, 166u, 52u, + 144u, 117u, 171u, 119u, + 164u, 179u, 141u, 1u, + 169u, 112u, 37u, 39u, + 152u, 149u, 73u, 111u, + 159u, 160u, 31u, 110u, + 196u, 145u, 202u, 195u, + 197u, 115u, 143u, 121u, + 225u, 241u, 255u, 42u, + 116u, 194u, 205u, 130u, + 137u, 165u, 78u, 191u, + 131u, 255u, 159u, 123u, + 159u, 94u, 56u, 134u, + 164u, 107u, 144u, 138u, + 55u, 215u, 65u, 82u, + 139u, 88u, 233u, 139u, + 90u, 76u, 152u, 255u, + 7u, 190u, 101u, 96u, + 214u, 130u, 3u, 203u, + 8u, 172u, 136u, 1u, + 178u, 41u, 158u, 110u, + 229u, 105u, 114u, 132u, + 1u, 69u, 210u, 107u, + 31u, 72u, 123u, 136u, + 91u, 91u, 96u, 154u, + 133u, 33u, 1u, 63u, + 142u, 52u, 184u, 62u, + 188u, 180u, 223u, 99u, + 48u, 216u, 173u, 108u, + 70u, 157u, 78u, 188u, + 170u, 194u, 4u, 77u, + 6u, 123u, 149u, 252u, + 114u, 72u, 234u, 255u, + 46u, 62u, 147u, 140u, + 101u, 203u, 162u, 85u, + 96u, 77u, 135u, 58u, + 59u, 255u, 197u, 95u, + 71u, 143u, 78u, 74u, + 159u, 134u, 113u, 65u, + 84u, 160u, 89u, 255u, + 117u, 132u, 86u, 236u, + 148u, 124u, 125u, 255u, + 61u, 98u, 140u, 75u, + 126u, 174u, 198u, 140u, + 132u, 160u, 203u, 68u, + 255u, 65u, 227u, 178u, + 105u, 191u, 230u, 181u, + 59u, 108u, 10u, 198u, + 209u, 129u, 102u, 198u, + 116u, 69u, 127u, 137u, + 255u, 158u, 92u, 110u, + 143u, 120u, 131u, 126u, + 78u, 176u, 35u, 146u, + 105u, 224u, 1u, 79u, + 55u, 159u, 46u, 246u, + 106u, 170u, 146u, 106u, + 187u, 195u, 119u, 48u, + 202u, 153u, 255u, 82u, + 230u, 104u, 43u, 190u, + 186u, 189u, 50u, 56u, + 103u, 178u, 160u, 80u, + 190u, 70u, 203u, 200u, + 108u, 45u, 135u, 153u, + 177u, 255u, 116u, 151u, + 128u, 121u, 195u, 58u, + 125u, 255u, 233u, 103u, + 73u, 228u, 149u, 12u, + 73u, 217u, 64u, 177u, + 100u, 122u, 106u, 72u, + 106u, 137u, 81u, 101u, + 66u, 194u, 167u, 213u, + 167u, 101u, 255u, 204u, + 186u, 91u, 242u, 120u, + 1u, 205u, 112u, 208u, + 67u, 59u, 37u, 59u, + 159u, 145u, 111u, 137u, + 106u, 31u, 86u, 74u, + 211u, 135u, 121u, 163u, + 88u, 1u, 35u, 147u, + 102u, 150u, 100u, 53u, + 27u, 26u, 226u, 76u, + 161u, 254u, 181u, 1u, + 54u, 150u, 60u, 156u, + 165u, 202u, 216u, 4u, + 124u, 116u, 145u, 15u, + 179u, 157u, 163u, 103u, + 1u, 109u, 12u, 178u, + 176u, 103u, 170u, 52u, + 47u, 106u, 65u, 111u, + 223u, 118u, 9u, 255u, + 231u, 84u, 128u, 119u, + 248u, 49u, 10u, 64u, + 73u, 209u, 179u, 53u, + 196u, 183u, 116u, 185u, + 126u, 170u, 26u, 255u, + 219u, 67u, 212u, 116u, + 113u, 73u, 44u, 104u, + 22u, 163u, 255u, 70u, + 155u, 49u, 167u, 41u, + 124u, 163u, 123u, 169u, + 137u, 42u, 130u, 253u, + 255u, 224u, 103u, 124u, + 87u, 128u, 115u, 191u, + 154u, 155u, 119u, 127u, + 98u, 129u, 113u, 101u, + 148u, 190u, 139u, 124u, + 1u, 136u, 120u, 169u, + 203u, 135u, 192u, 156u, + 214u, 162u, 201u, 105u, + 25u, 176u, 1u, 84u, + 211u, 198u, 75u, 188u, + 177u, 136u, 135u, 68u, + 55u, 134u, 149u, 193u, + 186u, 0u, 121u, 192u, + 228u, 61u, 10u, 82u, + 8u, 110u, 15u, 90u, + 193u, 79u, 138u, 119u, + 47u, 153u, 37u, 70u, + 61u, 90u, 84u, 150u, + 123u, 191u, 150u, 110u, + 4u, 96u, 170u, 255u, + 171u, 109u, 56u, 136u, + 255u, 170u, 103u, 186u, + 126u, 109u, 102u, 232u, + 142u, 184u, 204u, 250u, + 97u, 140u, 141u, 1u, + 183u, 144u, 184u, 90u, + 140u, 189u, 169u, 202u, + 163u, 200u, 91u, 103u, + 159u, 149u, 165u, 1u, + 118u, 138u, 59u, 163u, + 192u, 87u, 168u, 82u, + 42u, 201u, 60u, 89u, + 103u, 121u, 157u, 0u, + 118u, 200u, 102u, 140u, + 116u, 182u, 201u, 145u, + 85u, 123u, 46u, 181u, + 147u, 255u, 118u, 246u, + 174u, 134u, 96u, 5u, + 3u, 7u, 151u, 220u, + 54u, 205u, 122u, 181u, + 126u, 111u, 1u, 65u, + 177u, 157u, 82u, 158u, + 100u, 140u, 157u, 33u, + 143u, 160u, 71u, 168u, + 0u, 96u, 145u, 238u, + 60u, 252u, 155u, 147u, + 36u, 30u, 136u, 26u, + 205u, 118u, 149u, 92u, + 159u, 48u, 141u, 205u, + 41u, 87u, 1u, 42u, + 102u, 184u, 117u, 104u, + 96u, 66u, 17u, 246u, + 220u, 163u, 61u, 40u, + 89u, 142u, 0u, 143u, + 11u, 187u, 201u, 142u, + 164u, 239u, 97u, 130u, + 1u, 46u, 145u, 239u, + 255u, 227u, 117u, 58u, + 148u, 135u, 9u, 172u, + 108u, 65u, 215u, 124u, + 113u, 140u, 173u, 179u, + 168u, 135u, 128u, 86u, + 1u, 139u, 227u, 84u, + 149u, 12u, 129u, 61u, + 123u, 155u, 124u, 80u, + 144u, 172u, 224u, 27u, + 255u, 104u, 76u, 234u, + 204u, 60u, 47u, 107u, + 247u, 158u, 255u, 72u, + 179u, 92u, 137u, 4u, + 131u, 152u, 129u, 143u, + 125u, 124u, 167u, 70u, + 163u, 144u, 151u, 125u, + 104u, 127u, 172u, 112u, + 139u, 115u, 73u, 255u, + 113u, 183u, 119u, 178u, + 164u, 125u, 189u, 1u, + 136u, 112u, 154u, 189u, + 103u, 200u, 197u, 227u, + 178u, 82u, 60u, 147u, + 112u, 39u, 128u, 108u, + 87u, 89u, 77u, 71u, + 203u, 87u, 239u, 184u, + 106u, 1u, 178u, 85u, + 148u, 171u, 114u, 220u, + 31u, 140u, 255u, 95u, + 131u, 167u, 89u, 126u, + 136u, 208u, 99u, 56u, + 62u, 167u, 191u, 53u, + 133u, 170u, 224u, 103u, + 36u, 24u, 114u, 1u, + 41u, 154u, 163u, 244u, + 184u, 129u, 164u, 0u, + 30u, 82u, 39u, 196u, + 82u, 169u, 235u, 109u, + 95u, 120u, 128u, 116u, + 212u, 161u, 129u, 121u, + 163u, 69u, 1u, 99u, + 194u, 213u, 194u, 100u, + 85u, 107u, 127u, 166u, + 182u, 128u, 109u, 88u, + 125u, 1u, 152u, 96u, + 94u, 187u, 103u, 140u, + 75u, 80u, 165u, 80u, + 83u, 142u, 77u, 52u, + 111u, 147u, 171u, 145u, + 203u, 101u, 137u, 165u, + 70u, 53u, 148u, 255u, + 255u, 143u, 208u, 8u, + 183u, 196u, 160u, 229u, + 88u, 35u, 204u, 202u, + 206u, 72u, 126u, 153u, + 73u, 160u, 52u, 126u, + 128u, 128u, 22u, 183u, + 175u, 104u, 255u, 43u, + 140u, 67u, 91u, 68u, + 25u, 143u, 208u, 156u, + 246u, 66u, 99u, 195u, + 7u, 1u, 148u, 87u, + 133u, 143u, 22u, 210u, + 172u, 116u, 187u, 165u, + 152u, 181u, 181u, 120u, + 255u, 90u, 172u, 127u, + 174u, 141u, 70u, 113u, + 93u, 152u, 25u, 77u, + 120u, 59u, 219u, 101u, + 232u, 207u, 152u, 1u, + 134u, 129u, 141u, 108u, + 23u, 129u, 125u, 1u, + 108u, 153u, 173u, 53u, + 120u, 140u, 139u, 168u, + 23u, 205u, 158u, 124u, + 162u, 133u, 89u, 24u, + 137u, 119u, 175u, 105u, + 160u, 159u, 114u, 255u, + 172u, 158u, 100u, 31u, + 43u, 86u, 46u, 163u, + 217u, 113u, 66u, 211u, + 198u, 191u, 134u, 129u, + 1u, 40u, 95u, 149u, + 91u, 175u, 254u, 176u, + 89u, 81u, 220u, 51u, + 144u, 132u, 223u, 179u, + 63u, 1u, 135u, 68u, + 200u, 200u, 156u, 109u, + 181u, 48u, 79u, 167u, + 82u, 193u, 78u, 81u, + 221u, 197u, 251u, 1u, + 163u, 84u, 104u, 154u, + 59u, 131u, 125u, 73u, + 108u, 192u, 169u, 1u, + 138u, 107u, 104u, 147u, + 138u, 152u, 255u, 90u, + 185u, 241u, 201u, 240u, + 111u, 173u, 27u, 55u, + 206u, 115u, 137u, 130u, + 137u, 119u, 242u, 191u, + 173u, 105u, 106u, 98u, + 110u, 183u, 0u, 20u, + 33u, 35u, 65u, 102u, + 193u, 174u, 96u, 116u, + 1u, 165u, 73u, 202u, + 122u, 190u, 216u, 85u, + 117u, 2u, 112u, 81u, + 148u, 98u, 176u, 207u, + 92u, 1u, 99u, 39u, + 159u, 125u, 148u, 121u, + 49u, 84u, 224u, 77u, + 179u, 90u, 129u, 1u, + 116u, 24u, 50u, 136u, + 125u, 145u, 212u, 86u, + 127u, 94u, 130u, 127u, + 135u, 165u, 100u, 112u, + 53u, 133u, 50u, 135u, + 125u, 218u, 255u, 117u, + 165u, 75u, 144u, 113u, + 184u, 147u, 139u, 198u, + 83u, 147u, 80u, 255u, + 171u, 28u, 188u, 144u, + 186u, 90u, 101u, 13u, + 90u, 79u, 162u, 140u, + 128u, 158u, 159u, 128u, + 103u, 163u, 115u, 146u, + 118u, 255u, 147u, 142u, + 76u, 151u, 127u, 121u, + 142u, 185u, 56u, 180u, + 122u, 173u, 133u, 108u, + 1u, 167u, 65u, 169u, + 105u, 255u, 154u, 112u, + 41u, 228u, 34u, 154u, + 124u, 193u, 164u, 98u, + 175u, 162u, 165u, 138u, + 161u, 71u, 103u, 85u, + 128u, 101u, 255u, 39u, + 198u, 117u, 118u, 169u, + 126u, 172u, 103u, 149u, + 123u, 165u, 255u, 166u, + 112u, 141u, 117u, 169u, + 123u, 139u, 27u, 89u, + 101u, 158u, 111u, 147u, + 198u, 225u, 176u, 35u, + 212u, 159u, 12u, 152u, + 58u, 158u, 166u, 119u, + 146u, 153u, 143u, 255u, + 255u, 176u, 195u, 29u, + 117u, 140u, 52u, 107u, + 104u, 156u, 156u, 83u, + 58u, 89u, 69u, 118u, + 47u, 152u, 112u, 84u, + 136u, 146u, 100u, 169u, + 127u, 58u, 111u, 136u, + 130u, 123u, 117u, 1u, + 167u, 91u, 213u, 167u, + 103u, 66u, 176u, 1u, + 159u, 192u, 160u, 185u, + 212u, 140u, 166u, 92u, + 146u, 147u, 197u, 84u, + 88u, 63u, 152u, 106u, + 198u, 130u, 195u, 188u, + 91u, 1u, 104u, 179u, + 172u, 119u, 113u, 132u, + 93u, 109u, 79u, 146u, + 130u, 150u, 125u, 117u, + 149u, 128u, 95u, 1u, + 74u, 211u, 149u, 1u, + 37u, 156u, 105u, 143u, + 41u, 51u, 184u, 34u, + 192u, 66u, 181u, 114u, + 38u, 134u, 192u, 143u, + 14u, 94u, 79u, 183u, + 118u, 1u, 225u, 26u, + 119u, 56u, 95u, 53u, + 149u, 100u, 173u, 21u, + 255u, 169u, 185u, 119u, + 208u, 30u, 88u, 177u, + 148u, 172u, 18u, 68u, + 255u, 128u, 126u, 124u, + 29u, 91u, 141u, 124u, + 52u, 76u, 65u, 71u, + 112u, 133u, 145u, 120u, + 222u, 108u, 255u, 9u, + 135u, 178u, 83u, 126u, + 138u, 69u, 157u, 147u, + 75u, 141u, 133u, 55u, + 138u, 96u, 77u, 33u, + 43u, 93u, 250u, 194u, + 133u, 64u, 255u, 107u, + 71u, 48u, 121u, 100u, + 82u, 121u, 171u, 112u, + 41u, 149u, 241u, 184u, + 88u, 81u, 206u, 120u, + 18u, 31u, 149u, 1u, + 105u, 87u, 171u, 28u, + 196u, 197u, 80u, 255u, + 177u, 63u, 237u, 77u, + 57u, 191u, 205u, 43u, + 42u, 144u, 254u, 229u, + 200u, 132u, 142u, 104u, + 23u, 81u, 91u, 255u, + 215u, 154u, 53u, 143u, + 100u, 123u, 182u, 144u, + 23u, 191u, 160u, 51u, + 152u, 71u, 223u, 255u, + 200u, 121u, 125u, 208u, + 71u, 194u, 1u, 6u, + 125u, 94u, 91u, 110u, + 216u, 99u, 199u, 197u, + 30u, 217u, 50u, 130u, + 125u, 96u, 72u, 192u, + 128u, 113u, 141u, 115u, + 18u, 54u, 64u, 0u, + 39u, 184u, 153u, 153u, + 107u, 152u, 149u, 102u, + 162u, 119u, 17u, 183u, + 66u, 156u, 90u, 1u, + 169u, 63u, 232u, 95u, + 168u, 102u, 90u, 220u, + 221u, 126u, 155u, 178u, + 110u, 160u, 80u, 79u, + 255u, 166u, 100u, 154u, + 74u, 189u, 122u, 237u, + 181u, 216u, 209u, 184u, + 120u, 1u, 39u, 116u, + 187u, 185u, 127u, 192u, + 158u, 88u, 218u, 41u, + 48u, 60u, 68u, 255u, + 67u, 235u, 203u, 91u, + 27u, 101u, 147u, 233u, + 22u, 1u, 100u, 164u, + 164u, 148u, 178u, 155u, + 172u, 187u, 111u, 201u, + 192u, 142u, 124u, 186u, + 78u, 199u, 80u, 116u, + 35u, 145u, 252u, 227u, + 67u, 255u, 253u, 123u, + 237u, 204u, 147u, 180u, + 159u, 70u, 144u, 255u, + 157u, 223u, 94u, 164u, + 167u, 17u, 106u, 82u, + 131u, 98u, 61u, 95u, + 1u, 163u, 133u, 118u, + 220u, 195u, 164u, 157u, + 95u, 189u, 104u, 188u, + 126u, 65u, 148u, 132u, + 162u, 93u, 180u, 130u, + 241u, 142u, 125u, 83u, + 127u, 185u, 1u, 128u, + 101u, 183u, 199u, 118u, + 64u, 64u, 181u, 202u, + 30u, 255u, 165u, 160u, + 128u, 50u, 54u, 46u, + 99u, 209u, 67u, 22u, + 146u, 129u, 141u, 0u, + 189u, 84u, 214u, 137u, + 64u, 203u, 185u, 174u, + 201u, 103u, 168u, 75u, + 163u, 182u, 1u, 183u, + 54u, 110u, 160u, 248u, + 37u, 90u, 209u, 133u, + 89u, 148u, 80u, 98u, + 121u, 121u, 119u, 123u, + 137u, 231u, 114u, 109u, + 89u, 190u, 154u, 136u, + 143u, 145u, 1u, 119u, + 136u, 62u, 1u, 207u, + 58u, 193u, 104u, 102u, + 179u, 97u, 117u, 100u, + 156u, 149u, 94u, 132u, + 166u, 159u, 175u, 140u, + 109u, 122u, 104u, 118u, + 59u, 182u, 90u, 124u, + 130u, 80u, 155u, 255u, + 203u, 101u, 102u, 149u, + 0u, 110u, 91u, 75u, + 128u, 226u, 148u, 161u, + 172u, 55u, 109u, 127u, + 68u, 148u, 113u, 127u, + 55u, 155u, 66u, 194u, + 149u, 219u, 255u, 175u, + 85u, 74u, 109u, 160u, + 0u, 157u, 147u, 200u, + 162u, 151u, 193u, 192u, + 59u, 94u, 111u, 127u, + 54u, 92u, 189u, 170u, + 34u, 121u, 114u, 14u, + 115u, 34u, 19u, 20u, + 65u, 94u, 189u, 1u, + 68u, 31u, 209u, 39u, + 122u, 178u, 82u, 99u, + 172u, 251u, 29u, 153u, + 6u, 1u, 164u, 206u, + 140u, 82u, 115u, 49u, + 255u, 110u, 236u, 129u, + 94u, 167u, 206u, 138u, + 160u, 149u, 48u, 137u, + 152u, 174u, 60u, 139u, + 177u, 172u, 170u, 82u, + 73u, 1u, 60u, 51u, + 25u, 180u, 145u, 152u, + 118u, 57u, 103u, 144u, + 122u, 152u, 127u, 150u, + 154u, 255u, 15u, 175u, + 117u, 183u, 128u, 171u, + 195u, 149u, 110u, 177u, + 62u, 121u, 115u, 255u, + 82u, 66u, 82u, 24u, + 159u, 60u, 158u, 29u, + 160u, 53u, 109u, 37u, + 221u, 191u, 249u, 176u, + 219u, 120u, 52u, 45u, + 8u, 137u, 125u, 140u, + 172u, 173u, 165u, 1u, + 255u, 124u, 142u, 94u, + 101u, 156u, 75u, 252u, + 90u, 125u, 179u, 158u, + 207u, 164u, 59u, 183u, + 145u, 166u, 118u, 157u, + 114u, 135u, 83u, 110u, + 146u, 72u, 152u, 130u, + 100u, 191u, 82u, 1u, + 211u, 131u, 101u, 98u, + 167u, 96u, 156u, 139u, + 128u, 103u, 112u, 150u, + 79u, 255u, 54u, 85u, + 174u, 76u, 173u, 205u, + 147u, 68u, 192u, 1u, + 97u, 101u, 62u, 72u, + 202u, 95u, 137u, 119u, + 196u, 176u, 150u, 86u, + 161u, 146u, 178u, 115u, + 255u, 83u, 175u, 135u, + 51u, 225u, 79u, 48u, + 135u, 129u, 160u, 85u, + 185u, 73u, 1u, 133u, + 79u, 149u, 169u, 107u, + 112u, 113u, 35u, 133u, + 160u, 138u, 109u, 78u, + 138u, 74u, 230u, 38u, + 93u, 129u, 79u, 132u, + 88u, 255u, 170u, 48u, + 65u, 174u, 146u, 0u, + 85u, 180u, 168u, 168u, + 59u, 141u, 96u, 217u, + 47u, 74u, 170u, 190u, + 116u, 250u, 88u, 128u, + 49u, 255u, 160u, 172u, + 203u, 110u, 219u, 103u, + 159u, 233u, 106u, 94u, + 94u, 180u, 84u, 128u, + 130u, 191u, 1u, 159u, + 78u, 120u, 198u, 38u, + 101u, 105u, 136u, 127u, + 54u, 67u, 61u, 67u, + 235u, 1u, 177u, 215u, + 237u, 67u, 162u, 193u, + 133u, 193u, 183u, 13u, + 171u, 32u, 145u, 143u, + 22u, 139u, 191u, 184u, + 26u, 153u, 74u, 180u, + 127u, 1u, 6u, 247u, + 111u, 140u, 0u, 113u, + 206u, 171u, 243u, 142u, + 102u, 244u, 111u, 111u, + 140u, 58u, 134u, 108u, + 225u, 74u, 39u, 108u, + 97u, 123u, 28u, 197u, + 112u, 163u, 142u, 109u, + 145u, 255u, 61u, 166u, + 150u, 89u, 194u, 34u, + 63u, 176u, 45u, 93u, + 157u, 172u, 229u, 255u, + 139u, 47u, 70u, 179u, + 129u, 142u, 181u, 0u, + 223u, 131u, 74u, 132u, + 151u, 99u, 88u, 69u, + 128u, 193u, 50u, 147u, + 134u, 12u, 191u, 109u, + 210u, 49u, 220u, 109u, + 58u, 136u, 0u, 145u, + 236u, 134u, 122u, 28u, + 139u, 77u, 129u, 32u, + 200u, 101u, 102u, 98u, + 255u, 110u, 154u, 98u, + 169u, 98u, 31u, 70u, + 151u, 144u, 211u, 96u, + 255u, 19u, 246u, 202u, + 71u, 14u, 40u, 200u, + 204u, 113u, 151u, 131u, + 193u, 157u, 255u, 112u, + 176u, 61u, 185u, 37u, + 155u, 173u, 49u, 135u, + 133u, 145u, 195u, 125u, + 69u, 125u, 86u, 131u, + 162u, 212u, 1u, 77u, + 154u, 149u, 212u, 123u, + 85u, 76u, 104u, 218u, + 139u, 84u, 100u, 154u, + 112u, 81u, 159u, 47u, + 180u, 255u, 68u, 98u, + 35u, 168u, 143u, 160u, + 191u, 156u, 178u, 117u, + 158u, 201u, 0u, 181u, + 84u, 81u, 189u, 103u, + 108u, 207u, 160u, 233u, + 133u, 161u, 127u, 40u, + 52u, 73u, 255u, 248u, + 48u, 24u, 52u, 33u, + 168u, 93u, 90u, 158u, + 106u, 146u, 140u, 183u, + 135u, 153u, 59u, 169u, + 133u, 0u, 109u, 110u, + 76u, 135u, 112u, 116u, + 178u, 248u, 115u, 36u, + 255u, 110u, 94u, 195u, + 81u, 178u, 144u, 180u, + 217u, 43u, 141u, 187u, + 191u, 151u, 52u, 89u, + 1u, 110u, 88u, 168u, + 105u, 140u, 232u, 119u, + 58u, 132u, 123u, 178u, + 69u, 14u, 16u, 125u, + 165u, 127u, 208u, 255u, + 221u, 93u, 90u, 99u, + 53u, 168u, 179u, 116u, + 190u, 28u, 174u, 93u, + 255u, 95u, 89u, 69u, + 186u, 106u, 60u, 147u, + 104u, 145u, 125u, 164u, + 200u, 152u, 141u, 122u, + 120u, 23u, 124u, 98u, + 31u, 84u, 164u, 255u, + 182u, 175u, 77u, 104u, + 209u, 70u, 100u, 163u, + 197u, 129u, 151u, 122u, + 123u, 0u, 42u, 89u, + 82u, 204u, 81u, 112u, + 255u, 64u, 135u, 142u, + 104u, 104u, 82u, 75u, + 116u, 151u, 121u, 228u, + 96u, 115u, 77u, 165u, + 255u, 112u, 198u, 104u, + 53u, 97u, 210u, 64u, + 183u, 215u, 211u, 212u, + 124u, 50u, 202u, 176u, + 100u, 191u, 172u, 81u, + 89u, 201u, 186u, 83u, + 255u, 141u, 182u, 131u, + 170u, 142u, 156u, 92u, + 40u, 50u, 124u, 159u, + 255u, 180u, 66u, 63u, + 98u, 204u, 41u, 105u, + 14u, 37u, 163u, 255u, + 47u, 115u, 27u, 187u, + 68u, 89u, 197u, 136u, + 111u, 237u, 1u, 89u, + 56u, 146u, 238u, 214u, + 59u, 156u, 119u, 170u, + 99u, 154u, 134u, 82u, + 90u, 81u, 16u, 1u, + 97u, 115u, 201u, 122u, + 190u, 219u, 168u, 216u, + 97u, 175u, 108u, 209u, + 26u, 135u, 134u, 141u, + 130u, 12u, 161u, 255u, + 195u, 107u, 177u, 75u, + 185u, 255u, 184u, 202u, + 52u, 126u, 55u, 53u, + 255u, 197u, 105u, 79u, + 219u, 3u, 193u, 180u, + 233u, 155u, 132u, 59u, + 144u, 112u, 3u, 97u, + 88u, 38u, 0u, 66u, + 115u, 81u, 153u, 147u, + 1u, 161u, 137u, 125u, + 167u, 174u, 227u, 205u, + 82u, 125u, 40u, 157u, + 121u, 144u, 94u, 101u, + 150u, 200u, 26u, 164u, + 160u, 119u, 190u, 158u, + 123u, 133u, 1u, 128u, + 162u, 117u, 29u, 64u, + 0u, 134u, 67u, 136u, + 71u, 63u, 217u, 132u, + 140u, 140u, 23u, 151u, + 193u, 134u, 127u, 65u, + 180u, 133u, 74u, 171u, + 177u, 168u, 148u, 150u, + 255u, 163u, 58u, 131u, + 166u, 124u, 75u, 153u, + 124u, 148u, 138u, 99u, + 127u, 182u, 129u, 255u, + 163u, 119u, 175u, 109u, + 105u, 178u, 13u, 116u, + 165u, 180u, 69u, 234u, + 86u, 96u, 114u, 127u, + 78u, 142u, 0u, 87u, + 13u, 152u, 139u, 117u, + 171u, 125u, 105u, 68u, + 1u, 61u, 186u, 127u, + 147u, 112u, 182u, 118u, + 61u, 255u, 62u, 86u, + 137u, 104u, 123u, 155u, + 92u, 60u, 231u, 124u, + 135u, 180u, 166u, 158u, + 145u, 92u, 158u, 94u, + 230u, 255u, 112u, 191u, + 84u, 195u, 86u, 244u, + 181u, 163u, 36u, 112u, + 255u, 86u, 225u, 116u, + 87u, 196u, 196u, 199u, + 28u, 251u, 147u, 153u, + 58u, 124u, 15u, 246u, + 192u, 153u, 66u, 162u, + 1u, 60u, 167u, 116u, + 141u, 60u, 99u, 60u, + 130u, 110u, 138u, 124u, + 191u, 151u, 169u, 74u, + 113u, 146u, 131u, 72u, + 187u, 142u, 192u, 160u, + 207u, 0u, 98u, 232u, + 98u, 114u, 214u, 74u, + 122u, 105u, 117u, 112u, + 34u, 120u, 87u, 71u, + 1u, 113u, 200u, 230u, + 66u, 103u, 130u, 61u, + 177u, 98u, 135u, 150u, + 60u, 88u, 81u, 140u, + 133u, 219u, 1u, 166u, + 111u, 159u, 83u, 131u, + 34u, 116u, 104u, 212u, + 111u, 213u, 255u, 111u, + 99u, 99u, 103u, 153u, + 208u, 153u, 148u, 1u, + 73u, 194u, 151u, 115u, + 43u, 117u, 136u, 194u, + 128u, 167u, 161u, 185u, + 101u, 157u, 115u, 255u, + 26u, 159u, 78u, 152u, + 93u, 171u, 123u, 57u, + 133u, 52u, 33u, 113u, + 97u, 205u, 123u, 67u, + 83u, 41u, 255u, 125u, + 134u, 198u, 233u, 115u, + 79u, 108u, 171u, 171u, + 143u, 96u, 76u, 151u, + 155u, 147u, 255u, 116u, + 124u, 161u, 42u, 154u, + 199u, 167u, 212u, 93u, + 57u, 136u, 255u, 73u, + 190u, 234u, 129u, 51u, + 227u, 128u, 200u, 214u, + 186u, 67u, 49u, 142u, + 91u, 187u, 91u, 88u, + 68u, 155u, 162u, 117u, + 88u, 60u, 135u, 170u, + 204u, 119u, 1u, 114u, + 7u, 112u, 185u, 7u, + 157u, 98u, 68u, 126u, + 80u, 120u, 141u, 214u, + 120u, 1u, 224u, 235u, + 70u, 154u, 159u, 60u, + 180u, 107u, 144u, 106u, + 166u, 87u, 255u, 81u, + 150u, 192u, 156u, 162u, + 58u, 146u, 167u, 85u, + 160u, 51u, 149u, 57u, + 94u, 18u, 147u, 82u, + 100u, 255u, 37u, 73u, + 144u, 120u, 231u, 126u, + 255u, 116u, 70u, 161u, + 150u, 227u, 141u, 111u, + 61u, 184u, 83u, 136u, + 114u, 170u, 98u, 72u, + 1u, 182u, 51u, 169u, + 135u, 106u, 195u, 117u, + 121u, 153u, 146u, 162u, + 100u, 85u, 8u, 255u, + 153u, 115u, 182u, 146u, + 20u, 199u, 122u, 155u, + 127u, 156u, 140u, 152u, + 174u, 239u, 123u, 43u, + 225u, 111u, 161u, 97u, + 163u, 255u, 107u, 154u, + 170u, 145u, 141u, 62u, + 102u, 123u, 111u, 228u, + 107u, 140u, 173u, 155u, + 110u, 134u, 52u, 0u, + 109u, 73u, 65u, 165u, + 139u, 218u, 227u, 47u, + 33u, 171u, 248u, 242u, + 39u, 116u, 193u, 255u, + 187u, 34u, 108u, 206u, + 58u, 34u, 92u, 255u, + 193u, 52u, 169u, 96u, + 78u, 228u, 34u, 241u, + 190u, 105u, 138u, 138u, + 127u, 175u, 153u, 102u, + 255u, 24u, 91u, 105u, + 10u, 86u, 33u, 140u, + 142u, 246u, 105u, 56u, + 14u, 255u, 49u, 174u, + 20u, 199u, 248u, 138u, + 85u, 25u, 239u, 204u, + 165u, 209u, 106u, 211u, + 155u, 143u, 249u, 21u, + 189u, 206u, 255u, 177u, + 159u, 84u, 243u, 229u, + 84u, 168u, 148u, 239u, + 87u, 218u, 131u, 255u, + 101u, 55u, 60u, 63u, + 42u, 205u, 106u, 69u, + 175u, 140u, 186u, 92u, + 151u, 99u, 120u, 182u, + 148u, 5u, 144u, 96u, + 168u, 127u, 105u, 131u, + 141u, 198u, 77u, 1u, + 217u, 248u, 66u, 136u, + 98u, 75u, 116u, 255u, + 173u, 108u, 234u, 154u, + 174u, 11u, 156u, 73u, + 251u, 87u, 105u, 1u, + 32u, 46u, 200u, 239u, + 159u, 179u, 211u, 136u, + 123u, 187u, 31u, 89u, + 94u, 123u, 53u, 102u, + 226u, 163u, 43u, 78u, + 137u, 76u, 151u, 196u, + 100u, 236u, 91u, 1u, + 1u, 225u, 72u, 199u, + 144u, 124u, 112u, 118u, + 83u, 232u, 189u, 208u, + 104u, 138u, 5u, 199u, + 125u, 98u, 59u, 117u, + 124u, 40u, 140u, 83u, + 121u, 79u, 187u, 255u, + 104u, 72u, 48u, 253u, + 169u, 185u, 108u, 60u, + 209u, 1u, 198u, 50u, + 26u, 101u, 129u, 185u, + 43u, 108u, 220u, 12u, + 140u, 119u, 255u, 85u, + 128u, 89u, 112u, 102u, + 113u, 137u, 93u, 136u, + 234u, 188u, 114u, 199u, + 145u, 52u, 1u, 208u, + 108u, 70u, 147u, 148u, + 154u, 134u, 147u, 184u, + 118u, 123u, 173u, 115u, + 50u, 74u, 136u, 153u, + 255u, 215u, 27u, 25u, + 130u, 98u, 232u, 153u, + 153u, 56u, 156u, 211u, + 89u, 118u, 149u, 19u, + 1u, 8u, 249u, 244u, + 138u, 76u, 188u, 185u, + 10u, 156u, 172u, 213u, + 5u, 81u, 1u, 108u, + 155u, 207u, 97u, 104u, + 192u, 95u, 144u, 129u, + 136u, 32u, 125u, 233u, + 70u, 184u, 139u, 26u, + 142u, 86u, 147u, 211u, + 1u, 181u, 140u, 239u, + 86u, 223u, 64u, 80u, + 29u, 1u, 99u, 56u, + 181u, 155u, 30u, 133u, + 183u, 158u, 142u, 68u, + 139u, 62u, 144u, 174u, + 171u, 169u, 61u, 44u, + 117u, 121u, 247u, 15u, + 125u, 116u, 237u, 210u, + 255u, 76u, 11u, 189u, + 108u, 95u, 68u, 167u, + 222u, 135u, 41u, 91u, + 15u, 255u, 169u, 86u, + 217u, 76u, 174u, 191u, + 176u, 99u, 76u, 229u, + 255u, 122u, 161u, 112u, + 97u, 92u, 71u, 76u, + 146u, 162u, 154u, 20u, + 124u, 139u, 190u, 71u, + 139u, 187u, 150u, 102u, + 130u, 1u, 85u, 98u, + 161u, 161u, 76u, 139u, + 166u, 99u, 9u, 125u, + 41u, 110u, 164u, 178u, + 173u, 255u, 184u, 173u, + 46u, 167u, 121u, 77u, + 105u, 132u, 128u, 79u, + 50u, 181u, 121u, 255u, + 117u, 170u, 142u, 171u, + 66u, 63u, 149u, 149u, + 93u, 208u, 115u, 0u, + 112u, 142u, 189u, 199u, + 30u, 39u, 159u, 130u, + 134u, 135u, 151u, 189u, + 52u, 74u, 160u, 50u, + 232u, 171u, 113u, 93u, + 255u, 57u, 196u, 156u, + 35u, 108u, 119u, 130u, + 54u, 102u, 63u, 255u, + 44u, 78u, 90u, 73u, + 130u, 116u, 101u, 59u, + 71u, 120u, 219u, 172u, + 255u, 110u, 153u, 227u, + 77u, 63u, 32u, 139u, + 122u, 59u, 124u, 59u, + 134u, 22u, 1u, 70u, + 255u, 25u, 190u, 156u, + 87u, 60u, 82u, 104u, + 88u, 84u, 44u, 96u, + 67u, 77u, 145u, 3u, + 155u, 28u, 192u, 107u, + 102u, 80u, 178u, 73u, + 89u, 157u, 79u, 255u, + 91u, 221u, 40u, 163u, + 56u, 221u, 210u, 54u, + 64u, 146u, 1u, 125u, + 130u, 189u, 145u, 84u, + 80u, 85u, 134u, 142u, + 228u, 90u, 91u, 164u, + 147u, 70u, 1u, 244u, + 114u, 8u, 85u, 147u, + 50u, 68u, 87u, 141u, + 46u, 90u, 71u, 113u, + 92u, 42u, 78u, 139u, + 167u, 142u, 141u, 198u, + 84u, 109u, 73u, 1u, + 64u, 103u, 204u, 113u, + 1u, 120u, 152u, 195u, + 174u, 123u, 221u, 195u, + 98u, 111u, 174u, 168u, + 134u, 108u, 86u, 92u, + 142u, 120u, 25u, 167u, + 145u, 1u, 125u, 105u, + 35u, 131u, 143u, 236u, + 132u, 116u, 94u, 72u, + 91u, 63u, 64u, 0u, + 189u, 128u, 143u, 170u, + 93u, 128u, 139u, 107u, + 127u, 102u, 173u, 159u, + 19u, 108u, 117u, 220u, + 147u, 220u, 193u, 17u, + 150u, 55u, 255u, 90u, + 147u, 133u, 189u, 32u, + 242u, 239u, 142u, 255u, + 88u, 74u, 128u, 156u, + 169u, 228u, 102u, 148u, + 109u, 116u, 79u, 137u, + 1u, 82u, 186u, 206u, + 45u, 194u, 92u, 84u, + 59u, 30u, 71u, 190u, + 0u, 189u, 160u, 86u, + 39u, 160u, 148u, 195u, + 11u, 222u, 165u, 99u, + 154u, 89u, 186u, 72u, + 70u, 114u, 193u, 174u, + 69u, 211u, 10u, 192u, + 114u, 189u, 140u, 91u, + 91u, 145u, 255u, 226u, + 55u, 162u, 182u, 255u, + 24u, 165u, 130u, 243u, + 124u, 173u, 179u, 122u, + 25u, 61u, 172u, 236u, + 70u, 139u, 150u, 154u, + 65u, 255u, 119u, 115u, + 96u, 65u, 120u, 123u, + 196u, 175u, 95u, 149u, + 174u, 128u, 178u, 179u, + 4u, 171u, 209u, 21u, + 1u, 183u, 78u, 149u, + 232u, 42u, 126u, 218u, + 47u, 208u, 85u, 251u, + 126u, 50u, 1u, 190u, + 95u, 147u, 253u, 150u, + 187u, 61u, 114u, 153u, + 7u, 187u, 13u, 69u, + 110u, 135u, 61u, 107u, + 92u, 160u, 161u, 1u, + 236u, 178u, 105u, 113u, + 255u, 198u, 89u, 112u, + 131u, 94u, 103u, 156u, + 116u, 98u, 223u, 132u, + 87u, 143u, 83u, 102u, + 91u, 134u, 107u, 87u, + 255u, 77u, 213u, 172u, + 119u, 36u, 111u, 115u, + 102u, 132u, 98u, 134u, + 59u, 122u, 255u, 52u, + 126u, 226u, 151u, 164u, + 144u, 154u, 250u, 135u, + 222u, 185u, 105u, 102u, + 238u, 112u, 110u, 115u, + 95u, 70u, 87u, 178u, + 169u, 112u, 255u, 211u, + 53u, 191u, 87u, 111u, + 39u, 148u, 3u, 166u, + 99u, 255u, 1u, 26u, + 106u, 206u, 171u, 74u, + 182u, 112u, 218u, 89u, + 101u, 208u, 108u, 112u, + 44u, 255u, 114u, 63u, + 51u, 79u, 131u, 137u, + 197u, 128u, 217u, 105u, + 113u, 153u, 122u, 193u, + 58u, 82u, 178u, 28u, + 85u, 70u, 114u, 93u, + 255u, 102u, 193u, 11u, + 108u, 43u, 72u, 132u, + 74u, 167u, 18u, 8u, + 178u, 173u, 199u, 1u, + 161u, 206u, 228u, 220u, + 126u, 127u, 110u, 196u, + 1u, 121u, 73u, 150u, + 118u, 139u, 194u, 126u, + 154u, 66u, 100u, 109u, + 205u, 112u, 69u, 98u, + 54u, 35u, 114u, 141u, + 166u, 192u, 235u, 95u, + 120u, 120u, 255u, 142u, + 177u, 41u, 192u, 105u, + 129u, 27u, 100u, 21u, + 50u, 226u, 32u, 200u, + 65u, 77u, 0u, 45u, + 208u, 141u, 162u, 152u, + 163u, 166u, 132u, 167u, + 122u, 146u, 212u, 213u, + 230u, 148u, 89u, 0u, + 116u, 92u, 98u, 172u, + 165u, 85u, 56u, 114u, + 39u, 255u, 76u, 193u, + 112u, 136u, 88u, 88u, + 142u, 17u, 109u, 137u, + 163u, 161u, 63u, 169u, + 122u, 99u, 110u, 192u, + 114u, 255u, 120u, 130u, + 159u, 88u, 118u, 1u, + 140u, 154u, 61u, 186u, + 143u, 88u, 188u, 172u, + 61u, 151u, 112u, 173u, + 36u, 48u, 77u, 220u, + 129u, 69u, 44u, 67u, + 142u, 131u, 163u, 116u, + 114u, 1u, 123u, 162u, + 255u, 100u, 208u, 193u, + 58u, 195u, 104u, 173u, + 176u, 124u, 80u, 30u, + 153u, 98u, 136u, 132u, + 155u, 149u, 122u, 115u, + 20u, 108u, 61u, 135u, + 162u, 146u, 255u, 173u, + 88u, 106u, 156u, 123u, + 79u, 162u, 1u, 167u, + 41u, 109u, 110u, 208u, + 80u, 89u, 83u, 103u, + 105u, 52u, 110u, 127u, + 34u, 119u, 92u, 103u, + 160u, 212u, 155u, 255u, + 132u, 67u, 156u, 130u, + 159u, 152u, 57u, 142u, + 158u, 170u, 1u, 154u, + 128u, 66u, 91u, 114u, + 156u, 243u, 176u, 189u, + 126u, 58u, 205u, 188u, + 125u, 211u, 1u, 111u, + 78u, 25u, 16u, 23u, + 97u, 181u, 198u, 182u, + 73u, 55u, 84u, 81u, + 127u, 84u, 255u, 163u, + 76u, 215u, 152u, 157u, + 112u, 123u, 54u, 108u, + 133u, 96u, 107u, 59u, + 77u, 103u, 113u, 51u, + 23u, 158u, 152u, 255u, + 161u, 96u, 67u, 133u, + 92u, 3u, 125u, 60u, + 126u, 192u, 207u, 42u, + 47u, 99u, 94u, 153u, + 64u, 20u, 173u, 118u, + 255u, 114u, 125u, 69u, + 33u, 116u, 145u, 113u, + 141u, 143u, 246u, 171u, + 1u, 234u, 3u, 39u, + 222u, 85u, 171u, 125u, + 147u, 142u, 255u, 52u, + 152u, 170u, 153u, 228u, + 175u, 115u, 144u, 124u, + 44u, 165u, 110u, 145u, + 203u, 72u, 255u, 187u, + 149u, 245u, 227u, 59u, + 86u, 26u, 48u, 120u, + 159u, 226u, 137u, 132u, + 81u, 114u, 124u, 37u, + 169u, 47u, 172u, 150u, + 167u, 213u, 93u, 150u, + 126u, 1u, 143u, 144u, + 150u, 209u, 125u, 142u, + 255u, 180u, 108u, 85u, + 82u, 155u, 30u, 87u, + 165u, 181u, 142u, 92u, + 255u, 143u, 135u, 172u, + 160u, 136u, 110u, 160u, + 189u, 99u, 157u, 143u, + 37u, 89u, 50u, 113u, + 232u, 122u, 255u, 179u, + 161u, 62u, 47u, 49u, + 176u, 96u, 83u, 43u, + 231u, 169u, 122u, 125u, + 73u, 180u, 206u, 154u, + 87u, 125u, 243u, 193u, + 192u, 1u, 208u, 197u, + 74u, 60u, 45u, 188u, + 165u, 160u, 92u, 222u, + 130u, 234u, 121u, 136u, + 1u, 83u, 149u, 78u, + 181u, 95u, 171u, 160u, + 125u, 200u, 123u, 153u, + 199u, 83u, 91u, 183u, + 78u, 101u, 80u, 51u, + 1u, 255u, 25u, 12u, + 231u, 64u, 141u, 217u, + 159u, 1u, 79u, 86u, + 171u, 171u, 59u, 114u, + 167u, 86u, 61u, 31u, + 100u, 163u, 120u, 255u, + 185u, 143u, 124u, 129u, + 110u, 137u, 26u, 122u, + 160u, 212u, 162u, 146u, + 183u, 9u, 241u, 182u, + 74u, 68u, 139u, 143u, + 255u, 105u, 132u, 85u, + 186u, 119u, 96u, 121u, + 172u, 123u, 93u, 130u, + 183u, 1u, 142u, 32u, + 69u, 151u, 117u, 6u, + 25u, 87u, 130u, 76u, + 104u, 85u, 118u, 133u, + 78u, 117u, 83u, 1u, + 112u, 201u, 97u, 78u, + 126u, 123u, 115u, 137u, + 139u, 181u, 223u, 71u, + 51u, 182u, 1u, 151u, + 55u, 130u, 203u, 154u, + 128u, 166u, 134u, 167u, + 255u, 214u, 150u, 162u, + 199u, 100u, 89u, 195u, + 55u, 171u, 154u, 133u, + 150u, 90u, 110u, 173u, + 41u, 165u, 117u, 205u, + 51u, 92u, 78u, 95u, + 115u, 221u, 213u, 95u, + 124u, 0u, 121u, 176u, + 220u, 101u, 159u, 61u, + 70u, 170u, 150u, 105u, + 121u, 137u, 101u, 80u, + 0u, 226u, 146u, 116u, + 95u, 52u, 0u, 179u, + 90u, 74u, 99u, 159u, + 202u, 172u, 149u, 165u, + 99u, 181u, 41u, 103u, + 19u, 86u, 97u, 38u, + 152u, 156u, 121u, 255u, + 87u, 162u, 200u, 164u, + 147u, 97u, 176u, 158u, + 94u, 119u, 108u, 94u, + 170u, 63u, 200u, 111u, + 192u, 120u, 113u, 184u, + 1u, 140u, 171u, 128u, + 153u, 163u, 129u, 128u, + 134u, 183u, 186u, 20u, + 165u, 255u, 109u, 69u, + 148u, 107u, 221u, 55u, + 160u, 188u, 61u, 225u, + 113u, 71u, 114u, 203u, + 38u, 255u, 154u, 117u, + 116u, 81u, 73u, 108u, + 184u, 32u, 1u, 215u, + 130u, 75u, 197u, 101u, + 78u, 88u, 0u, 145u, + 131u, 111u, 157u, 188u, + 200u, 36u, 118u, 158u, + 1u, 105u, 169u, 117u, + 230u, 189u, 133u, 146u, + 118u, 41u, 175u, 212u, + 175u, 56u, 182u, 96u, + 117u, 180u, 0u, 28u, + 98u, 220u, 146u, 72u, + 82u, 150u, 54u, 193u, + 112u, 131u, 111u, 87u, + 124u, 255u, 148u, 201u, + 163u, 85u, 60u, 131u, + 114u, 206u, 30u, 204u, + 140u, 98u, 1u, 144u, + 192u, 121u, 193u, 125u, + 166u, 199u, 125u, 132u, + 135u, 152u, 169u, 81u, + 136u, 115u, 108u, 131u, + 78u, 157u, 114u, 223u, + 165u, 123u, 151u, 90u, + 0u, 127u, 44u, 116u, + 80u, 107u, 59u, 255u, + 18u, 82u, 133u, 78u, + 145u, 150u, 90u, 99u, + 93u, 83u, 102u, 156u, + 108u, 91u, 173u, 1u, + 192u, 84u, 116u, 240u, + 206u, 112u, 226u, 148u, + 126u, 231u, 98u, 45u, + 136u, 102u, 33u, 161u, + 79u, 137u, 52u, 187u, + 143u, 155u, 45u, 52u, + 33u, 55u, 177u, 255u, + 42u, 92u, 153u, 110u, + 245u, 154u, 228u, 73u, + 128u, 56u, 177u, 21u, + 136u, 255u, 39u, 186u, + 159u, 210u, 113u, 65u, + 45u, 225u, 1u, 176u, + 156u, 101u, 190u, 63u, + 130u, 95u, 93u, 252u, + 232u, 1u, 208u, 206u, + 191u, 100u, 103u, 107u, + 156u, 220u, 143u, 148u, + 82u, 117u, 96u, 147u, + 69u, 89u, 1u, 169u, + 52u, 178u, 199u, 126u, + 145u, 134u, 48u, 75u, + 60u, 133u, 91u, 119u, + 83u, 251u, 60u, 160u, + 215u, 112u, 53u, 74u, + 109u, 44u, 1u, 113u, + 181u, 138u, 142u, 152u, + 166u, 88u, 106u, 127u, + 255u, 130u, 127u, 91u, + 127u, 121u, 73u, 46u, + 246u, 177u, 139u, 73u, + 72u, 172u, 97u, 142u, + 124u, 116u, 1u, 101u, + 108u, 195u, 197u, 120u, + 94u, 176u, 111u, 127u, + 154u, 67u, 201u, 56u, + 46u, 130u, 167u, 105u, + 74u, 255u, 221u, 158u, + 188u, 124u, 169u, 64u, + 90u, 133u, 133u, 124u, + 1u, 84u, 98u, 97u, + 126u, 143u, 153u, 184u, + 162u, 71u, 58u, 179u, + 214u, 162u, 74u, 157u, + 148u, 71u, 189u, 175u, + 86u, 46u, 109u, 148u, + 1u, 160u, 59u, 155u, + 205u, 209u, 95u, 74u, + 88u, 52u, 136u, 102u, + 118u, 255u, 109u, 182u, + 216u, 182u, 228u, 22u, + 169u, 86u, 85u, 155u, + 222u, 130u, 95u, 203u, + 76u, 54u, 75u, 156u, + 248u, 73u, 115u, 1u, + 183u, 201u, 1u, 29u, + 138u, 70u, 146u, 204u, + 83u, 103u, 148u, 158u, + 55u, 255u, 68u, 130u, + 74u, 99u, 217u, 75u, + 52u, 44u, 209u, 107u, + 228u, 114u, 255u, 218u, + 183u, 216u, 40u, 137u, + 170u, 188u, 210u, 97u, + 255u, 153u, 125u, 169u, + 130u, 103u, 147u, 51u, + 55u, 182u, 100u, 54u, + 62u, 150u, 78u, 196u, + 117u, 139u, 40u, 115u, + 79u, 116u, 48u, 0u, + 65u, 118u, 174u, 130u, + 217u, 63u, 129u, 64u, + 255u, 114u, 239u, 135u, + 243u, 111u, 42u, 36u, + 172u, 114u, 150u, 23u, + 166u, 41u, 111u, 197u, + 185u, 191u, 190u, 60u, + 123u, 151u, 0u, 67u, + 130u, 179u, 185u, 184u, + 143u, 66u, 108u, 149u, + 153u, 157u, 93u, 140u, + 138u, 133u, 132u, 111u, + 16u, 120u, 1u, 136u, + 95u, 208u, 93u, 137u, + 155u, 170u, 150u, 62u, + 67u, 230u, 212u, 184u, + 239u, 111u, 26u, 0u, + 102u, 5u, 116u, 200u, + 5u, 134u, 151u, 167u, + 99u, 144u, 74u, 142u, + 125u, 224u, 1u, 119u, + 74u, 168u, 50u, 82u, + 38u, 255u, 129u, 132u, + 255u, 114u, 150u, 63u, + 129u, 204u, 138u, 65u, + 113u, 119u, 1u, 120u, + 94u, 113u, 129u, 120u, + 108u, 110u, 202u, 138u, + 95u, 186u, 154u, 115u, + 105u, 145u, 147u, 110u, + 224u, 120u, 115u, 25u, + 158u, 104u, 100u, 98u, + 75u, 255u, 254u, 115u, + 109u, 166u, 19u, 175u, + 62u, 151u, 173u, 93u, + 67u, 193u, 1u, 108u, + 202u, 17u, 209u, 177u, + 227u, 53u, 218u, 48u, + 144u, 123u, 124u, 113u, + 1u, 86u, 45u, 55u, + 143u, 87u, 139u, 128u, + 140u, 37u, 217u, 155u, + 106u, 131u, 192u, 121u, + 232u, 128u, 44u, 190u, + 38u, 47u, 255u, 188u, + 193u, 150u, 142u, 188u, + 137u, 48u, 212u, 190u, + 148u, 136u, 29u, 96u, + 0u, 91u, 48u, 90u, + 164u, 170u, 88u, 107u, + 175u, 82u, 132u, 155u, + 133u, 32u, 146u, 255u, + 98u, 136u, 119u, 85u, + 125u, 162u, 1u, 214u, + 183u, 209u, 85u, 139u, + 205u, 37u, 193u, 81u, + 221u, 128u, 183u, 170u, + 194u, 100u, 143u, 117u, + 108u, 77u, 154u, 0u, + 48u, 54u, 46u, 147u, + 34u, 239u, 205u, 161u, + 208u, 156u, 14u, 255u, + 156u, 61u, 133u, 66u, + 142u, 234u, 87u, 236u, + 89u, 133u, 149u, 93u, + 195u, 57u, 20u, 241u, + 116u, 119u, 113u, 191u, + 76u, 255u, 52u, 88u, + 97u, 99u, 116u, 74u, + 169u, 144u, 188u, 125u, + 1u, 121u, 146u, 145u, + 123u, 84u, 107u, 90u, + 46u, 128u, 151u, 195u, + 135u, 2u, 255u, 134u, + 196u, 132u, 143u, 147u, + 18u, 138u, 8u, 112u, + 23u, 150u, 145u, 150u, + 223u, 60u, 63u, 1u, + 104u, 78u, 128u, 239u, + 91u, 239u, 222u, 219u, + 141u, 73u, 37u, 105u, + 130u, 114u, 178u, 116u, + 167u, 97u, 1u, 99u, + 176u, 169u, 127u, 99u, + 108u, 93u, 117u, 86u, + 21u, 85u, 104u, 148u, + 220u, 213u, 114u, 134u, + 169u, 83u, 0u, 40u, + 105u, 113u, 255u, 114u, + 140u, 127u, 148u, 184u, + 111u, 0u, 49u, 178u, + 146u, 147u, 76u, 27u, + 131u, 6u, 184u, 89u, + 105u, 102u, 177u, 230u, + 203u, 107u, 93u, 33u, + 165u, 188u, 111u, 136u, + 51u, 99u, 1u, 138u, + 1u, 54u, 114u, 130u, + 157u, 30u, 43u, 137u, + 158u, 98u, 62u, 118u, + 14u, 56u, 140u, 117u, + 169u, 144u, 189u, 90u, + 100u, 244u, 111u, 76u, + 147u, 129u, 96u, 132u, + 232u, 176u, 106u, 255u, + 104u, 115u, 212u, 102u, + 102u, 83u, 135u, 1u, + 101u, 88u, 142u, 130u, + 114u, 151u, 51u, 136u, + 153u, 114u, 14u, 68u, + 124u, 104u, 2u, 113u, + 183u, 179u, 205u, 114u, + 1u, 133u, 116u, 211u, + 151u, 181u, 139u, 127u, + 141u, 140u, 142u, 0u, + 156u, 133u, 67u, 213u, + 124u, 139u, 163u, 185u, + 139u, 161u, 103u, 186u, + 37u, 110u, 141u, 32u, + 1u, 151u, 150u, 67u, + 100u, 229u, 158u, 188u, + 176u, 124u, 255u, 75u, + 177u, 87u, 110u, 133u, + 140u, 174u, 95u, 6u, + 208u, 178u, 163u, 144u, + 180u, 255u, 211u, 116u, + 12u, 114u, 216u, 166u, + 111u, 136u, 226u, 120u, + 74u, 144u, 55u, 105u, + 165u, 93u, 186u, 6u, + 214u, 118u, 150u, 44u, + 223u, 69u, 154u, 185u, + 1u, 183u, 61u, 90u, + 209u, 59u, 64u, 192u, + 79u, 247u, 82u, 128u, + 85u, 138u, 165u, 136u, + 255u, 80u, 182u, 179u, + 147u, 83u, 148u, 73u, + 146u, 134u, 142u, 165u, + 158u, 255u, 165u, 143u, + 139u, 26u, 159u, 148u, + 36u, 184u, 112u, 46u, + 120u, 95u, 17u, 65u, + 144u, 75u, 223u, 175u, + 1u, 138u, 129u, 171u, + 150u, 160u, 175u, 0u, + 202u, 210u, 76u, 168u, + 105u, 48u, 115u, 139u, + 153u, 117u, 96u, 162u, + 99u, 90u, 94u, 158u, + 1u, 138u, 167u, 179u, + 91u, 160u, 153u, 177u, + 96u, 95u, 171u, 243u, + 154u, 1u, 151u, 186u, + 101u, 121u, 100u, 195u, + 252u, 207u, 145u, 72u, + 88u, 142u, 80u, 77u, + 83u, 157u, 1u, 162u, + 176u, 134u, 106u, 136u, + 89u, 120u, 150u, 175u, + 94u, 163u, 147u, 143u, + 129u, 124u, 155u, 230u, + 1u, 134u, 209u, 112u, + 218u, 84u, 121u, 106u, + 80u, 173u, 75u, 178u, + 255u, 20u, 174u, 86u, + 141u, 107u, 204u, 202u, + 207u, 80u, 186u, 249u, + 100u, 229u, 135u, 116u, + 70u, 201u, 66u, 64u, + 129u, 134u, 59u, 254u, + 110u, 143u, 1u, 143u, + 54u, 28u, 199u, 251u, + 95u, 77u, 158u, 133u, + 255u, 122u, 57u, 80u, + 104u, 52u, 131u, 64u, + 145u, 190u, 154u, 38u, + 102u, 108u, 148u, 177u, + 0u, 183u, 129u, 161u, + 75u, 171u, 98u, 112u, + 154u, 115u, 156u, 220u, + 1u, 189u, 182u, 86u, + 192u, 156u, 181u, 102u, + 160u, 113u, 213u, 173u, + 190u, 132u, 239u, 148u, + 204u, 101u, 41u, 167u, + 16u, 192u, 222u, 116u, + 255u, 183u, 86u, 95u, + 72u, 150u, 76u, 82u, + 98u, 215u, 255u, 8u, + 215u, 151u, 76u, 169u, + 99u, 169u, 202u, 111u, + 155u, 117u, 163u, 204u, + 87u, 69u, 232u, 180u, + 40u, 171u, 20u, 69u, + 176u, 0u, 42u, 65u, + 22u, 124u, 130u, 168u, + 167u, 148u, 212u, 45u, + 217u, 73u, 176u, 116u, + 0u, 38u, 88u, 161u, + 139u, 1u, 160u, 82u, + 165u, 172u, 86u, 167u, + 43u, 161u, 145u, 169u, + 137u, 118u, 175u, 78u, + 135u, 212u, 80u, 0u, + 110u, 161u, 86u, 89u, + 63u, 90u, 164u, 58u, + 76u, 90u, 205u, 211u, + 219u, 156u, 1u, 208u, + 130u, 193u, 85u, 111u, + 140u, 76u, 89u, 52u, + 131u, 255u, 197u, 78u, + 140u, 152u, 151u, 54u, + 127u, 91u, 148u, 123u, + 1u, 176u, 88u, 102u, + 75u, 116u, 90u, 113u, + 116u, 131u, 118u, 196u, + 140u, 57u, 148u, 227u, + 171u, 107u, 255u, 109u, + 187u, 165u, 5u, 74u, + 11u, 182u, 121u, 50u, + 136u, 124u, 120u, 157u, + 37u, 130u, 1u, 119u, + 130u, 59u, 125u, 28u, + 11u, 143u, 128u, 124u, + 134u, 86u, 104u, 189u, + 216u, 163u, 103u, 0u, + 127u, 70u, 45u, 89u, + 113u, 133u, 123u, 148u, + 176u, 120u, 161u, 211u, + 93u, 104u, 184u, 0u, + 244u, 104u, 81u, 60u, + 161u, 76u, 239u, 48u, + 122u, 73u, 183u, 107u, + 179u, 111u, 255u, 140u, + 106u, 129u, 88u, 81u, + 130u, 148u, 107u, 122u, + 151u, 97u, 96u, 255u, + 81u, 99u, 87u, 117u, + 188u, 132u, 59u, 107u, + 52u, 184u, 79u, 135u, + 43u, 165u, 105u, 7u, + 229u, 208u, 70u, 147u, + 139u, 128u, 255u, 151u, + 233u, 163u, 120u, 184u, + 133u, 116u, 109u, 177u, + 167u, 248u, 181u, 96u, + 199u, 56u, 73u, 51u, + 1u, 188u, 114u, 145u, + 167u, 165u, 1u, 184u, + 113u, 114u, 99u, 185u, + 75u, 169u, 149u, 135u, + 141u, 66u, 215u, 133u, + 57u, 162u, 66u, 126u, + 102u, 122u, 74u, 255u, + 99u, 75u, 157u, 144u, + 141u, 168u, 34u, 63u, + 184u, 124u, 34u, 160u, + 1u, 112u, 121u, 98u, + 99u, 147u, 154u, 121u, + 186u, 204u, 31u, 15u, + 48u, 170u, 107u, 141u, + 115u, 94u, 91u, 1u, + 215u, 60u, 176u, 146u, + 178u, 139u, 24u, 133u, + 9u, 255u, 159u, 197u, + 175u, 217u, 14u, 13u, + 146u, 86u, 147u, 99u, + 167u, 16u, 93u, 173u, + 101u, 238u, 201u, 92u, + 136u, 55u, 1u, 100u, + 83u, 143u, 224u, 198u, + 129u, 65u, 27u, 56u, + 138u, 215u, 89u, 122u, + 175u, 185u, 118u, 70u, + 108u, 184u, 151u, 160u, + 176u, 73u, 1u, 124u, + 164u, 165u, 93u, 1u, + 115u, 34u, 173u, 235u, + 138u, 210u, 202u, 69u, + 4u, 66u, 41u, 34u, + 200u, 157u, 1u, 130u, + 180u, 234u, 227u, 85u, + 152u, 88u, 200u, 240u, + 119u, 201u, 177u, 109u, + 53u, 187u, 220u, 108u, + 116u, 105u, 139u, 99u, + 163u, 1u, 72u, 145u, + 222u, 212u, 130u, 53u, + 121u, 131u, 158u, 143u, + 72u, 112u, 188u, 94u, + 142u, 78u, 136u, 138u, + 111u, 71u, 131u, 255u, + 83u, 178u, 92u, 148u, + 131u, 150u, 109u, 255u, + 112u, 107u, 141u, 114u, + 189u, 123u, 52u, 84u, + 104u, 103u, 255u, 81u, + 85u, 148u, 137u, 115u, + 100u, 117u, 104u, 136u, + 105u, 76u, 93u, 151u, + 105u, 149u, 81u, 170u, + 131u, 146u, 220u, 58u, + 88u, 255u, 119u, 137u, + 144u, 52u, 102u, 66u, + 85u, 132u, 125u, 202u, + 231u, 185u, 61u, 133u, + 132u, 142u, 104u, 15u, + 190u, 240u, 255u, 127u, + 168u, 37u, 102u, 141u, + 255u, 42u, 232u, 8u, + 127u, 135u, 105u, 130u, + 95u, 162u, 175u, 110u, + 162u, 86u, 88u, 128u, + 71u, 41u, 102u, 177u, + 208u, 88u, 150u, 161u, + 14u, 1u, 36u, 140u, + 86u, 61u, 127u, 1u, + 169u, 156u, 164u, 144u, + 175u, 67u, 157u, 173u, + 127u, 253u, 76u, 165u, + 149u, 177u, 108u, 164u, + 240u, 215u, 16u, 255u, + 40u, 219u, 115u, 165u, + 181u, 63u, 154u, 200u, + 92u, 95u, 165u, 131u, + 150u, 149u, 98u, 142u, + 126u, 71u, 85u, 126u, + 152u, 158u, 109u, 255u, + 92u, 185u, 90u, 147u, + 1u, 107u, 96u, 154u, + 195u, 179u, 177u, 68u, + 136u, 148u, 64u, 103u, + 189u, 142u, 252u, 1u, + 69u, 175u, 112u, 181u, + 156u, 88u, 195u, 136u, + 142u, 125u, 132u, 108u, + 112u, 103u, 255u, 106u, + 137u, 22u, 236u, 85u, + 183u, 41u, 109u, 228u, + 191u, 58u, 139u, 243u, + 167u, 159u, 124u, 146u, + 128u, 163u, 31u, 159u, + 169u, 1u, 184u, 198u, + 151u, 101u, 117u, 211u, + 137u, 1u, 159u, 140u, + 189u, 151u, 56u, 17u, + 99u, 103u, 101u, 108u, + 175u, 240u, 76u, 168u, + 148u, 210u, 29u, 219u, + 99u, 203u, 125u, 93u, + 157u, 81u, 178u, 212u, + 113u, 123u, 187u, 1u, + 138u, 135u, 34u, 93u, + 193u, 135u, 89u, 220u, + 0u, 150u, 199u, 194u, + 138u, 41u, 128u, 229u, + 69u, 154u, 1u, 134u, + 77u, 75u, 41u, 222u, + 151u, 95u, 216u, 120u, + 28u, 177u, 131u, 239u, + 155u, 161u, 106u, 182u, + 146u, 85u, 108u, 29u, + 113u, 124u, 34u, 1u, + 134u, 106u, 208u, 37u, + 109u, 75u, 227u, 154u, + 64u, 129u, 229u, 159u, + 219u, 0u, 51u, 198u, + 72u, 196u, 120u, 157u, + 158u, 159u, 122u, 254u, + 83u, 230u, 90u, 36u, + 76u, 170u, 48u, 120u, + 255u, 99u, 255u, 184u, + 126u, 152u, 97u, 192u, + 61u, 108u, 134u, 127u, + 0u, 132u, 93u, 63u, + 138u, 241u, 103u, 164u, + 161u, 195u, 140u, 180u, + 0u, 101u, 98u, 97u, + 96u, 133u, 154u, 156u, + 192u, 173u, 136u, 101u, + 35u, 150u, 106u, 224u, + 1u, 190u, 110u, 186u, + 49u, 89u, 78u, 135u, + 92u, 90u, 99u, 124u, + 255u, 209u, 235u, 109u, + 243u, 171u, 210u, 213u, + 251u, 138u, 5u, 215u, + 174u, 170u, 17u, 109u, + 146u, 129u, 205u, 254u, + 197u, 255u, 108u, 215u, + 212u, 112u, 110u, 118u, + 201u, 61u, 90u, 171u, + 107u, 119u, 84u, 99u, + 82u, 27u, 145u, 136u, + 78u, 246u, 172u, 167u, + 255u, 105u, 103u, 54u, + 134u, 142u, 187u, 47u, + 62u, 251u, 36u, 118u, + 81u, 206u, 145u, 183u, + 72u, 1u, 31u, 68u, + 82u, 146u, 47u, 65u, + 64u, 111u, 168u, 240u, + 151u, 72u, 188u, 236u, + 134u, 78u, 0u, 113u, + 1u, 171u, 63u, 87u, + 126u, 131u, 145u, 163u, + 141u, 125u, 226u, 150u, + 167u, 74u, 174u, 192u, + 125u, 110u, 136u, 174u, + 99u, 39u, 18u, 61u, + 9u, 199u, 219u, 115u, + 37u, 33u, 27u, 1u, + 153u, 154u, 121u, 162u, + 115u, 48u, 173u, 153u, + 113u, 248u, 132u, 182u, + 206u, 194u, 255u, 167u, + 207u, 79u, 151u, 123u, + 153u, 221u, 76u, 255u, + 242u, 118u, 248u, 179u, + 144u, 119u, 0u, 43u, + 255u, 153u, 103u, 141u, + 126u, 188u, 68u, 208u, + 132u, 13u, 160u, 136u, + 139u, 67u, 157u, 165u, + 219u, 59u, 56u, 174u, + 246u, 143u, 87u, 75u, + 255u, 180u, 96u, 114u, + 171u, 223u, 129u, 6u, + 177u, 9u, 89u, 198u, + 125u, 121u, 139u, 149u, + 175u, 173u, 228u, 138u, + 0u, 216u, 121u, 129u, + 142u, 152u, 132u, 65u, + 255u, 146u, 61u, 153u, + 75u, 109u, 111u, 121u, + 112u, 130u, 152u, 177u, + 240u, 134u, 127u, 226u, + 94u, 70u, 186u, 104u, + 123u, 252u, 181u, 243u, + 138u, 255u, 51u, 134u, + 144u, 191u, 84u, 84u, + 139u, 142u, 169u, 159u, + 184u, 147u, 166u, 255u, + 156u, 67u, 176u, 71u, + 133u, 107u, 13u, 234u, + 70u, 78u, 149u, 58u, + 1u, 175u, 75u, 161u, + 151u, 71u, 173u, 145u, + 167u, 135u, 173u, 69u, + 17u, 205u, 102u, 175u, + 96u, 206u, 128u, 10u, + 1u, 226u, 97u, 185u, + 255u, 152u, 110u, 81u, + 85u, 85u, 145u, 155u, + 154u, 139u, 233u, 115u, + 143u, 92u, 81u, 86u, + 230u, 148u, 181u, 44u, + 113u, 110u, 1u, 118u, + 94u, 93u, 178u, 151u, + 153u, 188u, 107u, 130u, + 133u, 37u, 86u, 118u, + 1u, 85u, 241u, 121u, + 44u, 227u, 188u, 45u, + 160u, 252u, 138u, 57u, + 140u, 167u, 6u, 82u, + 75u, 31u, 173u, 122u, + 76u, 167u, 255u, 240u, + 199u, 86u, 130u, 93u, + 68u, 109u, 1u, 55u, + 254u, 92u, 172u, 208u, + 75u, 236u, 64u, 82u, + 117u, 127u, 136u, 137u, + 163u, 255u, 144u, 95u, + 164u, 90u, 167u, 116u, + 84u, 60u, 167u, 163u, + 192u, 196u, 153u, 74u, + 255u, 122u, 153u, 187u, + 143u, 150u, 110u, 132u, + 131u, 110u, 148u, 189u, + 128u, 177u, 128u, 129u, + 210u, 170u, 150u, 189u, + 109u, 58u, 80u, 64u, + 113u, 239u, 113u, 207u, + 105u, 0u, 61u, 177u, + 176u, 79u, 129u, 255u, + 128u, 69u, 88u, 101u, + 175u, 89u, 102u, 163u, + 116u, 113u, 73u, 127u, + 165u, 147u, 219u, 153u, + 10u, 123u, 168u, 213u, + 133u, 164u, 174u, 146u, + 159u, 1u, 203u, 177u, + 85u, 77u, 0u, 188u, + 48u, 123u, 115u, 73u, + 205u, 91u, 187u, 169u, + 133u, 143u, 146u, 106u, + 132u, 159u, 129u, 126u, + 109u, 122u, 180u, 1u, + 96u, 49u, 164u, 91u, + 171u, 4u, 202u, 213u, + 255u, 18u, 154u, 154u, + 69u, 79u, 83u, 100u, + 196u, 83u, 91u, 116u, + 213u, 229u, 166u, 37u, + 153u, 43u, 161u, 141u, + 1u, 98u, 185u, 180u, + 99u, 82u, 49u, 97u, + 121u, 169u, 175u, 225u, + 153u, 52u, 112u, 67u, + 99u, 75u, 177u, 15u, + 189u, 148u, 211u, 199u, + 1u, 165u, 74u, 10u, + 104u, 129u, 167u, 76u, + 136u, 146u, 233u, 200u, + 255u, 81u, 196u, 114u, + 167u, 88u, 145u, 141u, + 201u, 132u, 146u, 168u, + 102u, 109u, 69u, 75u, + 121u, 135u, 122u, 127u, + 120u, 176u, 1u, 159u, + 209u, 156u, 118u, 59u, + 23u, 146u, 122u, 255u, + 146u, 158u, 227u, 217u, + 226u, 113u, 26u, 138u, + 107u, 127u, 216u, 41u, + 92u, 168u, 128u, 120u, + 105u, 1u, 148u, 59u, + 15u, 118u, 29u, 102u, + 210u, 255u, 173u, 82u, + 211u, 180u, 82u, 119u, + 134u, 134u, 85u, 87u, + 160u, 235u, 93u, 133u, + 57u, 162u, 94u, 72u, + 191u, 111u, 162u, 255u, + 67u, 154u, 60u, 153u, + 73u, 193u, 136u, 80u, + 50u, 77u, 83u, 255u, + 190u, 139u, 89u, 102u, + 75u, 119u, 60u, 58u, + 161u, 70u, 157u, 105u, + 183u, 32u, 79u, 15u, + 111u, 77u, 35u, 14u, + 0u, 105u, 34u, 4u, + 69u, 205u, 148u, 120u, + 144u, 151u, 255u, 87u, + 144u, 112u, 183u, 104u, + 155u, 140u, 137u, 147u, + 123u, 119u, 163u, 81u, + 174u, 42u, 80u, 255u, + 44u, 146u, 138u, 95u, + 222u, 106u, 125u, 50u, + 128u, 56u, 155u, 74u, + 172u, 76u, 57u, 255u, + 115u, 119u, 85u, 79u, + 161u, 162u, 138u, 48u, + 163u, 93u, 181u, 161u, + 129u, 134u, 1u, 44u, + 136u, 139u, 167u, 131u, + 97u, 88u, 134u, 166u, + 125u, 154u, 143u, 70u, + 159u, 94u, 94u, 156u, + 78u, 215u, 193u, 139u, + 170u, 187u, 133u, 255u, + 136u, 109u, 81u, 141u, + 102u, 159u, 232u, 149u, + 182u, 165u, 255u, 103u, + 158u, 120u, 192u, 130u, + 150u, 116u, 85u, 167u, + 97u, 141u, 41u, 110u, + 90u, 101u, 255u, 124u, + 133u, 219u, 81u, 158u, + 177u, 27u, 182u, 195u, + 1u, 61u, 179u, 25u, + 210u, 73u, 209u, 123u, + 17u, 118u, 143u, 144u, + 81u, 67u, 115u, 157u, + 169u, 188u, 35u, 109u, + 97u, 199u, 17u, 142u, + 26u, 1u, 14u, 142u, + 95u, 89u, 136u, 187u, + 153u, 129u, 149u, 255u, + 113u, 108u, 121u, 91u, + 148u, 109u, 90u, 50u, + 98u, 54u, 184u, 24u, + 110u, 81u, 68u, 169u, + 144u, 173u, 124u, 221u, + 255u, 91u, 151u, 137u, + 39u, 174u, 117u, 144u, + 108u, 137u, 54u, 53u, + 176u, 150u, 117u, 102u, + 71u, 149u, 250u, 0u, + 130u, 165u, 61u, 170u, + 147u, 198u, 107u, 136u, + 145u, 237u, 123u, 192u, + 255u, 92u, 112u, 80u, + 77u, 119u, 77u, 105u, + 67u, 157u, 47u, 121u, + 40u, 129u, 15u, 135u, + 30u, 179u, 150u, 1u, + 151u, 74u, 130u, 198u, + 100u, 40u, 116u, 1u, + 245u, 178u, 150u, 131u, + 232u, 122u, 96u, 34u, + 217u, 72u, 61u, 79u, + 143u, 88u, 152u, 136u, + 135u, 1u, 70u, 143u, + 78u, 110u, 80u, 240u, + 211u, 129u, 76u, 40u, + 87u, 45u, 124u, 158u, + 37u, 191u, 197u, 107u, + 148u, 179u, 1u, 68u, + 159u, 48u, 85u, 120u, + 146u, 70u, 193u, 53u, + 114u, 182u, 43u, 109u, + 132u, 84u, 129u, 50u, + 1u, 144u, 149u, 177u, + 156u, 125u, 99u, 162u, + 20u, 230u, 121u, 172u, + 173u, 76u, 121u, 255u, + 31u, 136u, 112u, 83u, + 167u, 148u, 223u, 238u, + 70u, 76u, 129u, 202u, + 152u, 0u, 9u, 27u, + 88u, 48u, 146u, 45u, + 202u, 8u, 91u, 87u, + 150u, 127u, 84u, 255u, + 69u, 135u, 66u, 180u, + 84u, 92u, 145u, 112u, + 143u, 47u, 108u, 141u, + 32u, 0u, 229u, 62u, + 152u, 219u, 14u, 80u, + 70u, 167u, 115u, 118u, + 121u, 193u, 81u, 132u, + 71u, 71u, 73u, 142u, + 132u, 116u, 255u, 188u, + 140u, 172u, 136u, 179u, + 46u, 245u, 136u, 107u, + 116u, 255u, 140u, 172u, + 189u, 163u, 109u, 106u, + 71u, 157u, 133u, 207u, + 104u, 192u, 1u, 222u, + 151u, 128u, 39u, 125u, + 6u, 34u, 137u, 70u, + 100u, 80u, 151u, 238u, + 130u, 74u, 113u, 97u, + 91u, 69u, 113u, 210u, + 166u, 162u, 228u, 197u, + 1u, 137u, 90u, 165u, + 146u, 255u, 135u, 94u, + 42u, 77u, 207u, 11u, + 77u, 109u, 63u, 131u, + 129u, 165u, 49u, 187u, + 186u, 169u, 128u, 121u, + 136u, 157u, 184u, 163u, + 151u, 1u, 170u, 124u, + 137u, 169u, 148u, 52u, + 145u, 101u, 1u, 157u, + 86u, 163u, 10u, 64u, + 248u, 111u, 171u, 105u, + 151u, 170u, 102u, 74u, + 204u, 45u, 195u, 167u, + 200u, 203u, 128u, 126u, + 255u, 62u, 139u, 119u, + 188u, 152u, 63u, 214u, + 61u, 123u, 90u, 0u, + 35u, 100u, 147u, 178u, + 50u, 198u, 218u, 249u, + 231u, 92u, 196u, 86u, + 66u, 171u, 109u, 150u, + 149u, 182u, 102u, 191u, + 144u, 171u, 184u, 83u, + 255u, 39u, 60u, 98u, + 154u, 77u, 145u, 140u, + 78u, 221u, 130u, 143u, + 175u, 92u, 255u, 140u, + 206u, 101u, 229u, 163u, + 236u, 129u, 86u, 240u, + 156u, 39u, 239u, 182u, + 255u, 132u, 57u, 41u, + 209u, 63u, 90u, 118u, + 13u, 174u, 67u, 161u, + 127u, 50u, 66u, 113u, + 141u, 149u, 73u, 6u, + 134u, 87u, 255u, 147u, + 182u, 92u, 217u, 0u, + 139u, 135u, 144u, 195u, + 129u, 177u, 138u, 149u, + 242u, 6u, 157u, 96u, + 111u, 125u, 255u, 120u, + 72u, 166u, 217u, 58u, + 239u, 213u, 66u, 109u, + 175u, 17u, 61u, 162u, + 255u, 152u, 179u, 156u, + 97u, 87u, 133u, 166u, + 146u, 88u, 177u, 248u, + 123u, 134u, 60u, 47u, + 0u, 90u, 232u, 53u, + 125u, 117u, 71u, 112u, + 144u, 108u, 107u, 142u, + 6u, 85u, 174u, 172u, + 106u, 179u, 84u, 84u, + 90u, 68u, 197u, 255u, + 224u, 68u, 179u, 187u, + 82u, 16u, 123u, 190u, + 80u, 134u, 127u, 87u, + 255u, 121u, 106u, 167u, + 101u, 162u, 103u, 143u, + 222u, 168u, 92u, 31u, + 188u, 143u, 92u, 106u, + 0u, 184u, 232u, 156u, + 163u, 105u, 147u, 152u, + 141u, 174u, 176u, 185u, + 105u, 204u, 90u, 241u, + 255u, 133u, 126u, 170u, + 137u, 197u, 71u, 73u, + 157u, 27u, 46u, 42u, + 15u, 53u, 48u, 26u, + 87u, 115u, 43u, 129u, + 112u, 255u, 135u, 120u, + 153u, 88u, 56u, 116u, + 90u, 130u, 169u, 54u, + 172u, 194u, 255u, 210u, + 52u, 199u, 107u, 201u, + 187u, 147u, 161u, 164u, + 137u, 98u, 27u, 255u, + 107u, 110u, 86u, 124u, + 74u, 65u, 42u, 87u, + 37u, 156u, 66u, 32u, + 1u, 83u, 47u, 143u, + 148u, 146u, 96u, 118u, + 162u, 123u, 157u, 97u, + 49u, 125u, 150u, 216u, + 29u, 19u, 87u, 103u, + 6u, 32u, 194u, 166u, + 4u, 255u, 134u, 195u, + 163u, 91u, 72u, 117u, + 137u, 194u, 107u, 137u, + 52u, 156u, 1u, 175u, + 127u, 155u, 217u, 122u, + 167u, 19u, 138u, 147u, + 83u, 108u, 173u, 91u, + 165u, 148u, 164u, 146u, + 171u, 132u, 128u, 192u, + 255u, 135u, 118u, 99u, + 107u, 192u, 251u, 214u, + 142u, 73u, 135u, 215u, + 61u, 1u, 109u, 219u, + 157u, 106u, 138u, 213u, + 121u, 106u, 76u, 0u, + 197u, 142u, 91u, 102u, + 36u, 191u, 65u, 108u, + 115u, 203u, 190u, 229u, + 65u, 151u, 152u, 86u, + 255u, 157u, 165u, 122u, + 124u, 100u, 102u, 113u, + 99u, 196u, 123u, 163u, + 134u, 106u, 177u, 99u, + 127u, 176u, 91u, 183u, + 164u, 199u, 198u, 166u, + 157u, 37u, 1u, 199u, + 112u, 95u, 189u, 121u, + 175u, 165u, 142u, 202u, + 200u, 125u, 10u, 40u, + 1u, 204u, 175u, 156u, + 116u, 129u, 145u, 116u, + 69u, 147u, 1u, 151u, + 228u, 152u, 186u, 99u, + 35u, 171u, 212u, 177u, + 112u, 68u, 108u, 179u, + 37u, 255u, 155u, 156u, + 65u, 175u, 14u, 20u, + 57u, 218u, 99u, 191u, + 215u, 173u, 97u, 133u, + 1u, 111u, 39u, 234u, + 118u, 130u, 108u, 76u, + 139u, 106u, 44u, 82u, + 181u, 97u, 173u, 95u, + 87u, 128u, 68u, 73u, + 83u, 135u, 255u, 92u, + 185u, 57u, 204u, 97u, + 221u, 35u, 58u, 94u, + 34u, 183u, 176u, 171u, + 174u, 59u, 77u, 140u, + 51u, 255u, 164u, 59u, + 109u, 217u, 108u, 152u, + 55u, 95u, 48u, 189u, + 157u, 201u, 223u, 59u, + 183u, 47u, 232u, 0u, + 141u, 81u, 1u, 151u, + 164u, 84u, 99u, 161u, + 38u, 178u, 82u, 162u, + 157u, 166u, 138u, 105u, + 133u, 152u, 110u, 107u, + 164u, 57u, 188u, 113u, + 134u, 132u, 95u, 86u, + 141u, 255u, 128u, 63u, + 141u, 10u, 92u, 62u, + 211u, 120u, 133u, 56u, + 172u, 46u, 9u, 43u, + 51u, 203u, 0u, 101u, + 51u, 117u, 7u, 178u, + 176u, 141u, 18u, 255u, + 90u, 54u, 185u, 80u, + 152u, 129u, 157u, 110u, + 225u, 2u, 162u, 209u, + 188u, 49u, 71u, 0u, + 217u, 151u, 125u, 182u, + 193u, 70u, 127u, 121u, + 103u, 175u, 34u, 213u, + 156u, 124u, 33u, 17u, + 35u, 88u, 105u, 69u, + 255u, 210u, 125u, 170u, + 215u, 142u, 76u, 181u, + 1u, 98u, 170u, 145u, + 79u, 133u, 143u, 202u, + 107u, 169u, 97u, 123u, + 89u, 174u, 130u, 207u, + 79u, 134u, 173u, 63u, + 114u, 223u, 218u, 86u, + 106u, 255u, 83u, 142u, + 123u, 253u, 35u, 87u, + 146u, 1u, 71u, 87u, + 158u, 130u, 177u, 100u, + 181u, 107u, 54u, 88u, + 67u, 130u, 34u, 0u, + 204u, 76u, 130u, 137u, + 209u, 53u, 152u, 138u, + 120u, 150u, 67u, 41u, + 132u, 142u, 200u, 206u, + 169u, 132u, 0u, 95u, + 167u, 149u, 155u, 94u, + 158u, 41u, 80u, 141u, + 111u, 154u, 184u, 143u, + 132u, 161u, 38u, 41u, + 158u, 116u, 241u, 255u, + 201u, 140u, 99u, 154u, + 123u, 83u, 24u, 156u, + 149u, 50u, 138u, 67u, + 210u, 0u, 52u, 115u, + 64u, 255u, 106u, 34u, + 170u, 126u, 179u, 50u, + 151u, 100u, 168u, 216u, + 1u, 232u, 128u, 173u, + 98u, 174u, 176u, 57u, + 130u, 148u, 177u, 151u, + 51u, 79u, 67u, 34u, + 96u, 184u, 104u, 165u, + 0u, 169u, 67u, 137u, + 114u, 93u, 71u, 167u, + 87u, 90u, 177u, 133u, + 171u, 255u, 20u, 124u, + 83u, 198u, 94u, 207u, + 122u, 122u, 139u, 115u, + 35u, 73u, 84u, 151u, + 129u, 75u, 165u, 125u, + 114u, 255u, 136u, 64u, + 110u, 76u, 95u, 179u, + 1u, 128u, 135u, 140u, + 117u, 88u, 161u, 101u, + 54u, 78u, 164u, 179u, + 83u, 111u, 79u, 110u, + 40u, 175u, 116u, 106u, + 111u, 202u, 140u, 136u, + 152u, 1u, 144u, 223u, + 170u, 122u, 235u, 1u, + 180u, 124u, 63u, 26u, + 107u, 134u, 101u, 120u, + 171u, 136u, 231u, 244u, + 28u, 117u, 141u, 255u, + 138u, 124u, 49u, 71u, + 133u, 35u, 72u, 149u, + 41u, 82u, 108u, 149u, + 127u, 157u, 185u, 152u, + 156u, 190u, 70u, 141u, + 214u, 105u, 171u, 228u, + 191u, 255u, 130u, 179u, + 229u, 216u, 200u, 1u, + 99u, 221u, 119u, 187u, + 117u, 54u, 198u, 246u, + 114u, 8u, 243u, 151u, + 159u, 191u, 68u, 189u, + 221u, 165u, 30u, 133u, + 1u, 132u, 165u, 152u, + 159u, 200u, 88u, 176u, + 172u, 254u, 141u, 71u, + 196u, 108u, 112u, 103u, + 169u, 103u, 108u, 96u, + 104u, 255u, 106u, 86u, + 131u, 95u, 82u, 140u, + 64u, 193u, 74u, 136u, + 102u, 138u, 180u, 149u, + 123u, 184u, 143u, 255u, + 192u, 1u, 161u, 45u, + 106u, 130u, 48u, 134u, + 116u, 229u, 89u, 104u, + 63u, 121u, 112u, 122u, + 172u, 54u, 196u, 106u, + 255u, 127u, 81u, 106u, + 112u, 198u, 116u, 136u, + 181u, 96u, 84u, 101u, + 195u, 133u, 181u, 215u, + 30u, 55u, 152u, 164u, + 67u, 133u, 150u, 33u, + 147u, 1u, 126u, 237u, + 204u, 144u, 111u, 207u, + 1u, 120u, 206u, 90u, + 102u, 55u, 255u, 147u, + 137u, 56u, 127u, 127u, + 176u, 55u, 130u, 33u, + 255u, 96u, 202u, 134u, + 68u, 185u, 61u, 102u, + 169u, 155u, 118u, 137u, + 149u, 101u, 162u, 110u, + 9u, 225u, 255u, 112u, + 85u, 54u, 31u, 147u, + 224u, 184u, 250u, 165u, + 86u, 255u, 121u, 90u, + 29u, 168u, 185u, 135u, + 42u, 142u, 200u, 154u, + 174u, 168u, 79u, 111u, + 101u, 129u, 138u, 141u, + 114u, 110u, 0u, 131u, + 149u, 198u, 110u, 82u, + 84u, 183u, 213u, 176u, + 136u, 1u, 73u, 95u, + 43u, 72u, 153u, 126u, + 56u, 180u, 190u, 115u, + 44u, 115u, 48u, 176u, + 112u, 166u, 36u, 11u, + 180u, 172u, 64u, 211u, + 33u, 196u, 78u, 23u, + 147u, 180u, 255u, 190u, + 141u, 99u, 125u, 210u, + 199u, 93u, 255u, 61u, + 118u, 158u, 42u, 209u, + 190u, 186u, 130u, 131u, + 134u, 199u, 98u, 1u, + 151u, 161u, 186u, 110u, + 92u, 135u, 171u, 148u, + 233u, 158u, 83u, 110u, + 69u, 151u, 203u, 255u, + 146u, 195u, 126u, 57u, + 202u, 23u, 93u, 110u, + 188u, 126u, 145u, 27u, + 178u, 155u, 91u, 1u, + 155u, 67u, 132u, 136u, + 146u, 135u, 124u, 141u, + 72u, 125u, 116u, 147u, + 132u, 68u, 125u, 156u, + 153u, 15u, 147u, 60u, + 68u, 103u, 1u, 149u, + 96u, 247u, 132u, 202u, + 187u, 145u, 207u, 119u, + 69u, 138u, 150u, 194u, + 218u, 108u, 255u, 134u, + 49u, 167u, 15u, 158u, + 41u, 109u, 51u, 255u, + 128u, 141u, 61u, 85u, + 37u, 117u, 145u, 52u, + 120u, 24u, 107u, 190u, + 164u, 112u, 55u, 121u, + 125u, 186u, 57u, 103u, + 71u, 233u, 66u, 85u, + 129u, 255u, 119u, 126u, + 181u, 53u, 170u, 155u, + 159u, 243u, 255u, 189u, + 142u, 100u, 58u, 162u, + 55u, 100u, 40u, 201u, + 123u, 185u, 209u, 1u, + 171u, 185u, 151u, 171u, + 114u, 30u, 141u, 170u, + 139u, 174u, 206u, 200u, + 53u, 123u, 167u, 131u, + 111u, 117u, 219u, 33u, + 0u, 168u, 118u, 190u, + 127u, 157u, 246u, 185u, + 78u, 196u, 194u, 37u, + 126u, 107u, 54u, 158u, + 137u, 226u, 211u, 255u, + 131u, 53u, 80u, 185u, + 125u, 151u, 94u, 117u, + 195u, 221u, 1u, 164u, + 79u, 60u, 69u, 157u, + 151u, 232u, 131u, 177u, + 205u, 14u, 79u, 151u, + 149u, 115u, 120u, 43u, + 176u, 255u, 23u, 164u, + 132u, 182u, 37u, 77u, + 104u, 85u, 194u, 108u, + 255u, 100u, 95u, 135u, + 148u, 139u, 198u, 85u, + 104u, 140u, 177u, 130u, + 154u, 68u, 199u, 173u, + 112u, 151u, 1u, 114u, + 57u, 170u, 86u, 85u, + 187u, 130u, 198u, 171u, + 255u, 139u, 127u, 100u, + 166u, 113u, 54u, 125u, + 117u, 115u, 151u, 212u, + 186u, 74u, 152u, 203u, + 109u, 70u, 85u, 167u, + 71u, 207u, 85u, 197u, + 76u, 48u, 101u, 141u, + 41u, 115u, 119u, 255u, + 79u, 114u, 171u, 94u, + 210u, 138u, 144u, 233u, + 199u, 255u, 71u, 124u, + 139u, 122u, 101u, 106u, + 99u, 18u, 255u, 213u, + 54u, 46u, 119u, 169u, + 198u, 204u, 94u, 121u, + 13u, 81u, 53u, 91u, + 75u, 92u, 178u, 116u, + 0u, 180u, 120u, 200u, + 119u, 189u, 109u, 87u, + 227u, 233u, 69u, 211u, + 44u, 176u, 255u, 22u, + 143u, 138u, 161u, 124u, + 111u, 206u, 163u, 113u, + 186u, 124u, 146u, 137u, + 190u, 127u, 170u, 56u, + 91u, 122u, 255u, 112u, + 137u, 173u, 68u, 92u, + 128u, 90u, 111u, 109u, + 186u, 255u, 140u, 19u, + 196u, 171u, 92u, 107u, + 117u, 38u, 77u, 31u, + 149u, 201u, 224u, 150u, + 255u, 204u, 102u, 148u, + 184u, 69u, 184u, 186u, + 184u, 137u, 195u, 91u, + 240u, 56u, 240u, 132u, + 150u, 67u, 165u, 153u, + 252u, 69u, 137u, 1u, + 140u, 205u, 13u, 57u, + 150u, 133u, 212u, 53u, + 186u, 107u, 105u, 195u, + 141u, 1u, 171u, 219u, + 90u, 179u, 67u, 147u, + 118u, 155u, 92u, 84u, + 255u, 76u, 183u, 109u, + 211u, 37u, 149u, 79u, + 158u, 138u, 44u, 190u, + 77u, 144u, 145u, 121u, + 106u, 44u, 164u, 51u, + 155u, 178u, 103u, 89u, + 138u, 193u, 65u, 152u, + 99u, 255u, 29u, 93u, + 151u, 66u, 209u, 135u, + 62u, 177u, 128u, 69u, + 102u, 110u, 102u, 162u, + 70u, 150u, 0u, 212u, + 105u, 125u, 34u, 37u, + 80u, 144u, 114u, 155u, + 0u, 179u, 203u, 173u, + 87u, 82u, 17u, 171u, + 160u, 37u, 160u, 239u, + 88u, 225u, 99u, 210u, + 66u, 53u, 129u, 140u, + 0u, 97u, 87u, 55u, + 89u, 94u, 198u, 93u, + 124u, 180u, 126u, 105u, + 255u, 169u, 237u, 41u, + 212u, 73u, 130u, 129u, + 249u, 144u, 140u, 103u, + 1u, 137u, 80u, 244u, + 244u, 124u, 172u, 126u, + 96u, 243u, 51u, 203u, + 92u, 153u, 14u, 63u, + 84u, 245u, 148u, 248u, + 120u, 255u, 91u, 154u, + 123u, 122u, 146u, 244u, + 182u, 129u, 47u, 161u, + 0u, 111u, 177u, 128u, + 45u, 133u, 218u, 147u, + 118u, 105u, 127u, 139u, + 187u, 121u, 98u, 193u, + 118u, 118u, 198u, 138u, + 45u, 218u, 1u, 217u, + 252u, 135u, 69u, 133u, + 167u, 6u, 108u, 158u, + 55u, 94u, 187u, 189u, + 149u, 255u, 112u, 190u, + 140u, 29u, 56u, 127u, + 255u, 115u, 220u, 150u, + 200u, 49u, 55u, 145u, + 188u, 113u, 241u, 150u, + 44u, 92u, 132u, 188u, + 179u, 37u, 156u, 191u, + 191u, 160u, 237u, 91u, + 185u, 159u, 21u, 226u, + 255u, 169u, 67u, 45u, + 132u, 236u, 110u, 98u, + 144u, 52u, 90u, 92u, + 111u, 128u, 255u, 102u, + 190u, 147u, 254u, 138u, + 140u, 109u, 86u, 102u, + 152u, 137u, 192u, 255u, + 109u, 24u, 156u, 205u, + 51u, 82u, 194u, 141u, + 43u, 73u, 76u, 221u, + 209u, 0u, 134u, 65u, + 54u, 199u, 87u, 211u, + 153u, 30u, 146u, 96u, + 125u, 101u, 101u, 161u, + 137u, 98u, 128u, 140u, + 118u, 1u, 89u, 54u, + 98u, 164u, 56u, 84u, + 140u, 108u, 220u, 144u, + 93u, 115u, 100u, 146u, + 55u, 238u, 75u, 255u, + 246u, 113u, 127u, 46u, + 27u, 89u, 69u, 255u, + 130u, 128u, 118u, 5u, + 121u, 142u, 157u, 119u, + 87u, 69u, 99u, 12u, + 137u, 221u, 107u, 180u, + 13u, 218u, 154u, 71u, + 1u, 130u, 196u, 187u, + 172u, 54u, 114u, 234u, + 87u, 149u, 162u, 77u, + 129u, 207u, 255u, 125u, + 47u, 171u, 79u, 178u, + 179u, 169u, 111u, 53u, + 171u, 76u, 255u, 55u, + 69u, 210u, 54u, 243u, + 224u, 138u, 96u, 107u, + 85u, 98u, 134u, 56u, + 120u, 147u, 103u, 116u, + 184u, 184u, 58u, 99u, + 138u, 35u, 123u, 157u, + 1u, 169u, 161u, 233u, + 220u, 141u, 209u, 52u, + 255u, 244u, 19u, 171u, + 48u, 152u, 163u, 132u, + 221u, 150u, 92u, 192u, + 179u, 149u, 255u, 5u, + 101u, 189u, 117u, 155u, + 158u, 25u, 234u, 59u, + 43u, 65u, 95u, 97u, + 166u, 95u, 177u, 150u, + 133u, 171u, 181u, 65u, + 89u, 134u, 20u, 0u, + 59u, 124u, 121u, 233u, + 1u, 109u, 46u, 104u, + 72u, 158u, 204u, 114u, + 90u, 58u, 111u, 147u, + 152u, 92u, 160u, 227u, + 163u, 93u, 172u, 138u, + 104u, 151u, 146u, 90u, + 170u, 99u, 141u, 49u, + 118u, 167u, 1u, 45u, + 25u, 134u, 1u, 119u, + 172u, 115u, 215u, 163u, + 120u, 141u, 169u, 69u, + 229u, 70u, 241u, 104u, + 96u, 145u, 119u, 40u, + 219u, 177u, 184u, 1u, + 153u, 113u, 80u, 42u, + 243u, 234u, 177u, 32u, + 123u, 149u, 102u, 120u, + 255u, 146u, 143u, 63u, + 155u, 99u, 48u, 124u, + 157u, 211u, 162u, 176u, + 184u, 193u, 236u, 161u, + 244u, 162u, 70u, 101u, + 67u, 149u, 131u, 113u, + 152u, 255u, 115u, 184u, + 127u, 72u, 244u, 59u, + 179u, 77u, 23u, 152u, + 80u, 138u, 108u, 32u, + 1u, 196u, 68u, 98u, + 107u, 135u, 37u, 129u, + 55u, 143u, 255u, 82u, + 193u, 81u, 194u, 123u, + 72u, 88u, 49u, 31u, + 106u, 249u, 207u, 134u, + 78u, 69u, 140u, 165u, + 115u, 166u, 236u, 191u, + 193u, 87u, 54u, 0u, + 133u, 0u, 84u, 101u, + 113u, 103u, 139u, 135u, + 91u, 202u, 68u, 157u, + 148u, 155u, 91u, 187u, + 121u, 170u, 180u, 18u, + 31u, 48u, 255u, 98u, + 120u, 142u, 172u, 86u, + 67u, 114u, 174u, 93u, + 75u, 112u, 162u, 235u, + 190u, 91u, 1u, 59u, + 110u, 195u, 61u, 88u, + 226u, 67u, 160u, 72u, + 167u, 186u, 105u, 104u, + 161u, 255u, 129u, 122u, + 164u, 174u, 148u, 31u, + 213u, 248u, 39u, 53u, + 132u, 44u, 215u, 103u, + 91u, 166u, 95u, 184u, + 136u, 136u, 146u, 0u, + 106u, 67u, 179u, 163u, + 176u, 112u, 104u, 146u, + 1u, 118u, 120u, 126u, + 136u, 154u, 162u, 29u, + 135u, 157u, 111u, 75u, + 255u, 137u, 152u, 88u, + 145u, 119u, 246u, 209u, + 94u, 77u, 66u, 122u, + 24u, 145u, 175u, 106u, + 161u, 157u, 255u, 92u, + 172u, 143u, 147u, 151u, + 139u, 112u, 68u, 133u, + 191u, 62u, 222u, 142u, + 35u, 106u, 86u, 160u, + 179u, 148u, 69u, 15u, + 136u, 255u, 59u, 178u, + 148u, 68u, 27u, 194u, + 179u, 118u, 163u, 158u, + 143u, 177u, 144u, 1u, + 110u, 16u, 99u, 167u, + 179u, 188u, 144u, 170u, + 101u, 116u, 161u, 110u, + 211u, 122u, 99u, 0u, + 116u, 219u, 121u, 59u, + 127u, 109u, 147u, 160u, + 23u, 172u, 145u, 1u, + 177u, 51u, 168u, 173u, + 108u, 255u, 126u, 135u, + 74u, 35u, 216u, 243u, + 123u, 111u, 171u, 202u, + 1u, 238u, 156u, 217u, + 243u, 138u, 111u, 251u, + 57u, 158u, 72u, 74u, + 108u, 106u, 112u, 104u, + 91u, 230u, 140u, 165u, + 164u, 204u, 152u, 1u, + 146u, 122u, 86u, 14u, + 40u, 108u, 167u, 103u, + 60u, 168u, 187u, 157u, + 20u, 244u, 104u, 203u, + 142u, 125u, 212u, 255u, + 113u, 232u, 190u, 116u, + 1u, 178u, 13u, 109u, + 145u, 67u, 242u, 84u, + 108u, 163u, 162u, 78u, + 188u, 154u, 224u, 163u, + 1u, 89u, 96u, 138u, + 132u, 245u, 108u, 120u, + 64u, 118u, 111u, 150u, + 128u, 101u, 1u, 14u, + 127u, 51u, 216u, 170u, + 144u, 191u, 185u, 152u, + 208u, 202u, 190u, 87u, + 59u, 86u, 160u, 160u, + 29u, 100u, 1u, 145u, + 88u, 105u, 196u, 79u, + 217u, 86u, 160u, 228u, + 226u, 145u, 156u, 72u, + 104u, 96u, 88u, 35u, + 255u, 198u, 142u, 71u, + 182u, 120u, 172u, 140u, + 232u, 132u, 200u, 167u, + 0u, 245u, 34u, 104u, + 13u, 19u, 108u, 68u, + 173u, 198u, 87u, 107u, + 178u, 63u, 106u, 228u, + 104u, 59u, 115u, 246u, + 79u, 53u, 0u, 103u, + 139u, 109u, 66u, 141u, + 126u, 87u, 133u, 127u, + 130u, 74u, 64u, 52u, + 92u, 115u, 222u, 97u, + 255u, 198u, 49u, 58u, + 228u, 87u, 1u, 149u, + 44u, 119u, 247u, 136u, + 148u, 214u, 115u, 179u, + 112u, 154u, 85u, 19u, + 142u, 81u, 255u, 126u, + 193u, 187u, 125u, 114u, + 81u, 119u, 159u, 168u, + 81u, 133u, 142u, 190u, + 95u, 196u, 70u, 192u, + 28u, 126u, 221u, 145u, + 76u, 217u, 97u, 1u, + 226u, 57u, 141u, 181u, + 190u, 50u, 153u, 208u, + 243u, 218u, 215u, 18u, + 118u, 109u, 45u, 83u, + 213u, 255u, 120u, 98u, + 3u, 92u, 37u, 4u, + 96u, 86u, 203u, 74u, + 131u, 252u, 255u, 213u, + 181u, 80u, 198u, 104u, + 58u, 217u, 67u, 113u, + 146u, 80u, 66u, 20u, + 164u, 131u, 140u, 121u, + 153u, 255u, 125u, 89u, + 185u, 177u, 122u, 90u, + 127u, 109u, 118u, 170u, + 19u, 155u, 202u, 214u, + 254u, 1u, 165u, 213u, + 179u, 200u, 148u, 93u, + 150u, 127u, 155u, 231u, + 255u, 50u, 94u, 187u, + 190u, 127u, 157u, 72u, + 150u, 107u, 49u, 156u, + 140u, 143u, 80u, 194u, + 255u, 180u, 203u, 97u, + 140u, 115u, 142u, 65u, + 57u, 103u, 121u, 164u, + 155u, 222u, 123u, 151u, + 136u, 137u, 67u, 251u, + 135u, 1u, 105u, 196u, + 144u, 79u, 223u, 211u, + 71u, 51u, 186u, 170u, + 158u, 255u, 111u, 156u, + 179u, 67u, 70u, 1u, + 133u, 142u, 118u, 72u, + 68u, 130u, 143u, 194u, + 119u, 255u, 130u, 66u, + 122u, 195u, 141u, 170u, + 202u, 98u, 155u, 255u, + 139u, 231u, 118u, 239u, + 123u, 111u, 15u, 185u, + 96u, 71u, 46u, 235u, + 105u, 169u, 69u, 189u, + 171u, 0u, 137u, 41u, + 141u, 31u, 66u, 77u, + 32u, 189u, 18u, 6u, + 105u, 206u, 1u, 158u, + 54u, 48u, 104u, 106u, + 180u, 175u, 153u, 132u, + 169u, 93u, 139u, 90u, + 119u, 147u, 255u, 152u, + 166u, 90u, 90u, 148u, + 56u, 151u, 124u, 115u, + 182u, 76u, 75u, 166u, + 70u, 69u, 57u, 36u, + 97u, 86u, 154u, 197u, + 58u, 179u, 204u, 95u, + 255u, 162u, 66u, 87u, + 125u, 117u, 170u, 145u, + 51u, 133u, 189u, 152u, + 255u, 150u, 152u, 146u, + 175u, 116u, 87u, 130u, + 136u, 136u, 118u, 118u, + 81u, 106u, 161u, 154u, + 135u, 96u, 162u, 139u, + 148u, 146u, 1u, 96u, + 125u, 143u, 164u, 47u, + 214u, 209u, 157u, 77u, + 99u, 129u, 122u, 166u, + 255u, 230u, 97u, 24u, + 144u, 197u, 69u, 147u, + 162u, 110u, 122u, 169u, + 177u, 255u, 103u, 162u, + 115u, 44u, 101u, 69u, + 155u, 226u, 171u, 163u, + 104u, 145u, 8u, 81u, + 193u, 130u, 148u, 1u, + 19u, 140u, 40u, 74u, + 155u, 156u, 88u, 111u, + 153u, 86u, 92u, 216u, + 130u, 255u, 101u, 126u, + 131u, 18u, 3u, 116u, + 103u, 151u, 133u, 129u, + 101u, 119u, 156u, 96u, + 1u, 99u, 124u, 49u, + 169u, 44u, 139u, 148u, + 117u, 24u, 113u, 139u, + 154u, 112u, 87u, 135u, + 89u, 174u, 1u, 41u, + 94u, 163u, 180u, 178u, + 115u, 76u, 99u, 255u, + 119u, 116u, 15u, 125u, + 84u, 174u, 11u, 39u, + 15u, 140u, 141u, 111u, + 114u, 38u, 138u, 58u, + 61u, 1u, 226u, 106u, + 172u, 109u, 210u, 59u, + 55u, 72u, 95u, 60u, + 135u, 96u, 237u, 82u, + 130u, 144u, 255u, 149u, + 145u, 176u, 109u, 113u, + 190u, 174u, 122u, 57u, + 151u, 73u, 103u, 131u, + 30u, 177u, 255u, 66u, + 176u, 105u, 176u, 122u, + 155u, 183u, 138u, 119u, + 146u, 149u, 90u, 132u, + 61u, 135u, 127u, 114u, + 157u, 140u, 163u, 115u, + 192u, 255u, 127u, 104u, + 78u, 78u, 166u, 113u, + 255u, 111u, 75u, 86u, + 122u, 102u, 128u, 207u, + 180u, 38u, 169u, 70u, + 45u, 108u, 121u, 87u, + 60u, 67u, 191u, 188u, + 114u, 126u, 130u, 157u, + 103u, 0u, 118u, 101u, + 111u, 113u, 172u, 91u, + 150u, 1u, 218u, 91u, + 95u, 152u, 124u, 97u, + 144u, 31u, 186u, 151u, + 255u, 75u, 169u, 140u, + 113u, 110u, 201u, 170u, + 85u, 85u, 107u, 192u, + 177u, 137u, 179u, 120u, + 101u, 143u, 151u, 185u, + 91u, 128u, 116u, 0u, + 16u, 93u, 174u, 43u, + 212u, 118u, 118u, 93u, + 199u, 34u, 181u, 41u, + 203u, 154u, 207u, 120u, + 103u, 60u, 40u, 198u, + 1u, 175u, 85u, 161u, + 96u, 10u, 11u, 224u, + 8u, 84u, 205u, 10u, + 247u, 73u, 94u, 93u, + 37u, 120u, 128u, 255u, + 112u, 169u, 92u, 152u, + 43u, 54u, 125u, 84u, + 81u, 175u, 218u, 126u, + 103u, 57u, 126u, 0u, + 237u, 47u, 245u, 68u, + 135u, 38u, 140u, 114u, + 163u, 184u, 132u, 76u, + 149u, 176u, 201u, 1u, + 151u, 145u, 158u, 99u, + 142u, 140u, 143u, 128u, + 120u, 152u, 134u, 111u, + 255u, 135u, 145u, 106u, + 236u, 107u, 162u, 1u, + 86u, 179u, 113u, 212u, + 94u, 190u, 246u, 154u, + 142u, 171u, 75u, 116u, + 177u, 162u, 120u, 118u, + 119u, 114u, 255u, 116u, + 134u, 174u, 62u, 179u, + 119u, 184u, 71u, 136u, + 82u, 128u, 164u, 117u, + 229u, 108u, 158u, 116u, + 118u, 120u, 83u, 72u, + 92u, 255u, 142u, 156u, + 152u, 82u, 202u, 146u, + 208u, 51u, 94u, 121u, + 89u, 235u, 255u, 186u, + 145u, 39u, 180u, 168u, + 107u, 129u, 206u, 162u, + 255u, 220u, 66u, 120u, + 127u, 111u, 74u, 121u, + 167u, 160u, 126u, 194u, + 1u, 164u, 150u, 96u, + 98u, 202u, 126u, 111u, + 101u, 162u, 127u, 96u, + 96u, 153u, 147u, 117u, + 208u, 206u, 67u, 174u, + 66u, 221u, 144u, 147u, + 111u, 202u, 108u, 133u, + 0u, 98u, 143u, 159u, + 117u, 97u, 152u, 87u, + 93u, 69u, 255u, 147u, + 33u, 126u, 225u, 59u, + 69u, 169u, 28u, 125u, + 29u, 59u, 133u, 180u, + 233u, 191u, 201u, 97u, + 170u, 72u, 1u, 173u, + 18u, 180u, 122u, 185u, + 131u, 146u, 127u, 49u, + 152u, 46u, 135u, 98u, + 109u, 150u, 136u, 180u, + 1u, 120u, 78u, 108u, + 100u, 144u, 167u, 121u, + 115u, 162u, 111u, 182u, + 156u, 100u, 204u, 112u, + 0u, 128u, 38u, 146u, + 184u, 168u, 170u, 1u, + 122u, 171u, 127u, 197u, + 192u, 147u, 186u, 191u, + 178u, 61u, 137u, 153u, + 162u, 36u, 116u, 194u, + 4u, 166u, 247u, 70u, + 176u, 201u, 39u, 73u, + 94u, 37u, 109u, 255u, + 173u, 98u, 225u, 118u, + 216u, 113u, 218u, 196u, + 168u, 1u, 95u, 127u, + 207u, 90u, 217u, 8u, + 109u, 172u, 30u, 204u, + 128u, 56u, 84u, 67u, + 100u, 167u, 39u, 69u, + 77u, 0u, 107u, 153u, + 194u, 83u, 205u, 76u, + 255u, 197u, 181u, 114u, + 179u, 128u, 52u, 120u, + 146u, 118u, 28u, 154u, + 243u, 160u, 246u, 1u, + 203u, 161u, 95u, 155u, + 31u, 114u, 172u, 173u, + 183u, 230u, 90u, 125u, + 62u, 157u, 3u, 228u, + 1u, 151u, 53u, 104u, + 199u, 57u, 165u, 148u, + 84u, 39u, 108u, 153u, + 137u, 130u, 152u, 126u, + 155u, 162u, 85u, 96u, + 142u, 81u, 85u, 140u, + 64u, 157u, 111u, 255u, + 204u, 38u, 84u, 255u, + 170u, 111u, 75u, 132u, + 164u, 174u, 217u, 146u, + 249u, 68u, 140u, 114u, + 150u, 86u, 95u, 112u, + 61u, 72u, 0u, 149u, + 145u, 147u, 64u, 109u, + 136u, 95u, 93u, 126u, + 166u, 201u, 87u, 106u, + 172u, 103u, 85u, 145u, + 82u, 0u, 112u, 99u, + 124u, 129u, 151u, 101u, + 143u, 55u, 60u, 64u, + 193u, 76u, 173u, 146u, + 202u, 1u, 55u, 102u, + 75u, 184u, 180u, 116u, + 69u, 112u, 70u, 180u, + 105u, 70u, 32u, 160u, + 186u, 22u, 138u, 100u, + 1u, 40u, 173u, 230u, + 133u, 141u, 8u, 248u, + 201u, 12u, 32u, 182u, + 198u, 215u, 163u, 110u, + 36u, 1u, 132u, 66u, + 255u, 108u, 135u, 147u, + 66u, 130u, 210u, 220u, + 109u, 99u, 124u, 175u, + 73u, 78u, 80u, 147u, + 119u, 23u, 41u, 230u, + 209u, 59u, 80u, 161u, + 255u, 156u, 171u, 142u, + 37u, 67u, 141u, 221u, + 71u, 154u, 32u, 49u, + 165u, 68u, 170u, 158u, + 255u, 168u, 198u, 183u, + 113u, 93u, 33u, 87u, + 155u, 195u, 159u, 213u, + 90u, 14u, 44u, 66u, + 66u, 162u, 31u, 1u, + 91u, 219u, 177u, 221u, + 27u, 53u, 25u, 137u, + 142u, 67u, 1u, 111u, + 100u, 87u, 218u, 57u, + 119u, 119u, 100u, 170u, + 191u, 81u, 176u, 183u, + 226u, 85u, 213u, 66u, + 144u, 255u, 46u, 130u, + 245u, 154u, 138u, 46u, + 113u, 20u, 245u, 26u, + 25u, 185u, 100u, 59u, + 159u, 214u, 194u, 219u, + 0u, 102u, 54u, 21u, + 149u, 161u, 153u, 92u, + 68u, 118u, 193u, 255u, + 192u, 150u, 232u, 128u, + 145u, 99u, 66u, 55u, + 191u, 109u, 157u, 120u, + 59u, 107u, 186u, 241u, + 178u, 1u, 73u, 96u, + 103u, 156u, 18u, 152u, + 194u, 133u, 180u, 22u, + 47u, 160u, 219u, 188u, + 1u, 115u, 103u, 72u, + 199u, 161u, 224u, 191u, + 154u, 0u, 147u, 214u, + 80u, 108u, 125u, 86u, + 37u, 116u, 103u, 60u, + 151u, 177u, 143u, 151u, + 80u, 84u, 31u, 11u, + 105u, 148u, 38u, 161u, + 161u, 79u, 118u, 102u, + 118u, 125u, 255u, 71u, + 134u, 139u, 105u, 86u, + 208u, 130u, 147u, 103u, + 125u, 1u, 28u, 110u, + 90u, 233u, 132u, 160u, + 70u, 72u, 177u, 67u, + 123u, 166u, 61u, 107u, + 125u, 68u, 113u, 1u, + 83u, 101u, 215u, 232u, + 240u, 148u, 255u, 107u, + 132u, 165u, 58u, 130u, + 183u, 167u, 172u, 27u, + 139u, 224u, 141u, 142u, + 165u, 134u, 156u, 111u, + 201u, 133u, 1u, 124u, + 126u, 77u, 128u, 94u, + 115u, 224u, 85u, 40u, + 92u, 68u, 118u, 74u, + 136u, 101u, 87u, 243u, + 134u, 255u, 248u, 176u, + 116u, 102u, 47u, 175u, + 181u, 128u, 211u, 107u, + 88u, 61u, 27u, 83u, + 106u, 39u, 108u, 35u, + 1u, 237u, 177u, 162u, + 93u, 190u, 72u, 109u, + 219u, 122u, 134u, 157u, + 91u, 164u, 87u, 148u, + 229u, 207u, 172u, 1u, + 148u, 166u, 132u, 0u, + 92u, 154u, 104u, 234u, + 78u, 101u, 215u, 83u, + 128u, 100u, 142u, 115u, + 202u, 165u, 121u, 187u, + 43u, 193u, 78u, 255u, + 160u, 135u, 93u, 62u, + 118u, 99u, 213u, 171u, + 51u, 25u, 104u, 14u, + 94u, 129u, 110u, 160u, + 228u, 154u, 157u, 102u, + 105u, 125u, 228u, 255u, + 168u, 63u, 158u, 233u, + 119u, 137u, 251u, 1u, + 127u, 174u, 69u, 162u, + 226u, 128u, 142u, 127u, + 63u, 199u, 127u, 52u, + 193u, 164u, 48u, 176u, + 147u, 23u, 227u, 255u, + 184u, 227u, 72u, 94u, + 119u, 128u, 183u, 87u, + 233u, 144u, 100u, 70u, + 182u, 203u, 0u, 140u, + 175u, 55u, 169u, 193u, + 110u, 219u, 1u, 155u, + 143u, 101u, 144u, 16u, + 127u, 59u, 188u, 153u, + 119u, 199u, 93u, 166u, + 66u, 156u, 105u, 186u, + 116u, 50u, 56u, 126u, + 185u, 68u, 61u, 118u, + 141u, 1u, 193u, 51u, + 63u, 43u, 76u, 255u, + 192u, 152u, 48u, 80u, + 149u, 48u, 179u, 169u, + 128u, 140u, 70u, 87u, + 114u, 186u, 218u, 180u, + 15u, 148u, 52u, 165u, + 69u, 153u, 89u, 162u, + 255u, 174u, 116u, 36u, + 255u, 109u, 118u, 199u, + 123u, 66u, 144u, 72u, + 118u, 127u, 19u, 88u, + 225u, 105u, 178u, 86u, + 148u, 192u, 149u, 101u, + 255u, 150u, 85u, 115u, + 123u, 107u, 148u, 84u, + 140u, 67u, 105u, 104u, + 90u, 187u, 66u, 115u, + 114u, 237u, 108u, 100u, + 201u, 42u, 226u, 255u, + 28u, 143u, 133u, 207u, + 158u, 143u, 161u, 193u, + 96u, 71u, 149u, 132u, + 0u, 174u, 181u, 120u, + 118u, 117u, 131u, 170u, + 171u, 130u, 219u, 150u, + 83u, 1u, 171u, 168u, + 137u, 183u, 143u, 34u, + 194u, 69u, 114u, 142u, + 160u, 58u, 105u, 119u, + 82u, 104u, 110u, 90u, + 114u, 99u, 96u, 149u, + 1u, 176u, 131u, 113u, + 135u, 124u, 85u, 184u, + 43u, 109u, 134u, 162u, + 116u, 166u, 166u, 83u, + 205u, 38u, 92u, 0u, + 255u, 204u, 143u, 156u, + 94u, 110u, 151u, 248u, + 15u, 186u, 177u, 138u, + 97u, 98u, 38u, 169u, + 102u, 150u, 1u, 202u, + 73u, 82u, 155u, 53u, + 107u, 220u, 205u, 220u, + 228u, 120u, 69u, 67u, + 107u, 190u, 70u, 62u, + 128u, 87u, 151u, 74u, + 103u, 129u, 177u, 193u, + 103u, 255u, 130u, 78u, + 171u, 103u, 133u, 130u, + 115u, 123u, 161u, 170u, + 136u, 1u, 92u, 131u, + 151u, 159u, 65u, 73u, + 1u, 128u, 113u, 108u, + 211u, 217u, 223u, 111u, + 116u, 74u, 50u, 73u, + 165u, 141u, 70u, 230u, + 36u, 201u, 102u, 1u, + 206u, 157u, 215u, 175u, + 65u, 155u, 197u, 187u, + 156u, 43u, 196u, 154u, + 96u, 82u, 158u, 115u, + 110u, 171u, 1u, 60u, + 92u, 177u, 124u, 20u, + 62u, 220u, 252u, 145u, + 101u, 52u, 12u, 136u, + 92u, 1u, 151u, 195u, + 223u, 190u, 183u, 217u, + 115u, 75u, 62u, 114u, + 105u, 90u, 101u, 83u, + 90u, 144u, 229u, 255u, + 167u, 55u, 167u, 108u, + 103u, 134u, 84u, 114u, + 16u, 182u, 18u, 193u, + 4u, 178u, 176u, 190u, + 186u, 103u, 144u, 65u, + 1u, 29u, 100u, 170u, + 217u, 183u, 174u, 239u, + 80u, 133u, 40u, 1u, + 133u, 206u, 173u, 16u, + 182u, 161u, 98u, 220u, + 155u, 162u, 155u, 108u, + 157u, 255u, 145u, 122u, + 44u, 135u, 85u, 187u, + 234u, 207u, 154u, 100u, + 216u, 180u, 152u, 1u, + 143u, 26u, 128u, 74u, + 54u, 192u, 176u, 217u, + 87u, 52u, 132u, 53u, + 106u, 167u, 255u, 116u, + 76u, 146u, 144u, 90u, + 139u, 192u, 129u, 105u, + 90u, 59u, 195u, 233u, + 144u, 183u, 156u, 109u, + 189u, 106u, 107u, 255u, + 75u, 128u, 52u, 69u, + 238u, 201u, 176u, 170u, + 133u, 72u, 36u, 204u, + 148u, 139u, 89u, 205u, + 197u, 228u, 66u, 119u, + 1u, 101u, 4u, 183u, + 123u, 1u, 234u, 48u, + 193u, 98u, 139u, 110u, + 150u, 128u, 108u, 167u, + 112u, 209u, 47u, 204u, + 147u, 66u, 152u, 111u, + 30u, 84u, 147u, 93u, + 140u, 105u, 210u, 177u, + 162u, 76u, 255u, 162u, + 73u, 114u, 58u, 25u, + 1u, 143u, 76u, 200u, + 12u, 19u, 150u, 99u, + 92u, 71u, 82u, 170u, + 62u, 34u, 77u, 93u, + 31u, 124u, 107u, 93u, + 64u, 168u, 122u, 1u, + 71u, 109u, 205u, 231u, + 113u, 32u, 243u, 125u, + 1u, 78u, 236u, 20u, + 130u, 88u, 112u, 127u, + 85u, 150u, 149u, 26u, + 165u, 153u, 126u, 59u, + 226u, 142u, 255u, 121u, + 110u, 240u, 156u, 240u, + 215u, 39u, 191u, 71u, + 2u, 80u, 6u, 245u, + 20u, 83u, 61u, 86u, + 171u, 154u, 230u, 176u, + 102u, 167u, 107u, 255u, + 167u, 97u, 143u, 75u, + 117u, 52u, 255u, 249u, + 161u, 116u, 66u, 154u, + 94u, 126u, 198u, 87u, + 103u, 157u, 157u, 237u, + 40u, 255u, 165u, 210u, + 107u, 76u, 144u, 198u, + 190u, 113u, 89u, 125u, + 14u, 57u, 208u, 128u, + 130u, 149u, 179u, 255u, + 93u, 115u, 191u, 100u, + 109u, 148u, 41u, 230u, + 171u, 189u, 82u, 57u, + 87u, 148u, 163u, 126u, + 114u, 108u, 255u, 154u, + 69u, 174u, 159u, 116u, + 148u, 189u, 242u, 120u, + 213u, 201u, 50u, 196u, + 136u, 68u, 80u, 177u, + 255u, 202u, 87u, 208u, + 167u, 125u, 170u, 100u, + 255u, 148u, 95u, 148u, + 91u, 127u, 166u, 95u, + 111u, 150u, 146u, 94u, + 120u, 46u, 200u, 155u, + 44u, 122u, 83u, 94u, + 66u, 97u, 223u, 117u, + 1u, 116u, 79u, 114u, + 195u, 151u, 220u, 159u, + 170u, 173u, 102u, 80u, + 87u, 193u, 52u, 27u, + 95u, 247u, 0u, 193u, + 101u, 162u, 118u, 139u, + 153u, 41u, 240u, 102u, + 183u, 255u, 108u, 228u, + 214u, 56u, 218u, 36u, + 66u, 85u, 45u, 193u, + 54u, 49u, 106u, 133u, + 60u, 125u, 173u, 175u, + 88u, 0u, 161u, 201u, + 107u, 99u, 144u, 116u, + 96u, 1u, 152u, 156u, + 122u, 213u, 207u, 152u, + 133u, 135u, 232u, 26u, + 103u, 89u, 162u, 106u, + 83u, 173u, 179u, 50u, + 99u, 182u, 130u, 195u, + 108u, 180u, 0u, 122u, + 255u, 159u, 147u, 87u, + 68u, 96u, 165u, 167u, + 148u, 83u, 182u, 170u, + 121u, 202u, 86u, 106u, + 107u, 67u, 191u, 88u, + 127u, 208u, 104u, 248u, + 147u, 51u, 77u, 73u, + 103u, 1u, 141u, 223u, + 125u, 100u, 80u, 255u, + 15u, 239u, 28u, 217u, + 77u, 104u, 218u, 120u, + 207u, 87u, 149u, 165u, + 133u, 132u, 1u, 143u, + 159u, 172u, 8u, 200u, + 126u, 253u, 135u, 114u, + 160u, 27u, 147u, 156u, + 128u, 127u, 61u, 190u, + 37u, 163u, 86u, 180u, + 48u, 106u, 185u, 0u, + 105u, 131u, 98u, 196u, + 214u, 162u, 43u, 175u, + 91u, 161u, 77u, 1u, + 55u, 124u, 137u, 129u, + 193u, 95u, 126u, 63u, + 125u, 51u, 170u, 181u, + 151u, 44u, 172u, 82u, + 166u, 141u, 90u, 153u, + 119u, 255u, 187u, 89u, + 183u, 86u, 134u, 36u, + 83u, 43u, 180u, 140u, + 128u, 228u, 148u, 106u, + 40u, 132u, 255u, 88u, + 74u, 150u, 202u, 190u, + 30u, 58u, 132u, 18u, + 57u, 137u, 141u, 182u, + 201u, 255u, 155u, 99u, + 89u, 149u, 115u, 116u, + 61u, 141u, 135u, 106u, + 154u, 116u, 215u, 198u, + 117u, 123u, 151u, 255u, + 72u, 92u, 194u, 1u, + 127u, 103u, 130u, 74u, + 103u, 140u, 176u, 186u, + 95u, 145u, 119u, 135u, + 79u, 148u, 199u, 86u, + 179u, 176u, 154u, 255u, + 145u, 170u, 69u, 152u, + 127u, 128u, 108u, 174u, + 65u, 0u, 184u, 101u, + 73u, 203u, 17u, 57u, + 133u, 195u, 58u, 71u, + 173u, 174u, 218u, 172u, + 165u, 99u, 110u, 161u, + 165u, 1u, 130u, 25u, + 77u, 158u, 130u, 106u, + 58u, 128u, 163u, 89u, + 132u, 136u, 169u, 184u, + 76u, 158u, 255u, 90u, + 81u, 191u, 69u, 158u, + 146u, 77u, 192u, 173u, + 85u, 137u, 35u, 251u, + 107u, 65u, 233u, 12u, + 120u, 67u, 1u, 62u, + 144u, 119u, 111u, 152u, + 127u, 91u, 223u, 1u, + 194u, 86u, 236u, 54u, + 5u, 174u, 88u, 171u, + 180u, 198u, 72u, 123u, + 161u, 153u, 67u, 104u, + 51u, 1u, 161u, 22u, + 83u, 162u, 148u, 190u, + 154u, 139u, 133u, 64u, + 28u, 161u, 1u, 144u, + 113u, 153u, 91u, 174u, + 208u, 171u, 115u, 12u, + 160u, 25u, 44u, 209u, + 159u, 117u, 90u, 156u, + 248u, 1u, 62u, 154u, + 91u, 94u, 29u, 149u, + 118u, 22u, 139u, 111u, + 188u, 171u, 229u, 1u, + 218u, 153u, 81u, 123u, + 62u, 95u, 148u, 72u, + 219u, 150u, 123u, 15u, + 46u, 110u, 56u, 33u, + 70u, 75u, 221u, 150u, + 162u, 98u, 196u, 97u, + 198u, 237u, 181u, 1u, + 144u, 103u, 152u, 46u, + 121u, 66u, 192u, 167u, + 129u, 131u, 189u, 154u, + 1u, 113u, 120u, 139u, + 81u, 255u, 98u, 133u, + 217u, 129u, 235u, 211u, + 130u, 106u, 54u, 192u, + 240u, 141u, 140u, 68u, + 90u, 55u, 58u, 97u, + 188u, 81u, 255u, 217u, + 118u, 83u, 155u, 149u, + 229u, 104u, 180u, 133u, + 57u, 156u, 183u, 119u, + 37u, 127u, 108u, 140u, + 104u, 174u, 255u, 174u, + 92u, 40u, 189u, 175u, + 134u, 51u, 74u, 108u, + 121u, 223u, 177u, 78u, + 167u, 163u, 97u, 226u, + 255u, 105u, 55u, 105u, + 71u, 64u, 80u, 163u, + 167u, 58u, 129u, 1u, + 45u, 158u, 87u, 201u, + 180u, 39u, 117u, 196u, + 134u, 111u, 77u, 99u, + 151u, 144u, 139u, 226u, + 204u, 195u, 102u, 112u, + 203u, 84u, 49u, 1u, + 119u, 95u, 91u, 255u, + 176u, 137u, 45u, 160u, + 117u, 201u, 83u, 55u, + 126u, 78u, 101u, 103u, + 1u, 160u, 143u, 184u, + 23u, 209u, 109u, 128u, + 79u, 138u, 131u, 164u, + 107u, 118u, 195u, 128u, + 112u, 174u, 150u, 68u, + 148u, 58u, 219u, 125u, + 206u, 242u, 150u, 255u, + 140u, 34u, 110u, 179u, + 87u, 99u, 88u, 107u, + 135u, 129u, 169u, 227u, + 102u, 182u, 147u, 176u, + 1u, 46u, 145u, 197u, + 206u, 80u, 75u, 142u, + 255u, 180u, 126u, 99u, + 157u, 135u, 36u, 121u, + 69u, 209u, 210u, 161u, + 239u, 76u, 131u, 35u, + 150u, 149u, 77u, 80u, + 51u, 101u, 132u, 98u, + 122u, 247u, 0u, 139u, + 151u, 234u, 180u, 136u, + 0u, 157u, 220u, 69u, + 156u, 238u, 231u, 177u, + 67u, 109u, 86u, 235u, + 195u, 78u, 152u, 196u, + 70u, 162u, 174u, 110u, + 135u, 134u, 0u, 143u, + 133u, 56u, 36u, 117u, + 66u, 94u, 106u, 91u, + 77u, 55u, 199u, 255u, + 95u, 155u, 86u, 158u, + 105u, 80u, 128u, 127u, + 64u, 127u, 183u, 102u, + 28u, 211u, 109u, 122u, + 238u, 233u, 34u, 1u, + 71u, 114u, 61u, 141u, + 145u, 141u, 47u, 216u, + 30u, 102u, 0u, 128u, + 36u, 230u, 98u, 141u, + 88u, 140u, 119u, 54u, + 215u, 104u, 129u, 217u, + 155u, 163u, 191u, 179u, + 179u, 27u, 15u, 2u, + 168u, 255u, 121u, 3u, + 114u, 69u, 126u, 117u, + 121u, 3u, 138u, 83u, + 118u, 255u, 142u, 228u, + 70u, 181u, 147u, 146u, + 120u, 151u, 54u, 18u, + 171u, 116u, 200u, 96u, + 133u, 226u, 255u, 249u, + 163u, 253u, 181u, 157u, + 1u, 101u, 153u, 139u, + 126u, 92u, 76u, 208u, + 120u, 149u, 146u, 152u, + 111u, 24u, 60u, 130u, + 255u, 102u, 182u, 65u, + 210u, 203u, 26u, 46u, + 134u, 133u, 96u, 191u, + 110u, 148u, 59u, 212u, + 225u, 114u, 18u, 246u, + 156u, 93u, 106u, 166u, + 126u, 128u, 119u, 32u, + 166u, 143u, 51u, 0u, + 178u, 86u, 255u, 164u, + 88u, 178u, 137u, 97u, + 142u, 21u, 108u, 104u, + 204u, 106u, 146u, 147u, + 149u, 81u, 103u, 1u, + 77u, 149u, 14u, 177u, + 136u, 91u, 227u, 94u, + 118u, 88u, 129u, 108u, + 114u, 160u, 78u, 87u, + 156u, 130u, 110u, 203u, + 105u, 255u, 138u, 74u, + 105u, 38u, 175u, 160u, + 114u, 122u, 126u, 123u, + 1u, 165u, 116u, 116u, + 43u, 185u, 101u, 78u, + 62u, 171u, 94u, 133u, + 166u, 115u, 96u, 200u, + 75u, 149u, 226u, 36u, + 34u, 158u, 64u, 185u, + 201u, 206u, 94u, 255u, + 188u, 206u, 119u, 134u, + 84u, 101u, 122u, 219u, + 176u, 1u, 71u, 24u, + 124u, 97u, 53u, 189u, + 149u, 69u, 1u, 221u, + 143u, 124u, 65u, 161u, + 133u, 127u, 62u, 43u, + 77u, 249u, 106u, 59u, + 229u, 120u, 195u, 103u, + 31u, 180u, 150u, 205u, + 144u, 87u, 171u, 1u, + 175u, 214u, 141u, 171u, + 65u, 133u, 62u, 253u, + 47u, 131u, 255u, 223u, + 116u, 109u, 132u, 177u, + 163u, 89u, 98u, 157u, + 63u, 127u, 168u, 48u, + 1u, 88u, 112u, 148u, + 152u, 130u, 125u, 145u, + 104u, 113u, 25u, 213u, + 121u, 145u, 105u, 27u, + 106u, 79u, 157u, 195u, + 1u, 148u, 135u, 76u, + 95u, 61u, 127u, 127u, + 255u, 81u, 17u, 98u, + 170u, 176u, 126u, 88u, + 24u, 181u, 2u, 184u, + 232u, 178u, 131u, 118u, + 219u, 190u, 0u, 160u, + 125u, 94u, 85u, 105u, + 165u, 236u, 217u, 105u, + 116u, 111u, 48u, 123u, + 79u, 1u, 243u, 109u, + 184u, 100u, 113u, 75u, + 60u, 150u, 57u, 67u, + 5u, 93u, 140u, 205u, + 40u, 50u, 112u, 131u, + 52u, 255u, 213u, 160u, + 232u, 156u, 86u, 110u, + 139u, 80u, 157u, 230u, + 98u, 121u, 24u, 125u, + 147u, 160u, 255u, 140u, + 158u, 63u, 143u, 193u, + 177u, 78u, 171u, 102u, + 155u, 31u, 198u, 147u, + 99u, 165u, 42u, 112u, + 99u, 140u, 114u, 115u, + 142u, 1u, 146u, 137u, + 43u, 91u, 188u, 152u, + 255u, 9u, 228u, 164u, + 174u, 118u, 128u, 190u, + 70u, 174u, 156u, 112u, + 98u, 157u, 255u, 20u, + 142u, 135u, 173u, 92u, + 105u, 23u, 73u, 117u, + 82u, 175u, 205u, 104u, + 55u, 225u, 23u, 146u, + 255u, 22u, 94u, 178u, + 113u, 58u, 110u, 182u, + 110u, 60u, 21u, 199u, + 185u, 216u, 92u, 107u, + 95u, 55u, 3u, 203u, + 67u, 164u, 255u, 133u, + 74u, 97u, 132u, 54u, + 142u, 80u, 51u, 132u, + 183u, 23u, 249u, 164u, + 223u, 59u, 59u, 161u, + 68u, 1u, 156u, 194u, + 128u, 134u, 44u, 161u, + 36u, 57u, 0u, 121u, + 2u, 93u, 119u, 116u, + 185u, 151u, 168u, 83u, + 104u, 126u, 103u, 185u, + 75u, 150u, 201u, 131u, + 130u, 255u, 76u, 109u, + 167u, 152u, 120u, 108u, + 1u, 148u, 102u, 152u, + 104u, 202u, 177u, 145u, + 170u, 229u, 140u, 107u, + 72u, 221u, 157u, 211u, + 75u, 154u, 136u, 102u, + 71u, 150u, 112u, 140u, + 158u, 136u, 173u, 172u, + 74u, 1u, 106u, 172u, + 109u, 152u, 1u, 134u, + 86u, 147u, 189u, 220u, + 25u, 84u, 130u, 121u, + 153u, 124u, 105u, 42u, + 148u, 162u, 194u, 1u, + 123u, 71u, 200u, 99u, + 42u, 207u, 179u, 248u, + 156u, 174u, 194u, 228u, + 160u, 183u, 185u, 0u, + 49u, 49u, 36u, 85u, + 120u, 192u, 149u, 112u, + 210u, 70u, 38u, 188u, + 160u, 114u, 127u, 114u, + 31u, 52u, 106u, 213u, + 98u, 143u, 178u, 116u, + 93u, 1u, 111u, 123u, + 142u, 158u, 186u, 67u, + 146u, 132u, 47u, 139u, + 198u, 173u, 180u, 131u, + 205u, 1u, 187u, 137u, + 197u, 73u, 87u, 246u, + 229u, 154u, 255u, 232u, + 39u, 166u, 16u, 187u, + 221u, 160u, 14u, 150u, + 93u, 30u, 70u, 208u, + 98u, 128u, 135u, 177u, + 1u, 68u, 65u, 75u, + 66u, 118u, 125u, 105u, + 137u, 108u, 143u, 158u, + 125u, 187u, 148u, 122u, + 167u, 114u, 255u, 103u, + 120u, 134u, 110u, 164u, + 106u, 186u, 184u, 91u, + 120u, 255u, 79u, 160u, + 131u, 119u, 91u, 114u, + 9u, 9u, 67u, 172u, + 116u, 148u, 143u, 255u, + 9u, 116u, 90u, 115u, + 105u, 84u, 149u, 126u, + 180u, 44u, 80u, 122u, + 100u, 35u, 240u, 107u, + 255u, 158u, 126u, 180u, + 242u, 180u, 94u, 201u, + 229u, 94u, 94u, 54u, + 128u, 155u, 120u, 157u, + 140u, 166u, 166u, 101u, + 135u, 1u, 134u, 196u, + 121u, 205u, 88u, 146u, + 135u, 120u, 131u, 90u, + 53u, 156u, 103u, 109u, + 101u, 120u, 255u, 130u, + 99u, 117u, 139u, 165u, + 110u, 113u, 218u, 255u, + 83u, 2u, 98u, 124u, + 48u, 233u, 181u, 101u, + 187u, 86u, 231u, 119u, + 33u, 94u, 1u, 146u, + 91u, 154u, 45u, 29u, + 146u, 127u, 136u, 140u, + 227u, 65u, 121u, 180u, + 96u, 193u, 180u, 111u, + 95u, 234u, 143u, 148u, + 169u, 255u, 137u, 50u, + 179u, 54u, 127u, 99u, + 110u, 50u, 255u, 101u, + 59u, 127u, 54u, 125u, + 16u, 148u, 159u, 84u, + 162u, 59u, 211u, 240u, + 131u, 78u, 159u, 104u, + 130u, 112u, 75u, 78u, + 184u, 21u, 255u, 73u, + 168u, 139u, 96u, 72u, + 185u, 91u, 81u, 201u, + 32u, 218u, 255u, 127u, + 35u, 171u, 5u, 93u, + 109u, 248u, 170u, 187u, + 146u, 148u, 175u, 195u, + 0u, 186u, 222u, 27u, + 151u, 222u, 149u, 126u, + 184u, 121u, 128u, 114u, + 143u, 245u, 29u, 128u, + 187u, 192u, 255u, 182u, + 31u, 214u, 54u, 187u, + 207u, 216u, 145u, 127u, + 173u, 184u, 187u, 82u, + 36u, 18u, 105u, 44u, + 1u, 121u, 198u, 44u, + 110u, 125u, 152u, 6u, + 157u, 120u, 84u, 56u, + 147u, 72u, 126u, 109u, + 150u, 155u, 255u, 108u, + 190u, 113u, 210u, 124u, + 78u, 69u, 32u, 219u, + 1u, 111u, 100u, 213u, + 71u, 125u, 114u, 101u, + 179u, 58u, 77u, 110u, + 209u, 163u, 171u, 153u, + 131u, 109u, 142u, 171u, + 126u, 0u, 183u, 158u, + 232u, 178u, 165u, 27u, + 89u, 119u, 1u, 220u, + 227u, 71u, 85u, 86u, + 171u, 250u, 114u, 183u, + 57u, 107u, 125u, 81u, + 115u, 75u, 181u, 1u, + 158u, 128u, 13u, 121u, + 198u, 65u, 202u, 83u, + 120u, 157u, 185u, 123u, + 25u, 157u, 86u, 84u, + 89u, 134u, 1u, 129u, + 171u, 1u, 144u, 115u, + 232u, 61u, 62u, 44u, + 88u, 155u, 176u, 86u, + 137u, 145u, 208u, 170u, + 89u, 200u, 1u, 221u, + 109u, 22u, 116u, 244u, + 183u, 158u, 109u, 148u, + 62u, 187u, 123u, 95u, + 154u, 140u, 57u, 71u, + 1u, 201u, 169u, 66u, + 144u, 198u, 162u, 71u, + 154u, 127u, 96u, 234u, + 255u, 69u, 229u, 243u, + 217u, 212u, 66u, 145u, + 195u, 255u, 78u, 193u, + 203u, 151u, 165u, 35u, + 131u, 95u, 80u, 99u, + 98u, 146u, 81u, 156u, + 54u, 89u, 126u, 151u, + 179u, 58u, 110u, 204u, + 82u, 108u, 44u, 108u, + 174u, 54u, 59u, 255u, + 58u, 242u, 136u, 118u, + 119u, 156u, 133u, 255u, + 224u, 209u, 57u, 201u, + 211u, 52u, 118u, 96u, + 140u, 232u, 167u, 97u, + 159u, 151u, 113u, 28u, + 126u, 109u, 116u, 91u, + 102u, 255u, 220u, 138u, + 184u, 52u, 6u, 255u, + 184u, 160u, 181u, 128u, + 107u, 156u, 29u, 68u, + 146u, 105u, 222u, 146u, + 185u, 95u, 214u, 71u, + 104u, 134u, 133u, 132u, + 146u, 255u, 161u, 160u, + 46u, 197u, 112u, 120u, + 249u, 172u, 188u, 132u, + 76u, 22u, 145u, 1u, + 8u, 92u, 119u, 139u, + 102u, 96u, 150u, 110u, + 91u, 236u, 153u, 173u, + 38u, 83u, 112u, 58u, + 1u, 230u, 126u, 109u, + 142u, 53u, 55u, 150u, + 81u, 62u, 125u, 55u, + 48u, 102u, 69u, 178u, + 117u, 146u, 255u, 173u, + 87u, 111u, 172u, 153u, + 112u, 99u, 151u, 71u, + 113u, 152u, 122u, 255u, + 105u, 200u, 143u, 91u, + 139u, 82u, 122u, 98u, + 121u, 157u, 1u, 159u, + 95u, 112u, 178u, 60u, + 70u, 115u, 166u, 162u, + 214u, 183u, 67u, 121u, + 157u, 195u, 135u, 146u, + 97u, 243u, 96u, 1u, + 150u, 105u, 255u, 56u, + 94u, 35u, 179u, 158u, + 140u, 131u, 170u, 80u, + 164u, 164u, 1u, 109u, + 198u, 96u, 108u, 131u, + 104u, 102u, 126u, 54u, + 158u, 88u, 248u, 86u, + 255u, 143u, 149u, 164u, + 209u, 143u, 52u, 90u, + 156u, 160u, 109u, 117u, + 51u, 84u, 5u, 0u, + 61u, 170u, 138u, 57u, + 129u, 132u, 215u, 212u, + 51u, 192u, 130u, 90u, + 224u, 98u, 199u, 139u, + 195u, 157u, 61u, 107u, + 128u, 42u, 131u, 95u, + 17u, 255u, 153u, 204u, + 14u, 96u, 30u, 1u, + 184u, 157u, 195u, 234u, + 142u, 161u, 50u, 142u, + 163u, 137u, 140u, 28u, + 18u, 108u, 201u, 135u, + 51u, 171u, 195u, 127u, + 111u, 121u, 155u, 116u, + 137u, 255u, 164u, 193u, + 137u, 255u, 156u, 103u, + 15u, 60u, 32u, 217u, + 111u, 145u, 201u, 11u, + 103u, 137u, 220u, 174u, + 138u, 168u, 176u, 93u, + 134u, 100u, 255u, 141u, + 167u, 119u, 120u, 127u, + 154u, 128u, 158u, 93u, + 114u, 107u, 103u, 166u, + 118u, 112u, 158u, 135u, + 76u, 116u, 1u, 130u, + 129u, 125u, 102u, 159u, + 107u, 52u, 53u, 177u, + 131u, 82u, 181u, 156u, + 162u, 146u, 89u, 0u, + 76u, 179u, 118u, 116u, + 106u, 60u, 123u, 142u, + 205u, 169u, 144u, 1u, + 192u, 71u, 96u, 86u, + 162u, 100u, 105u, 156u, + 213u, 118u, 255u, 171u, + 108u, 32u, 93u, 146u, + 131u, 197u, 113u, 25u, + 116u, 120u, 147u, 158u, + 206u, 85u, 111u, 192u, + 255u, 218u, 10u, 121u, + 90u, 123u, 147u, 197u, + 226u, 219u, 157u, 177u, + 150u, 205u, 142u, 124u, + 122u, 147u, 158u, 135u, + 142u, 160u, 116u, 117u, + 170u, 150u, 53u, 1u, + 99u, 1u, 116u, 199u, + 144u, 197u, 109u, 100u, + 142u, 125u, 137u, 124u, + 146u, 73u, 208u, 161u, + 120u, 255u, 211u, 64u, + 101u, 42u, 58u, 82u, + 145u, 6u, 75u, 35u, + 138u, 72u, 107u, 9u, + 149u, 134u, 1u, 132u, + 208u, 209u, 70u, 167u, + 142u, 170u, 43u, 224u, + 196u, 58u, 26u, 184u, + 85u, 131u, 251u, 82u, + 226u, 107u, 77u, 78u, + 80u, 48u, 68u, 36u, + 1u, 169u, 96u, 192u, + 59u, 98u, 87u, 145u, + 130u, 132u, 48u, 64u, + 255u, 116u, 98u, 132u, + 57u, 194u, 82u, 131u, + 108u, 199u, 55u, 83u, + 108u, 169u, 58u, 201u, + 106u, 175u, 148u, 191u, + 234u, 1u, 119u, 67u, + 96u, 106u, 161u, 132u, + 106u, 112u, 86u, 163u, + 60u, 155u, 117u, 1u, + 120u, 125u, 130u, 187u, + 124u, 106u, 123u, 108u, + 255u, 156u, 178u, 94u, + 205u, 60u, 58u, 197u, + 83u, 165u, 162u, 201u, + 67u, 207u, 52u, 62u, + 163u, 204u, 194u, 255u, + 137u, 105u, 121u, 158u, + 90u, 239u, 117u, 116u, + 80u, 190u, 169u, 162u, + 125u, 179u, 127u, 111u, + 186u, 64u, 131u, 71u, + 222u, 0u, 166u, 116u, + 153u, 171u, 255u, 7u, + 179u, 133u, 187u, 91u, + 199u, 138u, 24u, 123u, + 55u, 234u, 148u, 147u, + 64u, 137u, 165u, 147u, + 79u, 0u, 61u, 167u, + 121u, 75u, 129u, 78u, + 66u, 117u, 99u, 64u, + 135u, 169u, 85u, 131u, + 113u, 178u, 1u, 243u, + 80u, 107u, 107u, 153u, + 146u, 90u, 159u, 196u, + 164u, 91u, 216u, 118u, + 168u, 212u, 49u, 193u, + 77u, 119u, 192u, 127u, + 118u, 179u, 128u, 255u, + 116u, 36u, 150u, 224u, + 144u, 128u, 104u, 111u, + 146u, 208u, 182u, 1u, + 96u, 3u, 117u, 221u, + 89u, 94u, 80u, 135u, + 242u, 108u, 162u, 101u, + 63u, 30u, 156u, 152u, + 174u, 255u, 185u, 47u, + 103u, 205u, 250u, 43u, + 104u, 188u, 53u, 176u, + 164u, 144u, 157u, 243u, + 173u, 142u, 49u, 255u, + 57u, 142u, 119u, 111u, + 207u, 143u, 49u, 143u, + 206u, 164u, 184u, 181u, + 130u, 1u, 93u, 111u, + 122u, 160u, 110u, 111u, + 0u, 154u, 107u, 155u, + 129u, 174u, 171u, 135u, + 111u, 98u, 100u, 54u, + 189u, 85u, 248u, 172u, + 232u, 80u, 143u, 101u, + 118u, 127u, 169u, 255u, + 221u, 185u, 96u, 89u, + 25u, 137u, 58u, 114u, + 148u, 105u, 25u, 226u, + 160u, 37u, 22u, 150u, + 34u, 255u, 130u, 126u, + 13u, 132u, 126u, 146u, + 27u, 251u, 10u, 72u, + 182u, 223u, 255u, 140u, + 147u, 25u, 69u, 189u, + 68u, 176u, 113u, 148u, + 110u, 140u, 31u, 65u, + 172u, 153u, 193u, 105u, + 41u, 100u, 117u, 255u, + 181u, 94u, 131u, 192u, + 90u, 115u, 138u, 121u, + 166u, 192u, 61u, 82u, + 1u, 109u, 45u, 92u, + 123u, 98u, 170u, 68u, + 243u, 124u, 187u, 89u, + 206u, 147u, 101u, 255u, + 117u, 167u, 141u, 87u, + 147u, 139u, 158u, 149u, + 128u, 255u, 118u, 93u, + 158u, 122u, 140u, 138u, + 150u, 74u, 136u, 167u, + 188u, 137u, 1u, 239u, + 73u, 89u, 148u, 12u, + 121u, 181u, 226u, 106u, + 55u, 164u, 73u, 92u, + 62u, 142u, 121u, 200u, + 136u, 128u, 255u, 106u, + 117u, 186u, 23u, 116u, + 102u, 179u, 143u, 123u, + 6u, 120u, 145u, 137u, + 84u, 255u, 225u, 114u, + 246u, 144u, 137u, 48u, + 109u, 172u, 133u, 72u, + 114u, 157u, 124u, 131u, + 73u, 255u, 164u, 55u, + 153u, 59u, 203u, 184u, + 136u, 90u, 114u, 59u, + 119u, 130u, 109u, 55u, + 194u, 168u, 98u, 158u, + 180u, 159u, 53u, 74u, + 255u, 55u, 92u, 41u, + 27u, 105u, 101u, 128u, + 198u, 203u, 194u, 255u, + 162u, 130u, 34u, 230u, + 122u, 60u, 84u, 183u, + 216u, 96u, 171u, 15u, + 255u, 197u, 95u, 164u, + 134u, 117u, 147u, 122u, + 147u, 164u, 127u, 141u, + 213u, 175u, 34u, 212u, + 117u, 172u, 129u, 133u, + 134u, 178u, 101u, 73u, + 255u, 142u, 136u, 169u, + 116u, 204u, 185u, 94u, + 231u, 68u, 188u, 114u, + 165u, 10u, 253u, 54u, + 92u, 255u, 191u, 127u, + 66u, 119u, 82u, 175u, + 160u, 103u, 195u, 126u, + 120u, 134u, 88u, 1u, + 55u, 98u, 189u, 72u, + 146u, 204u, 228u, 82u, + 52u, 97u, 67u, 57u, + 55u, 160u, 189u, 113u, + 124u, 66u, 255u, 123u, + 123u, 188u, 161u, 144u, + 67u, 139u, 30u, 61u, + 206u, 140u, 168u, 151u, + 92u, 1u, 110u, 146u, + 89u, 168u, 150u, 77u, + 49u, 162u, 46u, 177u, + 142u, 77u, 255u, 97u, + 77u, 34u, 109u, 168u, + 136u, 205u, 167u, 132u, + 125u, 235u, 98u, 60u, + 190u, 133u, 172u, 255u, + 225u, 119u, 161u, 194u, + 92u, 69u, 37u, 149u, + 138u, 111u, 88u, 119u, + 255u, 15u, 173u, 117u, + 173u, 52u, 95u, 78u, + 113u, 167u, 191u, 158u, + 239u, 126u, 239u, 103u, + 255u, 148u, 54u, 142u, + 152u, 35u, 137u, 69u, + 12u, 104u, 113u, 123u, + 104u, 150u, 72u, 1u, + 136u, 172u, 132u, 113u, + 172u, 166u, 111u, 57u, + 147u, 66u, 97u, 186u, + 49u, 35u, 90u, 0u, + 242u, 147u, 162u, 133u, + 136u, 114u, 51u, 109u, + 113u, 140u, 244u, 117u, + 170u, 255u, 147u, 27u, + 95u, 74u, 183u, 139u, + 127u, 236u, 62u, 97u, + 125u, 83u, 41u, 150u, + 220u, 163u, 105u, 138u, + 159u, 184u, 1u, 198u, + 71u, 144u, 174u, 144u, + 196u, 160u, 186u, 73u, + 150u, 63u, 125u, 212u, + 139u, 55u, 237u, 233u, + 189u, 255u, 29u, 36u, + 64u, 157u, 255u, 98u, + 119u, 191u, 101u, 126u, + 66u, 142u, 162u, 127u, + 174u, 44u, 6u, 140u, + 255u, 56u, 144u, 105u, + 205u, 143u, 216u, 69u, + 183u, 128u, 133u, 102u, + 165u, 202u, 88u, 84u, + 152u, 165u, 81u, 92u, + 246u, 155u, 214u, 54u, + 201u, 113u, 157u, 171u, + 86u, 152u, 255u, 116u, + 171u, 50u, 1u, 147u, + 19u, 99u, 158u, 73u, + 64u, 172u, 53u, 107u, + 12u, 72u, 196u, 246u, + 225u, 41u, 138u, 112u, + 120u, 1u, 123u, 107u, + 120u, 209u, 106u, 104u, + 141u, 117u, 143u, 96u, + 72u, 183u, 69u, 82u, + 46u, 124u, 48u, 132u, + 0u, 105u, 229u, 109u, + 128u, 131u, 125u, 141u, + 59u, 168u, 103u, 109u, + 18u, 98u, 111u, 144u, + 182u, 175u, 255u, 137u, + 156u, 144u, 100u, 96u, + 40u, 60u, 89u, 39u, + 214u, 126u, 255u, 139u, + 98u, 51u, 5u, 39u, + 192u, 15u, 54u, 232u, + 178u, 143u, 163u, 162u, + 45u, 111u, 142u, 185u, + 135u, 121u, 163u, 155u, + 171u, 1u, 118u, 131u, + 118u, 97u, 132u, 62u, + 255u, 43u, 191u, 173u, + 118u, 179u, 70u, 204u, + 137u, 77u, 200u, 129u, + 149u, 92u, 5u, 245u, + 176u, 90u, 116u, 58u, + 255u, 82u, 34u, 93u, + 134u, 75u, 59u, 18u, + 197u, 156u, 63u, 56u, + 122u, 111u, 161u, 152u, + 115u, 204u, 108u, 147u, + 178u, 175u, 165u, 0u, + 64u, 157u, 101u, 7u, + 197u, 111u, 82u, 66u, + 91u, 136u, 203u, 175u, + 61u, 255u, 147u, 88u, + 79u, 209u, 86u, 122u, + 158u, 156u, 52u, 137u, + 181u, 97u, 126u, 130u, + 7u, 1u, 158u, 154u, + 122u, 140u, 179u, 116u, + 75u, 255u, 161u, 228u, + 56u, 71u, 100u, 106u, + 84u, 134u, 106u, 224u, + 198u, 177u, 174u, 228u, + 118u, 111u, 167u, 125u, + 133u, 110u, 1u, 162u, + 115u, 118u, 84u, 140u, + 169u, 99u, 165u, 156u, + 123u, 106u, 150u, 193u, + 146u, 120u, 208u, 172u, + 100u, 1u, 173u, 113u, + 132u, 102u, 127u, 97u, + 71u, 111u, 165u, 255u, + 187u, 116u, 225u, 118u, + 135u, 158u, 91u, 70u, + 130u, 118u, 121u, 171u, + 215u, 1u, 105u, 156u, + 143u, 94u, 228u, 59u, + 171u, 88u, 215u, 125u, + 5u, 113u, 56u, 126u, + 111u, 71u, 224u, 92u, + 71u, 236u, 162u, 82u, + 255u, 145u, 159u, 57u, + 163u, 205u, 44u, 55u, + 120u, 171u, 115u, 146u, + 99u, 134u, 255u, 132u, + 177u, 185u, 156u, 110u, + 86u, 215u, 113u, 27u, + 187u, 176u, 179u, 102u, + 37u, 140u, 125u, 151u, + 129u, 239u, 1u, 47u, + 126u, 162u, 114u, 54u, + 164u, 124u, 81u, 116u, + 81u, 153u, 255u, 241u, + 147u, 92u, 76u, 61u, + 40u, 210u, 188u, 144u, + 15u, 122u, 86u, 144u, + 174u, 180u, 255u, 122u, + 144u, 73u, 71u, 119u, + 96u, 120u, 198u, 100u, + 56u, 167u, 167u, 169u, + 129u, 235u, 80u, 133u, + 83u, 108u, 255u, 253u, + 166u, 175u, 154u, 109u, + 125u, 108u, 0u, 81u, + 136u, 155u, 141u, 101u, + 182u, 42u, 126u, 170u, + 132u, 54u, 33u, 168u, + 195u, 202u, 63u, 0u, + 175u, 81u, 177u, 200u, + 135u, 121u, 194u, 212u, + 109u, 100u, 57u, 109u, + 255u, 157u, 100u, 188u, + 160u, 16u, 130u, 163u, + 90u, 177u, 98u, 96u, + 85u, 104u, 93u, 198u, + 101u, 191u, 63u, 175u, + 96u, 147u, 115u, 89u, + 87u, 131u, 108u, 255u, + 113u, 121u, 36u, 224u, + 57u, 61u, 114u, 52u, + 137u, 93u, 110u, 105u, + 1u, 96u, 81u, 123u, + 96u, 71u, 69u, 118u, + 126u, 155u, 255u, 193u, + 38u, 34u, 74u, 228u, + 184u, 122u, 110u, 133u, + 208u, 120u, 95u, 180u, + 94u, 172u, 0u, 59u, + 146u, 153u, 71u, 109u, + 177u, 181u, 149u, 183u, + 112u, 169u, 108u, 255u, + 43u, 100u, 99u, 72u, + 181u, 185u, 84u, 84u, + 189u, 199u, 152u, 123u, + 98u, 122u, 129u, 218u, + 68u, 128u, 41u, 178u, + 116u, 1u, 131u, 147u, + 97u, 139u, 208u, 102u, + 132u, 54u, 29u, 199u, + 62u, 58u, 83u, 125u, + 97u, 128u, 73u, 1u, + 27u, 92u, 127u, 119u, + 122u, 14u, 84u, 143u, + 209u, 122u, 198u, 38u, + 166u, 136u, 1u, 198u, + 119u, 255u, 58u, 201u, + 132u, 143u, 85u, 240u, + 46u, 91u, 106u, 159u, + 106u, 112u, 89u, 30u, + 121u, 2u, 255u, 143u, + 118u, 80u, 48u, 49u, + 72u, 33u, 0u, 249u, + 133u, 131u, 140u, 132u, + 85u, 61u, 211u, 195u, + 138u, 86u, 142u, 255u, + 108u, 180u, 236u, 47u, + 130u, 84u, 73u, 214u, + 164u, 129u, 144u, 168u, + 223u, 151u, 106u, 177u, + 126u, 18u, 166u, 59u, + 252u, 237u, 144u, 99u, + 241u, 255u, 69u, 33u, + 109u, 81u, 157u, 0u, + 150u, 73u, 113u, 132u, + 177u, 113u, 220u, 137u, + 64u, 130u, 95u, 111u, + 103u, 151u, 117u, 172u, + 141u, 148u, 255u, 191u, + 108u, 109u, 69u, 127u, + 115u, 163u, 104u, 123u, + 149u, 222u, 111u, 143u, + 1u, 127u, 148u, 142u, + 173u, 152u, 224u, 136u, + 133u, 118u, 118u, 185u, + 170u, 82u, 157u, 221u, + 148u, 101u, 46u, 1u, + 133u, 75u, 77u, 47u, + 132u, 190u, 112u, 91u, + 110u, 125u, 120u, 229u, + 69u, 135u, 106u, 117u, + 118u, 255u, 49u, 43u, + 110u, 134u, 22u, 150u, + 90u, 105u, 153u, 239u, + 70u, 186u, 53u, 48u, + 145u, 243u, 73u, 1u, + 172u, 146u, 128u, 84u, + 179u, 78u, 123u, 83u, + 179u, 180u, 121u, 166u, + 161u, 162u, 219u, 137u, + 132u, 255u, 149u, 47u, + 206u, 228u, 65u, 0u, + 130u, 77u, 111u, 228u, + 31u, 129u, 119u, 24u, + 26u, 150u, 154u, 0u, + 120u, 119u, 113u, 172u, + 118u, 68u, 156u, 145u, + 255u, 115u, 82u, 110u, + 52u, 158u, 65u, 14u, + 6u, 112u, 124u, 23u, + 135u, 125u, 255u, 241u, + 104u, 204u, 67u, 168u, + 21u, 52u, 160u, 204u, + 109u, 73u, 179u, 204u, + 125u, 135u, 67u, 114u, + 162u, 197u, 54u, 17u, + 0u, 106u, 68u, 87u, + 1u, 133u, 45u, 129u, + 102u, 166u, 73u, 213u, + 199u, 67u, 178u, 150u, + 186u, 125u, 162u, 34u, + 155u, 181u, 194u, 44u, + 187u, 169u, 255u, 93u, + 163u, 82u, 130u, 166u, + 158u, 217u, 117u, 119u, + 113u, 1u, 188u, 199u, + 123u, 178u, 170u, 133u, + 107u, 102u, 171u, 124u, + 107u, 66u, 29u, 49u, + 51u, 179u, 210u, 63u, + 97u, 167u, 113u, 1u, + 143u, 138u, 97u, 145u, + 108u, 66u, 136u, 97u, + 208u, 130u, 89u, 255u, + 9u, 111u, 223u, 95u, + 173u, 189u, 48u, 55u, + 238u, 104u, 145u, 144u, + 255u, 46u, 152u, 251u, + 111u, 157u, 30u, 231u, + 170u, 70u, 76u, 238u, + 107u, 158u, 143u, 231u, + 77u, 1u, 53u, 201u, + 145u, 99u, 191u, 88u, + 86u, 87u, 107u, 156u, + 141u, 120u, 164u, 75u, + 111u, 92u, 152u, 164u, + 83u, 255u, 183u, 116u, + 68u, 76u, 58u, 153u, + 107u, 33u, 69u, 108u, + 146u, 89u, 171u, 158u, + 156u, 77u, 145u, 146u, + 178u, 114u, 1u, 58u, + 170u, 116u, 86u, 106u, + 154u, 76u, 156u, 164u, + 130u, 49u, 178u, 119u, + 168u, 1u, 140u, 120u, + 106u, 190u, 96u, 125u, + 153u, 139u, 146u, 146u, + 0u, 120u, 219u, 155u, + 131u, 113u, 85u, 61u, + 141u, 72u, 78u, 161u, + 113u, 141u, 155u, 236u, + 90u, 211u, 21u, 174u, + 54u, 200u, 41u, 176u, + 255u, 41u, 214u, 225u, + 129u, 95u, 255u, 44u, + 136u, 120u, 158u, 97u, + 208u, 132u, 99u, 174u, + 176u, 125u, 76u, 152u, + 76u, 105u, 214u, 72u, + 109u, 213u, 1u, 223u, + 22u, 108u, 146u, 25u, + 88u, 51u, 83u, 202u, + 139u, 154u, 204u, 41u, + 145u, 87u, 155u, 1u, + 151u, 217u, 72u, 199u, + 72u, 180u, 188u, 145u, + 1u, 132u, 112u, 16u, + 251u, 150u, 175u, 177u, + 202u, 73u, 95u, 253u, + 65u, 216u, 175u, 143u, + 64u, 216u, 1u, 224u, + 100u, 83u, 128u, 124u, + 140u, 134u, 116u, 153u, + 118u, 115u, 158u, 27u, + 203u, 143u, 70u, 204u, + 1u, 39u, 140u, 77u, + 133u, 189u, 173u, 166u, + 161u, 99u, 131u, 154u, + 89u, 72u, 179u, 70u, + 98u, 99u, 195u, 54u, + 57u, 1u, 242u, 158u, + 103u, 237u, 165u, 177u, + 119u, 198u, 117u, 90u, + 121u, 135u, 0u, 157u, + 98u, 165u, 143u, 74u, + 149u, 99u, 101u, 72u, + 126u, 159u, 139u, 145u, + 120u, 71u, 161u, 1u, + 94u, 50u, 101u, 168u, + 126u, 105u, 143u, 178u, + 125u, 111u, 60u, 210u, + 136u, 90u, 84u, 0u, + 16u, 116u, 155u, 137u, + 199u, 95u, 31u, 67u, + 244u, 96u, 151u, 222u, + 118u, 10u, 129u, 168u, + 49u, 37u, 130u, 128u, + 88u, 87u, 1u, 73u, + 52u, 152u, 100u, 99u, + 191u, 223u, 29u, 170u, + 123u, 150u, 155u, 1u, + 64u, 84u, 134u, 139u, + 232u, 133u, 250u, 165u, + 120u, 10u, 112u, 63u, + 152u, 183u, 77u, 16u, + 166u, 55u, 175u, 1u, + 174u, 186u, 255u, 107u, + 154u, 154u, 75u, 122u, + 131u, 44u, 23u, 144u, + 183u, 146u, 84u, 39u, + 161u, 76u, 97u, 148u, + 141u, 165u, 143u, 102u, + 61u, 127u, 54u, 1u, + 201u, 82u, 137u, 108u, + 68u, 158u, 146u, 162u, + 172u, 255u, 65u, 108u, + 152u, 111u, 90u, 74u, + 145u, 109u, 177u, 105u, + 168u, 165u, 157u, 42u, + 42u, 140u, 115u, 206u, + 83u, 255u, 135u, 103u, + 162u, 93u, 204u, 114u, + 114u, 131u, 107u, 162u, + 32u, 170u, 155u, 133u, + 168u, 190u, 185u, 166u, + 129u, 151u, 1u, 169u, + 97u, 185u, 132u, 116u, + 219u, 156u, 120u, 5u, + 112u, 61u, 161u, 56u, + 115u, 97u, 103u, 255u, + 159u, 173u, 55u, 78u, + 30u, 146u, 208u, 255u, + 86u, 142u, 172u, 100u, + 245u, 161u, 36u, 109u, + 161u, 217u, 139u, 79u, + 111u, 175u, 187u, 149u, + 103u, 62u, 164u, 228u, + 160u, 255u, 122u, 88u, + 216u, 150u, 231u, 1u, + 84u, 143u, 117u, 178u, + 131u, 100u, 121u, 76u, + 66u, 237u, 174u, 226u, + 161u, 222u, 95u, 160u, + 95u, 160u, 134u, 232u, + 237u, 36u, 61u, 1u, + 200u, 86u, 212u, 104u, + 182u, 103u, 95u, 172u, + 92u, 194u, 75u, 196u, + 133u, 98u, 248u, 218u, + 255u, 103u, 56u, 11u, + 90u, 168u, 34u, 255u, + 105u, 142u, 65u, 83u, + 157u, 167u, 184u, 93u, + 231u, 93u, 52u, 102u, + 151u, 91u, 59u, 158u, + 106u, 138u, 49u, 165u, + 133u, 144u, 153u, 135u, + 1u, 147u, 87u, 127u, + 42u, 132u, 206u, 164u, + 206u, 192u, 134u, 89u, + 58u, 1u, 66u, 54u, + 86u, 160u, 153u, 182u, + 215u, 165u, 199u, 108u, + 130u, 223u, 156u, 145u, + 118u, 1u, 115u, 100u, + 177u, 139u, 144u, 135u, + 83u, 46u, 137u, 134u, + 185u, 100u, 100u, 6u, + 0u, 6u, 92u, 210u, + 160u, 112u, 80u, 120u, + 104u, 96u, 0u, 181u, + 113u, 150u, 122u, 122u, + 133u, 117u, 117u, 206u, + 115u, 101u, 65u, 139u, + 39u, 219u, 150u, 144u, + 91u, 255u, 100u, 113u, + 24u, 83u, 206u, 189u, + 185u, 23u, 55u, 174u, + 119u, 20u, 0u, 129u, + 192u, 103u, 19u, 127u, + 122u, 211u, 80u, 69u, + 167u, 24u, 69u, 28u, + 115u, 157u, 35u, 144u, + 40u, 41u, 65u, 103u, + 143u, 107u, 183u, 0u, + 145u, 124u, 179u, 55u, + 145u, 49u, 1u, 196u, + 110u, 104u, 173u, 131u, + 134u, 103u, 113u, 229u, + 122u, 74u, 238u, 219u, + 150u, 156u, 226u, 50u, + 91u, 255u, 105u, 103u, + 91u, 82u, 163u, 147u, + 210u, 55u, 104u, 153u, + 33u, 153u, 72u, 199u, + 35u, 166u, 43u, 167u, + 169u, 95u, 189u, 106u, + 90u, 1u, 109u, 235u, + 150u, 89u, 1u, 157u, + 207u, 109u, 64u, 232u, + 96u, 160u, 95u, 200u, + 101u, 102u, 159u, 212u, + 90u, 156u, 211u, 25u, + 22u, 60u, 95u, 49u, + 118u, 179u, 255u, 114u, + 95u, 154u, 29u, 88u, + 168u, 153u, 255u, 174u, + 172u, 171u, 3u, 150u, + 76u, 229u, 58u, 153u, + 162u, 48u, 99u, 214u, + 185u, 59u, 113u, 153u, + 22u, 181u, 81u, 113u, + 91u, 201u, 171u, 147u, + 93u, 145u, 0u, 99u, + 201u, 213u, 139u, 138u, + 149u, 111u, 1u, 181u, + 83u, 101u, 168u, 168u, + 166u, 88u, 153u, 102u, + 57u, 104u, 228u, 69u, + 156u, 120u, 137u, 48u, + 8u, 140u, 46u, 1u, + 132u, 32u, 178u, 232u, + 154u, 127u, 178u, 69u, + 117u, 63u, 132u, 237u, + 28u, 164u, 210u, 225u, + 169u, 156u, 1u, 199u, + 158u, 41u, 153u, 133u, + 245u, 133u, 218u, 103u, + 214u, 109u, 1u, 212u, + 166u, 200u, 57u, 73u, + 157u, 133u, 255u, 90u, + 69u, 106u, 198u, 101u, + 125u, 124u, 145u, 164u, + 131u, 176u, 158u, 138u, + 192u, 142u, 165u, 132u, + 152u, 120u, 60u, 110u, + 170u, 1u, 105u, 196u, + 106u, 121u, 97u, 153u, + 137u, 135u, 70u, 168u, + 163u, 107u, 1u, 86u, + 144u, 162u, 126u, 97u, + 154u, 133u, 94u, 176u, + 254u, 107u, 188u, 105u, + 60u, 140u, 26u, 102u, + 76u, 32u, 100u, 50u, + 171u, 139u, 84u, 255u, + 144u, 127u, 223u, 189u, + 204u, 159u, 154u, 13u, + 104u, 255u, 76u, 131u, + 181u, 62u, 106u, 209u, + 112u, 171u, 149u, 44u, + 135u, 134u, 25u, 209u, + 82u, 124u, 119u, 1u, + 103u, 145u, 102u, 131u, + 135u, 50u, 78u, 164u, + 180u, 144u, 104u, 64u, + 92u, 174u, 1u, 100u, + 124u, 182u, 168u, 171u, + 183u, 124u, 46u, 48u, + 181u, 204u, 149u, 149u, + 80u, 149u, 213u, 153u, + 249u, 255u, 222u, 128u, + 234u, 111u, 197u, 124u, + 190u, 127u, 139u, 172u, + 158u, 131u, 120u, 138u, + 158u, 1u, 81u, 109u, + 152u, 103u, 168u, 161u, + 185u, 155u, 52u, 94u, + 96u, 1u, 70u, 69u, + 132u, 133u, 122u, 121u, + 182u, 177u, 185u, 114u, + 196u, 181u, 89u, 75u, + 99u, 1u, 146u, 182u, + 149u, 81u, 96u, 180u, + 67u, 155u, 89u, 46u, + 255u, 83u, 82u, 33u, + 124u, 146u, 241u, 211u, + 87u, 164u, 172u, 137u, + 146u, 198u, 164u, 128u, + 139u, 158u, 57u, 99u, + 255u, 106u, 202u, 186u, + 54u, 96u, 164u, 215u, + 143u, 64u, 181u, 212u, + 119u, 90u, 57u, 0u, + 56u, 162u, 72u, 58u, + 134u, 88u, 196u, 115u, + 89u, 188u, 187u, 156u, + 111u, 219u, 62u, 98u, + 173u, 48u, 167u, 141u, + 214u, 1u, 58u, 164u, + 175u, 102u, 199u, 173u, + 0u, 163u, 226u, 77u, + 132u, 113u, 47u, 120u, + 139u, 150u, 142u, 211u, + 213u, 112u, 136u, 154u, + 231u, 67u, 253u, 94u, + 151u, 141u, 1u, 143u, + 206u, 245u, 210u, 64u, + 17u, 108u, 140u, 98u, + 88u, 156u, 177u, 171u, + 165u, 157u, 117u, 65u, + 158u, 134u, 255u, 200u, + 45u, 96u, 51u, 152u, + 255u, 15u, 242u, 121u, + 207u, 82u, 120u, 219u, + 75u, 190u, 203u, 89u, + 175u, 123u, 79u, 218u, + 105u, 117u, 156u, 140u, + 211u, 1u, 152u, 180u, + 100u, 169u, 87u, 79u, + 120u, 130u, 117u, 81u, + 255u, 144u, 88u, 113u, + 144u, 156u, 139u, 61u, + 205u, 67u, 54u, 107u, + 76u, 63u, 55u, 56u, + 72u, 121u, 89u, 141u, + 120u, 154u, 66u, 75u, + 255u, 73u, 151u, 130u, + 192u, 124u, 234u, 177u, + 141u, 99u, 219u, 18u, + 255u, 182u, 162u, 230u, + 232u, 133u, 85u, 108u, + 62u, 72u, 104u, 47u, + 89u, 42u, 88u, 1u, + 168u, 140u, 92u, 78u, + 80u, 195u, 17u, 54u, + 136u, 138u, 140u, 77u, + 221u, 255u, 179u, 205u, + 195u, 56u, 65u, 88u, + 134u, 203u, 195u, 68u, + 229u, 239u, 193u, 115u, + 187u, 134u, 216u, 202u, + 134u, 92u, 57u, 205u, + 1u, 79u, 0u, 229u, + 110u, 111u, 197u, 49u, + 122u, 194u, 199u, 199u, + 111u, 68u, 194u, 146u, + 167u, 154u, 1u, 28u, + 126u, 92u, 1u, 110u, + 167u, 43u, 226u, 230u, + 133u, 80u, 210u, 104u, + 184u, 200u, 154u, 135u, + 50u, 198u, 149u, 66u, + 224u, 63u, 52u, 11u, + 87u, 0u, 58u, 36u, + 57u, 215u, 189u, 218u, + 82u, 122u, 73u, 218u, + 215u, 0u, 84u, 93u, + 78u, 44u, 212u, 213u, + 77u, 248u, 118u, 91u, + 110u, 97u, 79u, 49u, + 152u, 101u, 255u, 219u, + 234u, 93u, 74u, 128u, + 168u, 72u, 169u, 146u, + 157u, 170u, 165u, 155u, + 1u, 161u, 145u, 123u, + 153u, 100u, 223u, 166u, + 178u, 171u, 166u, 111u, + 132u, 141u, 231u, 49u, + 81u, 107u, 81u, 155u, + 29u, 192u, 75u, 234u, + 1u, 126u, 56u, 244u, + 111u, 34u, 119u, 118u, + 135u, 143u, 129u, 145u, + 255u, 118u, 106u, 145u, + 114u, 171u, 113u, 107u, + 140u, 248u, 119u, 154u, + 237u, 218u, 1u, 88u, + 110u, 89u, 111u, 47u, + 141u, 156u, 95u, 183u, + 102u, 255u, 42u, 95u, + 52u, 92u, 97u, 62u, + 179u, 48u, 175u, 150u, + 45u, 158u, 100u, 158u, + 139u, 144u, 105u, 255u, + 132u, 157u, 124u, 95u, + 201u, 150u, 82u, 113u, + 53u, 224u, 100u, 161u, + 220u, 77u, 237u, 161u, + 171u, 255u, 74u, 123u, + 149u, 50u, 148u, 199u, + 199u, 64u, 159u, 226u, + 191u, 107u, 83u, 213u, + 179u, 60u, 233u, 63u, + 113u, 81u, 11u, 115u, + 213u, 216u, 167u, 1u, + 103u, 87u, 192u, 8u, + 53u, 153u, 74u, 212u, + 171u, 105u, 45u, 127u, + 8u, 1u, 172u, 208u, + 146u, 124u, 109u, 255u, + 69u, 149u, 78u, 124u, + 201u, 204u, 175u, 173u, + 183u, 148u, 91u, 178u, + 153u, 133u, 91u, 213u, + 51u, 47u, 146u, 130u, + 103u, 255u, 149u, 26u, + 147u, 140u, 139u, 22u, + 105u, 205u, 123u, 137u, + 93u, 0u, 54u, 122u, + 127u, 67u, 126u, 118u, + 9u, 104u, 19u, 109u, + 168u, 72u, 183u, 87u, + 96u, 139u, 242u, 49u, + 255u, 162u, 156u, 191u, + 190u, 180u, 203u, 136u, + 42u, 178u, 20u, 255u, + 50u, 27u, 169u, 130u, + 184u, 149u, 107u, 151u, + 156u, 19u, 113u, 66u, + 46u, 97u, 101u, 164u, + 25u, 151u, 255u, 209u, + 85u, 250u, 110u, 193u, + 189u, 228u, 143u, 44u, + 184u, 42u, 107u, 135u, + 124u, 103u, 200u, 136u, + 193u, 34u, 70u, 125u, + 1u, 201u, 126u, 67u, + 153u, 137u, 58u, 161u, + 131u, 172u, 105u, 208u, + 99u, 74u, 5u, 62u, + 108u, 81u, 38u, 255u, + 14u, 145u, 121u, 22u, + 145u, 36u, 79u, 123u, + 100u, 68u, 87u, 110u, + 122u, 44u, 82u, 255u, + 227u, 40u, 30u, 122u, + 124u, 154u, 255u, 250u, + 208u, 36u, 163u, 251u, + 60u, 161u, 141u, 68u, + 87u, 170u, 198u, 20u, + 100u, 196u, 168u, 121u, + 101u, 135u, 161u, 255u, + 163u, 52u, 118u, 213u, + 129u, 180u, 95u, 201u, + 95u, 139u, 85u, 28u, + 175u, 14u, 246u, 255u, + 47u, 202u, 97u, 122u, + 209u, 151u, 81u, 189u, + 137u, 1u, 143u, 170u, + 238u, 143u, 125u, 110u, + 110u, 152u, 111u, 106u, + 174u, 48u, 124u, 20u, + 172u, 253u, 137u, 190u, + 232u, 124u, 128u, 152u, + 247u, 85u, 1u, 19u, + 140u, 129u, 127u, 255u, + 44u, 53u, 121u, 183u, + 120u, 182u, 169u, 155u, + 94u, 47u, 71u, 196u, + 100u, 136u, 54u, 159u, + 71u, 173u, 109u, 206u, + 95u, 108u, 134u, 157u, + 103u, 1u, 185u, 192u, + 159u, 163u, 182u, 173u, + 175u, 255u, 64u, 77u, + 104u, 99u, 52u, 90u, + 113u, 199u, 97u, 210u, + 46u, 117u, 104u, 185u, + 107u, 170u, 109u, 174u, + 56u, 186u, 76u, 95u, + 80u, 0u, 92u, 167u, + 155u, 155u, 162u, 1u, + 103u, 125u, 100u, 120u, + 154u, 82u, 151u, 127u, + 57u, 235u, 135u, 163u, + 153u, 164u, 130u, 51u, + 58u, 56u, 95u, 135u, + 12u, 255u, 176u, 174u, + 94u, 40u, 179u, 162u, + 104u, 50u, 198u, 192u, + 76u, 219u, 119u, 18u, + 63u, 60u, 172u, 164u, + 44u, 255u, 178u, 44u, + 124u, 138u, 52u, 116u, + 11u, 255u, 13u, 107u, + 62u, 96u, 240u, 103u, + 123u, 121u, 92u, 224u, + 228u, 135u, 145u, 204u, + 90u, 190u, 99u, 215u, + 173u, 110u, 30u, 39u, + 224u, 255u, 165u, 34u, + 187u, 140u, 152u, 123u, + 79u, 130u, 97u, 142u, + 12u, 255u, 137u, 244u, + 81u, 119u, 134u, 10u, + 151u, 151u, 138u, 1u, + 123u, 134u, 156u, 160u, + 35u, 145u, 171u, 83u, + 93u, 189u, 92u, 195u, + 210u, 233u, 138u, 1u, + 148u, 33u, 134u, 134u, + 106u, 184u, 185u, 136u, + 143u, 245u, 149u, 166u, + 49u, 66u, 217u, 122u, + 255u, 125u, 88u, 119u, + 118u, 82u, 109u, 169u, + 99u, 164u, 77u, 89u, + 111u, 151u, 198u, 233u, + 101u, 70u, 163u, 106u, + 184u, 82u, 135u, 159u, + 60u, 123u, 255u, 156u, + 196u, 189u, 161u, 68u, + 255u, 167u, 138u, 195u, + 108u, 143u, 127u, 55u, + 178u, 192u, 226u, 161u, + 192u, 137u, 113u, 26u, + 49u, 17u, 163u, 48u, + 34u, 199u, 146u, 236u, + 93u, 13u, 255u, 87u, + 227u, 134u, 170u, 255u, + 111u, 42u, 68u, 74u, + 77u, 124u, 168u, 115u, + 186u, 36u, 74u, 100u, + 153u, 88u, 122u, 142u, + 0u, 160u, 84u, 255u, + 97u, 150u, 139u, 168u, + 167u, 86u, 88u, 128u, + 10u, 131u, 66u, 88u, + 92u, 120u, 183u, 255u, + 217u, 192u, 122u, 67u, + 52u, 161u, 64u, 163u, + 82u, 146u, 32u, 100u, + 20u, 96u, 124u, 125u, + 205u, 249u, 136u, 95u, + 55u, 0u, 9u, 139u, + 140u, 145u, 155u, 255u, + 97u, 78u, 251u, 152u, + 183u, 137u, 208u, 175u, + 160u, 155u, 170u, 67u, + 142u, 219u, 152u, 22u, + 255u, 135u, 167u, 226u, + 117u, 67u, 129u, 189u, + 188u, 129u, 229u, 144u, + 90u, 224u, 152u, 204u, + 255u, 62u, 190u, 93u, + 117u, 99u, 118u, 218u, + 199u, 111u, 178u, 147u, + 166u, 147u, 209u, 164u, + 23u, 146u, 112u, 255u, + 148u, 144u, 146u, 128u, + 118u, 102u, 148u, 157u, + 69u, 96u, 61u, 64u, + 43u, 116u, 200u, 197u, + 255u, 138u, 208u, 98u, + 91u, 108u, 116u, 94u, + 180u, 73u, 1u, 115u, + 194u, 62u, 28u, 191u, + 206u, 26u, 142u, 165u, + 24u, 107u, 61u, 47u, + 143u, 80u, 172u, 175u, + 136u, 164u, 47u, 151u, + 128u, 140u, 116u, 47u, + 255u, 197u, 126u, 62u, + 235u, 42u, 185u, 164u, + 197u, 145u, 147u, 48u, + 141u, 23u, 79u, 255u, + 187u, 168u, 137u, 159u, + 102u, 194u, 152u, 139u, + 121u, 41u, 255u, 76u, + 45u, 181u, 139u, 188u, + 82u, 80u, 190u, 92u, + 28u, 193u, 159u, 179u, + 71u, 221u, 53u, 100u, + 1u, 108u, 119u, 197u, + 215u, 52u, 145u, 113u, + 121u, 190u, 172u, 159u, + 185u, 171u, 97u, 131u, + 137u, 255u, 78u, 199u, + 127u, 209u, 124u, 153u, + 84u, 132u, 41u, 5u, + 217u, 107u, 62u, 179u, + 71u, 255u, 96u, 99u, + 35u, 118u, 208u, 144u, + 77u, 45u, 28u, 94u, + 255u, 119u, 233u, 45u, + 101u, 207u, 6u, 122u, + 180u, 206u, 88u, 154u, + 104u, 53u, 52u, 171u, + 121u, 41u, 135u, 9u, + 1u, 55u, 134u, 111u, + 39u, 85u, 111u, 85u, + 133u, 117u, 255u, 112u, + 120u, 128u, 167u, 115u, + 164u, 82u, 84u, 158u, + 128u, 122u, 157u, 122u, + 1u, 202u, 180u, 57u, + 190u, 169u, 242u, 130u, + 90u, 189u, 156u, 118u, + 84u, 236u, 57u, 10u, + 98u, 162u, 85u, 168u, + 43u, 255u, 25u, 155u, + 154u, 77u, 176u, 55u, + 160u, 156u, 148u, 163u, + 61u, 84u, 164u, 161u, + 89u, 152u, 210u, 212u, + 112u, 201u, 51u, 213u, + 1u, 63u, 32u, 129u, + 167u, 154u, 136u, 126u, + 108u, 86u, 255u, 183u, + 84u, 86u, 79u, 162u, + 171u, 125u, 173u, 71u, + 138u, 126u, 124u, 149u, + 135u, 119u, 174u, 125u, + 104u, 160u, 48u, 1u, + 106u, 144u, 100u, 142u, + 86u, 161u, 194u, 151u, + 83u, 3u, 99u, 69u, + 54u, 236u, 255u, 128u, + 140u, 182u, 247u, 86u, + 132u, 135u, 112u, 136u, + 118u, 162u, 140u, 122u, + 193u, 92u, 255u, 93u, + 155u, 121u, 105u, 76u, + 130u, 104u, 68u, 149u, + 184u, 121u, 185u, 100u, + 91u, 135u, 72u, 150u, + 255u, 155u, 76u, 32u, + 145u, 4u, 81u, 112u, + 1u, 21u, 133u, 52u, + 198u, 62u, 157u, 93u, + 150u, 164u, 94u, 224u, + 121u, 140u, 77u, 122u, + 118u, 236u, 210u, 108u, + 64u, 170u, 54u, 141u, + 141u, 201u, 249u, 255u, + 82u, 185u, 120u, 156u, + 62u, 130u, 255u, 56u, + 75u, 95u, 107u, 118u, + 161u, 169u, 193u, 43u, + 221u, 126u, 182u, 124u, + 120u, 85u, 152u, 115u, + 136u, 92u, 133u, 199u, + 255u, 140u, 175u, 117u, + 37u, 48u, 166u, 91u, + 171u, 93u, 147u, 151u, + 255u, 173u, 200u, 27u, + 30u, 242u, 181u, 226u, + 199u, 168u, 174u, 96u, + 231u, 178u, 177u, 122u, + 107u, 152u, 155u, 196u, + 216u, 255u, 97u, 102u, + 94u, 140u, 187u, 133u, + 150u, 168u, 12u, 38u, + 59u, 207u, 188u, 90u, + 148u, 1u, 85u, 186u, + 163u, 105u, 186u, 96u, + 106u, 194u, 160u, 175u, + 94u, 137u, 122u, 77u, + 148u, 255u, 195u, 206u, + 151u, 255u, 205u, 102u, + 165u, 81u, 235u, 72u, + 206u, 242u, 200u, 169u, + 77u, 138u, 185u, 96u, + 0u, 89u, 149u, 47u, + 122u, 178u, 160u, 172u, + 110u, 144u, 85u, 100u, + 25u, 196u, 137u, 181u, + 48u, 242u, 236u, 162u, + 250u, 217u, 255u, 148u, + 198u, 166u, 160u, 117u, + 237u, 80u, 226u, 248u, + 131u, 130u, 184u, 72u, + 56u, 141u, 182u, 38u, + 1u, 201u, 132u, 148u, + 202u, 82u, 139u, 183u, + 13u, 1u, 182u, 10u, + 134u, 60u, 129u, 169u, + 57u, 227u, 185u, 207u, + 62u, 18u, 108u, 143u, + 152u, 97u, 114u, 117u, + 226u, 34u, 156u, 1u, + 181u, 97u, 122u, 82u, + 144u, 174u, 229u, 137u, + 149u, 141u, 112u, 169u, + 107u, 187u, 255u, 145u, + 167u, 91u, 118u, 171u, + 126u, 156u, 68u, 74u, + 122u, 169u, 109u, 142u, + 99u, 99u, 84u, 1u, + 72u, 107u, 217u, 79u, + 176u, 115u, 206u, 45u, + 178u, 145u, 197u, 42u, + 161u, 226u, 152u, 158u, + 144u, 86u, 10u, 82u, + 61u, 255u, 129u, 103u, + 143u, 119u, 68u, 255u, + 95u, 74u, 107u, 107u, + 83u, 157u, 170u, 208u, + 255u, 92u, 125u, 50u, + 116u, 94u, 149u, 151u, + 153u, 139u, 75u, 172u, + 181u, 8u, 160u, 134u, + 1u, 175u, 204u, 52u, + 103u, 208u, 73u, 19u, + 139u, 143u, 201u, 162u, + 125u, 65u, 208u, 168u, + 154u, 226u, 1u, 86u, + 40u, 255u, 143u, 78u, + 73u, 162u, 249u, 151u, + 53u, 50u, 142u, 236u, + 76u, 67u, 125u, 149u, + 208u, 255u, 91u, 141u, + 194u, 231u, 206u, 134u, + 115u, 248u, 56u, 108u, + 122u, 70u, 119u, 45u, + 169u, 1u, 158u, 174u, + 16u, 100u, 89u, 115u, + 135u, 114u, 133u, 14u, + 147u, 5u, 133u, 110u, + 175u, 203u, 46u, 205u, + 113u, 96u, 125u, 0u, + 38u, 109u, 52u, 117u, + 94u, 211u, 104u, 105u, + 255u, 32u, 70u, 133u, + 182u, 98u, 199u, 96u, + 64u, 156u, 3u, 122u, + 246u, 176u, 144u, 26u, + 127u, 165u, 47u, 185u, + 102u, 112u, 26u, 71u, + 162u, 22u, 132u, 0u, + 135u, 158u, 104u, 15u, + 115u, 134u, 126u, 224u, + 89u, 96u, 112u, 27u, + 217u, 99u, 8u, 44u, + 1u, 171u, 127u, 134u, + 187u, 30u, 29u, 40u, + 46u, 31u, 71u, 217u, + 35u, 146u, 162u, 23u, + 1u, 60u, 237u, 193u, + 99u, 135u, 60u, 156u, + 99u, 139u, 1u, 154u, + 180u, 112u, 204u, 83u, + 69u, 98u, 133u, 92u, + 82u, 102u, 208u, 199u, + 126u, 5u, 142u, 196u, + 130u, 242u, 92u, 1u, + 77u, 94u, 212u, 125u, + 211u, 111u, 128u, 95u, + 57u, 37u, 67u, 255u, + 102u, 18u, 133u, 146u, + 77u, 181u, 139u, 53u, + 100u, 57u, 212u, 105u, + 171u, 98u, 255u, 129u, + 189u, 128u, 97u, 165u, + 144u, 125u, 87u, 84u, + 180u, 1u, 77u, 205u, + 110u, 141u, 194u, 163u, + 200u, 99u, 119u, 66u, + 143u, 115u, 181u, 128u, + 62u, 156u, 101u, 133u, + 125u, 76u, 255u, 48u, + 129u, 152u, 110u, 150u, + 98u, 115u, 158u, 164u, + 45u, 119u, 89u, 1u, + 180u, 136u, 120u, 145u, + 91u, 232u, 123u, 115u, + 129u, 125u, 144u, 165u, + 113u, 69u, 160u, 111u, + 53u, 146u, 158u, 79u, + 191u, 117u, 169u, 4u, + 131u, 4u, 111u, 255u, + 85u, 211u, 55u, 138u, + 66u, 193u, 134u, 45u, + 160u, 133u, 255u, 194u, + 238u, 82u, 114u, 89u, + 126u, 195u, 115u, 3u, + 184u, 148u, 56u, 152u, + 144u, 255u, 148u, 134u, + 140u, 60u, 148u, 165u, + 127u, 87u, 116u, 1u, + 15u, 229u, 192u, 239u, + 80u, 217u, 156u, 243u, + 122u, 7u, 35u, 100u, + 93u, 128u, 56u, 178u, + 77u, 139u, 161u, 178u, + 158u, 1u, 146u, 127u, + 113u, 125u, 157u, 92u, + 36u, 53u, 45u, 214u, + 112u, 187u, 200u, 255u, + 161u, 118u, 115u, 136u, + 114u, 165u, 130u, 178u, + 207u, 67u, 169u, 138u, + 104u, 65u, 210u, 44u, + 240u, 146u, 255u, 126u, + 130u, 132u, 148u, 36u, + 20u, 130u, 175u, 136u, + 172u, 22u, 104u, 255u, + 92u, 149u, 158u, 138u, + 48u, 79u, 96u, 130u, + 80u, 255u, 57u, 182u, + 110u, 102u, 135u, 135u, + 15u, 168u, 188u, 135u, + 223u, 40u, 141u, 178u, + 173u, 104u, 102u, 184u, + 183u, 151u, 168u, 184u, + 162u, 1u, 151u, 153u, + 127u, 197u, 148u, 112u, + 102u, 251u, 141u, 1u, + 164u, 149u, 250u, 142u, + 109u, 126u, 124u, 154u, + 73u, 95u, 220u, 241u, + 1u, 89u, 164u, 120u, + 166u, 108u, 112u, 45u, + 217u, 131u, 136u, 177u, + 255u, 81u, 182u, 67u, + 102u, 15u, 102u, 216u, + 25u, 255u, 126u, 110u, + 172u, 77u, 102u, 5u, + 58u, 110u, 157u, 145u, + 88u, 147u, 60u, 58u, + 186u, 119u, 106u, 145u, + 0u, 252u, 138u, 110u, + 182u, 96u, 127u, 132u, + 66u, 189u, 102u, 99u, + 121u, 132u, 112u, 126u, + 141u, 255u, 156u, 159u, + 148u, 101u, 168u, 102u, + 54u, 121u, 116u, 201u, + 51u, 81u, 68u, 148u, + 65u, 104u, 152u, 178u, + 1u, 93u, 129u, 207u, + 83u, 147u, 118u, 142u, + 102u, 193u, 106u, 125u, + 1u, 109u, 191u, 167u, + 170u, 75u, 44u, 144u, + 218u, 170u, 0u, 220u, + 70u, 141u, 149u, 225u, + 65u, 131u, 142u, 160u, + 37u, 204u, 116u, 84u, + 181u, 133u, 200u, 166u, + 1u, 200u, 221u, 87u, + 152u, 113u, 141u, 218u, + 217u, 121u, 110u, 176u, + 177u, 132u, 48u, 206u, + 164u, 94u, 134u, 184u, + 173u, 219u, 122u, 124u, + 189u, 93u, 0u, 74u, + 209u, 170u, 132u, 234u, + 135u, 0u, 80u, 82u, + 105u, 130u, 166u, 171u, + 129u, 255u, 79u, 46u, + 255u, 103u, 239u, 233u, + 131u, 202u, 205u, 94u, + 17u, 145u, 59u, 173u, + 209u, 198u, 124u, 100u, + 142u, 189u, 138u, 20u, + 170u, 54u, 2u, 203u, + 255u, 42u, 174u, 229u, + 100u, 173u, 62u, 129u, + 118u, 54u, 118u, 100u, + 1u, 78u, 70u, 88u, + 234u, 80u, 195u, 115u, + 135u, 85u, 249u, 112u, + 188u, 97u, 1u, 72u, + 94u, 126u, 71u, 56u, + 110u, 159u, 248u, 54u, + 172u, 52u, 189u, 251u, + 161u, 122u, 188u, 216u, + 154u, 159u, 55u, 0u, + 236u, 112u, 79u, 185u, + 133u, 12u, 159u, 229u, + 193u, 140u, 123u, 118u, + 192u, 117u, 255u, 128u, + 103u, 112u, 92u, 170u, + 138u, 139u, 148u, 66u, + 0u, 227u, 237u, 25u, + 209u, 209u, 90u, 222u, + 82u, 108u, 153u, 93u, + 133u, 111u, 135u, 174u, + 19u, 152u, 137u, 163u, + 112u, 184u, 167u, 149u, + 255u, 194u, 50u, 95u, + 60u, 198u, 138u, 87u, + 34u, 182u, 112u, 123u, + 74u, 142u, 255u, 196u, + 216u, 18u, 131u, 116u, + 1u, 153u, 154u, 139u, + 105u, 62u, 255u, 139u, + 149u, 167u, 62u, 155u, + 142u, 107u, 120u, 157u, + 188u, 165u, 34u, 162u, + 190u, 137u, 161u, 75u, + 255u, 133u, 179u, 128u, + 49u, 94u, 104u, 140u, + 222u, 208u, 108u, 74u, + 66u, 255u, 129u, 207u, + 3u, 178u, 107u, 207u, + 157u, 137u, 204u, 199u, + 48u, 69u, 15u, 201u, + 85u, 131u, 62u, 81u, + 128u, 87u, 255u, 221u, + 25u, 69u, 113u, 147u, + 113u, 111u, 205u, 125u, + 197u, 191u, 222u, 115u, + 1u, 51u, 5u, 46u, + 91u, 199u, 172u, 5u, + 162u, 84u, 46u, 88u, + 108u, 155u, 151u, 140u, + 48u, 102u, 146u, 95u, + 109u, 202u, 171u, 172u, + 1u, 159u, 186u, 135u, + 163u, 255u, 115u, 190u, + 124u, 153u, 198u, 151u, + 50u, 122u, 175u, 178u, + 189u, 125u, 150u, 155u, + 55u, 149u, 149u, 153u, + 160u, 255u, 106u, 172u, + 126u, 70u, 18u, 67u, + 133u, 202u, 114u, 107u, + 105u, 107u, 170u, 28u, + 195u, 48u, 170u, 108u, + 255u, 148u, 57u, 159u, + 55u, 165u, 104u, 185u, + 160u, 155u, 147u, 133u, + 140u, 114u, 139u, 20u, + 147u, 87u, 112u, 136u, + 142u, 157u, 96u, 1u, + 181u, 119u, 191u, 171u, + 22u, 99u, 131u, 132u, + 156u, 220u, 131u, 11u, + 118u, 168u, 205u, 255u, + 158u, 152u, 112u, 192u, + 81u, 119u, 103u, 193u, + 255u, 51u, 133u, 33u, + 69u, 128u, 86u, 18u, + 182u, 141u, 69u, 169u, + 135u, 145u, 159u, 7u, + 156u, 255u, 195u, 112u, + 77u, 151u, 184u, 121u, + 108u, 90u, 221u, 149u, + 123u, 153u, 74u, 250u, + 1u, 177u, 139u, 73u, + 113u, 44u, 134u, 243u, + 148u, 210u, 156u, 214u, + 66u, 242u, 202u, 138u, + 255u, 4u, 88u, 238u, + 158u, 155u, 146u, 104u, + 30u, 161u, 122u, 134u, + 1u, 109u, 97u, 91u, + 154u, 147u, 209u, 106u, + 119u, 113u, 122u, 84u, + 155u, 36u, 122u, 64u, + 79u, 136u, 136u, 151u, + 112u, 121u, 176u, 188u, + 114u, 228u, 108u, 255u, + 65u, 159u, 212u, 1u, + 66u, 98u, 142u, 89u, + 99u, 210u, 238u, 195u, + 116u, 137u, 196u, 247u, + 134u, 109u, 144u, 0u, + 162u, 135u, 75u, 116u, + 160u, 58u, 173u, 163u, + 99u, 189u, 104u, 148u, + 198u, 64u, 60u, 178u, + 52u, 99u, 136u, 1u, + 146u, 128u, 226u, 190u, + 164u, 154u, 133u, 168u, + 86u, 133u, 1u, 189u, + 65u, 57u, 103u, 103u, + 126u, 137u, 145u, 98u, + 147u, 93u, 111u, 149u, + 237u, 79u, 128u, 40u, + 84u, 1u, 174u, 118u, + 172u, 207u, 193u, 166u, + 59u, 230u, 100u, 223u, + 1u, 173u, 73u, 132u, + 53u, 142u, 188u, 61u, + 198u, 95u, 148u, 117u, + 83u, 59u, 167u, 127u, + 202u, 173u, 0u, 198u, + 48u, 169u, 93u, 163u, + 135u, 62u, 198u, 73u, + 232u, 149u, 132u, 29u, + 65u, 224u, 154u, 149u, + 145u, 143u, 1u, 42u, + 71u, 117u, 199u, 72u, + 71u, 122u, 176u, 72u, + 188u, 147u, 171u, 255u, + 84u, 136u, 142u, 116u, + 105u, 123u, 90u, 91u, + 196u, 84u, 137u, 101u, + 189u, 141u, 90u, 97u, + 203u, 166u, 255u, 121u, + 162u, 68u, 109u, 171u, + 237u, 213u, 121u, 29u, + 178u, 76u, 75u, 79u, + 255u, 196u, 178u, 212u, + 98u, 164u, 74u, 123u, + 122u, 184u, 67u, 71u, + 112u, 114u, 184u, 125u, + 61u, 1u, 113u, 208u, + 164u, 215u, 117u, 109u, + 84u, 83u, 107u, 173u, + 180u, 170u, 100u, 93u, + 46u, 75u, 68u, 164u, + 128u, 151u, 158u, 8u, + 1u, 144u, 112u, 249u, + 176u, 87u, 130u, 182u, + 49u, 77u, 202u, 227u, + 159u, 114u, 81u, 255u, + 92u, 164u, 142u, 161u, + 205u, 166u, 32u, 95u, + 134u, 27u, 200u, 1u, + 207u, 194u, 135u, 159u, + 165u, 212u, 126u, 91u, + 197u, 102u, 53u, 177u, + 148u, 92u, 62u, 218u, + 89u, 215u, 149u, 154u, + 255u, 31u, 166u, 79u, + 103u, 51u, 244u, 121u, + 46u, 90u, 92u, 75u, + 57u, 255u, 194u, 118u, + 142u, 116u, 98u, 120u, + 179u, 160u, 137u, 118u, + 66u, 158u, 81u, 172u, + 0u, 101u, 144u, 113u, + 185u, 91u, 194u, 171u, + 29u, 0u, 28u, 85u, + 225u, 172u, 134u, 109u, + 94u, 115u, 165u, 125u, + 249u, 123u, 42u, 124u, + 255u, 110u, 102u, 114u, + 78u, 138u, 142u, 117u, + 127u, 167u, 146u, 181u, + 176u, 121u, 122u, 127u, + 171u, 88u, 132u, 195u, + 204u, 127u, 94u, 116u, + 154u, 1u, 26u, 145u, + 111u, 92u, 80u, 226u, + 88u, 1u, 120u, 229u, + 100u, 125u, 60u, 114u, + 199u, 189u, 176u, 158u, + 245u, 83u, 58u, 23u, + 247u, 67u, 207u, 206u, + 190u, 103u, 201u, 69u, + 68u, 116u, 1u, 133u, + 97u, 199u, 83u, 121u, + 197u, 143u, 119u, 85u, + 168u, 66u, 1u, 106u, + 88u, 5u, 171u, 183u, + 189u, 180u, 88u, 62u, + 155u, 70u, 102u, 232u, + 158u, 132u, 0u, 98u, + 111u, 207u, 132u, 180u, + 206u, 84u, 116u, 161u, + 183u, 184u, 191u, 100u, + 170u, 74u, 0u, 75u, + 149u, 244u, 195u, 41u, + 200u, 152u, 234u, 69u, + 110u, 100u, 214u, 160u, + 160u, 180u, 187u, 89u, + 134u, 56u, 1u, 160u, + 102u, 201u, 66u, 76u, + 196u, 97u, 232u, 156u, + 72u, 2u, 124u, 36u, + 192u, 119u, 130u, 140u, + 37u, 134u, 255u, 165u, + 196u, 117u, 137u, 141u, + 64u, 63u, 213u, 201u, + 149u, 195u, 29u, 214u, + 255u, 108u, 82u, 117u, + 171u, 139u, 86u, 137u, + 14u, 1u, 88u, 71u, + 181u, 130u, 154u, 52u, + 76u, 171u, 80u, 54u, + 92u, 70u, 172u, 98u, + 105u, 46u, 238u, 0u, + 122u, 239u, 45u, 72u, + 184u, 111u, 230u, 76u, + 158u, 1u, 139u, 149u, + 54u, 57u, 144u, 132u, + 205u, 222u, 67u, 162u, + 86u, 193u, 191u, 205u, + 111u, 110u, 147u, 35u, + 109u, 146u, 51u, 194u, + 0u, 189u, 213u, 201u, + 21u, 20u, 84u, 123u, + 132u, 55u, 38u, 163u, + 118u, 116u, 183u, 129u, + 231u, 186u, 139u, 155u, + 149u, 160u, 66u, 1u, + 41u, 92u, 191u, 100u, + 67u, 164u, 153u, 87u, + 214u, 74u, 177u, 115u, + 72u, 93u, 117u, 255u, + 90u, 44u, 142u, 149u, + 101u, 46u, 123u, 23u, + 1u, 135u, 85u, 88u, + 155u, 137u, 167u, 170u, + 126u, 102u, 28u, 86u, + 134u, 36u, 228u, 60u, + 71u, 239u, 89u, 237u, + 255u, 65u, 129u, 35u, + 159u, 224u, 56u, 128u, + 129u, 187u, 67u, 144u, + 180u, 209u, 91u, 70u, + 100u, 80u, 1u, 106u, + 143u, 191u, 143u, 121u, + 247u, 1u, 188u, 82u, + 67u, 178u, 36u, 214u, + 182u, 13u, 236u, 150u, + 188u, 0u, 210u, 177u, + 212u, 169u, 92u, 105u, + 176u, 137u, 99u, 105u, + 142u, 57u, 105u, 160u, + 164u, 120u, 255u, 139u, + 112u, 91u, 40u, 54u, + 220u, 92u, 107u, 95u, + 73u, 57u, 143u, 80u, + 51u, 136u, 194u, 121u, + 146u, 198u, 150u, 152u, + 118u, 164u, 52u, 148u, + 255u, 150u, 29u, 105u, + 92u, 127u, 48u, 56u, + 230u, 123u, 113u, 174u, + 89u, 207u, 103u, 116u, + 80u, 16u, 97u, 255u, + 94u, 148u, 229u, 97u, + 66u, 185u, 181u, 1u, + 143u, 186u, 181u, 117u, + 146u, 33u, 139u, 115u, + 96u, 184u, 97u, 186u, + 149u, 27u, 156u, 176u, + 1u, 112u, 154u, 127u, + 55u, 98u, 127u, 196u, + 76u, 126u, 172u, 40u, + 255u, 105u, 51u, 210u, + 80u, 155u, 152u, 203u, + 182u, 129u, 128u, 113u, + 30u, 113u, 42u, 255u, + 32u, 84u, 219u, 89u, + 169u, 74u, 136u, 97u, + 138u, 87u, 202u, 127u, + 89u, 147u, 111u, 63u, + 156u, 156u, 60u, 119u, + 226u, 1u, 96u, 171u, + 74u, 45u, 98u, 173u, + 117u, 173u, 174u, 170u, + 112u, 201u, 105u, 174u, + 144u, 124u, 211u, 155u, + 255u, 134u, 126u, 186u, + 122u, 124u, 102u, 181u, + 160u, 144u, 125u, 42u, + 212u, 155u, 36u, 77u, + 91u, 1u, 187u, 217u, + 255u, 121u, 198u, 176u, + 58u, 149u, 206u, 153u, + 130u, 157u, 64u, 92u, + 166u, 99u, 47u, 103u, + 123u, 14u, 210u, 160u, + 47u, 92u, 49u, 255u, + 107u, 220u, 65u, 85u, + 133u, 1u, 1u, 95u, + 108u, 125u, 125u, 148u, + 156u, 43u, 255u, 118u, + 36u, 183u, 129u, 200u, + 143u, 110u, 192u, 240u, + 140u, 138u, 197u, 65u, + 148u, 154u, 158u, 178u, + 95u, 92u, 115u, 110u, + 1u, 123u, 156u, 172u, + 167u, 79u, 189u, 96u, + 220u, 128u, 243u, 239u, + 107u, 204u, 173u, 216u, + 255u, 119u, 155u, 57u, + 25u, 98u, 104u, 121u, + 83u, 165u, 111u, 209u, + 148u, 51u, 125u, 149u, + 40u, 1u, 219u, 214u, + 241u, 112u, 118u, 78u, + 70u, 76u, 113u, 130u, + 101u, 247u, 91u, 14u, + 1u, 184u, 154u, 52u, + 108u, 138u, 234u, 90u, + 255u, 117u, 180u, 70u, + 151u, 56u, 125u, 149u, + 172u, 145u, 165u, 153u, + 152u, 155u, 231u, 149u, + 185u, 96u, 180u, 156u, + 208u, 30u, 1u, 105u, + 169u, 80u, 169u, 142u, + 93u, 79u, 162u, 210u, + 130u, 124u, 181u, 199u, + 197u, 105u, 101u, 150u, + 241u, 76u, 255u, 134u, + 128u, 110u, 81u, 169u, + 169u, 127u, 158u, 115u, + 199u, 25u, 2u, 150u, + 255u, 167u, 71u, 175u, + 133u, 95u, 99u, 1u, + 132u, 188u, 181u, 196u, + 185u, 226u, 113u, 160u, + 154u, 141u, 177u, 123u, + 176u, 153u, 94u, 220u, + 1u, 182u, 144u, 21u, + 104u, 55u, 119u, 136u, + 172u, 221u, 200u, 220u, + 173u, 229u, 228u, 14u, + 7u, 215u, 102u, 126u, + 43u, 137u, 255u, 178u, + 245u, 246u, 51u, 225u, + 119u, 174u, 82u, 89u, + 175u, 185u, 152u, 208u, + 129u, 89u, 90u, 255u, + 112u, 108u, 208u, 228u, + 114u, 177u, 166u, 0u, + 162u, 136u, 119u, 139u, + 157u, 101u, 212u, 222u, + 132u, 211u, 92u, 129u, + 57u, 62u, 197u, 20u, + 55u, 73u, 99u, 158u, + 46u, 214u, 113u, 255u, + 73u, 79u, 186u, 230u, + 139u, 119u, 9u, 110u, + 16u, 69u, 177u, 101u, + 119u, 255u, 243u, 127u, + 224u, 29u, 207u, 11u, + 112u, 108u, 167u, 70u, + 183u, 117u, 146u, 143u, + 134u, 136u, 245u, 255u, + 182u, 126u, 208u, 181u, + 14u, 100u, 18u, 2u, + 82u, 28u, 200u, 255u, + 84u, 91u, 182u, 192u, + 50u, 171u, 160u, 206u, + 70u, 1u, 142u, 99u, + 195u, 197u, 135u, 209u, + 168u, 189u, 152u, 89u, + 163u, 123u, 216u, 106u, + 196u, 79u, 75u, 166u, + 18u, 57u, 152u, 171u, + 65u, 197u, 112u, 244u, + 1u, 185u, 62u, 201u, + 199u, 82u, 217u, 1u, + 214u, 103u, 214u, 50u, + 87u, 149u, 47u, 122u, + 139u, 242u, 209u, 113u, + 128u, 206u, 188u, 1u, + 71u, 139u, 174u, 221u, + 85u, 225u, 187u, 151u, + 132u, 103u, 161u, 55u, + 168u, 110u, 191u, 168u, + 32u, 204u, 211u, 245u, + 225u, 242u, 129u, 44u, + 156u, 255u, 90u, 5u, + 200u, 111u, 255u, 136u, + 81u, 32u, 95u, 107u, + 78u, 188u, 128u, 159u, + 127u, 143u, 7u, 39u, + 172u, 170u, 126u, 215u, + 171u, 189u, 87u, 65u, + 84u, 105u, 104u, 227u, + 1u, 171u, 163u, 201u, + 157u, 94u, 56u, 255u, + 145u, 34u, 201u, 240u, + 53u, 158u, 89u, 21u, + 163u, 115u, 127u, 19u, + 5u, 71u, 230u, 194u, + 1u, 147u, 161u, 84u, + 74u, 177u, 134u, 13u, + 106u, 82u, 34u, 230u, + 196u, 43u, 139u, 109u, + 127u, 150u, 178u, 184u, + 174u, 21u, 73u, 155u, + 182u, 0u, 37u, 189u, + 77u, 98u, 127u, 138u, + 121u, 121u, 37u, 148u, + 140u, 45u, 126u, 78u, + 1u, 139u, 185u, 176u, + 187u, 225u, 5u, 0u, + 222u, 113u, 183u, 172u, + 117u, 150u, 101u, 214u, + 177u, 147u, 171u, 66u, + 39u, 180u, 182u, 70u, + 162u, 83u, 96u, 134u, + 0u, 218u, 192u, 225u, + 144u, 252u, 120u, 92u, + 89u, 140u, 229u, 121u, + 181u, 222u, 24u, 255u, + 230u, 53u, 249u, 175u, + 245u, 101u, 107u, 98u, + 75u, 96u, 120u, 33u, + 109u, 76u, 229u, 223u, + 117u, 255u, 152u, 240u, + 151u, 100u, 143u, 178u, + 128u, 177u, 109u, 151u, + 197u, 98u, 39u, 255u, + 172u, 73u, 161u, 82u, + 45u, 94u, 29u, 43u, + 130u, 123u, 196u, 255u, + 178u, 91u, 177u, 33u, + 23u, 95u, 26u, 167u, + 135u, 90u, 178u, 96u, + 156u, 189u, 125u, 159u, + 111u, 76u, 29u, 131u, + 67u, 39u, 172u, 127u, + 93u, 146u, 120u, 1u, + 149u, 255u, 189u, 29u, + 168u, 192u, 129u, 236u, + 22u, 228u, 28u, 82u, + 159u, 197u, 52u, 111u, + 138u, 129u, 72u, 130u, + 90u, 121u, 146u, 126u, + 122u, 255u, 126u, 135u, + 110u, 128u, 118u, 182u, + 151u, 4u, 228u, 141u, + 179u, 100u, 184u, 79u, + 255u, 37u, 6u, 118u, + 200u, 248u, 87u, 183u, + 124u, 119u, 109u, 192u, + 110u, 109u, 113u, 157u, + 255u, 148u, 142u, 107u, + 108u, 59u, 56u, 44u, + 107u, 134u, 118u, 113u, + 58u, 103u, 189u, 156u, + 170u, 111u, 164u, 255u, + 203u, 145u, 173u, 102u, + 53u, 123u, 156u, 198u, + 94u, 70u, 102u, 92u, + 109u, 143u, 255u, 59u, + 157u, 140u, 159u, 182u, + 70u, 68u, 180u, 131u, + 101u, 103u, 153u, 107u, + 174u, 55u, 126u, 0u, + 132u, 124u, 150u, 121u, + 141u, 202u, 168u, 63u, + 167u, 159u, 61u, 159u, + 183u, 65u, 255u, 190u, + 147u, 146u, 44u, 123u, + 109u, 142u, 134u, 158u, + 100u, 33u, 255u, 141u, + 159u, 48u, 133u, 140u, + 154u, 89u, 50u, 35u, + 127u, 49u, 110u, 109u, + 156u, 207u, 211u, 163u, + 162u, 44u, 47u, 170u, + 114u, 255u, 59u, 180u, + 14u, 210u, 186u, 174u, + 56u, 206u, 188u, 1u, + 116u, 219u, 46u, 94u, + 141u, 170u, 114u, 58u, + 198u, 104u, 122u, 185u, + 109u, 116u, 183u, 91u, + 68u, 156u, 171u, 255u, + 34u, 144u, 51u, 141u, + 98u, 184u, 188u, 111u, + 125u, 126u, 1u, 164u, + 142u, 203u, 214u, 76u, + 102u, 87u, 33u, 158u, + 158u, 114u, 154u, 136u, + 154u, 115u, 158u, 50u, + 120u, 24u, 174u, 191u, + 35u, 255u, 82u, 193u, + 54u, 126u, 170u, 149u, + 10u, 221u, 10u, 89u, + 125u, 181u, 211u, 117u, + 121u, 65u, 1u, 108u, + 203u, 252u, 193u, 60u, + 45u, 160u, 85u, 60u, + 176u, 1u, 238u, 134u, + 63u, 251u, 58u, 163u, + 165u, 179u, 102u, 170u, + 63u, 233u, 117u, 0u, + 32u, 140u, 180u, 114u, + 188u, 103u, 231u, 163u, + 137u, 89u, 165u, 153u, + 69u, 142u, 88u, 125u, + 34u, 255u, 65u, 51u, + 40u, 69u, 79u, 142u, + 130u, 51u, 92u, 137u, + 22u, 21u, 120u, 53u, + 247u, 255u, 231u, 95u, + 192u, 46u, 14u, 51u, + 113u, 116u, 175u, 1u, + 133u, 177u, 159u, 61u, + 102u, 27u, 155u, 131u, + 109u, 205u, 85u, 115u, + 45u, 141u, 1u, 132u, + 120u, 228u, 71u, 164u, + 77u, 196u, 177u, 168u, + 165u, 140u, 17u, 113u, + 136u, 123u, 117u, 187u, + 1u, 199u, 117u, 112u, + 132u, 136u, 188u, 113u, + 147u, 248u, 241u, 203u, + 21u, 164u, 255u, 74u, + 124u, 124u, 75u, 115u, + 114u, 201u, 114u, 216u, + 136u, 46u, 168u, 177u, + 120u, 82u, 76u, 255u, + 185u, 131u, 109u, 176u, + 219u, 82u, 136u, 152u, + 130u, 75u, 11u, 156u, + 169u, 124u, 102u, 190u, + 74u, 59u, 133u, 49u, + 74u, 92u, 233u, 255u, + 245u, 131u, 125u, 58u, + 163u, 255u, 82u, 127u, + 130u, 66u, 88u, 237u, + 115u, 147u, 160u, 168u, + 248u, 79u, 91u, 16u, + 109u, 61u, 1u, 116u, + 175u, 56u, 153u, 158u, + 138u, 131u, 122u, 136u, + 129u, 174u, 206u, 56u, + 158u, 150u, 51u, 232u, + 36u, 76u, 112u, 181u, + 230u, 95u, 211u, 56u, + 221u, 255u, 181u, 154u, + 185u, 56u, 36u, 210u, + 148u, 177u, 78u, 97u, + 118u, 255u, 185u, 133u, + 198u, 40u, 102u, 140u, + 47u, 119u, 78u, 132u, + 16u, 151u, 4u, 207u, + 149u, 124u, 255u, 177u, + 39u, 126u, 184u, 214u, + 169u, 198u, 156u, 226u, + 12u, 207u, 154u, 1u, + 34u, 167u, 49u, 25u, + 152u, 112u, 25u, 130u, + 120u, 228u, 225u, 175u, + 86u, 124u, 198u, 219u, + 38u, 165u, 142u, 255u, + 169u, 80u, 132u, 209u, + 91u, 137u, 133u, 178u, + 57u, 186u, 255u, 131u, + 141u, 105u, 84u, 195u, + 115u, 182u, 54u, 194u, + 186u, 115u, 60u, 121u, + 170u, 111u, 119u, 178u, + 80u, 120u, 249u, 255u, + 139u, 59u, 38u, 179u, + 167u, 36u, 255u, 58u, + 212u, 192u, 126u, 149u, + 69u, 157u, 95u, 74u, + 44u, 249u, 52u, 222u, + 175u, 84u, 1u, 195u, + 104u, 148u, 67u, 89u, + 139u, 168u, 64u, 104u, + 154u, 192u, 104u, 127u, + 127u, 112u, 92u, 133u, + 159u, 109u, 101u, 156u, + 255u, 37u, 125u, 80u, + 165u, 158u, 145u, 112u, + 181u, 68u, 159u, 67u, + 161u, 90u, 95u, 92u, + 76u, 73u, 134u, 74u, + 149u, 128u, 80u, 1u, + 163u, 210u, 62u, 140u, + 99u, 172u, 106u, 255u, + 112u, 255u, 12u, 53u, + 75u, 191u, 2u, 235u, + 230u, 92u, 0u, 207u, + 47u, 223u, 99u, 166u, + 194u, 109u, 183u, 106u, + 137u, 204u, 87u, 101u, + 132u, 32u, 170u, 83u, + 177u, 40u, 136u, 101u, + 241u, 68u, 136u, 155u, + 152u, 136u, 28u, 1u, + 161u, 205u, 172u, 137u, + 0u, 249u, 146u, 59u, + 111u, 5u, 67u, 101u, + 112u, 36u, 27u, 186u, + 164u, 184u, 42u, 88u, + 122u, 125u, 205u, 156u, + 165u, 185u, 146u, 255u, + 115u, 114u, 97u, 118u, + 190u, 58u, 179u, 4u, + 238u, 213u, 0u, 141u, + 107u, 140u, 66u, 19u, + 138u, 131u, 139u, 191u, + 1u, 23u, 43u, 137u, + 141u, 56u, 107u, 178u, + 61u, 154u, 54u, 89u, + 110u, 137u, 186u, 156u, + 99u, 110u, 151u, 59u, + 183u, 124u, 124u, 115u, + 143u, 75u, 255u, 122u, + 150u, 96u, 209u, 138u, + 140u, 66u, 132u, 191u, + 1u, 156u, 146u, 134u, + 146u, 104u, 79u, 153u, + 129u, 64u, 62u, 115u, + 48u, 73u, 83u, 189u, + 112u, 89u, 43u, 255u, + 174u, 77u, 146u, 202u, + 170u, 152u, 102u, 101u, + 206u, 108u, 61u, 64u, + 215u, 181u, 105u, 86u, + 105u, 126u, 1u, 217u, + 82u, 123u, 84u, 143u, + 176u, 142u, 249u, 130u, + 228u, 85u, 248u, 5u, + 142u, 143u, 1u, 100u, + 161u, 194u, 163u, 147u, + 93u, 209u, 40u, 0u, + 110u, 219u, 34u, 186u, + 130u, 54u, 231u, 213u, + 193u, 247u, 175u, 94u, + 54u, 134u, 196u, 1u, + 114u, 138u, 90u, 132u, + 188u, 87u, 162u, 63u, + 76u, 184u, 131u, 93u, + 166u, 178u, 110u, 108u, + 253u, 89u, 159u, 8u, + 255u, 39u, 235u, 232u, + 144u, 90u, 47u, 91u, + 76u, 115u, 166u, 206u, + 160u, 217u, 10u, 113u, + 141u, 100u, 100u, 145u, + 1u, 154u, 50u, 235u, + 189u, 73u, 59u, 170u, + 87u, 213u, 191u, 95u, + 95u, 1u, 165u, 195u, + 40u, 240u, 100u, 198u, + 235u, 150u, 255u, 97u, + 39u, 238u, 156u, 29u, + 188u, 64u, 185u, 162u, + 105u, 207u, 100u, 222u, + 6u, 152u, 68u, 106u, + 44u, 167u, 181u, 255u, + 227u, 240u, 46u, 73u, + 73u, 167u, 39u, 147u, + 101u, 94u, 43u, 121u, + 232u, 129u, 211u, 255u, + 184u, 56u, 77u, 17u, + 113u, 253u, 212u, 120u, + 148u, 93u, 139u, 186u, + 165u, 183u, 77u, 66u, + 119u, 90u, 1u, 38u, + 101u, 208u, 79u, 145u, + 122u, 97u, 138u, 153u, + 95u, 22u, 7u, 68u, + 179u, 118u, 132u, 41u, + 1u, 160u, 140u, 111u, + 141u, 89u, 73u, 144u, + 1u, 99u, 144u, 44u, + 122u, 143u, 147u, 106u, + 118u, 96u, 188u, 193u, + 31u, 155u, 116u, 30u, + 78u, 185u, 105u, 255u, + 116u, 161u, 176u, 142u, + 77u, 55u, 136u, 148u, + 201u, 41u, 255u, 170u, + 230u, 160u, 134u, 102u, + 236u, 193u, 97u, 232u, + 233u, 239u, 252u, 199u, + 128u, 120u, 116u, 89u, + 94u, 110u, 210u, 157u, + 241u, 1u, 184u, 134u, + 123u, 144u, 140u, 135u, + 159u, 45u, 162u, 129u, + 134u, 161u, 114u, 117u, + 255u, 185u, 129u, 140u, + 153u, 83u, 116u, 86u, + 207u, 82u, 42u, 49u, + 182u, 127u, 14u, 255u, + 187u, 34u, 183u, 221u, + 64u, 207u, 86u, 227u, + 79u, 132u, 149u, 1u, + 114u, 120u, 155u, 118u, + 93u, 183u, 157u, 130u, + 92u, 70u, 197u, 187u, + 109u, 130u, 139u, 226u, + 186u, 188u, 211u, 132u, + 228u, 179u, 109u, 255u, + 153u, 192u, 114u, 155u, + 74u, 187u, 255u, 104u, + 40u, 98u, 210u, 198u, + 195u, 62u, 156u, 126u, + 141u, 45u, 118u, 189u, + 97u, 176u, 84u, 255u, + 51u, 190u, 158u, 101u, + 64u, 227u, 106u, 157u, + 157u, 60u, 133u, 196u, + 156u, 68u, 255u, 174u, + 91u, 146u, 186u, 166u, + 216u, 192u, 201u, 145u, + 175u, 21u, 108u, 127u, + 1u, 231u, 119u, 113u, + 144u, 159u, 166u, 167u, + 73u, 63u, 53u, 139u, + 179u, 71u, 83u, 85u, + 58u, 150u, 88u, 1u, + 64u, 124u, 191u, 140u, + 131u, 177u, 206u, 166u, + 30u, 218u, 193u, 113u, + 156u, 149u, 206u, 137u, + 3u, 153u, 0u, 91u, + 78u, 192u, 163u, 44u, + 145u, 73u, 70u, 93u, + 1u, 145u, 190u, 138u, + 67u, 206u, 119u, 171u, + 99u, 75u, 73u, 64u, + 79u, 166u, 153u, 145u, + 93u, 163u, 77u, 86u, + 123u, 95u, 120u, 34u, + 71u, 137u, 149u, 130u, + 143u, 255u, 212u, 120u, + 103u, 158u, 89u, 197u, + 183u, 101u, 47u, 161u, + 100u, 41u, 111u, 103u, + 106u, 168u, 255u, 174u, + 162u, 102u, 82u, 207u, + 99u, 13u, 139u, 135u, + 53u, 154u, 67u, 100u, + 215u, 1u, 136u, 101u, + 95u, 120u, 153u, 133u, + 188u, 133u, 124u, 119u, + 113u, 183u, 151u, 255u, + 159u, 182u, 68u, 144u, + 148u, 133u, 131u, 217u, + 115u, 115u, 255u, 93u, + 119u, 142u, 71u, 164u, + 128u, 145u, 118u, 171u, + 128u, 142u, 1u, 181u, + 16u, 53u, 56u, 91u, + 102u, 246u, 202u, 83u, + 174u, 88u, 151u, 111u, + 59u, 89u, 146u, 91u, + 80u, 217u, 66u, 143u, + 104u, 200u, 161u, 0u, + 105u, 255u, 54u, 170u, + 79u, 192u, 102u, 1u, + 186u, 136u, 141u, 192u, + 234u, 174u, 132u, 176u, + 66u, 156u, 130u, 137u, + 41u, 156u, 164u, 152u, + 96u, 110u, 215u, 127u, + 152u, 136u, 152u, 225u, + 127u, 75u, 255u, 162u, + 158u, 95u, 127u, 1u, + 189u, 196u, 111u, 109u, + 143u, 120u, 142u, 117u, + 91u, 206u, 157u, 160u, + 7u, 187u, 117u, 51u, + 115u, 66u, 1u, 106u, + 36u, 184u, 176u, 20u, + 214u, 149u, 232u, 69u, + 132u, 142u, 169u, 23u, + 132u, 39u, 132u, 27u, + 68u, 83u, 255u, 219u, + 42u, 149u, 80u, 76u, + 73u, 162u, 70u, 39u, + 194u, 59u, 71u, 255u, + 93u, 233u, 147u, 158u, + 146u, 31u, 71u, 190u, + 99u, 57u, 183u, 152u, + 38u, 150u, 215u, 227u, + 140u, 199u, 171u, 117u, + 59u, 158u, 198u, 255u, + 181u, 147u, 255u, 163u, + 133u, 170u, 24u, 137u, + 115u, 128u, 151u, 89u, + 132u, 188u, 111u, 91u, + 188u, 165u, 128u, 156u, + 188u, 252u, 172u, 128u, + 119u, 143u, 93u, 226u, + 255u, 37u, 217u, 144u, + 16u, 121u, 48u, 109u, + 27u, 187u, 122u, 112u, + 42u, 127u, 68u, 202u, + 241u, 255u, 46u, 178u, + 154u, 136u, 159u, 104u, + 128u, 235u, 162u, 184u, + 165u, 83u, 165u, 211u, + 134u, 193u, 1u, 185u, + 137u, 147u, 101u, 112u, + 182u, 61u, 76u, 99u, + 135u, 183u, 111u, 188u, + 173u, 1u, 42u, 119u, + 59u, 75u, 119u, 123u, + 160u, 108u, 180u, 92u, + 255u, 96u, 70u, 112u, + 23u, 112u, 153u, 182u, + 67u, 1u, 88u, 181u, + 141u, 112u, 174u, 241u, + 244u, 66u, 66u, 170u, + 134u, 91u, 193u, 191u, + 165u, 110u, 164u, 170u, + 144u, 167u, 23u, 1u, + 148u, 89u, 167u, 119u, + 164u, 96u, 113u, 141u, + 156u, 120u, 104u, 147u, + 98u, 110u, 133u, 121u, + 119u, 98u, 199u, 0u, + 162u, 28u, 175u, 157u, + 115u, 158u, 237u, 21u, + 89u, 129u, 140u, 138u, + 149u, 146u, 255u, 139u, + 134u, 138u, 216u, 214u, + 73u, 97u, 114u, 119u, + 0u, 137u, 112u, 189u, + 56u, 177u, 158u, 134u, + 76u, 21u, 131u, 131u, + 126u, 7u, 38u, 48u, + 142u, 48u, 133u, 215u, + 61u, 234u, 80u, 75u, + 1u, 179u, 61u, 164u, + 129u, 82u, 146u, 71u, + 125u, 88u, 255u, 99u, + 168u, 94u, 145u, 164u, + 86u, 244u, 164u, 156u, + 172u, 120u, 66u, 106u, + 1u, 36u, 211u, 82u, + 96u, 215u, 119u, 158u, + 142u, 36u, 204u, 130u, + 125u, 190u, 156u, 160u, + 39u, 112u, 169u, 116u, + 90u, 167u, 118u, 255u, + 48u, 63u, 67u, 219u, + 182u, 129u, 198u, 109u, + 1u, 109u, 161u, 106u, + 141u, 214u, 146u, 57u, + 96u, 172u, 192u, 49u, + 155u, 119u, 137u, 112u, + 114u, 147u, 188u, 208u, + 97u, 138u, 0u, 54u, + 78u, 87u, 129u, 113u, + 134u, 120u, 104u, 146u, + 145u, 151u, 150u, 135u, + 87u, 255u, 141u, 115u, + 206u, 94u, 85u, 77u, + 140u, 223u, 150u, 1u, + 166u, 172u, 130u, 145u, + 98u, 99u, 55u, 61u, + 179u, 188u, 122u, 132u, + 255u, 89u, 187u, 177u, + 59u, 157u, 69u, 108u, + 129u, 134u, 100u, 202u, + 159u, 204u, 34u, 229u, + 155u, 169u, 39u, 77u, + 177u, 138u, 109u, 210u, + 175u, 24u, 21u, 140u, + 33u, 1u, 103u, 169u, + 180u, 145u, 139u, 122u, + 132u, 127u, 115u, 78u, + 186u, 108u, 174u, 188u, + 180u, 169u, 1u, 63u, + 199u, 77u, 1u, 63u, + 110u, 83u, 112u, 26u, + 62u, 168u, 150u, 160u, + 248u, 151u, 252u, 102u, + 6u, 110u, 90u, 69u, + 74u, 217u, 87u, 210u, + 175u, 110u, 170u, 141u, + 41u, 1u, 66u, 171u, + 215u, 57u, 9u, 228u, + 151u, 96u, 18u, 51u, + 186u, 156u, 69u, 93u, + 59u, 106u, 1u, 52u, + 201u, 119u, 110u, 146u, + 176u, 146u, 71u, 139u, + 117u, 97u, 129u, 255u, + 55u, 14u, 168u, 211u, + 74u, 198u, 167u, 158u, + 114u, 142u, 1u, 94u, + 14u, 184u, 144u, 152u, + 186u, 50u, 82u, 135u, + 77u, 55u, 98u, 3u, + 115u, 255u, 201u, 62u, + 76u, 98u, 12u, 126u, + 26u, 50u, 232u, 221u, + 212u, 174u, 156u, 230u, + 117u, 107u, 206u, 41u, + 203u, 1u, 89u, 148u, + 149u, 172u, 78u, 95u, + 49u, 66u, 111u, 178u, + 70u, 94u, 119u, 106u, + 122u, 1u, 89u, 116u, + 90u, 186u, 109u, 111u, + 130u, 119u, 164u, 165u, + 1u, 169u, 105u, 92u, + 173u, 39u, 161u, 64u, + 194u, 223u, 180u, 118u, + 137u, 197u, 142u, 115u, + 90u, 185u, 42u, 93u, + 255u, 158u, 165u, 135u, + 53u, 96u, 150u, 124u, + 193u, 88u, 200u, 198u, + 191u, 218u, 140u, 71u, + 206u, 39u, 56u, 255u, + 55u, 155u, 131u, 236u, + 119u, 47u, 142u, 111u, + 113u, 235u, 117u, 38u, + 152u, 116u, 0u, 218u, + 150u, 143u, 204u, 164u, + 184u, 59u, 140u, 220u, + 225u, 15u, 151u, 165u, + 86u, 181u, 0u, 216u, + 164u, 97u, 148u, 70u, + 168u, 83u, 177u, 134u, + 1u, 106u, 89u, 160u, + 248u, 9u, 169u, 201u, + 48u, 101u, 60u, 119u, + 50u, 88u, 124u, 157u, + 123u, 158u, 213u, 132u, + 55u, 0u, 112u, 155u, + 140u, 183u, 127u, 184u, + 147u, 88u, 145u, 110u, + 45u, 203u, 255u, 125u, + 122u, 235u, 107u, 171u, + 155u, 53u, 167u, 158u, + 110u, 249u, 185u, 43u, + 153u, 197u, 3u, 181u, + 97u, 184u, 201u, 147u, + 165u, 130u, 148u, 255u, + 106u, 54u, 140u, 92u, + 255u, 233u, 143u, 216u, + 92u, 45u, 34u, 173u, + 126u, 131u, 67u, 108u, + 146u, 21u, 150u, 181u, + 84u, 255u, 154u, 116u, + 157u, 93u, 109u, 156u, + 166u, 133u, 136u, 189u, + 56u, 25u, 113u, 225u, + 99u, 226u, 105u, 65u, + 180u, 119u, 204u, 112u, + 255u, 125u, 142u, 108u, + 89u, 118u, 179u, 67u, + 103u, 1u, 92u, 173u, + 126u, 244u, 142u, 117u, + 7u, 7u, 125u, 77u, + 99u, 101u, 125u, 110u, + 61u, 214u, 118u, 121u, + 34u, 121u, 155u, 40u, + 117u, 77u, 87u, 255u, + 176u, 164u, 255u, 168u, + 14u, 124u, 29u, 4u, + 225u, 46u, 162u, 162u, + 177u, 108u, 53u, 140u, + 207u, 152u, 211u, 175u, + 121u, 231u, 64u, 255u, + 203u, 82u, 106u, 92u, + 187u, 150u, 111u, 69u, + 88u, 134u, 75u, 1u, + 105u, 56u, 128u, 77u, + 68u, 64u, 212u, 206u, + 90u, 205u, 100u, 133u, + 198u, 52u, 173u, 97u, + 144u, 106u, 90u, 255u, + 108u, 170u, 135u, 153u, + 3u, 253u, 28u, 65u, + 118u, 189u, 123u, 70u, + 67u, 195u, 145u, 111u, + 136u, 88u, 255u, 102u, + 74u, 94u, 120u, 140u, + 1u, 1u, 106u, 58u, + 119u, 218u, 218u, 186u, + 203u, 6u, 21u, 127u, + 50u, 138u, 77u, 190u, + 99u, 161u, 49u, 167u, + 55u, 29u, 114u, 150u, + 225u, 161u, 198u, 41u, + 239u, 1u, 162u, 63u, + 80u, 104u, 106u, 102u, + 129u, 254u, 161u, 146u, + 90u, 238u, 78u, 64u, + 105u, 67u, 105u, 1u, + 26u, 227u, 54u, 153u, + 1u, 81u, 216u, 142u, + 99u, 196u, 158u, 196u, + 40u, 59u, 198u, 167u, + 187u, 138u, 157u, 117u, + 140u, 127u, 123u, 166u, + 0u, 232u, 206u, 184u, + 188u, 142u, 121u, 179u, + 125u, 163u, 116u, 55u, + 155u, 130u, 90u, 146u, + 88u, 187u, 153u, 103u, + 119u, 255u, 105u, 150u, + 143u, 82u, 148u, 149u, + 118u, 72u, 1u, 111u, + 55u, 241u, 168u, 161u, + 222u, 107u, 195u, 82u, + 128u, 131u, 151u, 189u, + 154u, 128u, 96u, 126u, + 255u, 75u, 120u, 42u, + 138u, 102u, 104u, 82u, + 1u, 185u, 113u, 46u, + 29u, 93u, 230u, 156u, + 174u, 79u, 168u, 172u, + 203u, 28u, 46u, 88u, + 189u, 69u, 171u, 160u, + 40u, 178u, 153u, 40u, + 6u, 100u, 30u, 28u, + 144u, 255u, 230u, 171u, + 160u, 48u, 78u, 255u, + 194u, 166u, 143u, 107u, + 166u, 91u, 90u, 87u, + 183u, 199u, 213u, 50u, + 114u, 141u, 0u, 130u, + 130u, 76u, 216u, 142u, + 147u, 89u, 118u, 193u, + 94u, 94u, 106u, 110u, + 164u, 192u, 242u, 81u, + 115u, 162u, 1u, 80u, + 51u, 127u, 222u, 86u, + 222u, 159u, 178u, 1u, + 122u, 92u, 255u, 142u, + 119u, 99u, 77u, 77u, + 113u, 113u, 106u, 121u, + 149u, 158u, 107u, 162u, + 1u, 200u, 88u, 101u, + 101u, 228u, 168u, 168u, + 91u, 89u, 182u, 151u, + 196u, 228u, 118u, 142u, + 53u, 189u, 161u, 16u, + 73u, 208u, 198u, 151u, + 187u, 226u, 169u, 175u, + 217u, 1u, 148u, 181u, + 148u, 255u, 171u, 70u, + 34u, 160u, 6u, 1u, + 224u, 62u, 226u, 177u, + 96u, 119u, 37u, 109u, + 106u, 63u, 77u, 141u, + 163u, 121u, 40u, 7u, + 255u, 123u, 172u, 212u, + 178u, 185u, 174u, 145u, + 29u, 30u, 181u, 1u, + 68u, 81u, 216u, 111u, + 171u, 124u, 230u, 165u, + 69u, 140u, 131u, 150u, + 203u, 175u, 145u, 15u, + 71u, 157u, 195u, 255u, + 86u, 136u, 146u, 251u, + 89u, 82u, 134u, 145u, + 101u, 118u, 153u, 168u, + 44u, 135u, 212u, 101u, + 60u, 62u, 67u, 43u, + 156u, 1u, 192u, 66u, + 249u, 109u, 255u, 117u, + 172u, 161u, 203u, 196u, + 22u, 126u, 177u, 161u, + 113u, 196u, 146u, 125u, + 74u, 134u, 158u, 105u, + 242u, 113u, 174u, 15u, + 204u, 54u, 77u, 255u, + 103u, 43u, 178u, 200u, + 74u, 162u, 223u, 81u, + 14u, 149u, 181u, 199u, + 84u, 255u, 161u, 186u, + 234u, 41u, 155u, 98u, + 255u, 43u, 106u, 79u, + 50u, 123u, 176u, 174u, + 62u, 126u, 61u, 158u, + 192u, 158u, 113u, 27u, + 114u, 191u, 160u, 176u, + 73u, 112u, 144u, 145u, + 104u, 131u, 49u, 64u, + 188u, 245u, 1u, 185u, + 176u, 156u, 108u, 91u, + 248u, 187u, 109u, 54u, + 255u, 112u, 149u, 54u, + 120u, 138u, 115u, 204u, + 21u, 238u, 255u, 184u, + 158u, 243u, 175u, 34u, + 134u, 130u, 87u, 158u, + 105u, 128u, 191u, 183u, + 49u, 124u, 42u, 128u, + 52u, 38u, 153u, 160u, + 159u, 70u, 181u, 141u, + 1u, 1u, 146u, 208u, + 22u, 24u, 171u, 172u, + 209u, 215u, 72u, 171u, + 251u, 197u, 147u, 136u, + 0u, 42u, 152u, 242u, + 160u, 143u, 74u, 90u, + 79u, 168u, 93u, 83u, + 160u, 60u, 152u, 47u, + 63u, 255u, 193u, 163u, + 194u, 7u, 89u, 194u, + 218u, 124u, 1u, 114u, + 114u, 179u, 209u, 153u, + 142u, 208u, 6u, 190u, + 136u, 114u, 133u, 173u, + 165u, 33u, 151u, 106u, + 136u, 147u, 139u, 174u, + 134u, 126u, 212u, 1u, + 109u, 183u, 185u, 131u, + 181u, 255u, 18u, 147u, + 68u, 216u, 105u, 204u, + 164u, 202u, 51u, 121u, + 126u, 62u, 194u, 170u, + 37u, 83u, 15u, 152u, + 17u, 124u, 161u, 0u, + 114u, 10u, 160u, 182u, + 97u, 156u, 67u, 255u, + 37u, 130u, 52u, 96u, + 167u, 169u, 107u, 203u, + 222u, 94u, 181u, 142u, + 137u, 126u, 0u, 124u, + 42u, 101u, 9u, 168u, + 117u, 32u, 176u, 38u, + 62u, 47u, 153u, 113u, + 193u, 203u, 173u, 92u, + 66u, 153u, 200u, 121u, + 195u, 230u, 78u, 169u, + 128u, 110u, 147u, 255u, + 216u, 66u, 140u, 117u, + 78u, 90u, 126u, 115u, + 255u, 40u, 79u, 74u, + 46u, 124u, 65u, 119u, + 174u, 194u, 63u, 117u, + 82u, 158u, 1u, 39u, + 87u, 180u, 134u, 8u, + 129u, 158u, 187u, 158u, + 130u, 242u, 184u, 0u, + 56u, 181u, 96u, 176u, + 69u, 135u, 173u, 78u, + 219u, 129u, 213u, 237u, + 103u, 255u, 242u, 63u, + 152u, 93u, 17u, 230u, + 194u, 149u, 161u, 163u, + 159u, 114u, 150u, 169u, + 138u, 159u, 131u, 39u, + 100u, 34u, 92u, 231u, + 174u, 192u, 255u, 197u, + 150u, 147u, 88u, 115u, + 24u, 162u, 158u, 230u, + 88u, 168u, 1u, 98u, + 78u, 188u, 178u, 69u, + 165u, 7u, 174u, 206u, + 141u, 168u, 89u, 115u, + 141u, 95u, 144u, 53u, + 0u, 238u, 63u, 206u, + 107u, 170u, 102u, 113u, + 154u, 93u, 74u, 64u, + 76u, 0u, 58u, 75u, + 133u, 193u, 110u, 98u, + 8u, 75u, 248u, 95u, + 166u, 69u, 124u, 99u, + 147u, 128u, 126u, 152u, + 255u, 166u, 94u, 137u, + 100u, 188u, 103u, 114u, + 90u, 110u, 240u, 111u, + 101u, 200u, 35u, 158u, + 255u, 87u, 200u, 77u, + 99u, 130u, 95u, 224u, + 132u, 132u, 170u, 106u, + 182u, 106u, 189u, 255u, + 151u, 76u, 84u, 93u, + 49u, 189u, 106u, 172u, + 99u, 100u, 210u, 82u, + 122u, 117u, 115u, 1u, + 80u, 137u, 47u, 74u, + 93u, 157u, 118u, 177u, + 174u, 105u, 133u, 132u, + 154u, 79u, 124u, 255u, + 114u, 112u, 151u, 173u, + 21u, 105u, 172u, 114u, + 152u, 172u, 101u, 157u, + 76u, 101u, 85u, 122u, + 118u, 0u, 203u, 110u, + 129u, 196u, 128u, 144u, + 133u, 154u, 255u, 56u, + 83u, 174u, 182u, 201u, + 26u, 87u, 82u, 99u, + 100u, 171u, 137u, 242u, + 159u, 92u, 1u, 218u, + 204u, 144u, 117u, 191u, + 181u, 117u, 145u, 203u, + 158u, 248u, 29u, 10u, + 40u, 151u, 156u, 113u, + 0u, 204u, 191u, 174u, + 139u, 201u, 64u, 147u, + 148u, 133u, 171u, 95u, + 170u, 123u, 56u, 14u, + 153u, 8u, 171u, 86u, + 255u, 16u, 142u, 224u, + 27u, 64u, 55u, 215u, + 189u, 117u, 255u, 161u, + 252u, 105u, 218u, 190u, + 60u, 122u, 115u, 26u, + 255u, 184u, 246u, 27u, + 109u, 80u, 209u, 151u, + 42u, 145u, 165u, 75u, + 134u, 170u, 154u, 98u, + 119u, 1u, 153u, 102u, + 178u, 81u, 52u, 163u, + 217u, 124u, 121u, 176u, + 166u, 255u, 172u, 253u, + 102u, 98u, 0u, 142u, + 126u, 111u, 32u, 127u, + 98u, 41u, 198u, 156u, + 32u, 124u, 7u, 99u, + 125u, 100u, 255u, 100u, + 193u, 90u, 1u, 155u, + 66u, 193u, 210u, 158u, + 138u, 188u, 61u, 147u, + 162u, 197u, 88u, 50u, + 75u, 219u, 214u, 101u, + 20u, 134u, 112u, 115u, + 137u, 115u, 180u, 212u, + 209u, 48u, 175u, 0u, + 153u, 132u, 164u, 135u, + 211u, 194u, 133u, 255u, + 176u, 84u, 93u, 151u, + 150u, 159u, 118u, 139u, + 173u, 100u, 255u, 182u, + 144u, 168u, 188u, 60u, + 11u, 134u, 110u, 180u, + 178u, 133u, 127u, 7u, + 136u, 62u, 124u, 135u, + 1u, 122u, 174u, 116u, + 139u, 112u, 154u, 167u, + 89u, 38u, 64u, 194u, + 255u, 170u, 206u, 158u, + 71u, 120u, 254u, 42u, + 142u, 138u, 42u, 8u, + 162u, 57u, 158u, 151u, + 195u, 163u, 123u, 147u, + 182u, 128u, 179u, 1u, + 203u, 131u, 87u, 103u, + 48u, 218u, 217u, 118u, + 168u, 147u, 20u, 125u, + 182u, 74u, 130u, 171u, + 70u, 159u, 131u, 153u, + 99u, 1u, 60u, 56u, + 134u, 194u, 200u, 244u, + 19u, 126u, 220u, 234u, + 158u, 67u, 127u, 143u, + 88u, 94u, 9u, 255u, + 209u, 130u, 96u, 37u, + 169u, 0u, 71u, 115u, + 50u, 154u, 238u, 177u, + 178u, 214u, 39u, 19u, + 150u, 229u, 88u, 223u, + 68u, 255u, 9u, 44u, + 153u, 42u, 236u, 121u, + 224u, 111u, 142u, 89u, + 0u, 128u, 132u, 163u, + 189u, 183u, 212u, 2u, + 99u, 101u, 117u, 37u, + 75u, 14u, 211u, 44u, + 80u, 115u, 43u, 255u, + 112u, 202u, 163u, 100u, + 85u, 212u, 38u, 103u, + 183u, 185u, 104u, 231u, + 183u, 51u, 176u, 112u, + 255u, 97u, 164u, 132u, + 127u, 99u, 91u, 41u, + 113u, 176u, 118u, 175u, + 145u, 186u, 65u, 223u, + 120u, 144u, 103u, 0u, + 125u, 112u, 50u, 139u, + 136u, 90u, 100u, 137u, + 15u, 82u, 65u, 229u, + 122u, 114u, 134u, 1u, + 162u, 255u, 95u, 166u, + 172u, 96u, 94u, 27u, + 134u, 99u, 122u, 93u, + 75u, 187u, 255u, 109u, + 192u, 178u, 52u, 110u, + 168u, 185u, 62u, 76u, + 94u, 69u, 132u, 106u, + 87u, 4u, 1u, 27u, + 0u, 163u, 188u, 69u, + 101u, 55u, 221u, 137u, + 146u, 39u, 55u, 94u, + 152u, 104u, 137u, 64u, + 109u, 167u, 100u, 255u, + 111u, 242u, 159u, 166u, + 125u, 1u, 104u, 207u, + 0u, 17u, 180u, 13u, + 89u, 232u, 67u, 93u, + 35u, 73u, 99u, 228u, + 177u, 148u, 230u, 134u, + 111u, 119u, 111u, 60u, + 54u, 117u, 121u, 1u, + 201u, 70u, 201u, 113u, + 143u, 95u, 60u, 123u, + 184u, 54u, 1u, 95u, + 163u, 69u, 163u, 207u, + 57u, 106u, 136u, 250u, + 118u, 135u, 127u, 159u, + 255u, 24u, 66u, 50u, + 26u, 91u, 39u, 124u, + 194u, 129u, 236u, 125u, + 38u, 118u, 161u, 111u, + 121u, 78u, 164u, 207u, + 131u, 157u, 36u, 76u, + 56u, 86u, 186u, 255u, + 122u, 151u, 128u, 146u, + 1u, 157u, 221u, 202u, + 160u, 8u, 123u, 126u, + 135u, 19u, 114u, 153u, + 33u, 153u, 43u, 255u, + 223u, 83u, 117u, 83u, + 128u, 194u, 130u, 246u, + 156u, 163u, 182u, 107u, + 177u, 93u, 196u, 166u, + 186u, 54u, 71u, 201u, + 118u, 110u, 12u, 1u, + 59u, 81u, 160u, 116u, + 232u, 228u, 174u, 59u, + 76u, 1u, 88u, 43u, + 186u, 42u, 154u, 136u, + 134u, 138u, 46u, 59u, + 55u, 176u, 118u, 209u, + 78u, 124u, 112u, 96u, + 112u, 147u, 133u, 140u, + 1u, 59u, 69u, 187u, + 145u, 93u, 59u, 123u, + 109u, 82u, 105u, 255u, + 66u, 74u, 140u, 167u, + 67u, 47u, 142u, 160u, + 99u, 114u, 198u, 35u, + 31u, 115u, 7u, 84u, + 171u, 161u, 242u, 73u, + 46u, 107u, 158u, 255u, + 64u, 129u, 130u, 90u, + 160u, 156u, 139u, 139u, + 149u, 130u, 219u, 162u, + 149u, 255u, 105u, 119u, + 1u, 162u, 139u, 144u, + 69u, 100u, 188u, 136u, + 111u, 173u, 84u, 108u, + 111u, 79u, 122u, 72u, + 131u, 171u, 104u, 16u, + 79u, 202u, 92u, 255u, + 113u, 188u, 79u, 87u, + 183u, 111u, 26u, 62u, + 3u, 142u, 36u, 207u, + 96u, 170u, 62u, 109u, + 1u, 148u, 31u, 58u, + 69u, 199u, 149u, 183u, + 79u, 156u, 126u, 96u, + 192u, 151u, 255u, 123u, + 150u, 123u, 104u, 157u, + 138u, 173u, 182u, 140u, + 13u, 215u, 129u, 232u, + 40u, 154u, 154u, 194u, + 111u, 148u, 138u, 109u, + 255u, 74u, 104u, 54u, + 115u, 186u, 14u, 23u, + 109u, 255u, 96u, 179u, + 191u, 184u, 199u, 159u, + 239u, 169u, 155u, 213u, + 128u, 138u, 116u, 126u, + 112u, 92u, 93u, 56u, + 125u, 1u, 148u, 89u, + 60u, 147u, 145u, 126u, + 174u, 106u, 136u, 68u, + 168u, 195u, 157u, 86u, + 167u, 181u, 142u, 255u, + 127u, 123u, 64u, 161u, + 99u, 97u, 79u, 130u, + 114u, 132u, 137u, 150u, + 96u, 39u, 222u, 204u, + 214u, 1u, 85u, 188u, + 189u, 159u, 158u, 83u, + 182u, 1u, 130u, 176u, + 12u, 186u, 75u, 8u, + 82u, 66u, 200u, 81u, + 87u, 75u, 169u, 89u, + 147u, 0u, 201u, 63u, + 218u, 96u, 53u, 197u, + 98u, 205u, 189u, 58u, + 246u, 89u, 151u, 214u, + 70u, 126u, 207u, 167u, + 255u, 111u, 98u, 149u, + 101u, 10u, 146u, 74u, + 93u, 133u, 208u, 44u, + 249u, 103u, 106u, 74u, + 65u, 153u, 87u, 72u, + 75u, 145u, 255u, 132u, + 0u, 95u, 57u, 126u, + 107u, 202u, 122u, 165u, + 146u, 96u, 154u, 194u, + 162u, 123u, 178u, 132u, + 107u, 1u, 85u, 210u, + 207u, 127u, 97u, 27u, + 138u, 186u, 21u, 148u, + 247u, 178u, 156u, 255u, + 110u, 246u, 105u, 150u, + 70u, 172u, 0u, 188u, + 93u, 195u, 184u, 89u, + 117u, 136u, 148u, 152u, + 175u, 180u, 142u, 40u, + 142u, 108u, 20u, 72u, + 79u, 55u, 76u, 208u, + 1u, 161u, 221u, 234u, + 39u, 182u, 161u, 126u, + 105u, 60u, 88u, 7u, + 78u, 1u, 196u, 132u, + 140u, 192u, 145u, 176u, + 149u, 160u, 134u, 74u, + 115u, 181u, 246u, 89u, + 125u, 184u, 1u, 82u, + 138u, 148u, 188u, 121u, + 117u, 120u, 1u, 225u, + 197u, 6u, 93u, 127u, + 203u, 134u, 188u, 26u, + 85u, 75u, 69u, 50u, + 54u, 135u, 12u, 244u, + 44u, 144u, 127u, 85u, + 141u, 180u, 186u, 212u, + 95u, 1u, 68u, 129u, + 89u, 115u, 157u, 93u, + 83u, 168u, 255u, 69u, + 83u, 135u, 112u, 56u, + 153u, 77u, 169u, 200u, + 109u, 30u, 121u, 113u, + 208u, 209u, 214u, 96u, + 5u, 124u, 1u, 1u, + 198u, 233u, 138u, 95u, + 204u, 129u, 84u, 22u, + 1u, 97u, 98u, 108u, + 87u, 87u, 146u, 174u, + 120u, 138u, 48u, 70u, + 180u, 151u, 145u, 135u, + 155u, 255u, 117u, 124u, + 180u, 84u, 115u, 202u, + 101u, 136u, 39u, 82u, + 206u, 100u, 30u, 44u, + 129u, 165u, 141u, 168u, + 73u, 226u, 191u, 168u, + 138u, 255u, 127u, 154u, + 92u, 98u, 130u, 135u, + 85u, 125u, 56u, 185u, + 175u, 174u, 199u, 182u, + 51u, 0u, 128u, 89u, + 159u, 110u, 223u, 130u, + 151u, 149u, 222u, 114u, + 178u, 87u, 1u, 116u, + 139u, 102u, 67u, 132u, + 4u, 68u, 204u, 193u, + 222u, 224u, 11u, 173u, + 38u, 57u, 1u, 96u, + 26u, 141u, 88u, 154u, + 127u, 110u, 113u, 106u, + 56u, 114u, 204u, 180u, + 188u, 146u, 81u, 139u, + 56u, 255u, 89u, 134u, + 100u, 116u, 120u, 123u, + 117u, 42u, 154u, 148u, + 54u, 212u, 186u, 124u, + 147u, 1u, 133u, 95u, + 56u, 219u, 133u, 116u, + 38u, 157u, 23u, 193u, + 146u, 119u, 255u, 98u, + 76u, 67u, 175u, 155u, + 112u, 165u, 172u, 40u, + 232u, 124u, 186u, 103u, + 182u, 202u, 78u, 122u, + 156u, 80u, 66u, 255u, + 255u, 182u, 41u, 147u, + 60u, 26u, 76u, 204u, + 242u, 169u, 162u, 143u, + 128u, 36u, 106u, 140u, + 66u, 164u, 107u, 29u, + 106u, 161u, 156u, 173u, + 214u, 92u, 255u, 167u, + 229u, 114u, 166u, 124u, + 123u, 144u, 59u, 212u, + 59u, 187u, 0u, 136u, + 36u, 174u, 163u, 100u, + 95u, 147u, 164u, 217u, + 233u, 180u, 188u, 172u, + 21u, 162u, 120u, 1u, + 171u, 161u, 243u, 200u, + 239u, 57u, 87u, 112u, + 165u, 151u, 97u, 146u, + 200u, 58u, 150u, 1u, + 178u, 100u, 171u, 166u, + 117u, 109u, 191u, 130u, + 58u, 172u, 6u, 104u, + 1u, 173u, 89u, 211u, + 142u, 137u, 161u, 137u, + 12u, 211u, 36u, 145u, + 11u, 177u, 255u, 35u, + 134u, 202u, 122u, 168u, + 93u, 126u, 124u, 165u, + 145u, 147u, 166u, 195u, + 93u, 20u, 1u, 13u, + 143u, 146u, 49u, 81u, + 174u, 49u, 214u, 209u, + 221u, 115u, 16u, 50u, + 132u, 186u, 190u, 125u, + 98u, 125u, 255u, 118u, + 42u, 196u, 98u, 166u, + 120u, 164u, 68u, 117u, + 115u, 57u, 181u, 182u, + 145u, 249u, 118u, 77u, + 64u, 79u, 0u, 39u, + 221u, 231u, 87u, 197u, + 123u, 118u, 109u, 180u, + 14u, 95u, 85u, 129u, + 88u, 175u, 255u, 145u, + 170u, 29u, 175u, 95u, + 79u, 170u, 171u, 179u, + 255u, 69u, 158u, 45u, + 152u, 159u, 128u, 169u, + 66u, 178u, 181u, 100u, + 142u, 129u, 173u, 177u, + 169u, 220u, 193u, 86u, + 142u, 0u, 125u, 140u, + 178u, 164u, 122u, 172u, + 105u, 144u, 86u, 157u, + 1u, 222u, 159u, 175u, + 103u, 151u, 168u, 70u, + 169u, 130u, 87u, 172u, + 167u, 150u, 164u, 1u, + 217u, 137u, 140u, 139u, + 144u, 206u, 122u, 123u, + 142u, 12u, 82u, 147u, + 157u, 66u, 137u, 78u, + 150u, 87u, 255u, 241u, + 50u, 113u, 30u, 65u, + 63u, 89u, 148u, 111u, + 101u, 134u, 128u, 199u, + 76u, 69u, 1u, 98u, + 164u, 109u, 67u, 54u, + 80u, 158u, 126u, 37u, + 136u, 63u, 157u, 137u, + 151u, 1u, 231u, 202u, + 57u, 145u, 243u, 178u, + 145u, 125u, 136u, 52u, + 156u, 128u, 149u, 98u, + 1u, 220u, 84u, 27u, + 127u, 175u, 173u, 122u, + 112u, 117u, 106u, 214u, + 98u, 134u, 80u, 186u, + 0u, 239u, 215u, 127u, + 141u, 123u, 152u, 40u, + 178u, 85u, 182u, 54u, + 92u, 133u, 134u, 73u, + 193u, 0u, 247u, 139u, + 102u, 119u, 27u, 19u, + 112u, 56u, 55u, 105u, + 112u, 128u, 151u, 126u, + 248u, 65u, 255u, 102u, + 130u, 127u, 160u, 156u, + 238u, 110u, 110u, 56u, + 150u, 191u, 1u, 143u, + 77u, 146u, 183u, 213u, + 27u, 89u, 32u, 3u, + 171u, 11u, 70u, 86u, + 9u, 98u, 66u, 149u, + 80u, 42u, 64u, 211u, + 79u, 125u, 68u, 94u, + 184u, 255u, 160u, 37u, + 207u, 142u, 220u, 31u, + 127u, 161u, 145u, 69u, + 38u, 7u, 0u, 87u, + 74u, 204u, 14u, 191u, + 129u, 177u, 139u, 155u, + 38u, 193u, 104u, 194u, + 128u, 66u, 137u, 27u, + 17u, 255u, 162u, 102u, + 25u, 73u, 128u, 117u, + 112u, 240u, 40u, 71u, + 83u, 210u, 215u, 146u, + 203u, 1u, 102u, 159u, + 1u, 204u, 119u, 122u, + 121u, 133u, 172u, 163u, + 113u, 101u, 161u, 128u, + 46u, 94u, 57u, 171u, + 139u, 227u, 91u, 144u, + 39u, 130u, 12u, 80u, + 128u, 209u, 255u, 173u, + 144u, 47u, 174u, 105u, + 149u, 93u, 127u, 71u, + 255u, 129u, 1u, 35u, + 205u, 131u, 188u, 212u, + 151u, 144u, 211u, 233u, + 117u, 163u, 46u, 123u, + 64u, 178u, 182u, 186u, + 187u, 73u, 215u, 156u, + 208u, 137u, 176u, 1u, + 150u, 154u, 187u, 124u, + 130u, 116u, 123u, 1u, + 125u, 90u, 129u, 73u, + 82u, 163u, 177u, 126u, + 123u, 154u, 119u, 136u, + 111u, 110u, 78u, 142u, + 95u, 39u, 255u, 104u, + 138u, 193u, 52u, 181u, + 100u, 64u, 133u, 241u, + 35u, 202u, 255u, 12u, + 148u, 182u, 214u, 172u, + 177u, 55u, 195u, 150u, + 129u, 107u, 126u, 141u, + 162u, 32u, 220u, 7u, + 212u, 13u, 38u, 255u, + 211u, 238u, 165u, 124u, + 53u, 121u, 86u, 127u, + 125u, 124u, 162u, 227u, + 119u, 162u, 200u, 128u, + 108u, 51u, 89u, 255u, + 29u, 159u, 102u, 0u, + 123u, 212u, 137u, 170u, + 220u, 192u, 152u, 241u, + 70u, 125u, 179u, 126u, + 198u, 48u, 76u, 140u, + 208u, 151u, 135u, 7u, + 81u, 46u, 90u, 1u, + 155u, 223u, 114u, 45u, + 33u, 95u, 110u, 207u, + 154u, 147u, 240u, 104u, + 255u, 17u, 34u, 88u, + 73u, 136u, 140u, 162u, + 110u, 95u, 168u, 129u, + 222u, 83u, 85u, 181u, + 134u, 182u, 24u, 158u, + 58u, 117u, 1u, 106u, + 120u, 181u, 134u, 68u, + 1u, 102u, 162u, 124u, + 62u, 203u, 178u, 136u, + 69u, 132u, 84u, 144u, + 157u, 64u, 51u, 255u, + 132u, 35u, 74u, 51u, + 111u, 112u, 157u, 79u, + 95u, 43u, 78u, 157u, + 208u, 149u, 136u, 224u, + 98u, 154u, 156u, 56u, + 77u, 94u, 69u, 50u, + 255u, 64u, 90u, 64u, + 190u, 123u, 82u, 97u, + 255u, 142u, 69u, 76u, + 241u, 104u, 83u, 131u, + 239u, 142u, 230u, 125u, + 53u, 171u, 177u, 62u, + 28u, 110u, 161u, 57u, + 73u, 160u, 87u, 164u, + 55u, 113u, 164u, 255u, + 200u, 156u, 123u, 64u, + 255u, 160u, 224u, 46u, + 106u, 202u, 48u, 188u, + 182u, 70u, 226u, 137u, + 42u, 104u, 49u, 142u, + 209u, 161u, 255u, 101u, + 79u, 105u, 32u, 165u, + 206u, 133u, 153u, 116u, + 92u, 155u, 74u, 6u, + 164u, 0u, 135u, 183u, + 50u, 115u, 181u, 158u, + 99u, 240u, 148u, 63u, + 201u, 207u, 69u, 255u, + 59u, 195u, 153u, 55u, + 41u, 74u, 176u, 229u, + 229u, 216u, 132u, 92u, + 168u, 105u, 141u, 0u, + 149u, 182u, 61u, 39u, + 43u, 140u, 176u, 150u, + 133u, 84u, 194u, 202u, + 1u, 173u, 132u, 158u, + 179u, 150u, 99u, 110u, + 97u, 29u, 150u, 185u, + 114u, 210u, 186u, 231u, + 121u, 179u, 79u, 183u, + 150u, 208u, 1u, 128u, + 76u, 196u, 188u, 102u, + 139u, 144u, 155u, 86u, + 99u, 119u, 110u, 123u, + 149u, 85u, 58u, 160u, + 149u, 255u, 67u, 19u, + 65u, 1u, 154u, 192u, + 255u, 131u, 126u, 2u, + 40u, 175u, 176u, 146u, + 102u, 162u, 209u, 254u, + 253u, 194u, 115u, 229u, + 164u, 235u, 106u, 1u, + 69u, 181u, 115u, 130u, + 130u, 163u, 155u, 41u, + 155u, 139u, 89u, 137u, + 123u, 212u, 98u, 54u, + 65u, 197u, 87u, 255u, + 139u, 40u, 253u, 145u, + 247u, 101u, 143u, 125u, + 191u, 106u, 32u, 234u, + 7u, 188u, 255u, 166u, + 164u, 166u, 34u, 112u, + 136u, 77u, 115u, 73u, + 0u, 37u, 53u, 181u, + 55u, 56u, 41u, 107u, + 68u, 42u, 171u, 130u, + 25u, 130u, 139u, 135u, + 143u, 68u, 146u, 161u, + 220u, 144u, 103u, 20u, + 1u, 145u, 71u, 158u, + 138u, 129u, 156u, 166u, + 105u, 109u, 158u, 51u, + 22u, 63u, 1u, 57u, + 184u, 69u, 173u, 7u, + 81u, 148u, 105u, 177u, + 122u, 105u, 44u, 86u, + 1u, 84u, 127u, 169u, + 112u, 246u, 163u, 124u, + 65u, 158u, 77u, 81u, + 156u, 67u, 223u, 181u, + 76u, 122u, 135u, 186u, + 157u, 65u, 85u, 186u, + 61u, 134u, 119u, 0u, + 76u, 116u, 126u, 185u, + 93u, 149u, 223u, 35u, + 84u, 130u, 255u, 250u, + 246u, 169u, 203u, 110u, + 255u, 166u, 142u, 77u, + 16u, 156u, 125u, 252u, + 186u, 83u, 208u, 126u, + 183u, 117u, 54u, 128u, + 168u, 105u, 187u, 98u, + 94u, 161u, 255u, 82u, + 140u, 113u, 115u, 123u, + 48u, 97u, 188u, 179u, + 65u, 68u, 6u, 164u, + 124u, 130u, 3u, 255u, + 216u, 130u, 190u, 141u, + 150u, 46u, 98u, 79u, + 126u, 144u, 240u, 1u, + 34u, 104u, 231u, 75u, + 73u, 174u, 127u, 130u, + 192u, 110u, 120u, 67u, + 49u, 94u, 255u, 26u, + 125u, 206u, 14u, 161u, + 222u, 189u, 242u, 244u, + 65u, 211u, 31u, 166u, + 2u, 168u, 70u, 173u, + 70u, 132u, 177u, 200u, + 207u, 92u, 166u, 223u, + 180u, 38u, 161u, 1u, + 82u, 184u, 197u, 133u, + 131u, 90u, 216u, 79u, + 37u, 132u, 132u, 233u, + 1u, 103u, 186u, 235u, + 83u, 110u, 38u, 200u, + 22u, 178u, 160u, 114u, + 124u, 203u, 216u, 255u, + 95u, 180u, 58u, 119u, + 119u, 74u, 255u, 172u, + 37u, 169u, 219u, 127u, + 151u, 199u, 52u, 156u, + 34u, 168u, 9u, 56u, + 1u, 101u, 92u, 170u, + 124u, 87u, 188u, 119u, + 209u, 130u, 192u, 173u, + 158u, 69u, 144u, 136u, + 121u, 181u, 175u, 167u, + 136u, 115u, 253u, 224u, + 191u, 123u, 55u, 154u, + 182u, 115u, 1u, 116u, + 57u, 255u, 158u, 44u, + 95u, 116u, 144u, 71u, + 137u, 109u, 113u, 99u, + 140u, 141u, 129u, 109u, + 140u, 204u, 168u, 132u, + 170u, 136u, 255u, 35u, + 114u, 137u, 92u, 159u, + 168u, 183u, 99u, 22u, + 164u, 108u, 95u, 131u, + 155u, 62u, 130u, 82u, + 128u, 131u, 202u, 255u, + 199u, 82u, 90u, 35u, + 164u, 208u, 167u, 0u, + 116u, 145u, 53u, 163u, + 149u, 87u, 236u, 155u, + 49u, 127u, 118u, 143u, + 116u, 138u, 196u, 32u, + 168u, 104u, 93u, 255u, + 178u, 141u, 110u, 100u, + 173u, 136u, 66u, 143u, + 172u, 123u, 167u, 63u, + 152u, 212u, 83u, 207u, + 127u, 129u, 125u, 142u, + 255u, 142u, 153u, 83u, + 243u, 134u, 125u, 91u, + 138u, 91u, 134u, 0u, + 159u, 40u, 50u, 112u, + 93u, 191u, 176u, 182u, + 91u, 147u, 187u, 160u, + 120u, 110u, 206u, 88u, + 225u, 181u, 134u, 146u, + 192u, 255u, 2u, 143u, + 64u, 114u, 1u, 158u, + 36u, 147u, 192u, 186u, + 121u, 164u, 130u, 200u, + 117u, 86u, 147u, 73u, + 0u, 134u, 239u, 76u, + 177u, 69u, 184u, 67u, + 69u, 129u, 108u, 182u, + 68u, 51u, 132u, 223u, + 104u, 118u, 89u, 161u, + 176u, 187u, 65u, 98u, + 139u, 135u, 153u, 102u, + 133u, 255u, 175u, 211u, + 94u, 99u, 1u, 110u, + 134u, 117u, 132u, 180u, + 39u, 153u, 123u, 133u, + 179u, 123u, 135u, 130u, + 126u, 135u, 187u, 91u, + 195u, 186u, 195u, 235u, + 187u, 1u, 192u, 153u, + 148u, 214u, 180u, 163u, + 101u, 101u, 142u, 115u, + 224u, 78u, 183u, 171u, + 108u, 222u, 96u, 126u, + 93u, 110u, 1u, 76u, + 106u, 124u, 119u, 41u, + 164u, 82u, 149u, 132u, + 138u, 188u, 246u, 155u, + 42u, 255u, 145u, 134u, + 186u, 77u, 181u, 102u, + 218u, 121u, 119u, 77u, + 50u, 9u, 54u, 1u, + 145u, 127u, 145u, 80u, + 111u, 152u, 143u, 136u, + 0u, 177u, 92u, 144u, + 113u, 95u, 119u, 122u, + 164u, 76u, 85u, 196u, + 199u, 110u, 100u, 79u, + 113u, 49u, 255u, 87u, + 81u, 181u, 246u, 57u, + 145u, 152u, 26u, 105u, + 76u, 163u, 128u, 38u, + 150u, 199u, 201u, 129u, + 88u, 156u, 111u, 63u, + 56u, 166u, 255u, 252u, + 122u, 154u, 82u, 239u, + 85u, 95u, 157u, 25u, + 100u, 33u, 78u, 1u, + 14u, 155u, 111u, 152u, + 150u, 86u, 160u, 98u, + 140u, 105u, 94u, 102u, + 255u, 128u, 177u, 110u, + 120u, 78u, 138u, 120u, + 135u, 173u, 107u, 159u, + 0u, 99u, 112u, 161u, + 158u, 152u, 153u, 204u, + 171u, 160u, 144u, 120u, + 164u, 198u, 112u, 62u, + 157u, 177u, 88u, 164u, + 0u, 174u, 207u, 150u, + 169u, 175u, 126u, 118u, + 70u, 175u, 114u, 82u, + 21u, 129u, 84u, 122u, + 0u, 152u, 235u, 218u, + 205u, 100u, 203u, 99u, + 255u, 125u, 143u, 47u, + 112u, 47u, 141u, 191u, + 97u, 82u, 181u, 195u, + 138u, 208u, 58u, 109u, + 241u, 154u, 148u, 45u, + 164u, 54u, 81u, 178u, + 67u, 125u, 1u, 24u, + 212u, 193u, 206u, 154u, + 1u, 204u, 110u, 95u, + 83u, 113u, 10u, 103u, + 129u, 153u, 189u, 27u, + 42u, 20u, 148u, 133u, + 64u, 242u, 114u, 53u, + 101u, 120u, 39u, 145u, + 230u, 194u, 218u, 182u, + 131u, 140u, 82u, 1u, + 126u, 168u, 122u, 74u, + 186u, 1u, 51u, 108u, + 130u, 111u, 163u, 153u, + 61u, 95u, 30u, 53u, + 218u, 1u, 43u, 128u, + 127u, 248u, 107u, 142u, + 198u, 73u, 116u, 142u, + 65u, 178u, 171u, 133u, + 184u, 83u, 102u, 230u, + 124u, 156u, 59u, 69u, + 134u, 255u, 78u, 46u, + 119u, 9u, 190u, 99u, + 160u, 80u, 123u, 108u, + 198u, 185u, 187u, 97u, + 204u, 142u, 0u, 140u, + 162u, 164u, 140u, 172u, + 1u, 166u, 137u, 98u, + 98u, 87u, 169u, 239u, + 149u, 133u, 120u, 162u, + 197u, 74u, 29u, 116u, + 176u, 209u, 78u, 46u, + 1u, 159u, 182u, 181u, + 130u, 151u, 199u, 180u, + 55u, 2u, 90u, 112u, + 190u, 104u, 164u, 93u, + 106u, 145u, 44u, 151u, + 83u, 33u, 37u, 66u, + 1u, 148u, 113u, 93u, + 26u, 3u, 85u, 126u, + 138u, 126u, 93u, 95u, + 176u, 204u, 126u, 70u, + 91u, 83u, 219u, 1u, + 178u, 176u, 87u, 140u, + 174u, 239u, 51u, 196u, + 131u, 222u, 38u, 157u, + 175u, 197u, 178u, 255u, + 234u, 86u, 209u, 1u, + 93u, 135u, 171u, 154u, + 148u, 90u, 239u, 196u, + 155u, 141u, 86u, 255u, + 121u, 124u, 36u, 121u, + 199u, 186u, 155u, 104u, + 54u, 84u, 16u, 89u, + 148u, 111u, 255u, 39u, + 165u, 255u, 47u, 144u, + 86u, 139u, 115u, 117u, + 131u, 70u, 213u, 119u, + 110u, 89u, 174u, 185u, + 67u, 101u, 1u, 26u, + 63u, 110u, 193u, 99u, + 63u, 113u, 229u, 51u, + 77u, 188u, 149u, 143u, + 1u, 61u, 89u, 74u, + 61u, 122u, 150u, 163u, + 255u, 185u, 194u, 130u, + 131u, 138u, 149u, 152u, + 93u, 184u, 111u, 1u, + 196u, 102u, 83u, 66u, + 184u, 208u, 137u, 158u, + 142u, 4u, 193u, 141u, + 62u, 122u, 200u, 132u, + 168u, 122u, 155u, 58u, + 150u, 185u, 166u, 92u, + 219u, 1u, 180u, 44u, + 116u, 51u, 171u, 102u, + 255u, 196u, 94u, 94u, + 106u, 19u, 51u, 96u, + 134u, 158u, 59u, 81u, + 132u, 235u, 186u, 70u, + 181u, 255u, 35u, 194u, + 131u, 50u, 66u, 92u, + 119u, 222u, 106u, 215u, + 110u, 225u, 206u, 130u, + 84u, 232u, 149u, 136u, + 12u, 176u, 200u, 164u, + 63u, 143u, 1u, 87u, + 239u, 113u, 203u, 124u, + 98u, 57u, 168u, 97u, + 167u, 126u, 226u, 205u, + 134u, 214u, 220u, 0u, + 116u, 104u, 154u, 91u, + 140u, 35u, 88u, 138u, + 161u, 185u, 153u, 255u, + 180u, 222u, 180u, 91u, + 153u, 99u, 206u, 102u, + 255u, 153u, 23u, 77u, + 94u, 176u, 123u, 169u, + 211u, 153u, 63u, 153u, + 60u, 52u, 150u, 80u, + 79u, 47u, 255u, 138u, + 73u, 245u, 78u, 207u, + 132u, 50u, 111u, 205u, + 1u, 87u, 175u, 134u, + 114u, 98u, 105u, 230u, + 132u, 102u, 65u, 57u, + 101u, 120u, 19u, 35u, + 168u, 33u, 115u, 187u, + 255u, 62u, 188u, 131u, + 130u, 85u, 25u, 187u, + 214u, 188u, 184u, 53u, + 229u, 1u, 221u, 170u, + 154u, 191u, 198u, 76u, + 44u, 121u, 148u, 156u, + 174u, 79u, 152u, 182u, + 110u, 166u, 105u, 255u, + 101u, 95u, 159u, 35u, + 112u, 122u, 68u, 142u, + 119u, 140u, 116u, 82u, + 162u, 255u, 223u, 191u, + 133u, 199u, 66u, 33u, + 70u, 78u, 99u, 142u, + 193u, 89u, 94u, 8u, + 69u, 144u, 89u, 179u, + 175u, 85u, 130u, 216u, + 139u, 61u, 116u, 137u, + 125u, 15u, 255u, 117u, + 69u, 148u, 248u, 22u, + 84u, 89u, 196u, 116u, + 124u, 206u, 130u, 110u, + 167u, 101u, 91u, 255u, + 40u, 117u, 129u, 44u, + 1u, 83u, 202u, 220u, + 77u, 93u, 80u, 102u, + 14u, 118u, 104u, 228u, + 161u, 96u, 98u, 170u, + 137u, 104u, 94u, 151u, + 115u, 175u, 163u, 143u, + 125u, 103u, 1u, 187u, + 23u, 12u, 115u, 171u, + 78u, 149u, 165u, 69u, + 176u, 104u, 1u, 109u, + 194u, 78u, 95u, 216u, + 202u, 1u, 193u, 116u, + 69u, 154u, 68u, 156u, + 171u, 164u, 174u, 85u, + 39u, 146u, 134u, 155u, + 144u, 164u, 97u, 216u, + 130u, 249u, 150u, 157u, + 1u, 138u, 22u, 188u, + 152u, 45u, 212u, 209u, + 158u, 153u, 44u, 255u, + 183u, 145u, 237u, 111u, + 213u, 86u, 70u, 97u, + 90u, 63u, 154u, 47u, + 103u, 163u, 119u, 75u, + 157u, 115u, 100u, 161u, + 181u, 113u, 192u, 208u, + 189u, 255u, 104u, 116u, + 132u, 155u, 192u, 65u, + 94u, 138u, 108u, 101u, + 147u, 44u, 230u, 255u, + 150u, 238u, 86u, 86u, + 0u, 47u, 29u, 82u, + 180u, 188u, 11u, 141u, + 75u, 112u, 19u, 17u, + 80u, 104u, 75u, 123u, + 154u, 153u, 1u, 44u, + 169u, 66u, 90u, 107u, + 207u, 176u, 230u, 112u, + 171u, 81u, 186u, 221u, + 1u, 111u, 66u, 176u, + 116u, 176u, 112u, 234u, + 72u, 153u, 245u, 68u, + 233u, 11u, 196u, 175u, + 49u, 53u, 22u, 138u, + 146u, 201u, 255u, 196u, + 77u, 93u, 150u, 25u, + 196u, 63u, 252u, 76u, + 233u, 147u, 152u, 238u, + 206u, 124u, 123u, 81u, + 89u, 88u, 126u, 163u, + 151u, 113u, 1u, 7u, + 151u, 130u, 255u, 99u, + 224u, 82u, 140u, 147u, + 111u, 147u, 54u, 127u, + 107u, 91u, 190u, 46u, + 62u, 152u, 83u, 106u, + 92u, 184u, 113u, 239u, + 36u, 105u, 255u, 192u, + 247u, 102u, 38u, 160u, + 119u, 127u, 65u, 87u, + 136u, 113u, 178u, 173u, + 193u, 112u, 68u, 178u, + 84u, 115u, 1u, 251u, + 30u, 199u, 0u, 105u, + 170u, 71u, 235u, 72u, + 53u, 40u, 202u, 195u, + 3u, 212u, 5u, 49u, + 118u, 104u, 114u, 132u, + 74u, 143u, 80u, 129u, + 128u, 130u, 166u, 55u, + 101u, 179u, 1u, 154u, + 168u, 112u, 45u, 119u, + 17u, 149u, 180u, 154u, + 191u, 255u, 151u, 163u, + 138u, 130u, 126u, 177u, + 216u, 76u, 59u, 238u, + 249u, 0u, 75u, 112u, + 124u, 130u, 170u, 218u, + 73u, 132u, 179u, 63u, + 34u, 97u, 47u, 195u, + 101u, 129u, 81u, 57u, + 255u, 106u, 218u, 212u, + 34u, 110u, 66u, 96u, + 1u, 157u, 16u, 180u, + 89u, 206u, 143u, 145u, + 155u, 195u, 142u, 75u, + 131u, 101u, 84u, 4u, + 130u, 83u, 239u, 38u, + 221u, 142u, 182u, 126u, + 65u, 134u, 89u, 116u, + 209u, 163u, 255u, 176u, + 174u, 146u, 83u, 60u, + 138u, 118u, 145u, 255u, + 41u, 125u, 154u, 133u, + 125u, 102u, 109u, 122u, + 167u, 123u, 18u, 134u, + 137u, 204u, 100u, 196u, + 89u, 157u, 75u, 11u, + 39u, 255u, 249u, 94u, + 100u, 194u, 160u, 167u, + 60u, 142u, 100u, 1u, + 143u, 106u, 178u, 88u, + 67u, 74u, 74u, 132u, + 215u, 119u, 131u, 168u, + 101u, 102u, 88u, 116u, + 67u, 126u, 49u, 76u, + 127u, 216u, 185u, 255u, + 148u, 90u, 160u, 103u, + 112u, 70u, 47u, 92u, + 190u, 121u, 113u, 186u, + 255u, 62u, 194u, 102u, + 153u, 151u, 96u, 145u, + 13u, 119u, 157u, 255u, + 91u, 208u, 179u, 79u, + 115u, 115u, 137u, 152u, + 140u, 130u, 156u, 101u, + 137u, 111u, 155u, 140u, + 165u, 144u, 221u, 173u, + 145u, 191u, 171u, 1u, + 182u, 136u, 161u, 80u, + 158u, 116u, 114u, 111u, + 103u, 142u, 121u, 255u, + 151u, 118u, 108u, 107u, + 177u, 175u, 170u, 86u, + 202u, 47u, 163u, 0u, + 115u, 194u, 27u, 113u, + 189u, 196u, 133u, 73u, + 102u, 24u, 159u, 65u, + 192u, 31u, 160u, 0u, + 237u, 119u, 148u, 215u, + 179u, 135u, 204u, 138u, + 2u, 120u, 82u, 214u, + 123u, 74u, 135u, 112u, + 160u, 138u, 136u, 110u, + 140u, 88u, 100u, 0u, + 163u, 111u, 134u, 59u, + 186u, 106u, 70u, 149u, + 136u, 140u, 76u, 88u, + 26u, 134u, 127u, 255u, + 160u, 170u, 80u, 176u, + 128u, 84u, 128u, 112u, + 184u, 189u, 63u, 58u, + 148u, 141u, 125u, 1u, + 255u, 201u, 188u, 142u, + 199u, 140u, 132u, 115u, + 171u, 86u, 50u, 199u, + 190u, 207u, 95u, 154u, + 116u, 164u, 97u, 150u, + 54u, 1u, 137u, 120u, + 13u, 152u, 76u, 159u, + 53u, 87u, 115u, 123u, + 111u, 95u, 242u, 114u, + 250u, 104u, 255u, 12u, + 82u, 96u, 20u, 157u, + 216u, 164u, 144u, 54u, + 136u, 116u, 11u, 80u, + 58u, 84u, 89u, 91u, + 118u, 255u, 164u, 85u, + 242u, 89u, 167u, 145u, + 1u, 68u, 138u, 113u, + 111u, 56u, 19u, 53u, + 102u, 71u, 138u, 82u, + 60u, 154u, 165u, 174u, + 30u, 172u, 255u, 77u, + 41u, 228u, 99u, 161u, + 74u, 196u, 108u, 98u, + 146u, 56u, 162u, 248u, + 96u, 108u, 169u, 111u, + 186u, 154u, 1u, 55u, + 141u, 169u, 156u, 63u, + 91u, 54u, 136u, 202u, + 255u, 68u, 164u, 7u, + 130u, 161u, 92u, 230u, + 118u, 119u, 157u, 148u, + 162u, 138u, 144u, 105u, + 186u, 153u, 95u, 208u, + 158u, 92u, 120u, 255u, + 180u, 133u, 166u, 181u, + 111u, 133u, 159u, 92u, + 208u, 132u, 105u, 97u, + 28u, 202u, 42u, 57u, + 171u, 102u, 241u, 198u, + 155u, 255u, 164u, 220u, + 132u, 1u, 144u, 73u, + 76u, 65u, 105u, 230u, + 153u, 96u, 66u, 75u, + 31u, 149u, 155u, 192u, + 196u, 206u, 95u, 53u, + 124u, 165u, 151u, 255u, + 198u, 142u, 146u, 140u, + 132u, 144u, 142u, 79u, + 156u, 102u, 247u, 42u, + 213u, 95u, 45u, 73u, + 18u, 174u, 128u, 1u, + 60u, 152u, 128u, 217u, + 187u, 99u, 163u, 139u, + 147u, 79u, 154u, 248u, + 175u, 255u, 29u, 106u, + 223u, 92u, 86u, 43u, + 95u, 48u, 189u, 255u, + 111u, 121u, 13u, 95u, + 157u, 50u, 72u, 88u, + 2u, 120u, 31u, 217u, + 109u, 89u, 48u, 255u, + 36u, 172u, 196u, 134u, + 53u, 234u, 174u, 148u, + 128u, 68u, 74u, 99u, + 158u, 92u, 131u, 107u, + 189u, 100u, 141u, 1u, + 106u, 107u, 162u, 133u, + 156u, 212u, 175u, 113u, + 166u, 174u, 138u, 90u, + 19u, 21u, 255u, 172u, + 163u, 177u, 220u, 205u, + 123u, 149u, 153u, 78u, + 184u, 132u, 173u, 87u, + 114u, 182u, 206u, 220u, + 127u, 177u, 49u, 82u, + 152u, 64u, 1u, 136u, + 157u, 112u, 219u, 170u, + 49u, 174u, 5u, 19u, + 115u, 118u, 49u, 1u, + 144u, 147u, 107u, 124u, + 217u, 24u, 216u, 34u, + 50u, 0u, 137u, 159u, + 98u, 213u, 92u, 58u, + 108u, 144u, 145u, 120u, + 1u, 161u, 34u, 251u, + 54u, 133u, 157u, 21u, + 208u, 124u, 172u, 163u, + 16u, 167u, 165u, 161u, + 238u, 119u, 31u, 93u, + 138u, 255u, 240u, 223u, + 177u, 85u, 102u, 208u, + 114u, 221u, 97u, 179u, + 237u, 189u, 163u, 106u, + 222u, 122u, 143u, 161u, + 189u, 156u, 224u, 177u, + 172u, 90u, 231u, 1u, + 111u, 37u, 255u, 202u, + 61u, 146u, 203u, 93u, + 185u, 139u, 106u, 236u, + 194u, 222u, 126u, 191u, + 152u, 53u, 172u, 84u, + 114u, 127u, 183u, 20u, + 101u, 56u, 87u, 79u, + 255u, 213u, 119u, 118u, + 101u, 193u, 91u, 171u, + 106u, 255u, 43u, 171u, + 120u, 160u, 121u, 97u, + 160u, 96u, 149u, 209u, + 103u, 188u, 153u, 145u, + 213u, 41u, 150u, 107u, + 53u, 0u, 132u, 198u, + 117u, 215u, 94u, 42u, + 217u, 135u, 206u, 103u, + 165u, 90u, 144u, 135u, + 168u, 133u, 134u, 35u, + 176u, 70u, 255u, 102u, + 102u, 78u, 157u, 148u, + 156u, 112u, 43u, 146u, + 167u, 92u, 193u, 1u, + 13u, 159u, 56u, 117u, + 148u, 131u, 72u, 217u, + 111u, 255u, 84u, 210u, + 111u, 132u, 80u, 98u, + 159u, 85u, 139u, 132u, + 115u, 89u, 99u, 155u, + 40u, 165u, 174u, 152u, + 238u, 113u, 71u, 159u, + 42u, 174u, 86u, 1u, + 163u, 168u, 206u, 188u, + 116u, 255u, 116u, 140u, + 98u, 121u, 58u, 161u, + 141u, 55u, 140u, 186u, + 57u, 102u, 95u, 157u, + 64u, 158u, 69u, 171u, + 84u, 151u, 133u, 204u, + 55u, 105u, 176u, 0u, + 105u, 119u, 161u, 36u, + 109u, 150u, 146u, 150u, + 143u, 98u, 110u, 1u, + 76u, 113u, 200u, 85u, + 128u, 255u, 177u, 129u, + 102u, 161u, 100u, 114u, + 89u, 189u, 165u, 46u, + 63u, 117u, 116u, 152u, + 161u, 19u, 106u, 132u, + 80u, 219u, 130u, 146u, + 255u, 75u, 206u, 74u, + 59u, 179u, 118u, 156u, + 130u, 167u, 150u, 119u, + 122u, 193u, 139u, 140u, + 154u, 100u, 255u, 138u, + 170u, 177u, 137u, 140u, + 178u, 223u, 167u, 134u, + 78u, 70u, 38u, 235u, + 255u, 25u, 211u, 184u, + 74u, 70u, 55u, 28u, + 49u, 101u, 255u, 113u, + 82u, 247u, 250u, 154u, + 195u, 109u, 88u, 125u, + 75u, 107u, 105u, 58u, + 213u, 129u, 96u, 120u, + 17u, 93u, 113u, 141u, + 97u, 160u, 255u, 144u, + 130u, 115u, 137u, 157u, + 11u, 130u, 163u, 133u, + 28u, 112u, 71u, 73u, + 123u, 201u, 58u, 182u, + 1u, 126u, 126u, 114u, + 154u, 140u, 81u, 114u, + 0u, 79u, 102u, 191u, + 189u, 126u, 186u, 145u, + 68u, 110u, 147u, 153u, + 227u, 77u, 116u, 255u, + 106u, 178u, 134u, 150u, + 156u, 169u, 42u, 69u, + 135u, 165u, 149u, 62u, + 189u, 255u, 26u, 107u, + 93u, 97u, 99u, 211u, + 73u, 124u, 99u, 72u, + 143u, 99u, 33u, 73u, + 146u, 186u, 104u, 76u, + 151u, 179u, 76u, 255u, + 139u, 78u, 165u, 44u, + 124u, 158u, 126u, 36u, + 99u, 22u, 179u, 156u, + 187u, 77u, 1u, 125u, + 131u, 94u, 107u, 148u, + 193u, 45u, 113u, 113u, + 82u, 91u, 195u, 156u, + 54u, 85u, 30u, 70u, + 200u, 164u, 255u, 91u, + 26u, 60u, 151u, 249u, + 182u, 255u, 191u, 97u, + 152u, 133u, 191u, 223u, + 217u, 106u, 90u, 123u, + 102u, 72u, 201u, 47u, + 91u, 109u, 102u, 190u, + 1u, 111u, 232u, 193u, + 119u, 40u, 134u, 100u, + 216u, 152u, 106u, 114u, + 100u, 135u, 112u, 188u, + 145u, 160u, 168u, 64u, + 61u, 153u, 141u, 110u, + 255u, 62u, 127u, 119u, + 90u, 99u, 255u, 129u, + 160u, 176u, 109u, 200u, + 101u, 156u, 46u, 148u, + 175u, 35u, 130u, 113u, + 74u, 189u, 62u, 8u, + 8u, 199u, 68u, 156u, + 231u, 64u, 246u, 110u, + 1u, 156u, 69u, 108u, + 1u, 179u, 119u, 164u, + 137u, 148u, 209u, 138u, + 112u, 160u, 69u, 197u, + 181u, 51u, 73u, 181u, + 192u, 5u, 1u, 175u, + 84u, 48u, 109u, 162u, + 131u, 121u, 239u, 91u, + 253u, 42u, 188u, 126u, + 242u, 22u, 74u, 221u, + 244u, 147u, 119u, 173u, + 133u, 212u, 1u, 113u, + 108u, 138u, 182u, 171u, + 41u, 30u, 117u, 179u, + 94u, 120u, 92u, 63u, + 106u, 162u, 101u, 120u, + 100u, 127u, 140u, 255u, + 57u, 151u, 89u, 156u, + 238u, 133u, 162u, 81u, + 69u, 26u, 93u, 95u, + 74u, 255u, 151u, 99u, + 121u, 145u, 147u, 98u, + 90u, 108u, 1u, 56u, + 93u, 99u, 218u, 102u, + 149u, 89u, 76u, 168u, + 122u, 190u, 9u, 111u, + 135u, 117u, 165u, 102u, + 62u, 18u, 108u, 1u, + 238u, 105u, 120u, 200u, + 255u, 108u, 81u, 201u, + 164u, 64u, 25u, 102u, + 24u, 116u, 209u, 153u, + 74u, 64u, 93u, 9u, + 255u, 123u, 28u, 214u, + 144u, 98u, 121u, 116u, + 116u, 88u, 164u, 31u, + 146u, 201u, 105u, 88u, + 119u, 216u, 147u, 73u, + 205u, 182u, 115u, 170u, + 119u, 73u, 154u, 119u, + 255u, 234u, 158u, 71u, + 191u, 152u, 40u, 130u, + 66u, 94u, 1u, 148u, + 137u, 91u, 250u, 101u, + 81u, 106u, 104u, 61u, + 157u, 85u, 93u, 217u, + 191u, 170u, 252u, 255u, + 229u, 132u, 32u, 154u, + 212u, 72u, 247u, 78u, + 105u, 127u, 184u, 170u, + 99u, 122u, 144u, 127u, + 117u, 1u, 38u, 122u, + 59u, 110u, 64u, 175u, + 62u, 237u, 106u, 255u, + 10u, 230u, 235u, 154u, + 49u, 81u, 159u, 101u, + 165u, 192u, 107u, 68u, + 91u, 150u, 121u, 169u, + 59u, 197u, 69u, 255u, + 109u, 97u, 114u, 78u, + 59u, 78u, 102u, 92u, + 147u, 114u, 197u, 124u, + 122u, 87u, 153u, 153u, + 128u, 106u, 196u, 81u, + 173u, 182u, 255u, 105u, + 207u, 163u, 0u, 123u, + 183u, 80u, 77u, 162u, + 198u, 138u, 172u, 207u, + 81u, 73u, 82u, 103u, + 69u, 138u, 155u, 131u, + 29u, 147u, 40u, 101u, + 161u, 155u, 255u, 135u, + 156u, 45u, 192u, 128u, + 200u, 160u, 2u, 136u, + 84u, 99u, 6u, 136u, + 232u, 65u, 216u, 122u, + 121u, 179u, 1u, 1u, + 0u, 199u, 126u, 111u, + 101u, 130u, 156u, 154u, + 158u, 56u, 142u, 127u, + 95u, 130u, 99u, 219u, + 81u, 123u, 191u, 150u, + 30u, 103u, 206u, 75u, + 170u, 129u, 69u, 22u, + 137u, 1u, 44u, 135u, + 113u, 63u, 126u, 86u, + 190u, 94u, 133u, 120u, + 122u, 94u, 61u, 0u, + 130u, 215u, 111u, 151u, + 174u, 155u, 132u, 190u, + 115u, 167u, 92u, 50u, + 213u, 92u, 167u, 255u, + 178u, 114u, 64u, 142u, + 255u, 145u, 105u, 53u, + 90u, 127u, 102u, 71u, + 202u, 155u, 223u, 131u, + 206u, 104u, 102u, 218u, + 111u, 144u, 207u, 86u, + 101u, 135u, 127u, 108u, + 137u, 121u, 148u, 95u, + 66u, 109u, 151u, 255u, + 180u, 7u, 8u, 156u, + 27u, 1u, 49u, 103u, + 163u, 219u, 59u, 132u, + 68u, 224u, 87u, 83u, + 108u, 107u, 52u, 126u, + 172u, 125u, 115u, 62u, + 191u, 182u, 96u, 144u, + 1u, 250u, 173u, 93u, + 140u, 118u, 131u, 112u, + 148u, 227u, 182u, 25u, + 114u, 118u, 1u, 108u, + 118u, 124u, 126u, 179u, + 132u, 72u, 226u, 50u, + 20u, 106u, 252u, 110u, + 255u, 200u, 100u, 148u, + 182u, 17u, 86u, 107u, + 130u, 152u, 80u, 214u, + 21u, 93u, 192u, 145u, + 191u, 149u, 1u, 135u, + 107u, 118u, 208u, 163u, + 157u, 129u, 5u, 141u, + 151u, 135u, 178u, 119u, + 110u, 153u, 167u, 111u, + 204u, 82u, 255u, 123u, + 131u, 61u, 185u, 164u, + 151u, 207u, 89u, 104u, + 128u, 129u, 72u, 226u, + 61u, 178u, 40u, 255u, + 120u, 31u, 168u, 116u, + 82u, 124u, 57u, 148u, + 82u, 144u, 126u, 45u, + 114u, 1u, 154u, 185u, + 147u, 155u, 153u, 181u, + 137u, 119u, 0u, 117u, + 212u, 119u, 84u, 110u, + 246u, 31u, 248u, 131u, + 99u, 174u, 116u, 1u, + 119u, 223u, 132u, 136u, + 152u, 213u, 181u, 204u, + 67u, 92u, 88u, 164u, + 162u, 104u, 241u, 130u, + 189u, 210u, 137u, 1u, + 66u, 140u, 134u, 174u, + 180u, 46u, 135u, 186u, + 98u, 85u, 204u, 143u, + 173u, 86u, 96u, 163u, + 127u, 121u, 146u, 108u, + 59u, 255u, 130u, 101u, + 114u, 180u, 84u, 152u, + 1u, 170u, 78u, 154u, + 96u, 115u, 215u, 111u, + 119u, 93u, 138u, 152u, + 18u, 83u, 78u, 127u, + 109u, 233u, 61u, 28u, + 149u, 255u, 148u, 115u, + 75u, 63u, 175u, 99u, + 104u, 36u, 183u, 193u, + 240u, 1u, 142u, 102u, + 109u, 160u, 30u, 136u, + 37u, 176u, 172u, 102u, + 144u, 231u, 138u, 58u, + 164u, 157u, 201u, 150u, + 149u, 93u, 207u, 255u, + 151u, 199u, 78u, 167u, + 158u, 184u, 90u, 0u, + 59u, 39u, 105u, 249u, + 196u, 151u, 201u, 189u, + 115u, 20u, 175u, 98u, + 94u, 106u, 190u, 205u, + 112u, 159u, 119u, 1u, + 97u, 118u, 144u, 188u, + 72u, 139u, 148u, 205u, + 167u, 132u, 106u, 84u, + 109u, 191u, 255u, 120u, + 155u, 218u, 73u, 148u, + 83u, 250u, 113u, 138u, + 144u, 68u, 174u, 255u, + 70u, 185u, 138u, 142u, + 109u, 86u, 105u, 132u, + 135u, 107u, 133u, 124u, + 151u, 173u, 165u, 162u, + 16u, 0u, 90u, 221u, + 94u, 148u, 187u, 196u, + 42u, 88u, 135u, 143u, + 193u, 103u, 116u, 199u, + 106u, 119u, 191u, 143u, + 199u, 76u, 119u, 73u, + 185u, 128u, 152u, 255u, + 224u, 122u, 208u, 241u, + 165u, 104u, 95u, 100u, + 174u, 4u, 1u, 127u, + 211u, 91u, 85u, 55u, + 147u, 153u, 121u, 123u, + 92u, 137u, 1u, 169u, + 78u, 168u, 125u, 119u, + 116u, 46u, 121u, 121u, + 44u, 139u, 0u, 215u, + 97u, 112u, 18u, 146u, + 103u, 213u, 73u, 76u, + 132u, 76u, 5u, 154u, + 164u, 172u, 7u, 133u, + 158u, 91u, 1u, 153u, + 136u, 102u, 151u, 45u, + 109u, 114u, 103u, 69u, + 104u, 89u, 56u, 1u, + 117u, 138u, 132u, 112u, + 52u, 172u, 243u, 205u, + 131u, 106u, 93u, 234u, + 164u, 102u, 255u, 106u, + 190u, 117u, 114u, 156u, + 180u, 142u, 181u, 93u, + 164u, 97u, 92u, 35u, + 105u, 0u, 31u, 95u, + 253u, 155u, 132u, 22u, + 116u, 107u, 160u, 185u, + 177u, 179u, 64u, 54u, + 102u, 117u, 116u, 106u, + 176u, 172u, 209u, 183u, + 86u, 70u, 114u, 255u, + 59u, 22u, 132u, 149u, + 155u, 82u, 61u, 255u, + 153u, 101u, 207u, 66u, + 49u, 151u, 38u, 168u, + 174u, 142u, 82u, 119u, + 138u, 150u, 84u, 142u, + 0u, 79u, 113u, 169u, + 156u, 109u, 158u, 93u, + 134u, 105u, 193u, 112u, + 108u, 80u, 148u, 111u, + 162u, 0u, 198u, 88u, + 118u, 184u, 40u, 107u, + 59u, 31u, 140u, 130u, + 69u, 228u, 112u, 1u, + 139u, 95u, 201u, 177u, + 155u, 217u, 170u, 219u, + 185u, 157u, 118u, 141u, + 194u, 176u, 183u, 1u, + 166u, 65u, 114u, 155u, + 37u, 116u, 132u, 181u, + 42u, 120u, 91u, 156u, + 186u, 227u, 102u, 1u, + 218u, 183u, 198u, 200u, + 11u, 130u, 186u, 62u, + 132u, 219u, 166u, 83u, + 185u, 149u, 151u, 93u, + 16u, 92u, 116u, 91u, + 224u, 133u, 236u, 81u, + 185u, 115u, 245u, 1u, + 92u, 65u, 116u, 137u, + 114u, 146u, 47u, 118u, + 92u, 129u, 29u, 33u, + 8u, 114u, 174u, 255u, + 176u, 168u, 213u, 1u, + 111u, 109u, 238u, 152u, + 96u, 137u, 100u, 96u, + 170u, 131u, 58u, 92u, + 100u, 133u, 138u, 164u, + 75u, 219u, 179u, 213u, + 139u, 179u, 68u, 20u, + 255u, 159u, 156u, 127u, + 127u, 124u, 187u, 64u, + 255u, 123u, 176u, 107u, + 133u, 100u, 137u, 220u, + 73u, 125u, 112u, 232u, + 255u, 135u, 118u, 47u, + 194u, 183u, 120u, 167u, + 163u, 31u, 86u, 144u, + 164u, 135u, 132u, 73u, + 138u, 70u, 255u, 131u, + 129u, 179u, 67u, 118u, + 137u, 105u, 158u, 19u, + 88u, 233u, 120u, 193u, + 147u, 107u, 134u, 128u, + 7u, 167u, 222u, 44u, + 255u, 197u, 100u, 110u, + 163u, 142u, 133u, 205u, + 39u, 129u, 178u, 86u, + 185u, 119u, 188u, 211u, + 172u, 132u, 1u, 77u, + 145u, 143u, 114u, 27u, + 142u, 81u, 90u, 210u, + 49u, 50u, 179u, 141u, + 36u, 208u, 139u, 153u, + 118u, 1u, 149u, 60u, + 106u, 224u, 210u, 116u, + 132u, 61u, 82u, 127u, + 117u, 171u, 217u, 181u, + 110u, 1u, 112u, 134u, + 99u, 207u, 198u, 132u, + 191u, 180u, 155u, 39u, + 15u, 141u, 1u, 78u, + 147u, 148u, 232u, 217u, + 108u, 46u, 159u, 47u, + 189u, 115u, 197u, 93u, + 175u, 122u, 1u, 54u, + 113u, 130u, 134u, 95u, + 104u, 118u, 90u, 226u, + 255u, 201u, 62u, 19u, + 205u, 167u, 79u, 127u, + 149u, 246u, 148u, 154u, + 236u, 112u, 121u, 67u, + 103u, 67u, 149u, 255u, + 69u, 166u, 69u, 115u, + 116u, 93u, 161u, 128u, + 201u, 148u, 84u, 146u, + 149u, 141u, 140u, 114u, + 112u, 171u, 132u, 56u, + 131u, 163u, 255u, 107u, + 153u, 201u, 138u, 183u, + 25u, 36u, 143u, 1u, + 122u, 233u, 167u, 153u, + 237u, 172u, 168u, 123u, + 1u, 155u, 168u, 106u, + 107u, 180u, 125u, 147u, + 88u, 98u, 49u, 118u, + 63u, 154u, 115u, 250u, + 255u, 157u, 161u, 93u, + 83u, 117u, 88u, 45u, + 158u, 82u, 84u, 113u, + 91u, 174u, 149u, 152u, + 123u, 118u, 45u, 195u, + 138u, 191u, 134u, 154u, + 173u, 229u, 218u, 255u, + 255u, 60u, 120u, 208u, + 121u, 80u, 255u, 114u, + 142u, 90u, 228u, 88u, + 235u, 82u, 25u, 93u, + 126u, 170u, 147u, 110u, + 97u, 128u, 77u, 113u, + 72u, 1u, 8u, 183u, + 128u, 108u, 213u, 200u, + 176u, 17u, 27u, 171u, + 89u, 108u, 255u, 121u, + 123u, 26u, 250u, 182u, + 86u, 210u, 115u, 128u, + 20u, 95u, 128u, 153u, + 89u, 116u, 141u, 175u, + 102u, 146u, 126u, 114u, + 46u, 116u, 97u, 169u, + 53u, 15u, 155u, 255u, + 222u, 75u, 51u, 179u, + 44u, 145u, 151u, 206u, + 32u, 255u, 35u, 126u, + 127u, 164u, 168u, 150u, + 157u, 107u, 190u, 255u, + 166u, 178u, 187u, 147u, + 235u, 93u, 183u, 123u, + 142u, 139u, 157u, 166u, + 36u, 67u, 66u, 222u, + 168u, 172u, 1u, 83u, + 44u, 166u, 124u, 9u, + 125u, 89u, 54u, 95u, + 126u, 46u, 163u, 202u, + 142u, 19u, 157u, 216u, + 11u, 57u, 1u, 85u, + 139u, 100u, 61u, 204u, + 113u, 1u, 102u, 181u, + 103u, 136u, 120u, 128u, + 222u, 68u, 132u, 189u, + 156u, 145u, 79u, 120u, + 95u, 70u, 157u, 105u, + 194u, 71u, 233u, 109u, + 163u, 70u, 80u, 155u, + 171u, 105u, 74u, 1u, + 165u, 167u, 0u, 199u, + 65u, 132u, 87u, 158u, + 5u, 136u, 139u, 141u, + 104u, 163u, 166u, 176u, + 194u, 192u, 236u, 53u, + 255u, 207u, 11u, 69u, + 156u, 225u, 75u, 82u, + 225u, 103u, 61u, 118u, + 121u, 192u, 48u, 183u, + 241u, 169u, 103u, 12u, + 91u, 1u, 84u, 108u, + 166u, 167u, 153u, 83u, + 114u, 215u, 137u, 97u, + 124u, 221u, 114u, 148u, + 142u, 98u, 173u, 255u, + 134u, 105u, 87u, 161u, + 120u, 183u, 75u, 1u, + 191u, 58u, 138u, 162u, + 137u, 93u, 214u, 216u, + 107u, 145u, 130u, 98u, + 24u, 70u, 1u, 91u, + 43u, 185u, 245u, 150u, + 215u, 112u, 175u, 144u, + 168u, 146u, 148u, 173u, + 159u, 211u, 246u, 26u, + 157u, 157u, 78u, 95u, + 0u, 105u, 68u, 76u, + 195u, 207u, 169u, 165u, + 111u, 142u, 204u, 165u, + 85u, 116u, 37u, 152u, + 145u, 116u, 127u, 141u, + 1u, 149u, 55u, 216u, + 126u, 255u, 119u, 119u, + 94u, 150u, 91u, 94u, + 110u, 158u, 124u, 79u, + 94u, 171u, 118u, 117u, + 178u, 78u, 89u, 193u, + 78u, 167u, 1u, 137u, + 148u, 117u, 114u, 159u, + 147u, 156u, 102u, 187u, + 139u, 197u, 171u, 1u, + 150u, 120u, 173u, 126u, + 161u, 142u, 124u, 128u, + 160u, 198u, 134u, 69u, + 97u, 49u, 1u, 183u, + 225u, 103u, 170u, 175u, + 43u, 94u, 55u, 80u, + 139u, 67u, 86u, 94u, + 87u, 92u, 189u, 72u, + 127u, 80u, 170u, 146u, + 185u, 44u, 80u, 86u, + 38u, 205u, 120u, 255u, + 82u, 104u, 115u, 102u, + 255u, 65u, 44u, 168u, + 230u, 186u, 183u, 176u, + 98u, 142u, 150u, 60u, + 73u, 18u, 83u, 138u, + 87u, 255u, 140u, 168u, + 124u, 117u, 169u, 156u, + 209u, 215u, 195u, 213u, + 0u, 51u, 107u, 163u, + 168u, 203u, 203u, 73u, + 85u, 167u, 86u, 118u, + 236u, 143u, 97u, 84u, + 81u, 135u, 171u, 79u, + 93u, 255u, 157u, 141u, + 193u, 46u, 143u, 110u, + 112u, 24u, 105u, 155u, + 108u, 154u, 99u, 151u, + 177u, 79u, 167u, 172u, + 200u, 105u, 167u, 0u, + 93u, 188u, 191u, 198u, + 57u, 89u, 128u, 224u, + 176u, 145u, 245u, 204u, + 112u, 207u, 102u, 177u, + 90u, 142u, 255u, 94u, + 200u, 113u, 203u, 138u, + 161u, 134u, 9u, 47u, + 157u, 185u, 198u, 101u, + 128u, 255u, 38u, 62u, + 199u, 72u, 255u, 132u, + 175u, 144u, 106u, 20u, + 163u, 110u, 79u, 76u, + 184u, 214u, 122u, 80u, + 138u, 79u, 137u, 171u, + 141u, 176u, 99u, 66u, + 91u, 131u, 0u, 149u, + 83u, 130u, 184u, 137u, + 255u, 31u, 207u, 96u, + 129u, 3u, 198u, 119u, + 155u, 114u, 67u, 164u, + 188u, 191u, 162u, 105u, + 191u, 222u, 118u, 36u, + 153u, 189u, 34u, 110u, + 61u, 1u, 235u, 125u, + 232u, 226u, 143u, 42u, + 169u, 168u, 132u, 27u, + 45u, 60u, 129u, 94u, + 117u, 104u, 60u, 84u, + 210u, 176u, 1u, 63u, + 37u, 116u, 67u, 88u, + 0u, 112u, 96u, 189u, + 26u, 110u, 234u, 199u, + 105u, 21u, 62u, 154u, + 132u, 121u, 117u, 201u, + 92u, 96u, 29u, 69u, + 63u, 160u, 175u, 78u, + 193u, 1u, 153u, 43u, + 56u, 143u, 114u, 43u, + 130u, 111u, 175u, 143u, + 102u, 151u, 65u, 187u, + 138u, 1u, 170u, 196u, + 231u, 81u, 222u, 23u, + 15u, 138u, 67u, 113u, + 130u, 255u, 126u, 125u, + 60u, 154u, 36u, 227u, + 108u, 133u, 57u, 106u, + 70u, 38u, 154u, 64u, + 200u, 224u, 158u, 189u, + 32u, 108u, 41u, 1u, + 144u, 131u, 204u, 41u, + 197u, 186u, 127u, 255u, + 100u, 28u, 150u, 149u, + 133u, 119u, 137u, 130u, + 139u, 142u, 29u, 89u, + 194u, 107u, 107u, 74u, + 150u, 193u, 255u, 45u, + 162u, 107u, 240u, 164u, + 61u, 145u, 53u, 181u, + 75u, 180u, 90u, 111u, + 255u, 59u, 227u, 185u, + 78u, 128u, 90u, 137u, + 178u, 112u, 17u, 109u, + 149u, 60u, 248u, 71u, + 255u, 89u, 122u, 118u, + 170u, 137u, 137u, 75u, + 1u, 145u, 132u, 139u, + 110u, 113u, 201u, 53u, + 103u, 24u, 117u, 135u, + 119u, 67u, 180u, 131u, + 18u, 45u, 150u, 158u, + 88u, 90u, 130u, 1u, + 81u, 134u, 221u, 37u, + 119u, 72u, 134u, 145u, + 42u, 164u, 157u, 53u, + 88u, 180u, 201u, 156u, + 5u, 117u, 12u, 68u, + 19u, 26u, 100u, 255u, + 245u, 182u, 115u, 96u, + 180u, 140u, 17u, 78u, + 148u, 205u, 90u, 5u, + 255u, 144u, 38u, 64u, + 129u, 25u, 120u, 206u, + 115u, 116u, 0u, 74u, + 112u, 133u, 83u, 158u, + 127u, 160u, 24u, 38u, + 149u, 69u, 98u, 63u, + 69u, 255u, 74u, 219u, + 179u, 122u, 49u, 106u, + 25u, 151u, 122u, 133u, + 75u, 117u, 1u, 194u, + 99u, 200u, 173u, 139u, + 61u, 141u, 28u, 187u, + 120u, 139u, 118u, 149u, + 151u, 164u, 152u, 77u, + 88u, 27u, 170u, 1u, + 90u, 188u, 122u, 129u, + 174u, 52u, 177u, 145u, + 132u, 82u, 40u, 115u, + 150u, 139u, 235u, 174u, + 229u, 86u, 1u, 56u, + 91u, 121u, 116u, 91u, + 158u, 88u, 102u, 114u, + 141u, 105u, 144u, 124u, + 85u, 136u, 177u, 186u, + 237u, 144u, 255u, 91u, + 161u, 90u, 140u, 74u, + 188u, 184u, 91u, 185u, + 146u, 20u, 161u, 212u, + 173u, 214u, 1u, 120u, + 81u, 127u, 106u, 199u, + 1u, 109u, 150u, 145u, + 93u, 163u, 139u, 49u, + 187u, 29u, 142u, 93u, + 52u, 247u, 104u, 135u, + 144u, 20u, 96u, 80u, + 172u, 103u, 208u, 56u, + 118u, 1u, 92u, 132u, + 193u, 104u, 24u, 101u, + 162u, 104u, 74u, 219u, + 223u, 227u, 160u, 209u, + 37u, 64u, 1u, 63u, + 87u, 90u, 45u, 65u, + 186u, 122u, 110u, 86u, + 138u, 151u, 114u, 10u, + 155u, 105u, 140u, 1u, + 136u, 191u, 152u, 104u, + 123u, 156u, 126u, 169u, + 0u, 122u, 108u, 156u, + 103u, 103u, 181u, 96u, + 66u, 1u, 115u, 140u, + 209u, 145u, 176u, 249u, + 73u, 222u, 53u, 120u, + 159u, 152u, 189u, 43u, + 111u, 87u, 47u, 130u, + 170u, 105u, 127u, 148u, + 163u, 117u, 126u, 83u, + 159u, 255u, 107u, 98u, + 70u, 172u, 49u, 63u, + 255u, 133u, 72u, 104u, + 27u, 69u, 88u, 86u, + 96u, 232u, 103u, 141u, + 209u, 153u, 104u, 129u, + 191u, 225u, 86u, 45u, + 142u, 115u, 163u, 191u, + 255u, 195u, 116u, 96u, + 83u, 177u, 59u, 129u, + 44u, 55u, 67u, 116u, + 3u, 82u, 255u, 193u, + 173u, 252u, 76u, 178u, + 223u, 1u, 82u, 229u, + 105u, 141u, 67u, 60u, + 157u, 147u, 196u, 147u, + 255u, 32u, 186u, 71u, + 125u, 175u, 109u, 93u, + 120u, 144u, 157u, 139u, + 56u, 192u, 140u, 222u, + 255u, 80u, 137u, 153u, + 23u, 65u, 117u, 146u, + 152u, 79u, 156u, 83u, + 205u, 238u, 255u, 116u, + 225u, 135u, 73u, 132u, + 169u, 127u, 130u, 183u, + 115u, 118u, 92u, 182u, + 93u, 100u, 52u, 0u, + 62u, 201u, 125u, 120u, + 57u, 90u, 66u, 127u, + 152u, 112u, 240u, 102u, + 82u, 84u, 52u, 5u, + 185u, 117u, 255u, 54u, + 163u, 148u, 90u, 188u, + 99u, 141u, 124u, 62u, + 1u, 33u, 146u, 107u, + 67u, 169u, 125u, 145u, + 116u, 101u, 121u, 3u, + 174u, 32u, 1u, 68u, + 143u, 163u, 176u, 120u, + 4u, 44u, 108u, 91u, + 123u, 178u, 70u, 49u, + 72u, 104u, 102u, 255u, + 142u, 191u, 190u, 151u, + 134u, 77u, 156u, 124u, + 97u, 174u, 93u, 109u, + 106u, 189u, 84u, 49u, + 255u, 23u, 173u, 100u, + 178u, 163u, 113u, 185u, + 228u, 119u, 84u, 255u, + 178u, 133u, 89u, 180u, + 160u, 193u, 92u, 80u, + 95u, 189u, 141u, 158u, + 48u, 118u, 205u, 251u, + 62u, 61u, 121u, 11u, + 46u, 143u, 43u, 143u, + 226u, 10u, 241u, 255u, + 150u, 148u, 112u, 131u, + 55u, 133u, 167u, 152u, + 176u, 106u, 255u, 193u, + 98u, 132u, 138u, 180u, + 184u, 85u, 255u, 125u, + 145u, 71u, 203u, 102u, + 146u, 105u, 54u, 115u, + 148u, 127u, 136u, 19u, + 75u, 85u, 77u, 118u, + 0u, 45u, 127u, 160u, + 121u, 141u, 137u, 170u, + 59u, 154u, 137u, 216u, + 121u, 119u, 170u, 90u, + 140u, 105u, 255u, 149u, + 141u, 137u, 95u, 172u, + 158u, 64u, 119u, 137u, + 80u, 105u, 164u, 81u, + 5u, 255u, 186u, 82u, + 114u, 245u, 92u, 183u, + 172u, 172u, 182u, 163u, + 161u, 158u, 184u, 39u, + 164u, 153u, 115u, 163u, + 165u, 53u, 188u, 212u, + 69u, 255u, 70u, 148u, + 144u, 77u, 57u, 86u, + 197u, 50u, 192u, 220u, + 107u, 75u, 79u, 159u, + 156u, 255u, 127u, 32u, + 134u, 86u, 115u, 202u, + 155u, 205u, 1u, 58u, + 112u, 28u, 96u, 41u, + 163u, 191u, 125u, 111u, + 255u, 157u, 67u, 168u, + 82u, 166u, 167u, 255u, + 95u, 167u, 144u, 32u, + 176u, 98u, 30u, 78u, + 37u, 101u, 130u, 115u, + 147u, 105u, 210u, 134u, + 184u, 130u, 1u, 109u, + 187u, 97u, 159u, 59u, + 121u, 85u, 110u, 144u, + 255u, 107u, 207u, 36u, + 148u, 91u, 51u, 119u, + 133u, 175u, 191u, 143u, + 155u, 210u, 93u, 255u, + 145u, 113u, 90u, 88u, + 134u, 34u, 223u, 172u, + 95u, 157u, 52u, 146u, + 29u, 153u, 145u, 90u, + 62u, 43u, 83u, 195u, + 127u, 253u, 224u, 51u, + 0u, 51u, 169u, 206u, + 109u, 114u, 52u, 71u, + 255u, 175u, 118u, 101u, + 113u, 120u, 78u, 133u, + 104u, 132u, 117u, 155u, + 127u, 187u, 170u, 142u, + 120u, 93u, 62u, 200u, + 150u, 98u, 255u, 61u, + 38u, 219u, 141u, 82u, + 56u, 158u, 231u, 33u, + 160u, 129u, 255u, 91u, + 54u, 239u, 73u, 146u, + 182u, 105u, 253u, 102u, + 103u, 71u, 211u, 145u, + 182u, 202u, 142u, 183u, + 239u, 118u, 0u, 79u, + 72u, 124u, 134u, 106u, + 113u, 126u, 153u, 93u, + 255u, 123u, 85u, 219u, + 153u, 45u, 92u, 109u, + 192u, 55u, 55u, 46u, + 84u, 134u, 141u, 99u, + 119u, 86u, 1u, 96u, + 170u, 134u, 226u, 160u, + 144u, 63u, 150u, 145u, + 146u, 80u, 200u, 127u, + 77u, 130u, 142u, 234u, + 186u, 114u, 232u, 47u, + 66u, 14u, 52u, 1u, + 57u, 234u, 108u, 255u, + 74u, 37u, 71u, 166u, + 78u, 192u, 180u, 175u, + 25u, 73u, 143u, 168u, + 58u, 64u, 118u, 207u, + 226u, 255u, 10u, 117u, + 126u, 163u, 100u, 166u, + 66u, 202u, 55u, 156u, + 53u, 90u, 151u, 98u, + 139u, 83u, 119u, 161u, + 121u, 255u, 175u, 175u, + 125u, 21u, 75u, 128u, + 251u, 75u, 147u, 93u, + 125u, 255u, 141u, 172u, + 119u, 144u, 143u, 201u, + 127u, 223u, 61u, 141u, + 140u, 188u, 108u, 213u, + 156u, 125u, 93u, 132u, + 127u, 255u, 44u, 108u, + 186u, 89u, 62u, 60u, + 132u, 36u, 3u, 255u, + 83u, 175u, 247u, 46u, + 132u, 176u, 25u, 125u, + 110u, 214u, 54u, 94u, + 185u, 124u, 74u, 168u, + 122u, 36u, 225u, 175u, + 255u, 74u, 81u, 253u, + 7u, 95u, 19u, 39u, + 196u, 168u, 155u, 69u, + 255u, 90u, 124u, 81u, + 150u, 100u, 115u, 151u, + 157u, 198u, 185u, 49u, + 255u, 64u, 176u, 147u, + 16u, 145u, 186u, 90u, + 152u, 125u, 62u, 133u, + 156u, 123u, 87u, 125u, + 65u, 112u, 145u, 125u, + 103u, 181u, 108u, 137u, + 149u, 140u, 156u, 162u, + 114u, 106u, 166u, 255u, + 163u, 103u, 185u, 146u, + 255u, 122u, 196u, 157u, + 216u, 134u, 50u, 69u, + 27u, 109u, 170u, 99u, + 121u, 101u, 159u, 190u, + 124u, 56u, 187u, 1u, + 56u, 146u, 36u, 92u, + 165u, 91u, 94u, 178u, + 171u, 139u, 141u, 106u, + 111u, 103u, 154u, 159u, + 115u, 146u, 93u, 170u, + 72u, 107u, 1u, 29u, + 184u, 89u, 173u, 87u, + 1u, 242u, 79u, 165u, + 128u, 231u, 95u, 41u, + 38u, 59u, 106u, 228u, + 65u, 173u, 110u, 127u, + 26u, 151u, 136u, 152u, + 139u, 176u, 100u, 125u, + 235u, 58u, 105u, 255u, + 73u, 137u, 137u, 101u, + 102u, 33u, 20u, 139u, + 63u, 138u, 134u, 1u, + 72u, 137u, 232u, 156u, + 140u, 108u, 112u, 105u, + 122u, 125u, 0u, 86u, + 145u, 177u, 106u, 64u, + 121u, 118u, 106u, 169u, + 134u, 106u, 101u, 131u, + 67u, 139u, 255u, 2u, + 191u, 95u, 217u, 99u, + 121u, 159u, 14u, 111u, + 129u, 198u, 117u, 34u, + 160u, 154u, 0u, 131u, + 41u, 107u, 240u, 89u, + 237u, 162u, 242u, 76u, + 104u, 121u, 205u, 24u, + 92u, 142u, 176u, 146u, + 107u, 173u, 153u, 139u, + 178u, 1u, 115u, 150u, + 133u, 61u, 55u, 169u, + 45u, 102u, 32u, 91u, + 127u, 210u, 184u, 108u, + 102u, 1u, 78u, 173u, + 0u, 81u, 72u, 202u, + 110u, 136u, 96u, 107u, + 204u, 125u, 153u, 90u, + 63u, 52u, 250u, 182u, + 163u, 94u, 253u, 121u, + 138u, 87u, 162u, 60u, + 155u, 82u, 183u, 127u, + 156u, 1u, 95u, 63u, + 173u, 113u, 59u, 96u, + 91u, 107u, 171u, 176u, + 174u, 160u, 156u, 213u, + 153u, 236u, 124u, 0u, + 107u, 70u, 135u, 171u, + 220u, 129u, 108u, 129u, + 248u, 255u, 92u, 33u, + 135u, 113u, 61u, 119u, + 156u, 150u, 65u, 75u, + 143u, 1u, 123u, 174u, + 149u, 244u, 255u, 187u, + 150u, 157u, 28u, 92u, + 107u, 72u, 119u, 1u, + 238u, 52u, 142u, 195u, + 120u, 171u, 113u, 226u, + 116u, 171u, 64u, 147u, + 41u, 53u, 188u, 81u, + 17u, 191u, 58u, 128u, + 48u, 86u, 169u, 30u, + 255u, 57u, 52u, 139u, + 255u, 182u, 198u, 94u, + 164u, 237u, 162u, 161u, + 213u, 183u, 96u, 168u, + 173u, 178u, 126u, 173u, + 132u, 140u, 0u, 71u, + 219u, 1u, 114u, 64u, + 180u, 224u, 209u, 156u, + 152u, 131u, 123u, 61u, + 179u, 255u, 116u, 229u, + 48u, 211u, 113u, 165u, + 157u, 75u, 141u, 187u, + 181u, 87u, 64u, 158u, + 51u, 110u, 112u, 171u, + 1u, 113u, 87u, 196u, + 114u, 186u, 179u, 70u, + 24u, 1u, 36u, 218u, + 119u, 67u, 185u, 144u, + 240u, 166u, 142u, 23u, + 84u, 149u, 115u, 202u, + 27u, 100u, 19u, 255u, + 164u, 108u, 136u, 39u, + 184u, 135u, 71u, 97u, + 118u, 127u, 197u, 220u, + 165u, 142u, 175u, 255u, + 255u, 162u, 201u, 161u, + 160u, 137u, 109u, 138u, + 202u, 206u, 148u, 172u, + 143u, 148u, 157u, 117u, + 150u, 224u, 145u, 74u, + 182u, 184u, 28u, 174u, + 166u, 181u, 197u, 159u, + 255u, 126u, 112u, 74u, + 129u, 23u, 120u, 115u, + 148u, 63u, 122u, 184u, + 255u, 125u, 145u, 157u, + 79u, 174u, 94u, 46u, + 119u, 85u, 121u, 181u, + 54u, 179u, 185u, 181u, + 28u, 255u, 36u, 110u, + 226u, 142u, 191u, 136u, + 136u, 207u, 255u, 127u, + 132u, 173u, 138u, 182u, + 128u, 62u, 129u, 102u, + 168u, 140u, 201u, 162u, + 172u, 145u, 214u, 212u, + 185u, 121u, 65u, 143u, + 250u, 5u, 1u, 48u, + 176u, 122u, 142u, 85u, + 140u, 207u, 76u, 83u, + 84u, 255u, 231u, 223u, + 185u, 185u, 58u, 158u, + 191u, 14u, 107u, 70u, + 113u, 28u, 28u, 177u, + 255u, 220u, 9u, 186u, + 211u, 104u, 172u, 192u, + 82u, 66u, 139u, 129u, + 52u, 123u, 100u, 255u, + 116u, 123u, 229u, 145u, + 73u, 111u, 105u, 25u, + 135u, 123u, 100u, 107u, + 117u, 197u, 81u, 189u, + 186u, 154u, 150u, 102u, + 171u, 80u, 52u, 1u, + 151u, 168u, 82u, 11u, + 137u, 143u, 132u, 190u, + 1u, 179u, 63u, 145u, + 135u, 87u, 154u, 45u, + 104u, 120u, 128u, 188u, + 255u, 136u, 204u, 141u, + 234u, 114u, 94u, 82u, + 119u, 192u, 69u, 66u, + 115u, 10u, 130u, 201u, + 173u, 132u, 1u, 80u, + 117u, 124u, 149u, 165u, + 79u, 178u, 90u, 58u, + 88u, 219u, 103u, 151u, + 75u, 189u, 174u, 159u, + 93u, 131u, 219u, 170u, + 211u, 51u, 96u, 90u, + 190u, 44u, 1u, 39u, + 137u, 63u, 189u, 255u, + 55u, 139u, 187u, 155u, + 129u, 110u, 106u, 108u, + 141u, 41u, 99u, 157u, + 82u, 143u, 125u, 134u, + 111u, 117u, 101u, 137u, + 207u, 132u, 96u, 152u, + 138u, 1u, 59u, 44u, + 189u, 195u, 100u, 98u, + 132u, 195u, 154u, 255u, + 177u, 123u, 194u, 241u, + 132u, 152u, 27u, 134u, + 123u, 127u, 53u, 149u, + 124u, 137u, 73u, 97u, + 74u, 78u, 1u, 36u, + 78u, 145u, 56u, 178u, + 1u, 203u, 63u, 242u, + 207u, 119u, 27u, 87u, + 109u, 17u, 84u, 74u, + 75u, 124u, 213u, 69u, + 229u, 127u, 148u, 114u, + 255u, 128u, 113u, 169u, + 205u, 126u, 153u, 200u, + 174u, 119u, 55u, 43u, + 136u, 121u, 204u, 177u, + 28u, 110u, 236u, 53u, + 141u, 38u, 149u, 255u, + 119u, 48u, 151u, 214u, + 117u, 83u, 125u, 160u, + 47u, 136u, 127u, 154u, + 255u, 220u, 178u, 173u, + 167u, 59u, 181u, 109u, + 129u, 66u, 113u, 120u, + 121u, 118u, 106u, 87u, + 198u, 200u, 133u, 163u, + 125u, 83u, 255u, 149u, + 62u, 158u, 226u, 0u, + 118u, 127u, 66u, 171u, + 137u, 154u, 198u, 130u, + 77u, 158u, 102u, 92u, + 45u, 220u, 245u, 160u, + 113u, 87u, 204u, 39u, + 87u, 52u, 162u, 63u, + 63u, 255u, 169u, 141u, + 133u, 118u, 148u, 151u, + 89u, 104u, 246u, 63u, + 77u, 143u, 116u, 194u, + 184u, 255u, 214u, 164u, + 98u, 125u, 98u, 15u, + 71u, 120u, 29u, 255u, + 204u, 178u, 85u, 53u, + 26u, 97u, 100u, 107u, + 190u, 90u, 92u, 160u, + 188u, 254u, 166u, 93u, + 63u, 154u, 117u, 182u, + 255u, 91u, 202u, 47u, + 210u, 87u, 247u, 102u, + 189u, 1u, 149u, 186u, + 140u, 133u, 120u, 112u, + 91u, 100u, 100u, 51u, + 186u, 207u, 97u, 182u, + 46u, 170u, 8u, 155u, + 120u, 64u, 192u, 87u, + 101u, 7u, 255u, 103u, + 93u, 110u, 101u, 255u, + 89u, 171u, 60u, 52u, + 87u, 127u, 130u, 110u, + 109u, 127u, 125u, 52u, + 143u, 129u, 121u, 166u, + 148u, 126u, 56u, 46u, + 195u, 50u, 166u, 200u, + 118u, 55u, 0u, 113u, + 189u, 133u, 221u, 153u, + 132u, 164u, 69u, 55u, + 221u, 145u, 148u, 180u, + 77u, 173u, 1u, 67u, + 105u, 150u, 143u, 57u, + 98u, 94u, 100u, 128u, + 104u, 255u, 174u, 152u, + 119u, 78u, 141u, 141u, + 210u, 94u, 186u, 128u, + 39u, 164u, 142u, 167u, + 188u, 149u, 255u, 231u, + 206u, 64u, 94u, 72u, + 153u, 105u, 128u, 108u, + 197u, 98u, 120u, 168u, + 142u, 52u, 122u, 255u, + 33u, 123u, 149u, 113u, + 108u, 106u, 10u, 154u, + 21u, 221u, 140u, 27u, + 255u, 71u, 215u, 230u, + 113u, 95u, 157u, 170u, + 1u, 108u, 141u, 200u, + 102u, 105u, 159u, 59u, + 153u, 152u, 159u, 165u, + 155u, 45u, 92u, 163u, + 119u, 122u, 82u, 228u, + 86u, 101u, 114u, 161u, + 255u, 142u, 139u, 56u, + 165u, 110u, 100u, 140u, + 201u, 255u, 212u, 171u, + 75u, 209u, 214u, 178u, + 76u, 116u, 156u, 184u, + 152u, 65u, 51u, 91u, + 138u, 252u, 177u, 97u, + 101u, 106u, 0u, 139u, + 137u, 226u, 184u, 150u, + 42u, 108u, 227u, 184u, + 76u, 225u, 123u, 234u, + 152u, 79u, 187u, 210u, + 23u, 255u, 223u, 140u, + 144u, 131u, 165u, 248u, + 151u, 69u, 157u, 140u, + 177u, 154u, 198u, 119u, + 108u, 171u, 1u, 31u, + 154u, 219u, 121u, 95u, + 151u, 32u, 219u, 121u, + 57u, 39u, 117u, 185u, + 62u, 190u, 80u, 39u, + 57u, 154u, 255u, 112u, + 176u, 191u, 90u, 99u, + 112u, 173u, 76u, 190u, + 138u, 83u, 171u, 130u, + 123u, 255u, 100u, 117u, + 57u, 251u, 151u, 164u, + 171u, 235u, 110u, 123u, + 186u, 171u, 1u, 165u, + 253u, 177u, 143u, 134u, + 29u, 113u, 198u, 1u, + 60u, 213u, 148u, 59u, + 102u, 193u, 81u, 38u, + 129u, 225u, 109u, 140u, + 134u, 164u, 143u, 180u, + 255u, 29u, 151u, 171u, + 111u, 92u, 121u, 187u, + 152u, 129u, 98u, 90u, + 149u, 228u, 230u, 92u, + 57u, 90u, 105u, 83u, + 54u, 192u, 156u, 139u, + 255u, 154u, 139u, 117u, + 113u, 163u, 159u, 147u, + 115u, 246u, 229u, 80u, + 123u, 132u, 40u, 156u, + 149u, 172u, 169u, 0u, + 166u, 133u, 209u, 96u, + 255u, 215u, 174u, 247u, + 31u, 101u, 80u, 181u, + 225u, 211u, 151u, 82u, + 1u, 244u, 121u, 77u, + 164u, 128u, 232u, 104u, + 90u, 101u, 236u, 155u, + 173u, 120u, 63u, 144u, + 163u, 126u, 1u, 124u, + 126u, 84u, 178u, 102u, + 162u, 175u, 185u, 168u, + 118u, 127u, 105u, 160u, + 164u, 179u, 168u, 71u, + 86u, 137u, 95u, 255u, + 119u, 183u, 165u, 193u, + 168u, 65u, 162u, 146u, + 178u, 90u, 133u, 95u, + 120u, 57u, 173u, 255u, + 175u, 161u, 156u, 2u, + 138u, 215u, 120u, 72u, + 77u, 78u, 156u, 135u, + 108u, 67u, 28u, 157u, + 255u, 192u, 79u, 94u, + 214u, 198u, 56u, 91u, + 139u, 138u, 206u, 139u, + 72u, 180u, 209u, 111u, + 67u, 255u, 97u, 87u, + 177u, 22u, 109u, 138u, + 255u, 153u, 139u, 113u, + 81u, 207u, 74u, 89u, + 138u, 3u, 123u, 99u, + 179u, 175u, 68u, 179u, + 134u, 51u, 31u, 161u, + 82u, 202u, 255u, 119u, + 116u, 58u, 119u, 243u, + 92u, 175u, 100u, 233u, + 209u, 101u, 176u, 216u, + 114u, 100u, 140u, 255u, + 174u, 19u, 169u, 215u, + 75u, 169u, 115u, 52u, + 191u, 198u, 123u, 225u, + 192u, 135u, 133u, 119u, + 159u, 1u, 135u, 190u, + 216u, 142u, 133u, 162u, + 222u, 123u, 115u, 118u, + 1u, 135u, 134u, 107u, + 184u, 137u, 177u, 151u, + 102u, 75u, 124u, 144u, + 138u, 33u, 46u, 118u, + 173u, 111u, 174u, 81u, + 112u, 112u, 53u, 118u, + 88u, 119u, 107u, 1u, + 126u, 169u, 1u, 179u, + 160u, 121u, 175u, 63u, + 108u, 100u, 115u, 218u, + 189u, 120u, 98u, 140u, + 176u, 87u, 156u, 124u, + 156u, 126u, 78u, 1u, + 151u, 60u, 76u, 31u, + 103u, 246u, 164u, 122u, + 113u, 171u, 96u, 255u, + 124u, 194u, 190u, 194u, + 98u, 101u, 36u, 94u, + 179u, 222u, 103u, 122u, + 172u, 165u, 73u, 65u, + 136u, 109u, 15u, 122u, + 137u, 60u, 218u, 142u, + 124u, 255u, 84u, 130u, + 102u, 121u, 164u, 1u, + 125u, 65u, 193u, 134u, + 15u, 124u, 112u, 223u, + 112u, 82u, 72u, 156u, + 116u, 130u, 255u, 103u, + 98u, 103u, 121u, 129u, + 133u, 144u, 149u, 167u, + 115u, 177u, 74u, 155u, + 109u, 98u, 85u, 173u, + 122u, 162u, 131u, 95u, + 41u, 172u, 181u, 135u, + 255u, 50u, 130u, 79u, + 114u, 51u, 235u, 141u, + 1u, 187u, 172u, 114u, + 70u, 50u, 163u, 206u, + 225u, 193u, 48u, 188u, + 227u, 86u, 148u, 181u, + 47u, 88u, 126u, 65u, + 177u, 89u, 32u, 70u, + 161u, 1u, 141u, 120u, + 96u, 83u, 140u, 1u, + 193u, 125u, 189u, 148u, + 149u, 105u, 55u, 237u, + 70u, 92u, 124u, 161u, + 1u, 52u, 120u, 94u, + 245u, 104u, 153u, 180u, + 83u, 156u, 40u, 96u, + 117u, 60u, 110u, 76u, + 87u, 103u, 142u, 192u, + 102u, 160u, 153u, 133u, + 124u, 123u, 131u, 162u, + 255u, 81u, 151u, 125u, + 149u, 51u, 71u, 255u, + 103u, 38u, 70u, 88u, + 152u, 105u, 111u, 94u, + 91u, 38u, 49u, 106u, + 94u, 98u, 139u, 132u, + 255u, 42u, 87u, 124u, + 148u, 171u, 161u, 100u, + 75u, 89u, 177u, 124u, + 99u, 0u, 105u, 116u, + 101u, 115u, 231u, 105u, + 83u, 150u, 108u, 191u, + 184u, 159u, 152u, 179u, + 170u, 99u, 52u, 255u, + 66u, 166u, 166u, 126u, + 129u, 92u, 59u, 131u, + 254u, 216u, 255u, 90u, + 114u, 58u, 189u, 113u, + 197u, 74u, 138u, 158u, + 139u, 69u, 103u, 255u, + 207u, 72u, 174u, 91u, + 140u, 131u, 85u, 44u, + 128u, 134u, 144u, 1u, + 18u, 145u, 160u, 218u, + 195u, 145u, 206u, 87u, + 111u, 81u, 26u, 79u, + 120u, 76u, 137u, 94u, + 117u, 251u, 167u, 176u, + 101u, 108u, 255u, 233u, + 183u, 134u, 196u, 191u, + 97u, 135u, 43u, 161u, + 123u, 91u, 81u, 132u, + 18u, 1u, 75u, 73u, + 105u, 86u, 194u, 135u, + 160u, 166u, 54u, 138u, + 98u, 224u, 81u, 0u, + 136u, 143u, 9u, 245u, + 225u, 162u, 137u, 164u, + 137u, 1u, 106u, 5u, + 233u, 53u, 160u, 78u, + 94u, 42u, 128u, 212u, + 134u, 35u, 101u, 213u, + 134u, 126u, 255u, 35u, + 118u, 48u, 79u, 128u, + 156u, 194u, 188u, 138u, + 153u, 112u, 152u, 166u, + 168u, 111u, 64u, 95u, + 85u, 116u, 58u, 133u, + 255u, 74u, 154u, 145u, + 83u, 156u, 43u, 183u, + 182u, 1u, 157u, 147u, + 110u, 139u, 111u, 157u, + 101u, 149u, 65u, 131u, + 199u, 219u, 18u, 171u, + 202u, 84u, 135u, 101u, + 175u, 137u, 43u, 1u, + 49u, 65u, 64u, 97u, + 255u, 136u, 82u, 74u, + 66u, 121u, 64u, 158u, + 94u, 135u, 130u, 203u, + 131u, 182u, 96u, 111u, + 232u, 158u, 67u, 159u, + 108u, 143u, 185u, 146u, + 126u, 12u, 159u, 191u, + 239u, 255u, 232u, 162u, + 117u, 141u, 131u, 119u, + 174u, 81u, 106u, 132u, + 49u, 155u, 161u, 125u, + 255u, 18u, 156u, 81u, + 88u, 106u, 145u, 255u, + 196u, 155u, 215u, 116u, + 233u, 151u, 129u, 190u, + 183u, 94u, 85u, 98u, + 88u, 131u, 175u, 144u, + 255u, 147u, 92u, 154u, + 154u, 97u, 82u, 128u, + 164u, 87u, 165u, 140u, + 155u, 78u, 61u, 255u, + 6u, 80u, 35u, 34u, + 223u, 43u, 74u, 121u, + 125u, 160u, 115u, 217u, + 87u, 85u, 219u, 11u, + 200u, 126u, 71u, 219u, + 171u, 255u, 83u, 127u, + 108u, 74u, 91u, 123u, + 106u, 116u, 189u, 121u, + 13u, 150u, 136u, 71u, + 67u, 169u, 180u, 32u, + 255u, 52u, 103u, 157u, + 162u, 154u, 255u, 218u, + 30u, 247u, 68u, 127u, + 37u, 130u, 70u, 161u, + 153u, 166u, 139u, 207u, + 106u, 250u, 99u, 145u, + 177u, 143u, 0u, 96u, + 63u, 75u, 212u, 128u, + 123u, 208u, 177u, 126u, + 255u, 110u, 147u, 244u, + 246u, 180u, 102u, 203u, + 158u, 128u, 109u, 178u, + 150u, 134u, 66u, 26u, + 255u, 112u, 67u, 142u, + 88u, 113u, 147u, 130u, + 231u, 61u, 142u, 8u, + 48u, 20u, 79u, 113u, + 73u, 172u, 69u, 157u, + 88u, 75u, 1u, 35u, + 149u, 133u, 187u, 72u, + 43u, 153u, 82u, 101u, + 182u, 113u, 174u, 58u, + 249u, 92u, 43u, 86u, + 124u, 126u, 93u, 74u, + 91u, 255u, 217u, 184u, + 153u, 190u, 37u, 228u, + 84u, 186u, 97u, 87u, + 130u, 255u, 146u, 120u, + 189u, 32u, 131u, 49u, + 94u, 157u, 79u, 44u, + 70u, 255u, 89u, 191u, + 122u, 49u, 192u, 133u, + 3u, 116u, 35u, 208u, + 210u, 0u, 170u, 220u, + 48u, 98u, 161u, 55u, + 59u, 102u, 86u, 83u, + 105u, 48u, 139u, 109u, + 109u, 130u, 140u, 142u, + 36u, 118u, 255u, 120u, + 123u, 188u, 129u, 182u, + 136u, 93u, 120u, 101u, + 173u, 39u, 209u, 190u, + 174u, 129u, 164u, 13u, + 123u, 84u, 118u, 153u, + 140u, 255u, 169u, 152u, + 63u, 152u, 194u, 1u, + 139u, 108u, 120u, 167u, + 102u, 122u, 112u, 86u, + 90u, 141u, 151u, 178u, + 169u, 11u, 149u, 164u, + 193u, 154u, 114u, 208u, + 194u, 166u, 64u, 119u, + 255u, 74u, 76u, 146u, + 122u, 130u, 168u, 129u, + 85u, 71u, 0u, 118u, + 29u, 213u, 205u, 159u, + 32u, 157u, 30u, 63u, + 127u, 108u, 134u, 98u, + 144u, 199u, 255u, 135u, + 153u, 147u, 50u, 144u, + 121u, 164u, 119u, 68u, + 117u, 160u, 0u, 133u, + 152u, 106u, 95u, 132u, + 193u, 87u, 153u, 128u, + 74u, 130u, 159u, 206u, + 1u, 161u, 208u, 218u, + 58u, 151u, 157u, 195u, + 145u, 149u, 163u, 138u, + 154u, 11u, 250u, 215u, + 188u, 46u, 244u, 34u, + 158u, 192u, 1u, 95u, + 79u, 125u, 151u, 183u, + 99u, 170u, 176u, 200u, + 229u, 218u, 225u, 1u, + 90u, 180u, 24u, 42u, + 80u, 123u, 207u, 44u, + 180u, 127u, 40u, 196u, + 77u, 255u, 11u, 233u, + 95u, 66u, 162u, 174u, + 124u, 137u, 137u, 210u, + 220u, 122u, 232u, 12u, + 142u, 146u, 139u, 91u, + 147u, 149u, 116u, 145u, + 93u, 192u, 115u, 127u, + 81u, 85u, 129u, 255u, + 107u, 87u, 79u, 112u, + 204u, 27u, 113u, 168u, + 124u, 255u, 134u, 189u, + 187u, 45u, 116u, 92u, + 48u, 96u, 0u, 48u, + 212u, 88u, 102u, 148u, + 162u, 210u, 146u, 206u, + 90u, 176u, 140u, 61u, + 188u, 143u, 194u, 130u, + 68u, 106u, 189u, 138u, + 255u, 128u, 123u, 179u, + 172u, 136u, 142u, 152u, + 194u, 13u, 107u, 255u, + 135u, 42u, 202u, 114u, + 67u, 213u, 107u, 111u, + 145u, 131u, 104u, 26u, + 252u, 142u, 107u, 111u, + 52u, 57u, 60u, 186u, + 116u, 158u, 159u, 43u, + 95u, 244u, 0u, 212u, + 98u, 139u, 96u, 49u, + 52u, 168u, 97u, 94u, + 40u, 245u, 255u, 10u, + 236u, 114u, 163u, 167u, + 1u, 123u, 254u, 19u, + 243u, 46u, 52u, 137u, + 53u, 87u, 148u, 147u, + 37u, 54u, 221u, 74u, + 66u, 65u, 88u, 70u, + 130u, 112u, 220u, 135u, + 129u, 155u, 90u, 138u, + 176u, 1u, 211u, 107u, + 87u, 207u, 131u, 45u, + 104u, 144u, 96u, 73u, + 1u, 102u, 87u, 130u, + 73u, 139u, 124u, 216u, + 98u, 150u, 98u, 118u, + 150u, 205u, 58u, 147u, + 184u, 145u, 134u, 89u, + 255u, 70u, 113u, 124u, + 134u, 189u, 160u, 17u, + 222u, 128u, 152u, 0u, + 182u, 223u, 248u, 125u, + 122u, 183u, 131u, 201u, + 158u, 168u, 61u, 103u, + 148u, 190u, 1u, 218u, + 97u, 12u, 208u, 109u, + 236u, 186u, 44u, 202u, + 157u, 102u, 97u, 177u, + 173u, 181u, 54u, 89u, + 77u, 66u, 1u, 111u, + 167u, 139u, 91u, 66u, + 165u, 123u, 219u, 146u, + 103u, 109u, 217u, 1u, + 146u, 141u, 166u, 184u, + 112u, 157u, 101u, 163u, + 194u, 111u, 218u, 159u, + 212u, 121u, 152u, 100u, + 76u, 119u, 1u, 115u, + 175u, 147u, 150u, 25u, + 143u, 109u, 158u, 164u, + 253u, 141u, 158u, 122u, + 187u, 172u, 128u, 119u, + 255u, 208u, 109u, 101u, + 113u, 102u, 83u, 82u, + 57u, 143u, 140u, 151u, + 103u, 136u, 171u, 135u, + 127u, 112u, 85u, 255u, + 67u, 96u, 133u, 82u, + 163u, 129u, 152u, 131u, + 62u, 171u, 91u, 255u, + 37u, 35u, 112u, 231u, + 98u, 153u, 146u, 27u, + 16u, 10u, 198u, 108u, + 43u, 116u, 54u, 94u, + 255u, 13u, 81u, 75u, + 151u, 123u, 117u, 103u, + 177u, 186u, 121u, 224u, + 136u, 140u, 123u, 132u, + 118u, 170u, 1u, 56u, + 93u, 200u, 62u, 93u, + 188u, 123u, 255u, 135u, + 174u, 102u, 146u, 98u, + 230u, 202u, 222u, 76u, + 181u, 169u, 120u, 92u, + 105u, 138u, 120u, 66u, + 132u, 255u, 69u, 231u, + 120u, 101u, 129u, 235u, + 164u, 200u, 13u, 236u, + 208u, 82u, 62u, 71u, + 59u, 22u, 87u, 168u, + 196u, 98u, 137u, 255u, + 77u, 128u, 104u, 84u, + 82u, 157u, 167u, 187u, + 58u, 255u, 128u, 78u, + 107u, 98u, 48u, 132u, + 105u, 88u, 157u, 152u, + 197u, 213u, 1u, 81u, + 83u, 201u, 54u, 66u, + 235u, 115u, 215u, 99u, + 255u, 21u, 55u, 199u, + 241u, 37u, 201u, 59u, + 77u, 122u, 27u, 154u, + 159u, 155u, 244u, 140u, + 201u, 194u, 127u, 58u, + 52u, 156u, 8u, 21u, + 136u, 1u, 219u, 12u, + 107u, 118u, 21u, 193u, + 47u, 255u, 163u, 200u, + 137u, 124u, 129u, 138u, + 234u, 49u, 90u, 87u, + 179u, 130u, 121u, 20u, + 137u, 178u, 148u, 87u, + 105u, 220u, 165u, 195u, + 168u, 198u, 255u, 199u, + 211u, 186u, 101u, 134u, + 147u, 79u, 217u, 1u, + 105u, 207u, 205u, 92u, + 142u, 62u, 213u, 124u, + 137u, 73u, 80u, 120u, + 255u, 140u, 91u, 166u, + 160u, 51u, 168u, 57u, + 154u, 126u, 177u, 220u, + 113u, 166u, 138u, 6u, + 132u, 47u, 68u, 181u, + 52u, 79u, 196u, 1u, + 154u, 120u, 163u, 190u, + 164u, 106u, 114u, 220u, + 157u, 1u, 211u, 28u, + 5u, 91u, 207u, 87u, + 172u, 107u, 230u, 165u, + 86u, 119u, 28u, 222u, + 132u, 132u, 144u, 255u, + 148u, 150u, 83u, 111u, + 206u, 29u, 126u, 58u, + 135u, 177u, 135u, 151u, + 0u, 98u, 187u, 54u, + 179u, 149u, 20u, 190u, + 70u, 160u, 109u, 96u, + 44u, 86u, 94u, 205u, + 97u, 160u, 117u, 147u, + 162u, 217u, 148u, 72u, + 82u, 227u, 212u, 107u, + 147u, 206u, 255u, 136u, + 58u, 131u, 1u, 86u, + 174u, 167u, 103u, 141u, + 117u, 5u, 84u, 146u, + 17u, 111u, 41u, 138u, + 197u, 141u, 152u, 183u, + 196u, 1u, 117u, 40u, + 171u, 108u, 153u, 144u, + 181u, 130u, 202u, 37u, + 141u, 109u, 73u, 129u, + 85u, 101u, 255u, 235u, + 255u, 122u, 188u, 217u, + 37u, 156u, 114u, 108u, + 128u, 123u, 187u, 163u, + 164u, 104u, 40u, 70u, + 90u, 147u, 237u, 104u, + 83u, 25u, 255u, 247u, + 138u, 97u, 112u, 176u, + 147u, 193u, 1u, 44u, + 195u, 195u, 126u, 248u, + 225u, 113u, 133u, 71u, + 1u, 98u, 92u, 44u, + 207u, 168u, 146u, 174u, + 40u, 181u, 146u, 205u, + 137u, 95u, 137u, 160u, + 197u, 84u, 46u, 45u, + 194u, 102u, 122u, 37u, + 78u, 54u, 211u, 255u, + 130u, 96u, 170u, 92u, + 67u, 0u, 102u, 110u, + 120u, 133u, 170u, 155u, + 104u, 188u, 136u, 158u, + 150u, 145u, 185u, 137u, + 108u, 155u, 1u, 171u, + 25u, 127u, 114u, 66u, + 189u, 104u, 60u, 148u, + 100u, 204u, 111u, 139u, + 86u, 8u, 181u, 89u, + 146u, 189u, 127u, 95u, + 0u, 176u, 110u, 138u, + 99u, 240u, 49u, 101u, + 56u, 223u, 110u, 200u, + 66u, 85u, 136u, 94u, + 191u, 108u, 225u, 171u, + 255u, 211u, 5u, 109u, + 141u, 160u, 103u, 40u, + 185u, 70u, 99u, 255u, + 81u, 105u, 161u, 108u, + 81u, 215u, 53u, 117u, + 96u, 132u, 177u, 215u, + 135u, 255u, 87u, 110u, + 110u, 43u, 153u, 196u, + 132u, 211u, 101u, 185u, + 144u, 198u, 58u, 106u, + 150u, 151u, 160u, 16u, + 152u, 193u, 0u, 95u, + 215u, 130u, 35u, 93u, + 255u, 46u, 171u, 178u, + 143u, 53u, 70u, 112u, + 128u, 96u, 166u, 203u, + 67u, 213u, 194u, 150u, + 1u, 174u, 13u, 150u, + 134u, 124u, 196u, 129u, + 228u, 27u, 87u, 224u, + 24u, 79u, 172u, 170u, + 235u, 241u, 78u, 1u, + 180u, 36u, 1u, 173u, + 64u, 97u, 225u, 220u, + 153u, 158u, 110u, 104u, + 133u, 122u, 96u, 114u, + 208u, 109u, 164u, 187u, + 210u, 67u, 81u, 111u, + 74u, 125u, 34u, 255u, + 80u, 90u, 30u, 105u, + 77u, 61u, 255u, 191u, + 90u, 239u, 120u, 196u, + 171u, 135u, 81u, 120u, + 100u, 153u, 139u, 113u, + 141u, 123u, 107u, 112u, + 137u, 79u, 143u, 128u, + 157u, 255u, 97u, 76u, + 116u, 98u, 141u, 107u, + 108u, 1u, 117u, 136u, + 65u, 144u, 191u, 154u, + 92u, 30u, 142u, 135u, + 255u, 153u, 196u, 21u, + 43u, 139u, 114u, 91u, + 214u, 195u, 182u, 67u, + 82u, 141u, 133u, 81u, + 251u, 155u, 245u, 206u, + 188u, 110u, 1u, 185u, + 127u, 112u, 102u, 149u, + 184u, 122u, 168u, 187u, + 162u, 1u, 195u, 138u, + 102u, 8u, 90u, 178u, + 155u, 193u, 144u, 35u, + 139u, 93u, 38u, 15u, + 176u, 177u, 121u, 104u, + 157u, 165u, 183u, 174u, + 186u, 114u, 114u, 255u, + 105u, 48u, 143u, 179u, + 111u, 186u, 24u, 160u, + 1u, 70u, 132u, 108u, + 115u, 242u, 194u, 118u, + 121u, 76u, 64u, 50u, + 166u, 181u, 117u, 208u, + 35u, 128u, 132u, 91u, + 92u, 255u, 142u, 125u, + 230u, 25u, 77u, 74u, + 59u, 119u, 101u, 1u, + 93u, 88u, 111u, 163u, + 164u, 235u, 138u, 112u, + 68u, 109u, 184u, 227u, + 90u, 110u, 211u, 186u, + 141u, 200u, 29u, 96u, + 85u, 4u, 1u, 3u, + 162u, 138u, 194u, 160u, + 140u, 22u, 120u, 206u, + 34u, 176u, 57u, 174u, + 98u, 1u, 47u, 99u, + 97u, 188u, 97u, 118u, + 82u, 241u, 163u, 104u, + 123u, 210u, 255u, 160u, + 196u, 103u, 176u, 223u, + 111u, 75u, 26u, 159u, + 15u, 84u, 108u, 146u, + 140u, 33u, 52u, 74u, + 178u, 201u, 100u, 76u, + 0u, 125u, 123u, 208u, + 74u, 213u, 54u, 19u, + 80u, 255u, 146u, 55u, + 182u, 138u, 186u, 133u, + 106u, 191u, 241u, 225u, + 104u, 147u, 150u, 182u, + 11u, 143u, 1u, 200u, + 4u, 198u, 160u, 157u, + 142u, 88u, 135u, 215u, + 13u, 131u, 116u, 229u, + 106u, 151u, 112u, 255u, + 118u, 132u, 190u, 152u, + 192u, 28u, 87u, 75u, + 5u, 109u, 86u, 212u, + 17u, 19u, 72u, 86u, + 1u, 246u, 206u, 147u, + 46u, 106u, 87u, 124u, + 190u, 41u, 10u, 237u, + 1u, 70u, 12u, 126u, + 141u, 149u, 191u, 202u, + 92u, 124u, 81u, 186u, + 45u, 124u, 229u, 138u, + 141u, 148u, 217u, 76u, + 32u, 83u, 19u, 179u, + 71u, 149u, 72u, 255u, + 222u, 33u, 130u, 212u, + 53u, 109u, 163u, 233u, + 108u, 22u, 179u, 123u, + 167u, 1u, 149u, 94u, + 148u, 168u, 63u, 145u, + 156u, 57u, 160u, 122u, + 100u, 80u, 176u, 213u, + 143u, 255u, 191u, 87u, + 127u, 66u, 125u, 187u, + 17u, 105u, 26u, 104u, + 109u, 48u, 166u, 51u, + 12u, 89u, 30u, 255u, + 20u, 165u, 36u, 182u, + 170u, 90u, 132u, 89u, + 105u, 126u, 1u, 124u, + 76u, 73u, 188u, 227u, + 208u, 140u, 129u, 185u, + 24u, 169u, 105u, 156u, + 89u, 75u, 189u, 235u, + 136u, 1u, 54u, 183u, + 183u, 123u, 178u, 209u, + 82u, 154u, 255u, 90u, + 144u, 175u, 32u, 133u, + 125u, 115u, 125u, 138u, + 105u, 144u, 94u, 130u, + 255u, 65u, 89u, 40u, + 102u, 20u, 179u, 194u, + 178u, 160u, 195u, 207u, + 80u, 223u, 103u, 60u, + 237u, 180u, 179u, 192u, + 43u, 128u, 160u, 255u, + 174u, 167u, 180u, 207u, + 168u, 111u, 159u, 124u, + 99u, 255u, 84u, 137u, + 239u, 104u, 138u, 108u, + 147u, 66u, 69u, 71u, + 172u, 23u, 197u, 41u, + 255u, 180u, 111u, 222u, + 181u, 128u, 84u, 164u, + 53u, 252u, 17u, 140u, + 152u, 144u, 205u, 166u, + 113u, 139u, 149u, 153u, + 113u, 163u, 142u, 181u, + 144u, 1u, 161u, 165u, + 235u, 22u, 211u, 111u, + 220u, 152u, 60u, 209u, + 171u, 255u, 110u, 140u, + 69u, 204u, 158u, 160u, + 118u, 7u, 76u, 110u, + 171u, 155u, 191u, 76u, + 81u, 85u, 110u, 192u, + 127u, 215u, 1u, 170u, + 6u, 106u, 126u, 155u, + 40u, 10u, 191u, 98u, + 50u, 230u, 124u, 84u, + 125u, 92u, 255u, 145u, + 1u, 124u, 132u, 122u, + 203u, 207u, 14u, 78u, + 86u, 227u, 94u, 84u, + 157u, 56u, 36u, 28u, + 1u, 199u, 87u, 132u, + 114u, 179u, 190u, 187u, + 94u, 118u, 105u, 177u, + 83u, 201u, 210u, 207u, + 140u, 100u, 40u, 61u, + 0u, 47u, 221u, 157u, + 128u, 135u, 168u, 132u, + 127u, 78u, 152u, 154u, + 120u, 120u, 41u, 216u, + 5u, 93u, 76u, 242u, + 255u, 64u, 218u, 64u, + 49u, 44u, 56u, 186u, + 140u, 107u, 115u, 90u, + 48u, 143u, 83u, 205u, + 158u, 96u, 255u, 83u, + 136u, 118u, 134u, 153u, + 165u, 163u, 172u, 79u, + 14u, 255u, 151u, 160u, + 88u, 86u, 123u, 154u, + 175u, 155u, 56u, 140u, + 122u, 180u, 255u, 113u, + 176u, 184u, 191u, 46u, + 216u, 103u, 60u, 183u, + 162u, 192u, 60u, 76u, + 60u, 113u, 114u, 68u, + 101u, 155u, 118u, 192u, + 124u, 110u, 114u, 124u, + 1u, 129u, 70u, 110u, + 183u, 143u, 97u, 167u, + 84u, 177u, 180u, 255u, + 140u, 78u, 98u, 124u, + 97u, 243u, 193u, 115u, + 12u, 29u, 65u, 160u, + 176u, 217u, 153u, 129u, + 67u, 113u, 74u, 1u, + 59u, 136u, 123u, 244u, + 98u, 120u, 61u, 181u, + 180u, 21u, 88u, 137u, + 1u, 156u, 191u, 109u, + 127u, 136u, 74u, 94u, + 129u, 105u, 183u, 1u, + 149u, 40u, 89u, 47u, + 82u, 36u, 254u, 86u, + 133u, 164u, 143u, 164u, + 158u, 172u, 136u, 69u, + 255u, 176u, 157u, 162u, + 152u, 71u, 121u, 149u, + 123u, 240u, 151u, 154u, + 188u, 105u, 102u, 179u, + 145u, 57u, 122u, 201u, + 255u, 65u, 114u, 86u, + 182u, 112u, 74u, 69u, + 63u, 206u, 55u, 0u, + 151u, 70u, 187u, 179u, + 231u, 164u, 84u, 176u, + 184u, 114u, 108u, 81u, + 48u, 76u, 87u, 128u, + 126u, 165u, 28u, 131u, + 116u, 238u, 77u, 138u, + 113u, 61u, 1u, 123u, + 196u, 117u, 198u, 217u, + 1u, 160u, 90u, 208u, + 96u, 144u, 168u, 107u, + 77u, 121u, 142u, 121u, + 163u, 110u, 255u, 174u, + 180u, 86u, 31u, 194u, + 197u, 174u, 160u, 7u, + 91u, 45u, 215u, 30u, + 255u, 156u, 138u, 140u, + 94u, 121u, 193u, 35u, + 165u, 37u, 76u, 201u, + 134u, 143u, 5u, 179u, + 97u, 125u, 255u, 94u, + 141u, 237u, 107u, 191u, + 155u, 136u, 152u, 172u, + 117u, 60u, 70u, 203u, + 147u, 78u, 91u, 192u, + 159u, 175u, 160u, 167u, + 59u, 1u, 141u, 228u, + 111u, 177u, 41u, 168u, + 35u, 106u, 45u, 165u, + 255u, 100u, 74u, 117u, + 43u, 46u, 63u, 192u, + 158u, 150u, 102u, 89u, + 101u, 126u, 133u, 131u, + 107u, 101u, 169u, 61u, + 134u, 255u, 80u, 118u, + 171u, 94u, 146u, 138u, + 142u, 83u, 144u, 159u, + 95u, 89u, 110u, 174u, + 88u, 73u, 81u, 124u, + 61u, 255u, 82u, 153u, + 193u, 46u, 147u, 187u, + 1u, 164u, 124u, 119u, + 217u, 116u, 217u, 182u, + 132u, 193u, 46u, 166u, + 250u, 37u, 81u, 178u, + 157u, 148u, 173u, 51u, + 65u, 185u, 1u, 221u, + 156u, 139u, 140u, 148u, + 146u, 151u, 135u, 119u, + 123u, 171u, 255u, 143u, + 232u, 159u, 51u, 160u, + 124u, 59u, 96u, 118u, + 61u, 169u, 91u, 146u, + 93u, 194u, 45u, 42u, + 179u, 0u, 190u, 137u, + 221u, 116u, 133u, 29u, + 107u, 149u, 53u, 58u, + 61u, 95u, 31u, 1u, + 3u, 184u, 99u, 94u, + 73u, 46u, 243u, 162u, + 162u, 73u, 97u, 187u, + 157u, 125u, 152u, 118u, + 89u, 255u, 52u, 70u, + 122u, 237u, 181u, 134u, + 92u, 146u, 1u, 93u, + 1u, 19u, 103u, 208u, + 67u, 125u, 182u, 99u, + 23u, 234u, 167u, 188u, + 183u, 159u, 143u, 255u, + 109u, 55u, 86u, 138u, + 62u, 202u, 167u, 159u, + 130u, 36u, 32u, 105u, + 158u, 99u, 84u, 114u, + 143u, 80u, 100u, 255u, + 159u, 130u, 183u, 100u, + 200u, 121u, 142u, 88u, + 153u, 148u, 101u, 200u, + 110u, 98u, 65u, 95u, + 66u, 1u, 172u, 78u, + 56u, 95u, 71u, 210u, + 201u, 159u, 142u, 135u, + 58u, 151u, 100u, 145u, + 1u, 91u, 178u, 84u, + 169u, 157u, 104u, 169u, + 42u, 156u, 144u, 113u, + 214u, 217u, 198u, 169u, + 148u, 126u, 138u, 195u, + 50u, 255u, 192u, 168u, + 129u, 99u, 128u, 123u, + 93u, 95u, 1u, 158u, + 134u, 110u, 252u, 81u, + 113u, 45u, 104u, 123u, + 77u, 94u, 78u, 97u, + 111u, 146u, 114u, 82u, + 150u, 151u, 42u, 91u, + 91u, 53u, 35u, 255u, + 166u, 0u, 97u, 123u, + 35u, 135u, 192u, 71u, + 112u, 168u, 167u, 126u, + 56u, 92u, 132u, 108u, + 128u, 175u, 82u, 34u, + 109u, 1u, 90u, 206u, + 221u, 240u, 228u, 81u, + 78u, 129u, 91u, 140u, + 208u, 183u, 17u, 154u, + 96u, 250u, 96u, 115u, + 1u, 112u, 39u, 165u, + 142u, 134u, 48u, 218u, + 63u, 255u, 190u, 214u, + 94u, 146u, 125u, 132u, + 145u, 92u, 132u, 66u, + 189u, 113u, 252u, 210u, + 175u, 76u, 106u, 63u, + 127u, 20u, 1u, 144u, + 238u, 159u, 120u, 110u, + 119u, 141u, 96u, 98u, + 110u, 156u, 242u, 120u, + 131u, 151u, 209u, 135u, + 89u, 185u, 84u, 255u, + 137u, 229u, 137u, 126u, + 124u, 169u, 175u, 1u, + 102u, 6u, 169u, 64u, + 70u, 153u, 214u, 112u, + 193u, 109u, 120u, 104u, + 125u, 93u, 197u, 186u, + 1u, 149u, 187u, 209u, + 178u, 164u, 128u, 205u, + 85u, 55u, 86u, 138u, + 154u, 172u, 215u, 117u, + 95u, 110u, 148u, 86u, + 155u, 33u, 227u, 54u, + 1u, 47u, 156u, 181u, + 173u, 1u, 251u, 209u, + 21u, 116u, 138u, 85u, + 187u, 156u, 101u, 74u, + 79u, 7u, 221u, 223u, + 172u, 1u, 122u, 160u, + 239u, 200u, 165u, 130u, + 110u, 84u, 61u, 165u, + 90u, 217u, 113u, 166u, + 71u, 161u, 250u, 100u, + 83u, 186u, 53u, 131u, + 175u, 98u, 178u, 79u, + 125u, 42u, 215u, 255u, + 161u, 148u, 118u, 50u, + 255u, 128u, 164u, 148u, + 119u, 127u, 80u, 108u, + 196u, 148u, 71u, 91u, + 175u, 68u, 255u, 184u, + 94u, 136u, 146u, 15u, + 96u, 177u, 103u, 174u, + 169u, 72u, 137u, 189u, + 114u, 190u, 115u, 185u, + 69u, 49u, 219u, 127u, + 129u, 56u, 116u, 119u, + 130u, 123u, 0u, 130u, + 86u, 178u, 87u, 65u, + 79u, 149u, 206u, 85u, + 132u, 169u, 180u, 63u, + 144u, 131u, 255u, 192u, + 155u, 69u, 193u, 1u, + 239u, 42u, 252u, 17u, + 9u, 156u, 24u, 187u, + 85u, 188u, 176u, 143u, + 171u, 136u, 1u, 221u, + 51u, 104u, 158u, 123u, + 157u, 128u, 90u, 15u, + 167u, 148u, 104u, 151u, + 223u, 138u, 250u, 0u, + 154u, 143u, 146u, 143u, + 100u, 86u, 60u, 250u, + 132u, 226u, 97u, 62u, + 135u, 103u, 96u, 121u, + 120u, 217u, 151u, 103u, + 225u, 86u, 134u, 132u, + 41u, 152u, 1u, 193u, + 101u, 87u, 93u, 172u, + 162u, 168u, 101u, 111u, + 149u, 97u, 114u, 164u, + 0u, 70u, 135u, 198u, + 106u, 193u, 98u, 198u, + 77u, 153u, 85u, 164u, + 168u, 1u, 145u, 100u, + 109u, 119u, 177u, 76u, + 63u, 61u, 106u, 109u, + 128u, 128u, 89u, 84u, + 51u, 156u, 64u, 113u, + 149u, 0u, 227u, 112u, + 63u, 33u, 86u, 228u, + 58u, 17u, 80u, 121u, + 173u, 178u, 221u, 188u, + 1u, 131u, 43u, 210u, + 100u, 60u, 148u, 91u, + 191u, 171u, 114u, 142u, + 0u, 153u, 195u, 254u, + 211u, 121u, 240u, 113u, + 131u, 109u, 159u, 132u, + 165u, 199u, 175u, 122u, + 83u, 54u, 142u, 255u, + 137u, 177u, 153u, 180u, + 158u, 161u, 43u, 53u, + 88u, 94u, 169u, 181u, + 102u, 140u, 255u, 147u, + 174u, 158u, 131u, 91u, + 150u, 205u, 212u, 155u, + 75u, 123u, 98u, 147u, + 4u, 190u, 129u, 211u, + 182u, 197u, 149u, 255u, + 212u, 97u, 255u, 189u, + 155u, 124u, 208u, 127u, + 149u, 132u, 62u, 135u, + 155u, 181u, 66u, 81u, + 111u, 255u, 133u, 58u, + 79u, 194u, 166u, 189u, + 150u, 103u, 116u, 44u, + 181u, 246u, 152u, 159u, + 167u, 122u, 116u, 171u, + 117u, 141u, 150u, 59u, + 129u, 97u, 143u, 155u, + 76u, 255u, 160u, 99u, + 60u, 157u, 255u, 126u, + 181u, 123u, 148u, 161u, + 167u, 112u, 143u, 146u, + 81u, 135u, 178u, 137u, + 63u, 178u, 164u, 0u, + 139u, 43u, 45u, 111u, + 55u, 234u, 49u, 78u, + 84u, 30u, 155u, 127u, + 145u, 150u, 133u, 160u, + 166u, 107u, 154u, 118u, + 115u, 122u, 128u, 162u, + 164u, 182u, 76u, 0u, + 228u, 99u, 255u, 8u, + 135u, 159u, 119u, 143u, + 207u, 135u, 124u, 134u, + 33u, 203u, 43u, 187u, + 202u, 83u, 1u, 157u, + 124u, 126u, 110u, 143u, + 153u, 174u, 136u, 118u, + 122u, 142u, 159u, 73u, + 170u, 82u, 107u, 49u, + 85u, 136u, 117u, 91u, + 189u, 255u, 66u, 140u, + 136u, 85u, 111u, 62u, + 126u, 236u, 71u, 91u, + 135u, 161u, 154u, 1u, + 95u, 92u, 1u, 13u, + 154u, 192u, 123u, 148u, + 105u, 64u, 152u, 98u, + 0u, 83u, 66u, 131u, + 64u, 179u, 155u, 124u, + 102u, 82u, 109u, 142u, + 125u, 177u, 146u, 126u, + 217u, 63u, 1u, 163u, + 158u, 158u, 206u, 161u, + 225u, 122u, 67u, 85u, + 1u, 89u, 119u, 99u, + 94u, 143u, 140u, 198u, + 174u, 93u, 159u, 132u, + 117u, 176u, 178u, 168u, + 217u, 175u, 124u, 168u, + 39u, 1u, 136u, 115u, + 99u, 149u, 113u, 106u, + 64u, 231u, 188u, 196u, + 207u, 180u, 132u, 91u, + 138u, 126u, 120u, 124u, + 83u, 130u, 181u, 189u, + 71u, 151u, 1u, 89u, + 125u, 150u, 86u, 70u, + 78u, 139u, 131u, 135u, + 80u, 31u, 62u, 1u, + 100u, 196u, 142u, 134u, + 142u, 110u, 134u, 144u, + 105u, 156u, 190u, 139u, + 255u, 146u, 102u, 159u, + 141u, 128u, 164u, 102u, + 235u, 154u, 143u, 4u, + 58u, 125u, 77u, 255u, + 209u, 77u, 17u, 177u, + 185u, 143u, 120u, 178u, + 189u, 41u, 135u, 110u, + 210u, 120u, 146u, 219u, + 45u, 143u, 1u, 182u, + 197u, 119u, 154u, 122u, + 155u, 136u, 137u, 1u, + 127u, 97u, 109u, 140u, + 135u, 138u, 155u, 190u, + 103u, 166u, 108u, 182u, + 87u, 142u, 37u, 169u, + 40u, 166u, 185u, 110u, + 175u, 0u, 190u, 149u, + 136u, 203u, 114u, 75u, + 93u, 140u, 112u, 68u, + 112u, 140u, 87u, 212u, + 19u, 123u, 160u, 174u, + 123u, 168u, 167u, 255u, + 66u, 93u, 86u, 255u, + 138u, 95u, 165u, 125u, + 127u, 205u, 98u, 107u, + 107u, 98u, 139u, 176u, + 155u, 146u, 127u, 97u, + 209u, 99u, 255u, 129u, + 179u, 147u, 123u, 169u, + 209u, 125u, 135u, 91u, + 70u, 169u, 75u, 157u, + 64u, 116u, 1u, 66u, + 81u, 133u, 129u, 75u, + 127u, 151u, 219u, 205u, + 115u, 111u, 140u, 158u, + 108u, 192u, 190u, 202u, + 167u, 50u, 115u, 70u, + 218u, 34u, 1u, 144u, + 52u, 144u, 96u, 255u, + 202u, 187u, 108u, 153u, + 136u, 183u, 99u, 163u, + 212u, 34u, 122u, 229u, + 246u, 151u, 217u, 53u, + 236u, 235u, 160u, 113u, + 1u, 96u, 85u, 169u, + 213u, 205u, 215u, 114u, + 60u, 237u, 205u, 147u, + 0u, 218u, 22u, 218u, + 81u, 233u, 187u, 11u, + 163u, 142u, 46u, 13u, + 139u, 105u, 106u, 186u, + 77u, 47u, 92u, 87u, + 255u, 165u, 254u, 165u, + 74u, 193u, 118u, 65u, + 191u, 30u, 137u, 146u, + 111u, 35u, 140u, 57u, + 110u, 26u, 55u, 179u, + 1u, 111u, 89u, 196u, + 75u, 121u, 53u, 162u, + 151u, 141u, 97u, 153u, + 127u, 130u, 83u, 193u, + 170u, 1u, 107u, 156u, + 172u, 76u, 144u, 145u, + 1u, 147u, 180u, 180u, + 140u, 135u, 143u, 120u, + 92u, 156u, 149u, 159u, + 228u, 115u, 178u, 61u, + 255u, 173u, 205u, 184u, + 143u, 229u, 28u, 178u, + 180u, 31u, 200u, 171u, + 131u, 39u, 255u, 81u, + 151u, 128u, 120u, 80u, + 171u, 45u, 23u, 152u, + 132u, 170u, 144u, 126u, + 202u, 82u, 98u, 0u, + 194u, 14u, 210u, 186u, + 166u, 118u, 80u, 217u, + 79u, 35u, 168u, 101u, + 178u, 111u, 143u, 133u, + 193u, 113u, 132u, 128u, + 103u, 51u, 161u, 122u, + 116u, 180u, 255u, 26u, + 116u, 82u, 107u, 146u, + 175u, 166u, 192u, 176u, + 168u, 162u, 62u, 80u, + 182u, 112u, 90u, 1u, + 166u, 136u, 102u, 115u, + 255u, 97u, 148u, 136u, + 111u, 116u, 128u, 165u, + 154u, 214u, 136u, 125u, + 142u, 124u, 125u, 74u, + 122u, 90u, 108u, 255u, + 166u, 95u, 128u, 114u, + 160u, 129u, 162u, 115u, + 46u, 167u, 255u, 178u, + 41u, 168u, 161u, 118u, + 17u, 102u, 41u, 106u, + 125u, 112u, 152u, 130u, + 86u, 159u, 95u, 0u, + 97u, 135u, 113u, 211u, + 39u, 114u, 177u, 145u, + 209u, 60u, 127u, 168u, + 181u, 87u, 72u, 133u, + 141u, 40u, 87u, 42u, + 7u, 32u, 123u, 165u, + 146u, 255u, 122u, 149u, + 172u, 94u, 78u, 150u, + 227u, 198u, 242u, 175u, + 255u, 9u, 85u, 163u, + 83u, 161u, 149u, 41u, + 67u, 130u, 148u, 98u, + 118u, 111u, 175u, 107u, + 67u, 126u, 147u, 197u, + 255u, 228u, 200u, 127u, + 108u, 95u, 10u, 101u, + 160u, 64u, 135u, 112u, + 255u, 185u, 48u, 104u, + 170u, 186u, 168u, 199u, + 149u, 152u, 188u, 136u, + 61u, 78u, 59u, 189u, + 17u, 81u, 0u, 37u, + 114u, 165u, 174u, 149u, + 97u, 135u, 162u, 17u, + 200u, 168u, 87u, 46u, + 130u, 144u, 156u, 17u, + 255u, 187u, 153u, 163u, + 56u, 120u, 51u, 122u, + 72u, 181u, 101u, 162u, + 182u, 176u, 76u, 35u, + 61u, 144u, 1u, 32u, + 237u, 1u, 162u, 100u, + 196u, 54u, 102u, 105u, + 161u, 188u, 105u, 107u, + 167u, 117u, 37u, 118u, + 103u, 130u, 130u, 100u, + 67u, 255u, 157u, 177u, + 201u, 111u, 153u, 165u, + 90u, 174u, 72u, 165u, + 60u, 82u, 5u, 68u, + 94u, 227u, 168u, 228u, + 0u, 217u, 61u, 138u, + 250u, 225u, 147u, 192u, + 93u, 43u, 67u, 255u, + 82u, 64u, 202u, 191u, + 99u, 132u, 17u, 99u, + 0u, 157u, 206u, 111u, + 125u, 95u, 145u, 89u, + 119u, 105u, 149u, 130u, + 255u, 132u, 155u, 165u, + 144u, 135u, 100u, 122u, + 112u, 137u, 124u, 88u, + 39u, 137u, 129u, 205u, + 144u, 255u, 188u, 102u, + 14u, 24u, 56u, 196u, + 255u, 110u, 206u, 95u, + 161u, 57u, 212u, 98u, + 186u, 170u, 102u, 111u, + 132u, 100u, 162u, 6u, + 104u, 141u, 172u, 100u, + 129u, 155u, 131u, 159u, + 128u, 78u, 128u, 148u, + 97u, 140u, 160u, 255u, + 62u, 145u, 79u, 179u, + 27u, 53u, 6u, 140u, + 88u, 86u, 221u, 65u, + 184u, 0u, 153u, 112u, + 0u, 95u, 91u, 190u, + 89u, 125u, 82u, 92u, + 172u, 131u, 145u, 114u, + 143u, 245u, 56u, 161u, + 141u, 181u, 97u, 199u, + 96u, 98u, 73u, 36u, + 0u, 133u, 67u, 73u, + 197u, 223u, 157u, 206u, + 167u, 99u, 47u, 255u, + 17u, 67u, 187u, 114u, + 129u, 126u, 58u, 160u, + 44u, 68u, 34u, 93u, + 220u, 0u, 242u, 188u, + 125u, 132u, 152u, 56u, + 232u, 232u, 41u, 104u, + 90u, 144u, 83u, 200u, + 100u, 191u, 107u, 97u, + 111u, 190u, 132u, 154u, + 103u, 111u, 94u, 1u, + 227u, 107u, 221u, 99u, + 208u, 145u, 131u, 136u, + 203u, 201u, 255u, 253u, + 88u, 132u, 44u, 183u, + 169u, 153u, 74u, 183u, + 48u, 102u, 153u, 121u, + 40u, 174u, 160u, 102u, + 134u, 189u, 111u, 75u, + 136u, 115u, 158u, 0u, + 132u, 104u, 135u, 94u, + 153u, 174u, 88u, 105u, + 124u, 175u, 93u, 68u, + 175u, 255u, 110u, 218u, + 86u, 85u, 143u, 138u, + 1u, 129u, 89u, 143u, + 105u, 175u, 125u, 140u, + 101u, 142u, 161u, 177u, + 115u, 143u, 169u, 153u, + 148u, 34u, 69u, 85u, + 55u, 204u, 115u, 63u, + 121u, 1u, 200u, 132u, + 102u, 152u, 255u, 57u, + 134u, 202u, 255u, 197u, + 129u, 170u, 95u, 142u, + 123u, 105u, 74u, 127u, + 255u, 150u, 109u, 178u, + 33u, 152u, 157u, 138u, + 84u, 148u, 184u, 110u, + 209u, 160u, 190u, 23u, + 102u, 93u, 224u, 129u, + 159u, 158u, 167u, 91u, + 94u, 130u, 125u, 220u, + 255u, 136u, 73u, 191u, + 117u, 78u, 193u, 96u, + 255u, 244u, 123u, 157u, + 164u, 99u, 86u, 93u, + 67u, 141u, 96u, 164u, + 9u, 106u, 173u, 155u, + 88u, 74u, 17u, 255u, + 156u, 65u, 144u, 69u, + 53u, 169u, 10u, 79u, + 145u, 121u, 131u, 66u, + 98u, 44u, 157u, 161u, + 121u, 239u, 91u, 135u, + 252u, 1u, 48u, 69u, + 84u, 160u, 168u, 18u, + 101u, 89u, 221u, 171u, + 59u, 160u, 255u, 163u, + 163u, 72u, 191u, 117u, + 127u, 122u, 139u, 140u, + 119u, 255u, 98u, 121u, + 126u, 93u, 85u, 132u, + 149u, 144u, 5u, 205u, + 171u, 128u, 113u, 127u, + 1u, 177u, 211u, 129u, + 169u, 159u, 160u, 71u, + 72u, 123u, 23u, 102u, + 172u, 255u, 133u, 147u, + 35u, 10u, 156u, 189u, + 180u, 118u, 112u, 31u, + 209u, 156u, 133u, 62u, + 197u, 188u, 74u, 103u, + 105u, 101u, 128u, 117u, + 136u, 0u, 135u, 83u, + 91u, 151u, 125u, 67u, + 151u, 88u, 80u, 135u, + 125u, 199u, 2u, 131u, + 97u, 170u, 85u, 112u, + 87u, 188u, 77u, 255u, + 157u, 206u, 103u, 186u, + 92u, 255u, 90u, 183u, + 82u, 177u, 126u, 94u, + 223u, 59u, 103u, 247u, + 107u, 83u, 158u, 85u, + 129u, 141u, 123u, 1u, + 106u, 114u, 86u, 137u, + 76u, 216u, 191u, 174u, + 107u, 97u, 31u, 160u, + 255u, 159u, 72u, 116u, + 137u, 57u, 110u, 154u, + 63u, 160u, 35u, 155u, + 190u, 231u, 116u, 78u, + 141u, 104u, 190u, 188u, + 70u, 217u, 205u, 186u, + 53u, 1u, 151u, 153u, + 92u, 147u, 141u, 127u, + 116u, 113u, 146u, 71u, + 48u, 255u, 103u, 165u, + 41u, 25u, 39u, 173u, + 0u, 112u, 136u, 237u, + 98u, 225u, 210u, 99u, + 18u, 18u, 118u, 176u, + 176u, 160u, 111u, 214u, + 138u, 221u, 76u, 113u, + 149u, 142u, 131u, 255u, + 175u, 216u, 179u, 110u, + 157u, 35u, 39u, 62u, + 86u, 12u, 111u, 255u, + 110u, 135u, 202u, 5u, + 142u, 174u, 158u, 66u, + 204u, 212u, 186u, 157u, + 153u, 123u, 125u, 128u, + 184u, 146u, 255u, 133u, + 110u, 155u, 4u, 124u, + 163u, 189u, 148u, 109u, + 83u, 174u, 105u, 19u, + 138u, 177u, 139u, 255u, + 136u, 185u, 215u, 236u, + 214u, 205u, 151u, 74u, + 146u, 136u, 87u, 1u, + 40u, 150u, 71u, 159u, + 167u, 161u, 57u, 117u, + 40u, 89u, 48u, 168u, + 204u, 92u, 158u, 57u, + 186u, 144u, 226u, 52u, + 93u, 245u, 1u, 30u, + 141u, 81u, 168u, 74u, + 255u, 109u, 99u, 164u, + 83u, 157u, 111u, 192u, + 135u, 181u, 118u, 137u, + 79u, 80u, 23u, 170u, + 57u, 157u, 194u, 99u, + 136u, 135u, 69u, 61u, + 103u, 131u, 144u, 1u, + 154u, 141u, 128u, 164u, + 122u, 228u, 1u, 169u, + 129u, 58u, 117u, 148u, + 91u, 85u, 189u, 105u, + 160u, 227u, 240u, 62u, + 150u, 94u, 145u, 136u, + 109u, 1u, 236u, 73u, + 154u, 207u, 51u, 185u, + 75u, 29u, 205u, 29u, + 101u, 71u, 152u, 193u, + 65u, 190u, 1u, 168u, + 173u, 35u, 118u, 30u, + 92u, 136u, 85u, 74u, + 130u, 73u, 59u, 129u, + 112u, 53u, 155u, 180u, + 95u, 159u, 114u, 165u, + 46u, 147u, 1u, 89u, + 1u, 123u, 13u, 209u, + 99u, 210u, 71u, 157u, + 92u, 122u, 152u, 244u, + 236u, 179u, 85u, 173u, + 65u, 187u, 255u, 68u, + 152u, 122u, 253u, 3u, + 23u, 247u, 126u, 97u, + 236u, 86u, 165u, 108u, + 118u, 90u, 206u, 87u, + 128u, 102u, 255u, 104u, + 211u, 208u, 161u, 213u, + 117u, 104u, 100u, 124u, + 47u, 223u, 128u, 90u, + 176u, 153u, 69u, 181u, + 0u, 128u, 117u, 78u, + 152u, 87u, 122u, 146u, + 89u, 189u, 118u, 130u, + 51u, 167u, 62u, 32u, + 171u, 146u, 255u, 101u, + 218u, 108u, 195u, 136u, + 137u, 197u, 180u, 74u, + 134u, 179u, 113u, 255u, + 90u, 140u, 207u, 181u, + 151u, 152u, 92u, 168u, + 171u, 118u, 1u, 147u, + 139u, 142u, 124u, 228u, + 144u, 129u, 168u, 217u, + 198u, 110u, 51u, 29u, + 79u, 236u, 117u, 39u, + 243u, 154u, 241u, 167u, + 132u, 89u, 73u, 63u, + 84u, 255u, 135u, 24u, + 255u, 153u, 121u, 213u, + 24u, 129u, 213u, 127u, + 132u, 77u, 101u, 203u, + 80u, 148u, 106u, 70u, + 104u, 213u, 206u, 51u, + 1u, 138u, 156u, 163u, + 48u, 194u, 242u, 152u, + 249u, 49u, 117u, 75u, + 56u, 163u, 153u, 145u, + 255u, 183u, 67u, 102u, + 133u, 137u, 148u, 138u, + 144u, 55u, 140u, 245u, + 130u, 144u, 4u, 180u, + 61u, 103u, 143u, 8u, + 162u, 195u, 159u, 81u, + 156u, 1u, 173u, 216u, + 80u, 122u, 172u, 186u, + 40u, 167u, 178u, 51u, + 90u, 234u, 179u, 217u, + 251u, 133u, 1u, 125u, + 97u, 9u, 26u, 128u, + 181u, 247u, 115u, 227u, + 22u, 40u, 38u, 244u, + 108u, 112u, 255u, 211u, + 103u, 96u, 98u, 181u, + 94u, 152u, 162u, 120u, + 109u, 142u, 58u, 1u, + 58u, 78u, 111u, 123u, + 22u, 1u, 65u, 108u, + 229u, 89u, 241u, 163u, + 59u, 106u, 46u, 98u, + 183u, 159u, 194u, 136u, + 159u, 52u, 104u, 116u, + 164u, 100u, 1u, 81u, + 112u, 143u, 40u, 80u, + 116u, 116u, 70u, 162u, + 156u, 49u, 182u, 90u, + 92u, 156u, 42u, 240u, + 97u, 85u, 104u, 175u, + 56u, 1u, 120u, 123u, + 116u, 165u, 34u, 109u, + 52u, 11u, 90u, 56u, + 206u, 255u, 138u, 77u, + 39u, 240u, 75u, 73u, + 63u, 32u, 224u, 131u, + 124u, 250u, 124u, 115u, + 216u, 201u, 87u, 1u, + 197u, 220u, 173u, 219u, + 57u, 138u, 148u, 168u, + 100u, 112u, 182u, 85u, + 255u, 232u, 122u, 79u, + 97u, 1u, 164u, 207u, + 207u, 61u, 168u, 92u, + 233u, 219u, 189u, 15u, + 147u, 68u, 54u, 4u, + 168u, 255u, 71u, 72u, + 181u, 70u, 150u, 77u, + 60u, 192u, 124u, 228u, + 156u, 190u, 192u, 1u, + 209u, 92u, 122u, 185u, + 197u, 101u, 255u, 147u, + 134u, 81u, 110u, 62u, + 214u, 52u, 139u, 133u, + 181u, 104u, 142u, 29u, + 160u, 202u, 107u, 45u, + 140u, 41u, 164u, 135u, + 121u, 161u, 255u, 79u, + 127u, 130u, 150u, 77u, + 86u, 75u, 202u, 174u, + 135u, 27u, 33u, 111u, + 161u, 119u, 85u, 246u, + 151u, 42u, 21u, 1u, + 216u, 120u, 155u, 175u, + 83u, 179u, 197u, 2u, + 77u, 113u, 81u, 95u, + 255u, 228u, 231u, 145u, + 204u, 127u, 66u, 145u, + 110u, 43u, 210u, 96u, + 1u, 124u, 160u, 147u, + 158u, 41u, 133u, 204u, + 105u, 33u, 65u, 139u, + 123u, 154u, 106u, 146u, + 255u, 131u, 136u, 93u, + 113u, 155u, 137u, 58u, + 134u, 146u, 71u, 118u, + 111u, 130u, 73u, 130u, + 137u, 78u, 61u, 0u, + 63u, 110u, 163u, 116u, + 96u, 118u, 113u, 79u, + 115u, 95u, 255u, 107u, + 204u, 70u, 143u, 156u, + 175u, 195u, 102u, 63u, + 127u, 110u, 191u, 56u, + 127u, 112u, 172u, 98u, + 181u, 123u, 167u, 151u, + 93u, 100u, 1u, 145u, + 1u, 148u, 242u, 59u, + 108u, 101u, 159u, 151u, + 20u, 140u, 194u, 137u, + 166u, 223u, 129u, 138u, + 134u, 96u, 48u, 157u, + 121u, 161u, 202u, 123u, + 157u, 106u, 121u, 255u, + 125u, 218u, 42u, 102u, + 162u, 0u, 115u, 92u, + 183u, 100u, 171u, 99u, + 217u, 178u, 76u, 239u, + 155u, 189u, 17u, 84u, + 94u, 140u, 133u, 145u, + 108u, 110u, 124u, 189u, + 183u, 255u, 167u, 201u, + 111u, 54u, 112u, 82u, + 248u, 111u, 178u, 212u, + 96u, 209u, 126u, 171u, + 155u, 86u, 121u, 144u, + 0u, 145u, 153u, 204u, + 121u, 152u, 154u, 119u, + 73u, 23u, 120u, 158u, + 121u, 153u, 69u, 173u, + 1u, 107u, 146u, 137u, + 127u, 158u, 1u, 151u, + 130u, 107u, 159u, 196u, + 167u, 79u, 171u, 123u, + 88u, 165u, 136u, 77u, + 77u, 95u, 118u, 1u, + 221u, 103u, 112u, 131u, + 187u, 92u, 144u, 214u, + 66u, 151u, 115u, 183u, + 60u, 141u, 161u, 145u, + 115u, 210u, 96u, 166u, + 115u, 77u, 181u, 81u, + 188u, 187u, 255u, 131u, + 145u, 48u, 54u, 212u, + 73u, 163u, 255u, 126u, + 179u, 149u, 138u, 155u, + 44u, 59u, 99u, 59u, + 124u, 120u, 48u, 167u, + 198u, 163u, 1u, 158u, + 59u, 143u, 156u, 36u, + 179u, 129u, 151u, 87u, + 185u, 64u, 210u, 141u, + 115u, 152u, 96u, 118u, + 150u, 184u, 1u, 13u, + 199u, 185u, 176u, 63u, + 1u, 50u, 240u, 166u, + 85u, 113u, 207u, 66u, + 173u, 108u, 204u, 187u, + 100u, 142u, 139u, 140u, + 108u, 95u, 93u, 121u, + 221u, 54u, 66u, 105u, + 152u, 255u, 98u, 37u, + 93u, 52u, 113u, 102u, + 52u, 162u, 183u, 73u, + 67u, 151u, 175u, 159u, + 167u, 102u, 92u, 1u, + 109u, 146u, 106u, 181u, + 45u, 255u, 155u, 70u, + 149u, 248u, 218u, 139u, + 145u, 39u, 161u, 237u, + 89u, 217u, 6u, 110u, + 111u, 112u, 1u, 122u, + 188u, 107u, 79u, 157u, + 160u, 134u, 82u, 114u, + 64u, 163u, 164u, 166u, + 126u, 39u, 55u, 181u, + 126u, 109u, 142u, 255u, + 192u, 204u, 126u, 109u, + 117u, 88u, 105u, 78u, + 135u, 158u, 159u, 165u, + 130u, 187u, 240u, 168u, + 100u, 145u, 29u, 248u, + 19u, 28u, 0u, 154u, + 1u, 113u, 108u, 29u, + 201u, 115u, 130u, 130u, + 84u, 1u, 117u, 235u, + 65u, 232u, 214u, 54u, + 130u, 68u, 151u, 49u, + 157u, 216u, 122u, 180u, + 17u, 185u, 182u, 157u, + 255u, 152u, 95u, 131u, + 118u, 69u, 181u, 89u, + 27u, 82u, 186u, 112u, + 14u, 224u, 255u, 215u, + 89u, 153u, 213u, 187u, + 253u, 198u, 79u, 170u, + 156u, 1u, 125u, 17u, + 224u, 67u, 192u, 220u, + 124u, 211u, 108u, 24u, + 57u, 92u, 131u, 134u, + 50u, 212u, 226u, 89u, + 153u, 40u, 132u, 189u, + 186u, 86u, 103u, 255u, + 131u, 170u, 64u, 142u, + 1u, 255u, 105u, 255u, + 120u, 131u, 137u, 83u, + 88u, 38u, 122u, 175u, + 140u, 153u, 246u, 216u, + 27u, 224u, 198u, 154u, + 133u, 1u, 43u, 137u, + 184u, 112u, 86u, 146u, + 185u, 196u, 187u, 1u, + 152u, 113u, 29u, 117u, + 174u, 100u, 186u, 147u, + 50u, 137u, 111u, 208u, + 102u, 253u, 71u, 180u, + 50u, 185u, 28u, 159u, + 118u, 30u, 21u, 98u, + 87u, 255u, 190u, 107u, + 131u, 225u, 170u, 92u, + 1u, 131u, 110u, 63u, + 82u, 129u, 201u, 180u, + 88u, 117u, 152u, 166u, + 22u, 83u, 59u, 211u, + 34u, 64u, 98u, 115u, + 167u, 255u, 81u, 96u, + 117u, 85u, 67u, 110u, + 182u, 219u, 20u, 39u, + 87u, 149u, 134u, 179u, + 76u, 71u, 191u, 63u, + 233u, 255u, 188u, 81u, + 211u, 233u, 98u, 158u, + 0u, 86u, 143u, 192u, + 182u, 130u, 211u, 52u, + 115u, 148u, 30u, 111u, + 17u, 68u, 255u, 88u, + 224u, 62u, 121u, 202u, + 121u, 78u, 110u, 116u, + 162u, 193u, 183u, 185u, + 15u, 43u, 199u, 85u, + 6u, 131u, 46u, 48u, + 117u, 250u, 161u, 118u, + 255u, 105u, 70u, 125u, + 155u, 65u, 177u, 146u, + 185u, 1u, 56u, 27u, + 134u, 211u, 100u, 168u, + 124u, 92u, 61u, 44u, + 120u, 153u, 209u, 146u, + 150u, 169u, 165u, 169u, + 155u, 210u, 110u, 149u, + 115u, 106u, 1u, 72u, + 95u, 76u, 83u, 122u, + 105u, 139u, 103u, 134u, + 57u, 187u, 84u, 58u, + 120u, 117u, 0u, 196u, + 46u, 96u, 81u, 70u, + 226u, 129u, 180u, 1u, + 194u, 221u, 151u, 170u, + 135u, 201u, 117u, 56u, + 82u, 215u, 29u, 198u, + 39u, 99u, 125u, 28u, + 83u, 255u, 95u, 92u, + 110u, 92u, 39u, 161u, + 243u, 15u, 178u, 127u, + 100u, 157u, 255u, 193u, + 148u, 208u, 73u, 134u, + 154u, 126u, 161u, 202u, + 154u, 45u, 144u, 137u, + 171u, 129u, 255u, 78u, + 148u, 100u, 59u, 147u, + 120u, 186u, 125u, 101u, + 132u, 111u, 139u, 1u, + 161u, 126u, 159u, 130u, + 173u, 158u, 69u, 130u, + 172u, 126u, 118u, 187u, + 235u, 142u, 179u, 128u, + 82u, 79u, 54u, 194u, + 206u, 100u, 194u, 255u, + 119u, 78u, 137u, 103u, + 132u, 0u, 163u, 167u, + 150u, 66u, 147u, 53u, + 137u, 191u, 102u, 122u, + 196u, 151u, 177u, 134u, + 38u, 72u, 136u, 19u, + 152u, 118u, 92u, 160u, + 172u, 147u, 171u, 145u, + 115u, 33u, 1u, 164u, + 159u, 132u, 65u, 99u, + 104u, 73u, 21u, 201u, + 255u, 45u, 104u, 85u, + 95u, 114u, 122u, 57u, + 140u, 134u, 255u, 72u, + 116u, 100u, 178u, 179u, + 151u, 130u, 171u, 141u, + 114u, 92u, 133u, 142u, + 80u, 45u, 145u, 116u, + 126u, 44u, 1u, 85u, + 93u, 29u, 132u, 191u, + 144u, 180u, 147u, 125u, + 48u, 124u, 119u, 195u, + 24u, 255u, 202u, 111u, + 175u, 138u, 63u, 16u, + 109u, 59u, 31u, 193u, + 255u, 144u, 103u, 48u, + 46u, 21u, 31u, 144u, + 174u, 197u, 249u, 152u, + 55u, 7u, 236u, 18u, + 55u, 173u, 208u, 142u, + 0u, 219u, 139u, 111u, + 155u, 124u, 90u, 85u, + 94u, 95u, 162u, 186u, + 154u, 73u, 110u, 55u, + 200u, 10u, 255u, 42u, + 161u, 151u, 69u, 202u, + 125u, 161u, 247u, 185u, + 191u, 161u, 255u, 40u, + 190u, 182u, 163u, 87u, + 43u, 105u, 141u, 193u, + 129u, 73u, 107u, 144u, + 107u, 125u, 1u, 52u, + 66u, 204u, 88u, 102u, + 79u, 125u, 221u, 212u, + 112u, 197u, 96u, 160u, + 104u, 134u, 255u, 154u, + 147u, 167u, 218u, 165u, + 77u, 159u, 122u, 160u, + 229u, 197u, 167u, 193u, + 83u, 98u, 115u, 143u, + 194u, 22u, 148u, 174u, + 133u, 133u, 36u, 0u, + 138u, 169u, 116u, 84u, + 1u, 125u, 33u, 53u, + 63u, 67u, 141u, 140u, + 176u, 198u, 112u, 116u, + 46u, 88u, 102u, 182u, + 134u, 194u, 68u, 139u, + 100u, 227u, 112u, 255u, + 159u, 111u, 164u, 208u, + 147u, 137u, 79u, 57u, + 178u, 187u, 1u, 76u, + 178u, 83u, 95u, 179u, + 126u, 55u, 219u, 152u, + 20u, 167u, 37u, 185u, + 143u, 195u, 123u, 88u, + 255u, 248u, 94u, 137u, + 190u, 102u, 43u, 193u, + 191u, 88u, 150u, 102u, + 230u, 206u, 33u, 71u, + 180u, 135u, 98u, 246u, + 49u, 178u, 144u, 242u, + 171u, 186u, 1u, 34u, + 81u, 102u, 159u, 127u, + 169u, 123u, 150u, 163u, + 53u, 133u, 23u, 0u, + 88u, 127u, 162u, 38u, + 78u, 72u, 216u, 206u, + 185u, 215u, 47u, 1u, + 101u, 30u, 37u, 245u, + 114u, 156u, 50u, 107u, + 110u, 169u, 105u, 139u, + 120u, 255u, 98u, 208u, + 217u, 115u, 129u, 86u, + 68u, 135u, 78u, 117u, + 150u, 148u, 66u, 188u, + 101u, 120u, 255u, 48u, + 183u, 169u, 68u, 127u, + 197u, 178u, 248u, 51u, + 42u, 85u, 224u, 255u, + 76u, 220u, 238u, 136u, + 117u, 22u, 100u, 202u, + 81u, 61u, 162u, 225u, + 179u, 158u, 181u, 84u, + 97u, 126u, 117u, 255u, + 164u, 239u, 203u, 187u, + 76u, 47u, 148u, 142u, + 124u, 63u, 114u, 133u, + 139u, 0u, 155u, 209u, + 114u, 81u, 74u, 101u, + 47u, 47u, 100u, 139u, + 118u, 87u, 154u, 146u, + 129u, 148u, 157u, 99u, + 80u, 207u, 8u, 1u, + 106u, 168u, 159u, 188u, + 146u, 163u, 233u, 83u, + 1u, 144u, 28u, 53u, + 32u, 117u, 160u, 142u, + 91u, 115u, 78u, 203u, + 113u, 1u, 119u, 119u, + 109u, 24u, 124u, 114u, + 157u, 152u, 104u, 160u, + 118u, 198u, 90u, 148u, + 60u, 66u, 119u, 213u, + 159u, 111u, 169u, 245u, + 132u, 107u, 90u, 132u, + 158u, 251u, 255u, 160u, + 208u, 72u, 136u, 128u, + 80u, 155u, 213u, 238u, + 181u, 255u, 133u, 106u, + 123u, 123u, 82u, 89u, + 134u, 167u, 255u, 224u, + 129u, 62u, 170u, 58u, + 172u, 152u, 114u, 178u, + 133u, 158u, 72u, 114u, + 155u, 131u, 155u, 177u, + 88u, 104u, 132u, 150u, + 106u, 133u, 106u, 102u, + 100u, 113u, 1u, 131u, + 136u, 111u, 83u, 119u, + 212u, 104u, 109u, 255u, + 160u, 250u, 166u, 122u, + 225u, 134u, 72u, 52u, + 177u, 180u, 32u, 224u, + 162u, 157u, 34u, 255u, + 172u, 133u, 7u, 193u, + 140u, 237u, 79u, 130u, + 81u, 160u, 183u, 1u, + 89u, 128u, 133u, 118u, + 107u, 87u, 141u, 69u, + 79u, 130u, 139u, 186u, + 15u, 84u, 162u, 104u, + 28u, 95u, 81u, 197u, + 186u, 1u, 142u, 163u, + 107u, 84u, 138u, 177u, + 176u, 93u, 131u, 162u, + 210u, 59u, 79u, 101u, + 255u, 211u, 154u, 178u, + 123u, 97u, 160u, 181u, + 80u, 199u, 146u, 129u, + 6u, 1u, 13u, 127u, + 47u, 152u, 189u, 65u, + 20u, 43u, 189u, 76u, + 167u, 125u, 99u, 49u, + 152u, 155u, 91u, 139u, + 71u, 255u, 59u, 5u, + 105u, 131u, 68u, 137u, + 139u, 149u, 83u, 155u, + 84u, 152u, 132u, 170u, + 145u, 127u, 160u, 181u, + 169u, 90u, 255u, 62u, + 180u, 185u, 242u, 127u, + 18u, 255u, 24u, 65u, + 30u, 144u, 141u, 134u, + 143u, 125u, 12u, 68u, + 173u, 108u, 64u, 170u, + 229u, 106u, 162u, 153u, + 75u, 255u, 117u, 118u, + 210u, 239u, 168u, 160u, + 170u, 68u, 140u, 151u, + 159u, 139u, 89u, 76u, + 144u, 0u, 87u, 75u, + 132u, 103u, 100u, 110u, + 254u, 127u, 255u, 223u, + 76u, 211u, 174u, 174u, + 219u, 97u, 52u, 182u, + 238u, 168u, 42u, 32u, + 253u, 168u, 9u, 174u, + 182u, 124u, 244u, 255u, + 150u, 90u, 35u, 113u, + 141u, 81u, 184u, 83u, + 165u, 167u, 181u, 1u, + 194u, 223u, 118u, 190u, + 194u, 143u, 64u, 139u, + 47u, 195u, 103u, 224u, + 50u, 142u, 255u, 124u, + 229u, 210u, 254u, 60u, + 126u, 38u, 97u, 147u, + 151u, 199u, 73u, 153u, + 0u, 141u, 112u, 84u, + 123u, 55u, 60u, 150u, + 78u, 62u, 148u, 109u, + 188u, 179u, 218u, 72u, + 132u, 181u, 254u, 151u, + 92u, 120u, 134u, 136u, + 1u, 212u, 198u, 232u, + 247u, 45u, 141u, 156u, + 13u, 63u, 1u, 232u, + 75u, 133u, 172u, 159u, + 41u, 223u, 51u, 84u, + 183u, 67u, 22u, 122u, + 142u, 195u, 100u, 255u, + 221u, 104u, 99u, 49u, + 90u, 75u, 63u, 198u, + 242u, 126u, 90u, 74u, + 149u, 135u, 47u, 139u, + 129u, 129u, 192u, 167u, + 255u, 129u, 139u, 188u, + 207u, 109u, 107u, 117u, + 138u, 138u, 189u, 100u, + 107u, 64u, 158u, 107u, + 131u, 120u, 173u, 125u, + 130u, 144u, 116u, 1u, + 111u, 201u, 75u, 137u, + 255u, 70u, 134u, 189u, + 44u, 106u, 114u, 110u, + 145u, 98u, 106u, 155u, + 148u, 127u, 119u, 122u, + 143u, 105u, 140u, 109u, + 142u, 1u, 194u, 105u, + 108u, 124u, 123u, 186u, + 143u, 123u, 101u, 198u, + 95u, 124u, 133u, 154u, + 160u, 1u, 54u, 13u, + 72u, 132u, 84u, 53u, + 235u, 121u, 1u, 49u, + 122u, 148u, 197u, 129u, + 85u, 44u, 188u, 89u, + 208u, 183u, 173u, 50u, + 69u, 169u, 1u, 146u, + 148u, 110u, 120u, 46u, + 151u, 142u, 142u, 151u, + 162u, 103u, 100u, 162u, + 45u, 87u, 78u, 99u, + 181u, 180u, 233u, 153u, + 77u, 149u, 1u, 127u, + 244u, 170u, 157u, 155u, + 235u, 197u, 133u, 92u, + 119u, 173u, 100u, 30u, + 152u, 87u, 214u, 90u, + 203u, 157u, 171u, 255u, + 113u, 101u, 163u, 122u, + 13u, 137u, 106u, 135u, + 114u, 79u, 243u, 118u, + 72u, 80u, 1u, 89u, + 87u, 116u, 82u, 140u, + 156u, 26u, 188u, 0u, + 85u, 34u, 29u, 134u, + 6u, 188u, 218u, 241u, + 100u, 190u, 22u, 99u, + 100u, 179u, 81u, 125u, + 255u, 180u, 226u, 99u, + 118u, 105u, 139u, 138u, + 149u, 133u, 122u, 165u, + 114u, 61u, 190u, 112u, + 33u, 118u, 40u, 61u, + 151u, 255u, 221u, 69u, + 255u, 106u, 59u, 178u, + 64u, 108u, 203u, 211u, + 40u, 107u, 37u, 76u, + 176u, 98u, 103u, 122u, + 181u, 181u, 97u, 47u, + 141u, 7u, 226u, 69u, + 30u, 36u, 193u, 202u, + 255u, 232u, 213u, 83u, + 16u, 184u, 24u, 134u, + 5u, 63u, 153u, 184u, + 91u, 193u, 174u, 130u, + 123u, 1u, 193u, 133u, + 116u, 105u, 86u, 144u, + 218u, 56u, 239u, 129u, + 179u, 151u, 225u, 255u, + 179u, 34u, 81u, 167u, + 206u, 63u, 144u, 108u, + 47u, 226u, 201u, 123u, + 119u, 116u, 111u, 1u, + 105u, 128u, 215u, 162u, + 74u, 158u, 191u, 105u, + 40u, 181u, 224u, 118u, + 104u, 229u, 128u, 108u, + 217u, 143u, 255u, 200u, + 150u, 254u, 127u, 140u, + 74u, 89u, 158u, 216u, + 116u, 86u, 185u, 168u, + 255u, 221u, 105u, 135u, + 255u, 55u, 217u, 168u, + 130u, 60u, 106u, 95u, + 175u, 240u, 91u, 130u, + 169u, 161u, 140u, 84u, + 53u, 116u, 10u, 143u, + 21u, 102u, 189u, 150u, + 160u, 228u, 112u, 96u, + 1u, 15u, 136u, 239u, + 81u, 124u, 140u, 231u, + 94u, 255u, 125u, 123u, + 136u, 143u, 36u, 252u, + 210u, 105u, 106u, 91u, + 193u, 51u, 155u, 57u, + 21u, 109u, 172u, 156u, + 87u, 114u, 140u, 118u, + 1u, 209u, 145u, 117u, + 121u, 146u, 135u, 120u, + 255u, 82u, 104u, 93u, + 66u, 119u, 76u, 155u, + 106u, 248u, 177u, 202u, + 125u, 150u, 110u, 87u, + 255u, 158u, 127u, 157u, + 96u, 107u, 62u, 121u, + 177u, 99u, 132u, 187u, + 209u, 193u, 164u, 184u, + 55u, 162u, 18u, 0u, + 92u, 110u, 131u, 20u, + 81u, 148u, 211u, 180u, + 114u, 121u, 44u, 164u, + 90u, 153u, 110u, 173u, + 101u, 255u, 117u, 95u, + 159u, 55u, 47u, 110u, + 129u, 138u, 142u, 75u, + 51u, 157u, 101u, 255u, + 158u, 133u, 216u, 103u, + 169u, 25u, 156u, 122u, + 7u, 135u, 85u, 125u, + 135u, 160u, 255u, 184u, + 74u, 88u, 77u, 224u, + 164u, 86u, 144u, 160u, + 149u, 236u, 66u, 174u, + 68u, 160u, 1u, 173u, + 106u, 109u, 109u, 33u, + 177u, 97u, 132u, 121u, + 89u, 76u, 127u, 144u, + 105u, 131u, 139u, 139u, + 202u, 255u, 130u, 193u, + 142u, 47u, 101u, 136u, + 79u, 43u, 1u, 184u, + 169u, 69u, 124u, 152u, + 144u, 116u, 63u, 111u, + 73u, 167u, 144u, 182u, + 159u, 154u, 75u, 131u, + 173u, 207u, 255u, 182u, + 151u, 204u, 83u, 158u, + 103u, 215u, 88u, 49u, + 180u, 61u, 37u, 255u, + 62u, 174u, 241u, 33u, + 96u, 182u, 35u, 60u, + 163u, 96u, 222u, 91u, + 154u, 173u, 86u, 182u, + 119u, 227u, 82u, 115u, + 0u, 240u, 28u, 71u, + 124u, 234u, 149u, 191u, + 120u, 181u, 219u, 176u, + 1u, 145u, 232u, 239u, + 158u, 196u, 66u, 101u, + 136u, 246u, 9u, 84u, + 65u, 89u, 108u, 156u, + 172u, 225u, 54u, 153u, + 249u, 93u, 167u, 1u, + 197u, 199u, 169u, 163u, + 130u, 160u, 149u, 173u, + 105u, 27u, 39u, 62u, + 109u, 140u, 143u, 109u, + 255u, 187u, 131u, 20u, + 115u, 157u, 115u, 149u, + 72u, 34u, 166u, 239u, + 172u, 106u, 255u, 174u, + 251u, 199u, 204u, 57u, + 139u, 163u, 133u, 80u, + 193u, 136u, 99u, 78u, + 213u, 56u, 163u, 117u, + 181u, 255u, 80u, 98u, + 189u, 107u, 96u, 178u, + 1u, 174u, 91u, 160u, + 103u, 117u, 166u, 54u, + 78u, 114u, 145u, 153u, + 151u, 70u, 40u, 105u, + 17u, 98u, 255u, 156u, + 115u, 94u, 139u, 86u, + 150u, 133u, 70u, 74u, + 196u, 40u, 156u, 255u, + 131u, 163u, 83u, 38u, + 115u, 96u, 51u, 176u, + 92u, 198u, 103u, 99u, + 1u, 145u, 127u, 92u, + 59u, 65u, 42u, 66u, + 42u, 38u, 188u, 128u, + 153u, 25u, 222u, 207u, + 141u, 43u, 230u, 127u, + 177u, 56u, 255u, 57u, + 80u, 65u, 130u, 92u, + 247u, 121u, 48u, 76u, + 132u, 99u, 139u, 106u, + 41u, 210u, 208u, 201u, + 173u, 8u, 169u, 245u, + 109u, 181u, 69u, 1u, + 140u, 255u, 127u, 109u, + 162u, 164u, 227u, 83u, + 84u, 11u, 149u, 40u, + 146u, 148u, 215u, 16u, + 107u, 123u, 11u, 255u, + 56u, 170u, 113u, 104u, + 20u, 206u, 119u, 140u, + 152u, 96u, 119u, 114u, + 161u, 112u, 214u, 198u, + 147u, 85u, 137u, 88u, + 181u, 146u, 109u, 209u, + 255u, 143u, 171u, 165u, + 201u, 67u, 89u, 122u, + 209u, 190u, 74u, 87u, + 120u, 0u, 144u, 128u, + 233u, 177u, 207u, 131u, + 139u, 81u, 115u, 192u, + 128u, 44u, 0u, 195u, + 199u, 217u, 150u, 82u, + 58u, 91u, 119u, 169u, + 59u, 80u, 109u, 1u, + 155u, 135u, 33u, 159u, + 208u, 104u, 191u, 139u, + 106u, 153u, 177u, 145u, + 220u, 189u, 181u, 77u, + 1u, 149u, 211u, 150u, + 68u, 150u, 111u, 142u, + 164u, 123u, 217u, 210u, + 76u, 110u, 1u, 62u, + 123u, 163u, 140u, 123u, + 143u, 145u, 190u, 84u, + 126u, 105u, 158u, 143u, + 118u, 15u, 255u, 154u, + 8u, 47u, 112u, 60u, + 209u, 178u, 228u, 168u, + 45u, 114u, 160u, 163u, + 102u, 129u, 66u, 7u, + 251u, 94u, 98u, 85u, + 78u, 255u, 127u, 219u, + 159u, 215u, 197u, 100u, + 216u, 118u, 212u, 174u, + 179u, 83u, 92u, 0u, + 116u, 135u, 76u, 177u, + 125u, 185u, 59u, 30u, + 255u, 164u, 129u, 15u, + 126u, 186u, 88u, 185u, + 82u, 140u, 171u, 127u, + 180u, 168u, 12u, 128u, + 115u, 197u, 112u, 124u, + 255u, 169u, 94u, 186u, + 80u, 140u, 96u, 144u, + 176u, 172u, 233u, 126u, + 150u, 1u, 198u, 133u, + 100u, 66u, 174u, 43u, + 165u, 183u, 151u, 238u, + 146u, 158u, 157u, 123u, + 142u, 118u, 189u, 101u, + 75u, 208u, 77u, 131u, + 81u, 255u, 215u, 209u, + 148u, 75u, 110u, 132u, + 132u, 136u, 58u, 1u, + 144u, 205u, 144u, 145u, + 240u, 33u, 139u, 115u, + 93u, 145u, 108u, 168u, + 56u, 119u, 135u, 255u, + 16u, 127u, 206u, 2u, + 197u, 120u, 188u, 215u, + 161u, 73u, 30u, 25u, + 80u, 61u, 123u, 55u, + 156u, 72u, 145u, 44u, + 223u, 91u, 85u, 157u, + 152u, 100u, 255u, 178u, + 58u, 55u, 14u, 166u, + 64u, 147u, 255u, 167u, + 22u, 134u, 134u, 119u, + 130u, 76u, 97u, 82u, + 123u, 211u, 147u, 0u, + 118u, 109u, 117u, 187u, + 28u, 111u, 91u, 134u, + 70u, 64u, 81u, 131u, + 184u, 163u, 92u, 126u, + 138u, 1u, 150u, 115u, + 159u, 49u, 113u, 101u, + 89u, 136u, 118u, 141u, + 239u, 84u, 73u, 255u, + 147u, 119u, 15u, 117u, + 118u, 109u, 147u, 131u, + 63u, 108u, 47u, 163u, + 84u, 178u, 255u, 108u, + 172u, 213u, 116u, 185u, + 78u, 59u, 124u, 176u, + 105u, 32u, 94u, 225u, + 142u, 180u, 12u, 123u, + 103u, 174u, 109u, 210u, + 51u, 89u, 168u, 37u, + 185u, 226u, 118u, 1u, + 150u, 150u, 0u, 2u, + 109u, 35u, 178u, 78u, + 109u, 242u, 128u, 128u, + 105u, 113u, 134u, 84u, + 175u, 224u, 97u, 156u, + 0u, 111u, 89u, 14u, + 72u, 116u, 254u, 145u, + 114u, 25u, 96u, 124u, + 158u, 134u, 68u, 0u, + 243u, 64u, 87u, 143u, + 218u, 142u, 123u, 111u, + 120u, 143u, 156u, 85u, + 176u, 208u, 158u, 167u, + 231u, 194u, 179u, 232u, + 16u, 53u, 166u, 214u, + 165u, 125u, 0u, 161u, + 167u, 142u, 86u, 190u, + 137u, 89u, 255u, 5u, + 139u, 101u, 68u, 154u, + 133u, 189u, 178u, 24u, + 126u, 158u, 147u, 39u, + 255u, 160u, 143u, 147u, + 208u, 116u, 98u, 106u, + 81u, 191u, 134u, 126u, + 146u, 144u, 1u, 169u, + 47u, 98u, 178u, 122u, + 135u, 144u, 252u, 69u, + 157u, 126u, 130u, 163u, + 107u, 94u, 32u, 98u, + 158u, 140u, 195u, 86u, + 102u, 56u, 87u, 164u, + 154u, 255u, 176u, 134u, + 0u, 97u, 101u, 129u, + 168u, 139u, 153u, 175u, + 77u, 184u, 84u, 180u, + 181u, 54u, 240u, 157u, + 133u, 135u, 217u, 0u, + 209u, 89u, 93u, 150u, + 85u, 129u, 152u, 122u, + 75u, 108u, 117u, 183u, + 231u, 148u, 53u, 197u, + 49u, 96u, 117u, 47u, + 119u, 74u, 161u, 38u, + 84u, 255u, 120u, 231u, + 109u, 78u, 255u, 170u, + 177u, 174u, 169u, 74u, + 127u, 146u, 52u, 135u, + 178u, 148u, 198u, 128u, + 184u, 170u, 54u, 122u, + 82u, 142u, 193u, 186u, + 255u, 83u, 135u, 129u, + 185u, 59u, 162u, 92u, + 164u, 159u, 93u, 226u, + 94u, 120u, 126u, 96u, + 82u, 91u, 82u, 1u, + 30u, 163u, 50u, 173u, + 48u, 183u, 96u, 57u, + 96u, 129u, 167u, 255u, + 46u, 125u, 189u, 230u, + 140u, 72u, 115u, 191u, + 166u, 97u, 84u, 86u, + 16u, 85u, 89u, 1u, + 209u, 182u, 227u, 252u, + 13u, 148u, 147u, 115u, + 80u, 216u, 24u, 135u, + 205u, 155u, 103u, 193u, + 77u, 99u, 155u, 255u, + 138u, 212u, 72u, 126u, + 96u, 199u, 114u, 69u, + 148u, 255u, 29u, 143u, + 121u, 49u, 205u, 161u, + 208u, 207u, 18u, 116u, + 204u, 255u, 152u, 110u, + 67u, 212u, 181u, 254u, + 196u, 154u, 206u, 123u, + 251u, 100u, 142u, 108u, + 80u, 228u, 164u, 135u, + 249u, 177u, 151u, 35u, + 95u, 155u, 186u, 255u, + 164u, 102u, 235u, 148u, + 90u, 188u, 158u, 125u, + 65u, 244u, 60u, 213u, + 54u, 0u, 154u, 109u, + 121u, 181u, 64u, 186u, + 125u, 247u, 56u, 72u, + 199u, 255u, 55u, 166u, + 165u, 77u, 111u, 233u, + 116u, 169u, 150u, 146u, + 144u, 56u, 129u, 216u, + 102u, 153u, 130u, 113u, + 96u, 82u, 100u, 35u, + 135u, 134u, 156u, 255u, + 222u, 38u, 69u, 122u, + 185u, 73u, 126u, 203u, + 1u, 121u, 66u, 108u, + 114u, 134u, 198u, 210u, + 83u, 88u, 143u, 215u, + 41u, 173u, 30u, 1u, + 224u, 38u, 140u, 80u, + 246u, 50u, 214u, 74u, + 77u, 178u, 146u, 106u, + 108u, 177u, 108u, 1u, + 46u, 164u, 74u, 191u, + 228u, 185u, 238u, 146u, + 162u, 193u, 224u, 152u, + 0u, 238u, 196u, 74u, + 100u, 204u, 83u, 175u, + 241u, 178u, 214u, 172u, + 123u, 148u, 129u, 151u, + 91u, 149u, 26u, 157u, + 208u, 132u, 129u, 135u, + 57u, 1u, 101u, 183u, + 53u, 162u, 255u, 172u, + 165u, 96u, 89u, 126u, + 127u, 83u, 118u, 58u, + 60u, 233u, 186u, 177u, + 72u, 242u, 196u, 48u, + 111u, 162u, 234u, 251u, + 27u, 255u, 166u, 72u, + 134u, 70u, 176u, 207u, + 217u, 185u, 198u, 124u, + 183u, 69u, 241u, 227u, + 1u, 79u, 64u, 190u, + 216u, 141u, 189u, 139u, + 114u, 157u, 58u, 170u, + 178u, 44u, 72u, 171u, + 52u, 241u, 52u, 211u, + 0u, 98u, 49u, 110u, + 41u, 161u, 80u, 105u, + 151u, 4u, 255u, 170u, + 105u, 84u, 219u, 102u, + 54u, 126u, 48u, 117u, + 86u, 53u, 101u, 191u, + 39u, 114u, 65u, 199u, + 18u, 203u, 187u, 85u, + 55u, 1u, 74u, 103u, + 122u, 115u, 197u, 79u, + 47u, 156u, 63u, 147u, + 250u, 147u, 160u, 150u, + 28u, 53u, 1u, 165u, + 66u, 147u, 139u, 153u, + 34u, 127u, 44u, 0u, + 83u, 93u, 157u, 184u, + 85u, 166u, 171u, 95u, + 215u, 138u, 126u, 108u, + 201u, 133u, 83u, 124u, + 0u, 84u, 83u, 143u, + 70u, 135u, 197u, 112u, + 150u, 89u, 212u, 155u, + 53u, 251u, 80u, 172u, + 170u, 106u, 127u, 175u, + 155u, 103u, 1u, 196u, + 109u, 173u, 147u, 0u, + 211u, 184u, 85u, 116u, + 103u, 190u, 137u, 110u, + 121u, 206u, 21u, 206u, + 255u, 87u, 184u, 150u, + 175u, 131u, 208u, 8u, + 150u, 38u, 108u, 213u, + 189u, 217u, 172u, 53u, + 221u, 86u, 232u, 255u, + 241u, 71u, 239u, 20u, + 53u, 96u, 153u, 130u, + 53u, 184u, 173u, 220u, + 68u, 196u, 128u, 51u, + 63u, 147u, 171u, 186u, + 1u, 69u, 27u, 99u, + 29u, 91u, 135u, 173u, + 67u, 92u, 217u, 255u, + 152u, 148u, 109u, 71u, + 186u, 18u, 50u, 82u, + 171u, 79u, 65u, 24u, + 43u, 167u, 129u, 76u, + 188u, 255u, 127u, 136u, + 114u, 92u, 73u, 152u, + 128u, 152u, 79u, 159u, + 142u, 158u, 112u, 1u, + 134u, 88u, 118u, 108u, + 49u, 250u, 158u, 104u, + 186u, 155u, 108u, 181u, + 133u, 139u, 64u, 104u, + 255u, 95u, 93u, 85u, + 111u, 218u, 44u, 140u, + 156u, 139u, 113u, 69u, + 1u, 173u, 200u, 71u, + 102u, 203u, 120u, 96u, + 54u, 191u, 107u, 138u, + 118u, 132u, 197u, 175u, + 103u, 145u, 153u, 109u, + 222u, 134u, 51u, 154u, + 23u, 61u, 121u, 124u, + 1u, 184u, 206u, 52u, + 153u, 139u, 162u, 71u, + 67u, 233u, 1u, 187u, + 83u, 148u, 223u, 170u, + 196u, 63u, 4u, 109u, + 96u, 183u, 157u, 149u, + 58u, 199u, 180u, 142u, + 36u, 156u, 83u, 140u, + 179u, 196u, 255u, 212u, + 168u, 136u, 98u, 27u, + 82u, 79u, 173u, 255u, + 110u, 189u, 180u, 192u, + 102u, 120u, 146u, 108u, + 202u, 94u, 80u, 125u, + 142u, 134u, 186u, 115u, + 209u, 212u, 143u, 155u, + 255u, 160u, 230u, 22u, + 85u, 246u, 67u, 173u, + 13u, 199u, 26u, 15u, + 113u, 114u, 255u, 11u, + 99u, 160u, 127u, 206u, + 186u, 88u, 133u, 108u, + 160u, 98u, 82u, 110u, + 55u, 158u, 116u, 122u, + 109u, 255u, 107u, 136u, + 160u, 115u, 146u, 114u, + 167u, 96u, 40u, 124u, + 161u, 108u, 63u, 96u, + 174u, 0u, 117u, 177u, + 142u, 105u, 90u, 74u, + 113u, 84u, 140u, 149u, + 84u, 111u, 186u, 255u, + 143u, 57u, 176u, 168u, + 197u, 104u, 138u, 132u, + 1u, 168u, 64u, 129u, + 116u, 127u, 240u, 179u, + 88u, 105u, 151u, 169u, + 195u, 161u, 92u, 0u, + 103u, 175u, 66u, 222u, + 147u, 111u, 188u, 109u, + 217u, 160u, 194u, 155u, + 145u, 80u, 122u, 228u, + 143u, 51u, 189u, 3u, + 216u, 64u, 1u, 136u, + 231u, 196u, 135u, 9u, + 93u, 138u, 66u, 84u, + 195u, 103u, 255u, 140u, + 125u, 98u, 125u, 161u, + 191u, 152u, 243u, 84u, + 102u, 152u, 0u, 134u, + 118u, 150u, 99u, 157u, + 245u, 157u, 216u, 155u, + 171u, 98u, 167u, 71u, + 86u, 191u, 100u, 155u, + 74u, 115u, 1u, 119u, + 142u, 136u, 106u, 76u, + 212u, 87u, 89u, 250u, + 41u, 191u, 255u, 129u, + 106u, 147u, 19u, 59u, + 201u, 76u, 214u, 78u, + 133u, 192u, 165u, 150u, + 244u, 187u, 195u, 103u, + 0u, 201u, 10u, 217u, + 183u, 57u, 234u, 103u, + 218u, 145u, 118u, 125u, + 98u, 53u, 47u, 217u, + 164u, 174u, 142u, 163u, + 196u, 1u, 32u, 155u, + 226u, 177u, 147u, 76u, + 207u, 117u, 93u, 153u, + 244u, 126u, 63u, 255u, + 172u, 71u, 40u, 76u, + 140u, 159u, 108u, 42u, + 158u, 1u, 138u, 114u, + 107u, 112u, 173u, 212u, + 162u, 241u, 166u, 241u, + 132u, 162u, 81u, 80u, + 84u, 94u, 117u, 132u, + 175u, 78u, 110u, 98u, + 181u, 118u, 57u, 94u, + 1u, 106u, 122u, 78u, + 111u, 147u, 35u, 72u, + 255u, 160u, 29u, 65u, + 131u, 99u, 38u, 157u, + 210u, 206u, 125u, 82u, + 192u, 193u, 116u, 180u, + 0u, 127u, 105u, 172u, + 96u, 132u, 187u, 107u, + 174u, 107u, 104u, 79u, + 57u, 154u, 136u, 103u, + 151u, 116u, 195u, 249u, + 133u, 208u, 227u, 255u, + 61u, 19u, 72u, 182u, + 0u, 144u, 87u, 82u, + 98u, 64u, 241u, 215u, + 175u, 182u, 91u, 197u, + 104u, 81u, 85u, 188u, + 218u, 75u, 81u, 178u, + 228u, 98u, 1u, 144u, + 150u, 190u, 149u, 186u, + 103u, 137u, 92u, 182u, + 32u, 134u, 51u, 128u, + 46u, 221u, 165u, 193u, + 19u, 84u, 188u, 157u, + 148u, 18u, 0u, 101u, + 37u, 160u, 163u, 151u, + 145u, 123u, 41u, 84u, + 83u, 48u, 150u, 162u, + 164u, 254u, 255u, 145u, + 150u, 210u, 184u, 143u, + 84u, 204u, 173u, 241u, + 137u, 84u, 123u, 1u, + 184u, 180u, 135u, 113u, + 168u, 0u, 19u, 161u, + 205u, 59u, 24u, 145u, + 160u, 198u, 102u, 93u, + 105u, 137u, 156u, 126u, + 67u, 166u, 78u, 139u, + 137u, 157u, 255u, 177u, + 158u, 125u, 83u, 51u, + 78u, 39u, 103u, 43u, + 20u, 58u, 107u, 30u, + 22u, 166u, 218u, 218u, + 124u, 1u, 125u, 250u, + 124u, 44u, 153u, 180u, + 130u, 144u, 5u, 150u, + 128u, 159u, 150u, 176u, + 157u, 145u, 150u, 255u, + 185u, 110u, 70u, 131u, + 188u, 213u, 154u, 1u, + 6u, 143u, 107u, 173u, + 19u, 76u, 217u, 119u, + 74u, 187u, 23u, 194u, + 87u, 175u, 167u, 108u, + 167u, 157u, 54u, 255u, + 98u, 251u, 227u, 193u, + 197u, 96u, 12u, 37u, + 88u, 46u, 37u, 158u, + 93u, 21u, 147u, 127u, + 217u, 82u, 45u, 62u, + 87u, 1u, 77u, 65u, + 205u, 186u, 163u, 109u, + 154u, 95u, 244u, 107u, + 108u, 158u, 119u, 142u, + 152u, 126u, 255u, 127u, + 82u, 165u, 99u, 88u, + 169u, 13u, 50u, 255u, + 99u, 59u, 146u, 16u, + 126u, 95u, 91u, 89u, + 75u, 157u, 168u, 111u, + 197u, 255u, 113u, 71u, + 151u, 96u, 112u, 119u, + 39u, 151u, 79u, 206u, + 44u, 152u, 207u, 157u, + 60u, 201u, 67u, 227u, + 0u, 100u, 224u, 129u, + 218u, 85u, 172u, 33u, + 26u, 115u, 173u, 84u, + 68u, 168u, 163u, 1u, + 145u, 100u, 89u, 1u, + 65u, 212u, 158u, 149u, + 102u, 160u, 179u, 49u, + 139u, 124u, 87u, 103u, + 95u, 51u, 61u, 50u, + 255u, 180u, 101u, 154u, + 73u, 61u, 167u, 169u, + 146u, 101u, 149u, 255u, + 93u, 112u, 91u, 182u, + 133u, 95u, 130u, 87u, + 216u, 38u, 168u, 219u, + 38u, 112u, 67u, 193u, + 137u, 60u, 224u, 139u, + 255u, 41u, 68u, 236u, + 179u, 227u, 102u, 152u, + 146u, 76u, 215u, 121u, + 220u, 204u, 255u, 88u, + 243u, 78u, 151u, 30u, + 133u, 13u, 216u, 98u, + 255u, 109u, 72u, 118u, + 30u, 80u, 22u, 139u, + 19u, 210u, 87u, 108u, + 98u, 146u, 63u, 115u, + 186u, 60u, 255u, 73u, + 132u, 111u, 53u, 141u, + 152u, 202u, 183u, 35u, + 80u, 130u, 150u, 128u, + 22u, 78u, 86u, 90u, + 110u, 215u, 93u, 5u, + 70u, 1u, 68u, 225u, + 75u, 143u, 134u, 93u, + 157u, 141u, 97u, 38u, + 135u, 255u, 81u, 132u, + 69u, 125u, 212u, 155u, + 78u, 102u, 114u, 218u, + 1u, 91u, 115u, 98u, + 68u, 224u, 85u, 67u, + 198u, 28u, 140u, 69u, + 1u, 133u, 52u, 160u, + 219u, 164u, 140u, 109u, + 143u, 201u, 86u, 115u, + 134u, 18u, 246u, 126u, + 57u, 160u, 87u, 255u, + 112u, 71u, 30u, 44u, + 111u, 177u, 113u, 9u, + 222u, 190u, 237u, 90u, + 158u, 112u, 55u, 237u, + 166u, 214u, 86u, 157u, + 252u, 40u, 102u, 126u, + 60u, 138u, 0u, 154u, + 191u, 183u, 50u, 113u, + 150u, 172u, 137u, 207u, + 255u, 92u, 146u, 141u, + 21u, 17u, 34u, 217u, + 143u, 192u, 91u, 216u, + 131u, 156u, 255u, 77u, + 27u, 43u, 67u, 158u, + 252u, 166u, 144u, 79u, + 129u, 96u, 112u, 139u, + 124u, 195u, 130u, 177u, + 155u, 145u, 142u, 109u, + 255u, 131u, 69u, 101u, + 92u, 195u, 53u, 198u, + 1u, 48u, 139u, 108u, + 178u, 138u, 197u, 181u, + 113u, 103u, 18u, 5u, + 81u, 136u, 87u, 182u, + 175u, 239u, 249u, 98u, + 155u, 173u, 112u, 177u, + 166u, 49u, 255u, 166u, + 51u, 103u, 135u, 38u, + 238u, 235u, 175u, 81u, + 192u, 137u, 144u, 255u, + 218u, 128u, 77u, 240u, + 113u, 129u, 1u, 246u, + 32u, 125u, 176u, 181u, + 25u, 239u, 150u, 110u, + 192u, 51u, 189u, 33u, + 145u, 58u, 115u, 192u, + 98u, 103u, 124u, 187u, + 7u, 134u, 144u, 110u, + 113u, 0u, 75u, 174u, + 239u, 0u, 241u, 155u, + 97u, 111u, 208u, 89u, + 113u, 186u, 75u, 79u, + 143u, 122u, 158u, 87u, + 191u, 149u, 110u, 155u, + 91u, 229u, 101u, 140u, + 195u, 238u, 255u, 136u, + 96u, 56u, 9u, 115u, + 144u, 169u, 106u, 111u, + 45u, 184u, 112u, 150u, + 104u, 137u, 1u, 134u, + 121u, 48u, 130u, 197u, + 200u, 149u, 162u, 103u, + 60u, 64u, 41u, 123u, + 165u, 68u, 255u, 163u, + 156u, 205u, 108u, 121u, + 206u, 162u, 240u, 125u, + 88u, 1u, 28u, 25u, + 47u, 190u, 106u, 81u, + 91u, 191u, 249u, 98u, + 104u, 120u, 118u, 143u, + 255u, 131u, 170u, 122u, + 141u, 234u, 31u, 105u, + 154u, 192u, 97u, 106u, + 130u, 112u, 147u, 1u, + 180u, 151u, 97u, 136u, + 152u, 66u, 138u, 176u, + 105u, 183u, 133u, 163u, + 203u, 1u, 220u, 252u, + 235u, 89u, 183u, 149u, + 214u, 170u, 59u, 14u, + 244u, 90u, 73u, 164u, + 153u, 255u, 46u, 65u, + 107u, 132u, 54u, 134u, + 89u, 36u, 237u, 126u, + 161u, 187u, 142u, 140u, + 171u, 97u, 0u, 148u, + 139u, 141u, 156u, 113u, + 108u, 119u, 67u, 56u, + 163u, 210u, 136u, 61u, + 217u, 75u, 159u, 112u, + 35u, 201u, 211u, 147u, + 172u, 182u, 98u, 126u, + 135u, 255u, 36u, 84u, + 244u, 174u, 197u, 129u, + 57u, 168u, 118u, 86u, + 255u, 211u, 88u, 152u, + 140u, 167u, 110u, 114u, + 255u, 114u, 102u, 163u, + 159u, 48u, 217u, 47u, + 178u, 189u, 130u, 155u, + 119u, 130u, 241u, 23u, + 117u, 95u, 255u, 221u, + 68u, 44u, 202u, 125u, + 145u, 107u, 70u, 89u, + 194u, 18u, 70u, 203u, + 87u, 231u, 98u, 130u, + 194u, 108u, 48u, 89u, + 154u, 1u, 70u, 77u, + 150u, 154u, 160u, 103u, + 113u, 17u, 148u, 255u, + 32u, 118u, 144u, 91u, + 121u, 101u, 51u, 180u, + 71u, 67u, 82u, 145u, + 142u, 131u, 174u, 230u, + 156u, 112u, 51u, 76u, + 55u, 64u, 1u, 94u, + 158u, 181u, 141u, 152u, + 66u, 138u, 32u, 158u, + 118u, 30u, 144u, 135u, + 69u, 150u, 41u, 177u, + 1u, 190u, 45u, 145u, + 173u, 84u, 126u, 194u, + 139u, 139u, 117u, 74u, + 0u, 142u, 108u, 136u, + 176u, 225u, 126u, 105u, + 165u, 164u, 213u, 24u, + 255u, 73u, 141u, 114u, + 138u, 144u, 103u, 106u, + 131u, 226u, 139u, 101u, + 56u, 128u, 12u, 173u, + 183u, 82u, 110u, 98u, + 135u, 111u, 30u, 86u, + 255u, 93u, 119u, 118u, + 158u, 219u, 201u, 0u, + 161u, 181u, 5u, 100u, + 14u, 71u, 173u, 77u, + 134u, 148u, 237u, 223u, + 72u, 175u, 109u, 94u, + 153u, 174u, 135u, 201u, + 255u, 192u, 181u, 176u, + 183u, 78u, 116u, 44u, + 118u, 75u, 91u, 212u, + 129u, 80u, 207u, 154u, + 51u, 215u, 81u, 58u, + 193u, 63u, 221u, 1u, + 153u, 159u, 189u, 58u, + 144u, 185u, 255u, 127u, + 73u, 106u, 207u, 230u, + 111u, 202u, 75u, 99u, + 50u, 125u, 63u, 1u, + 142u, 112u, 193u, 225u, + 116u, 250u, 136u, 157u, + 166u, 61u, 121u, 176u, + 122u, 120u, 134u, 129u, + 255u, 132u, 157u, 148u, + 202u, 22u, 46u, 175u, + 232u, 169u, 147u, 17u, + 0u, 122u, 84u, 161u, + 87u, 148u, 168u, 94u, + 83u, 132u, 28u, 59u, + 61u, 214u, 167u, 130u, + 255u, 131u, 232u, 238u, + 192u, 120u, 172u, 152u, + 111u, 219u, 34u, 204u, + 197u, 110u, 8u, 140u, + 53u, 164u, 178u, 213u, + 110u, 136u, 1u, 57u, + 13u, 99u, 231u, 148u, + 184u, 134u, 110u, 197u, + 190u, 97u, 94u, 155u, + 33u, 28u, 173u, 67u, + 139u, 113u, 204u, 255u, + 73u, 46u, 146u, 178u, + 140u, 136u, 163u, 176u, + 209u, 138u, 48u, 1u, + 175u, 91u, 138u, 99u, + 187u, 153u, 109u, 130u, + 125u, 101u, 202u, 163u, + 255u, 129u, 126u, 82u, + 170u, 162u, 39u, 48u, + 160u, 194u, 169u, 56u, + 13u, 152u, 122u, 58u, + 203u, 102u, 157u, 207u, + 97u, 255u, 246u, 144u, + 86u, 167u, 101u, 144u, + 101u, 117u, 136u, 255u, + 144u, 41u, 74u, 73u, + 162u, 55u, 86u, 26u, + 97u, 129u, 137u, 61u, + 27u, 57u, 56u, 190u, + 1u, 151u, 49u, 180u, + 123u, 197u, 88u, 108u, + 136u, 21u, 141u, 220u, + 255u, 70u, 64u, 149u, + 77u, 89u, 109u, 32u, + 205u, 109u, 148u, 27u, + 192u, 177u, 85u, 78u, + 32u, 128u, 0u, 160u, + 115u, 109u, 145u, 163u, + 114u, 70u, 38u, 79u, + 15u, 116u, 156u, 164u, + 121u, 59u, 101u, 47u, + 127u, 104u, 166u, 255u, + 99u, 115u, 199u, 138u, + 72u, 101u, 101u, 120u, + 145u, 255u, 215u, 42u, + 198u, 129u, 45u, 171u, + 141u, 143u, 165u, 157u, + 140u, 75u, 44u, 217u, + 33u, 138u, 235u, 177u, + 213u, 175u, 255u, 217u, + 146u, 113u, 130u, 49u, + 175u, 171u, 104u, 79u, + 146u, 34u, 114u, 31u, + 63u, 44u, 231u, 205u, + 148u, 255u, 128u, 130u, + 153u, 65u, 145u, 101u, + 199u, 168u, 113u, 167u, + 160u, 92u, 120u, 1u, + 117u, 150u, 165u, 146u, + 196u, 172u, 142u, 105u, + 99u, 125u, 176u, 58u, + 168u, 1u, 120u, 123u, + 85u, 138u, 100u, 64u, + 75u, 109u, 186u, 156u, + 170u, 162u, 0u, 111u, + 146u, 119u, 130u, 125u, + 118u, 175u, 188u, 95u, + 115u, 81u, 77u, 187u, + 14u, 158u, 169u, 18u, + 143u, 86u, 199u, 44u, + 122u, 122u, 178u, 255u, + 96u, 103u, 112u, 214u, + 137u, 134u, 228u, 81u, + 170u, 54u, 25u, 45u, + 196u, 255u, 144u, 140u, + 171u, 137u, 100u, 141u, + 192u, 108u, 104u, 170u, + 58u, 147u, 1u, 147u, + 95u, 235u, 197u, 160u, + 215u, 145u, 210u, 11u, + 110u, 46u, 101u, 102u, + 255u, 69u, 99u, 143u, + 249u, 88u, 40u, 69u, + 64u, 50u, 108u, 127u, + 71u, 32u, 255u, 218u, + 229u, 155u, 128u, 86u, + 97u, 162u, 7u, 123u, + 32u, 77u, 53u, 238u, + 178u, 67u, 103u, 211u, + 194u, 89u, 199u, 148u, + 88u, 183u, 17u, 115u, + 122u, 0u, 136u, 104u, + 202u, 56u, 112u, 180u, + 255u, 46u, 125u, 57u, + 115u, 152u, 76u, 189u, + 173u, 142u, 152u, 216u, + 55u, 195u, 208u, 104u, + 136u, 147u, 255u, 122u, + 11u, 202u, 75u, 224u, + 160u, 210u, 165u, 231u, + 89u, 107u, 255u, 90u, + 52u, 131u, 78u, 102u, + 154u, 167u, 17u, 106u, + 11u, 74u, 176u, 239u, + 207u, 144u, 46u, 77u, + 109u, 197u, 143u, 90u, + 155u, 126u, 131u, 114u, + 182u, 255u, 113u, 107u, + 159u, 1u, 108u, 95u, + 139u, 39u, 154u, 95u, + 150u, 145u, 158u, 142u, + 166u, 113u, 199u, 95u, + 129u, 114u, 112u, 119u, + 255u, 94u, 133u, 218u, + 225u, 183u, 114u, 103u, + 125u, 166u, 147u, 78u, + 69u, 255u, 100u, 158u, + 116u, 162u, 16u, 28u, + 42u, 158u, 109u, 203u, + 79u, 32u, 173u, 126u, + 160u, 83u, 232u, 159u, + 85u, 164u, 0u, 196u, + 155u, 141u, 146u, 67u, + 130u, 108u, 86u, 85u, + 123u, 111u, 72u, 157u, + 105u, 48u, 255u, 78u, + 43u, 205u, 84u, 137u, + 160u, 110u, 162u, 102u, + 10u, 73u, 200u, 98u, + 255u, 165u, 99u, 146u, + 157u, 132u, 144u, 77u, + 141u, 189u, 97u, 103u, + 19u, 146u, 27u, 164u, + 77u, 120u, 255u, 102u, + 197u, 172u, 83u, 33u, + 139u, 107u, 143u, 35u, + 140u, 121u, 226u, 29u, + 214u, 125u, 1u, 178u, + 117u, 124u, 146u, 53u, + 41u, 84u, 53u, 110u, + 82u, 191u, 128u, 117u, + 155u, 58u, 88u, 159u, + 156u, 155u, 176u, 255u, + 170u, 120u, 123u, 144u, + 173u, 127u, 78u, 175u, + 96u, 1u, 227u, 36u, + 147u, 81u, 222u, 156u, + 86u, 28u, 94u, 47u, + 165u, 80u, 225u, 99u, + 207u, 219u, 176u, 63u, + 114u, 133u, 197u, 128u, + 79u, 255u, 110u, 173u, + 142u, 125u, 248u, 110u, + 79u, 66u, 150u, 1u, + 71u, 149u, 73u, 135u, + 162u, 110u, 166u, 139u, + 182u, 61u, 237u, 238u, + 191u, 205u, 53u, 71u, + 81u, 141u, 1u, 85u, + 110u, 245u, 59u, 146u, + 94u, 113u, 181u, 215u, + 104u, 202u, 1u, 129u, + 72u, 106u, 205u, 167u, + 163u, 127u, 117u, 134u, + 215u, 83u, 181u, 118u, + 136u, 33u, 136u, 32u, + 177u, 92u, 78u, 210u, + 1u, 57u, 148u, 153u, + 124u, 165u, 89u, 94u, + 106u, 1u, 170u, 86u, + 47u, 189u, 157u, 149u, + 152u, 154u, 221u, 156u, + 153u, 163u, 48u, 241u, + 1u, 150u, 111u, 237u, + 204u, 136u, 180u, 87u, + 210u, 22u, 128u, 175u, + 169u, 85u, 183u, 136u, + 12u, 236u, 110u, 1u, + 89u, 191u, 111u, 174u, + 194u, 122u, 46u, 170u, + 46u, 159u, 149u, 105u, + 128u, 134u, 0u, 136u, + 117u, 83u, 160u, 97u, + 54u, 123u, 42u, 159u, + 134u, 193u, 255u, 183u, + 138u, 179u, 184u, 72u, + 78u, 108u, 97u, 70u, + 114u, 187u, 233u, 47u, + 117u, 141u, 163u, 166u, + 30u, 213u, 127u, 168u, + 66u, 183u, 255u, 220u, + 158u, 129u, 45u, 140u, + 170u, 169u, 120u, 99u, + 130u, 47u, 91u, 170u, + 82u, 21u, 178u, 172u, + 110u, 83u, 209u, 0u, + 179u, 255u, 39u, 126u, + 246u, 192u, 142u, 160u, + 73u, 99u, 99u, 107u, + 101u, 105u, 70u, 171u, + 118u, 178u, 142u, 105u, + 216u, 115u, 189u, 55u, + 83u, 60u, 50u, 1u, + 131u, 127u, 248u, 119u, + 91u, 131u, 73u, 56u, + 153u, 70u, 157u, 54u, + 84u, 145u, 175u, 255u, + 143u, 180u, 171u, 83u, + 112u, 206u, 158u, 117u, + 182u, 59u, 213u, 157u, + 189u, 19u, 218u, 120u, + 10u, 233u, 120u, 0u, + 1u, 142u, 71u, 222u, + 92u, 192u, 187u, 108u, + 165u, 168u, 143u, 126u, + 162u, 179u, 124u, 146u, + 1u, 165u, 57u, 40u, + 163u, 157u, 178u, 150u, + 231u, 107u, 192u, 110u, + 64u, 121u, 110u, 45u, + 28u, 112u, 21u, 143u, + 33u, 201u, 244u, 179u, + 155u, 113u, 123u, 193u, + 197u, 84u, 90u, 255u, + 56u, 134u, 86u, 41u, + 192u, 88u, 35u, 222u, + 86u, 123u, 152u, 176u, + 1u, 47u, 117u, 67u, + 87u, 209u, 76u, 197u, + 0u, 239u, 52u, 174u, + 87u, 103u, 78u, 63u, + 171u, 140u, 20u, 83u, + 162u, 184u, 120u, 166u, + 136u, 47u, 78u, 155u, + 1u, 199u, 168u, 105u, + 156u, 43u, 151u, 63u, + 181u, 145u, 140u, 113u, + 113u, 87u, 158u, 0u, + 60u, 179u, 77u, 134u, + 148u, 148u, 121u, 133u, + 151u, 159u, 91u, 180u, + 35u, 255u, 160u, 138u, + 120u, 151u, 238u, 146u, + 217u, 149u, 142u, 97u, + 223u, 35u, 230u, 68u, + 190u, 71u, 1u, 174u, + 211u, 141u, 119u, 191u, + 50u, 183u, 196u, 164u, + 131u, 96u, 255u, 124u, + 119u, 70u, 145u, 101u, + 93u, 173u, 117u, 152u, + 139u, 92u, 142u, 245u, + 142u, 148u, 180u, 0u, + 143u, 175u, 80u, 173u, + 96u, 145u, 130u, 122u, + 23u, 146u, 62u, 168u, + 154u, 25u, 117u, 163u, + 2u, 135u, 255u, 175u, + 121u, 61u, 49u, 110u, + 137u, 186u, 10u, 174u, + 82u, 36u, 0u, 251u, + 38u, 76u, 108u, 114u, + 169u, 148u, 121u, 65u, + 119u, 29u, 151u, 136u, + 158u, 196u, 74u, 165u, + 109u, 163u, 130u, 180u, + 160u, 168u, 255u, 191u, + 164u, 136u, 178u, 106u, + 120u, 150u, 156u, 240u, + 1u, 74u, 163u, 46u, + 203u, 61u, 109u, 164u, + 40u, 126u, 44u, 131u, + 255u, 116u, 155u, 167u, + 79u, 80u, 99u, 121u, + 151u, 133u, 143u, 142u, + 115u, 120u, 133u, 168u, + 152u, 115u, 255u, 116u, + 152u, 73u, 88u, 81u, + 147u, 85u, 195u, 187u, + 216u, 230u, 167u, 66u, + 166u, 76u, 1u, 104u, + 100u, 169u, 106u, 167u, + 82u, 20u, 79u, 133u, + 145u, 138u, 187u, 164u, + 246u, 128u, 218u, 40u, + 225u, 255u, 108u, 181u, + 159u, 56u, 137u, 152u, + 150u, 235u, 51u, 168u, + 152u, 114u, 1u, 128u, + 26u, 75u, 42u, 182u, + 125u, 158u, 215u, 92u, + 115u, 91u, 230u, 71u, + 107u, 173u, 43u, 116u, + 203u, 4u, 51u, 180u, + 49u, 229u, 142u, 114u, + 255u, 91u, 187u, 88u, + 116u, 61u, 49u, 46u, + 73u, 19u, 81u, 113u, + 153u, 193u, 109u, 126u, + 30u, 134u, 255u, 162u, + 149u, 175u, 148u, 119u, + 57u, 157u, 255u, 132u, + 121u, 122u, 156u, 167u, + 213u, 199u, 175u, 178u, + 113u, 104u, 58u, 151u, + 46u, 63u, 229u, 104u, + 166u, 127u, 185u, 217u, + 109u, 160u, 136u, 0u, + 172u, 109u, 143u, 57u, + 43u, 77u, 130u, 60u, + 87u, 92u, 23u, 1u, + 44u, 45u, 120u, 207u, + 184u, 110u, 191u, 107u, + 120u, 60u, 193u, 93u, + 165u, 99u, 111u, 255u, + 78u, 124u, 162u, 176u, + 99u, 143u, 88u, 144u, + 217u, 24u, 189u, 70u, + 204u, 118u, 112u, 173u, + 1u, 254u, 37u, 93u, + 151u, 100u, 110u, 45u, + 255u, 54u, 76u, 128u, + 69u, 114u, 147u, 231u, + 169u, 171u, 104u, 96u, + 17u, 69u, 87u, 79u, + 196u, 79u, 80u, 147u, + 161u, 255u, 100u, 127u, + 86u, 83u, 148u, 49u, + 122u, 156u, 93u, 87u, + 160u, 157u, 236u, 212u, + 255u, 138u, 150u, 209u, + 168u, 115u, 50u, 141u, + 206u, 71u, 162u, 128u, + 168u, 154u, 127u, 77u, + 115u, 155u, 191u, 69u, + 255u, 128u, 158u, 47u, + 193u, 121u, 123u, 67u, + 110u, 120u, 134u, 255u, + 100u, 113u, 106u, 160u, + 108u, 93u, 130u, 171u, + 155u, 103u, 136u, 135u, + 114u, 167u, 0u, 126u, + 189u, 82u, 220u, 107u, + 106u, 120u, 132u, 222u, + 132u, 215u, 155u, 126u, + 1u, 99u, 118u, 207u, + 111u, 130u, 105u, 52u, + 52u, 103u, 138u, 146u, + 138u, 62u, 190u, 113u, + 211u, 156u, 255u, 26u, + 157u, 162u, 53u, 104u, + 158u, 169u, 186u, 230u, + 76u, 105u, 27u, 255u, + 65u, 185u, 77u, 93u, + 182u, 137u, 209u, 61u, + 139u, 153u, 65u, 211u, + 89u, 144u, 16u, 1u, + 161u, 221u, 84u, 184u, + 128u, 99u, 230u, 77u, + 129u, 202u, 39u, 134u, + 187u, 10u, 71u, 106u, + 195u, 59u, 127u, 187u, + 52u, 146u, 90u, 0u, + 49u, 139u, 152u, 49u, + 242u, 55u, 132u, 73u, + 1u, 82u, 171u, 214u, + 6u, 163u, 199u, 130u, + 49u, 11u, 232u, 184u, + 53u, 177u, 180u, 142u, + 255u, 135u, 146u, 183u, + 236u, 172u, 68u, 163u, + 207u, 110u, 115u, 214u, + 227u, 136u, 75u, 191u, + 1u, 145u, 62u, 162u, + 159u, 168u, 245u, 180u, + 76u, 108u, 35u, 167u, + 118u, 145u, 115u, 61u, + 132u, 211u, 244u, 189u, + 153u, 255u, 30u, 93u, + 172u, 80u, 103u, 141u, + 91u, 162u, 85u, 91u, + 83u, 84u, 67u, 76u, + 182u, 46u, 222u, 0u, + 105u, 125u, 70u, 22u, + 60u, 38u, 1u, 199u, + 156u, 121u, 158u, 178u, + 139u, 108u, 81u, 172u, + 103u, 130u, 131u, 150u, + 241u, 47u, 14u, 228u, + 191u, 122u, 171u, 32u, + 255u, 239u, 59u, 31u, + 39u, 151u, 77u, 136u, + 134u, 141u, 120u, 127u, + 106u, 162u, 155u, 1u, + 89u, 103u, 45u, 174u, + 128u, 151u, 141u, 193u, + 235u, 55u, 85u, 57u, + 213u, 116u, 117u, 120u, + 186u, 255u, 194u, 168u, + 232u, 125u, 29u, 81u, + 134u, 174u, 149u, 255u, + 115u, 152u, 141u, 100u, + 121u, 57u, 64u, 87u, + 88u, 85u, 149u, 120u, + 147u, 176u, 148u, 84u, + 219u, 120u, 54u, 130u, + 1u, 130u, 182u, 188u, + 237u, 114u, 56u, 97u, + 147u, 118u, 13u, 141u, + 38u, 210u, 1u, 204u, + 86u, 99u, 183u, 94u, + 97u, 175u, 8u, 78u, + 36u, 190u, 137u, 119u, + 85u, 180u, 127u, 197u, + 166u, 0u, 181u, 166u, + 182u, 129u, 171u, 76u, + 221u, 186u, 118u, 96u, + 115u, 75u, 109u, 99u, + 116u, 76u, 219u, 178u, + 163u, 255u, 144u, 160u, + 102u, 147u, 204u, 150u, + 125u, 58u, 81u, 47u, + 168u, 49u, 159u, 138u, + 255u, 132u, 69u, 157u, + 107u, 98u, 106u, 205u, + 72u, 143u, 113u, 111u, + 166u, 66u, 114u, 0u, + 75u, 107u, 142u, 145u, + 205u, 129u, 123u, 0u, + 145u, 58u, 165u, 221u, + 126u, 126u, 123u, 190u, + 125u, 149u, 95u, 208u, + 44u, 29u, 125u, 121u, + 146u, 169u, 117u, 122u, + 131u, 1u, 117u, 108u, + 95u, 184u, 135u, 127u, + 144u, 168u, 200u, 120u, + 78u, 48u, 181u, 29u, + 23u, 255u, 171u, 199u, + 199u, 178u, 87u, 51u, + 99u, 131u, 73u, 238u, + 23u, 71u, 122u, 189u, + 1u, 131u, 159u, 122u, + 191u, 46u, 92u, 226u, + 194u, 152u, 61u, 1u, + 132u, 122u, 54u, 162u, + 192u, 160u, 153u, 123u, + 131u, 114u, 176u, 130u, + 220u, 98u, 77u, 107u, + 169u, 86u, 172u, 199u, + 103u, 212u, 2u, 5u, + 255u, 167u, 182u, 52u, + 142u, 88u, 158u, 159u, + 186u, 138u, 75u, 148u, + 177u, 152u, 127u, 122u, + 255u, 57u, 185u, 156u, + 136u, 17u, 101u, 17u, + 71u, 74u, 84u, 175u, + 209u, 170u, 97u, 47u, + 0u, 20u, 4u, 138u, + 80u, 217u, 219u, 115u, + 140u, 131u, 104u, 70u, + 76u, 0u, 155u, 176u, + 55u, 59u, 159u, 190u, + 146u, 173u, 94u, 1u, + 61u, 138u, 159u, 201u, + 57u, 89u, 117u, 49u, + 95u, 69u, 84u, 190u, + 161u, 120u, 133u, 125u, + 239u, 90u, 80u, 144u, + 68u, 134u, 32u, 255u, + 152u, 125u, 125u, 191u, + 201u, 123u, 194u, 49u, + 120u, 125u, 181u, 154u, + 1u, 155u, 33u, 111u, + 117u, 183u, 114u, 134u, + 255u, 143u, 155u, 157u, + 124u, 155u, 136u, 99u, + 137u, 172u, 122u, 121u, + 246u, 94u, 143u, 114u, + 97u, 128u, 123u, 62u, + 135u, 227u, 79u, 174u, + 177u, 234u, 222u, 113u, + 110u, 1u, 235u, 126u, + 174u, 74u, 129u, 158u, + 132u, 165u, 1u, 161u, + 96u, 24u, 174u, 74u, + 72u, 128u, 95u, 166u, + 109u, 183u, 127u, 93u, + 119u, 148u, 69u, 156u, + 1u, 111u, 231u, 142u, + 106u, 96u, 132u, 166u, + 12u, 184u, 10u, 95u, + 101u, 90u, 86u, 28u, + 89u, 72u, 84u, 1u, + 57u, 144u, 145u, 165u, + 100u, 137u, 140u, 205u, + 218u, 183u, 64u, 75u, + 87u, 129u, 216u, 132u, + 190u, 255u, 176u, 113u, + 198u, 148u, 55u, 184u, + 192u, 78u, 86u, 124u, + 188u, 23u, 169u, 133u, + 161u, 255u, 67u, 244u, + 1u, 171u, 46u, 144u, + 74u, 95u, 184u, 41u, + 17u, 225u, 156u, 111u, + 224u, 77u, 112u, 80u, + 75u, 211u, 32u, 118u, + 137u, 1u, 135u, 194u, + 255u, 219u, 78u, 116u, + 156u, 160u, 200u, 113u, + 173u, 159u, 81u, 55u, + 125u, 169u, 181u, 126u, + 180u, 227u, 208u, 123u, + 255u, 184u, 122u, 43u, + 74u, 229u, 1u, 94u, + 89u, 56u, 78u, 221u, + 118u, 217u, 168u, 183u, + 81u, 130u, 169u, 6u, + 108u, 20u, 113u, 143u, + 222u, 51u, 253u, 94u, + 167u, 182u, 152u, 255u, + 165u, 78u, 125u, 227u, + 121u, 201u, 163u, 86u, + 2u, 142u, 217u, 145u, + 81u, 230u, 179u, 138u, + 168u, 150u, 251u, 255u, + 150u, 149u, 108u, 156u, + 131u, 190u, 91u, 1u, + 85u, 89u, 96u, 105u, + 130u, 202u, 160u, 191u, + 58u, 60u, 130u, 167u, + 68u, 118u, 156u, 88u, + 180u, 181u, 123u, 140u, + 1u, 180u, 43u, 125u, + 240u, 1u, 25u, 197u, + 28u, 106u, 203u, 151u, + 143u, 31u, 160u, 115u, + 243u, 243u, 21u, 113u, + 1u, 152u, 89u, 119u, + 123u, 76u, 149u, 245u, + 85u, 110u, 129u, 101u, + 174u, 75u, 58u, 119u, + 94u, 198u, 169u, 83u, + 164u, 113u, 90u, 143u, + 72u, 184u, 255u, 169u, + 154u, 113u, 180u, 178u, + 1u, 131u, 123u, 202u, + 142u, 217u, 203u, 156u, + 183u, 149u, 104u, 206u, + 153u, 129u, 32u, 243u, + 152u, 142u, 85u, 217u, + 149u, 51u, 81u, 83u, + 120u, 60u, 143u, 114u, + 1u, 140u, 26u, 157u, + 136u, 104u, 223u, 86u, + 80u, 86u, 235u, 77u, + 194u, 45u, 95u, 211u, + 196u, 0u, 196u, 186u, + 162u, 190u, 12u, 225u, + 117u, 186u, 133u, 17u, + 125u, 6u, 124u, 157u, + 156u, 227u, 96u, 255u, + 78u, 87u, 215u, 103u, + 86u, 239u, 151u, 5u, + 110u, 162u, 0u, 129u, + 38u, 174u, 55u, 146u, + 138u, 172u, 95u, 0u, + 174u, 224u, 135u, 171u, + 112u, 98u, 136u, 161u, + 212u, 194u, 119u, 152u, + 109u, 173u, 14u, 233u, + 51u, 70u, 144u, 142u, + 123u, 76u, 182u, 77u, + 86u, 1u, 168u, 133u, + 1u, 13u, 128u, 159u, + 66u, 201u, 240u, 125u, + 104u, 89u, 28u, 139u, + 91u, 187u, 226u, 79u, + 114u, 73u, 46u, 88u, + 239u, 237u, 1u, 234u, + 7u, 201u, 85u, 164u, + 137u, 154u, 102u, 109u, + 113u, 255u, 182u, 103u, + 148u, 173u, 93u, 76u, + 44u, 152u, 237u, 93u, + 101u, 139u, 51u, 180u, + 58u, 119u, 66u, 91u, + 92u, 93u, 38u, 77u, + 40u, 118u, 255u, 148u, + 133u, 35u, 251u, 211u, + 243u, 137u, 178u, 123u, + 184u, 194u, 197u, 47u, + 154u, 125u, 149u, 213u, + 199u, 74u, 255u, 176u, + 163u, 209u, 228u, 166u, + 150u, 177u, 178u, 169u, + 1u, 139u, 6u, 121u, + 188u, 148u, 30u, 119u, + 187u, 159u, 178u, 146u, + 83u, 91u, 82u, 155u, + 142u, 99u, 105u, 72u, + 145u, 1u, 82u, 115u, + 144u, 118u, 194u, 72u, + 30u, 88u, 142u, 81u, + 174u, 136u, 126u, 62u, + 67u, 104u, 1u, 134u, + 234u, 106u, 125u, 74u, + 122u, 83u, 124u, 0u, + 61u, 164u, 128u, 137u, + 233u, 122u, 44u, 114u, + 238u, 123u, 255u, 40u, + 46u, 22u, 65u, 165u, + 180u, 228u, 203u, 115u, + 188u, 31u, 157u, 63u, + 144u, 137u, 255u, 118u, + 209u, 89u, 152u, 77u, + 166u, 105u, 173u, 191u, + 140u, 159u, 118u, 51u, + 44u, 139u, 175u, 8u, + 188u, 36u, 141u, 198u, + 177u, 202u, 255u, 75u, + 104u, 123u, 198u, 79u, + 104u, 243u, 96u, 203u, + 127u, 69u, 123u, 170u, + 216u, 1u, 129u, 212u, + 134u, 218u, 134u, 0u, + 133u, 119u, 111u, 65u, + 209u, 81u, 147u, 56u, + 125u, 67u, 1u, 91u, + 5u, 147u, 132u, 121u, + 6u, 169u, 44u, 200u, + 129u, 1u, 105u, 184u, + 48u, 152u, 108u, 217u, + 44u, 106u, 175u, 90u, + 66u, 60u, 124u, 164u, + 80u, 112u, 137u, 97u, + 1u, 143u, 28u, 79u, + 108u, 107u, 41u, 199u, + 182u, 155u, 93u, 1u, + 190u, 140u, 143u, 195u, + 143u, 107u, 70u, 18u, + 77u, 142u, 205u, 159u, + 93u, 76u, 179u, 150u, + 96u, 116u, 193u, 115u, + 98u, 170u, 87u, 154u, + 130u, 1u, 94u, 178u, + 188u, 188u, 191u, 255u, + 194u, 114u, 189u, 155u, + 177u, 140u, 134u, 165u, + 66u, 220u, 63u, 69u, + 107u, 130u, 133u, 137u, + 255u, 149u, 73u, 176u, + 68u, 254u, 65u, 117u, + 123u, 141u, 169u, 142u, + 1u, 133u, 129u, 106u, + 186u, 73u, 179u, 170u, + 216u, 152u, 117u, 184u, + 75u, 61u, 62u, 149u, + 216u, 128u, 202u, 197u, + 2u, 33u, 147u, 67u, + 102u, 240u, 132u, 120u, + 167u, 153u, 1u, 209u, + 144u, 147u, 255u, 94u, + 31u, 141u, 117u, 108u, + 219u, 104u, 207u, 28u, + 223u, 49u, 102u, 138u, + 120u, 97u, 39u, 209u, + 13u, 87u, 214u, 61u, + 140u, 163u, 186u, 99u, + 1u, 190u, 82u, 95u, + 227u, 200u, 120u, 161u, + 98u, 200u, 164u, 97u, + 142u, 169u, 64u, 126u, + 176u, 255u, 57u, 86u, + 113u, 171u, 151u, 155u, + 8u, 178u, 1u, 138u, + 109u, 141u, 187u, 103u, + 120u, 35u, 75u, 139u, + 184u, 84u, 197u, 201u, + 96u, 65u, 0u, 168u, + 136u, 53u, 192u, 148u, + 177u, 189u, 172u, 190u, + 149u, 129u, 220u, 159u, + 72u, 42u, 88u, 197u, + 219u, 221u, 117u, 227u, + 103u, 93u, 154u, 1u, + 16u, 255u, 167u, 29u, + 93u, 24u, 13u, 152u, + 21u, 138u, 163u, 46u, + 8u, 135u, 197u, 140u, + 210u, 195u, 168u, 195u, + 1u, 189u, 177u, 100u, + 137u, 82u, 180u, 159u, + 121u, 128u, 83u, 108u, + 47u, 85u, 36u, 134u, + 26u, 120u, 237u, 1u, + 147u, 178u, 222u, 64u, + 227u, 54u, 189u, 112u, + 206u, 138u, 99u, 230u, + 0u, 224u, 179u, 98u, + 73u, 31u, 61u, 89u, + 224u, 216u, 25u, 158u, + 130u, 193u, 200u, 115u, + 170u, 92u, 126u, 1u, + 144u, 151u, 122u, 78u, + 101u, 122u, 106u, 91u, + 196u, 177u, 158u, 88u, + 152u, 157u, 255u, 103u, + 166u, 113u, 110u, 97u, + 90u, 64u, 93u, 140u, + 105u, 139u, 99u, 124u, + 237u, 20u, 76u, 46u, + 61u, 40u, 255u, 92u, + 168u, 189u, 158u, 108u, + 230u, 31u, 106u, 156u, + 141u, 127u, 184u, 213u, + 255u, 60u, 150u, 122u, + 165u, 126u, 131u, 11u, + 129u, 145u, 42u, 255u, + 94u, 50u, 94u, 28u, + 137u, 41u, 161u, 104u, + 153u, 80u, 138u, 127u, + 111u, 176u, 168u, 70u, + 140u, 202u, 185u, 91u, + 128u, 138u, 54u, 104u, + 59u, 181u, 129u, 255u, + 255u, 103u, 143u, 50u, + 86u, 82u, 150u, 122u, + 129u, 35u, 198u, 150u, + 109u, 157u, 118u, 125u, + 132u, 124u, 1u, 124u, + 120u, 28u, 100u, 173u, + 133u, 211u, 177u, 72u, + 88u, 172u, 101u, 252u, + 162u, 0u, 81u, 173u, + 116u, 152u, 135u, 134u, + 172u, 22u, 60u, 130u, + 25u, 65u, 119u, 234u, + 104u, 255u, 157u, 171u, + 177u, 108u, 106u, 132u, + 156u, 155u, 68u, 70u, + 94u, 146u, 121u, 21u, + 211u, 116u, 91u, 137u, + 136u, 1u, 93u, 105u, + 104u, 141u, 205u, 86u, + 172u, 114u, 68u, 37u, + 255u, 128u, 100u, 117u, + 96u, 110u, 155u, 120u, + 28u, 26u, 150u, 53u, + 187u, 66u, 125u, 146u, + 59u, 136u, 108u, 100u, + 23u, 92u, 209u, 162u, + 185u, 215u, 168u, 131u, + 107u, 33u, 1u, 148u, + 16u, 117u, 54u, 90u, + 98u, 163u, 225u, 232u, + 120u, 20u, 160u, 189u, + 1u, 113u, 12u, 143u, + 58u, 1u, 134u, 181u, + 54u, 251u, 190u, 1u, + 237u, 208u, 104u, 164u, + 171u, 174u, 124u, 127u, + 232u, 55u, 1u, 95u, + 59u, 110u, 214u, 38u, + 130u, 156u, 232u, 208u, + 219u, 223u, 26u, 88u, + 183u, 111u, 164u, 108u, + 49u, 63u, 255u, 190u, + 208u, 99u, 84u, 98u, + 89u, 132u, 140u, 53u, + 218u, 156u, 12u, 249u, + 23u, 151u, 172u, 201u, + 141u, 65u, 115u, 159u, + 133u, 130u, 1u, 94u, + 49u, 174u, 255u, 120u, + 198u, 61u, 68u, 30u, + 134u, 33u, 134u, 89u, + 48u, 165u, 191u, 80u, + 123u, 138u, 132u, 163u, + 255u, 45u, 215u, 142u, + 129u, 133u, 73u, 152u, + 171u, 36u, 144u, 47u, + 94u, 196u, 111u, 159u, + 93u, 200u, 185u, 127u, + 123u, 114u, 149u, 172u, + 255u, 103u, 161u, 4u, + 106u, 167u, 90u, 32u, + 255u, 214u, 80u, 231u, + 175u, 118u, 218u, 198u, + 201u, 134u, 48u, 130u, + 224u, 247u, 17u, 40u, + 46u, 101u, 66u, 255u, + 139u, 136u, 250u, 97u, + 16u, 164u, 135u, 190u, + 103u, 48u, 197u, 73u, + 241u, 106u, 186u, 64u, + 25u, 159u, 71u, 130u, + 255u, 181u, 174u, 147u, + 160u, 92u, 121u, 198u, + 69u, 190u, 76u, 255u, + 204u, 164u, 242u, 212u, + 172u, 183u, 118u, 141u, + 97u, 153u, 1u, 200u, + 60u, 63u, 93u, 94u, + 95u, 135u, 95u, 202u, + 77u, 152u, 126u, 146u, + 187u, 114u, 0u, 27u, + 117u, 255u, 214u, 101u, + 195u, 195u, 123u, 159u, + 86u, 179u, 65u, 194u, + 138u, 151u, 176u, 160u, + 80u, 144u, 74u, 169u, + 79u, 165u, 141u, 0u, + 80u, 71u, 106u, 147u, + 51u, 78u, 193u, 90u, + 150u, 78u, 208u, 139u, + 91u, 255u, 98u, 163u, + 117u, 151u, 137u, 110u, + 169u, 112u, 71u, 190u, + 61u, 64u, 51u, 114u, + 70u, 255u, 105u, 66u, + 67u, 15u, 120u, 121u, + 166u, 105u, 230u, 114u, + 255u, 155u, 118u, 78u, + 90u, 148u, 90u, 157u, + 197u, 154u, 153u, 209u, + 113u, 141u, 125u, 221u, + 135u, 105u, 163u, 9u, + 120u, 126u, 135u, 226u, + 143u, 128u, 255u, 230u, + 127u, 182u, 87u, 10u, + 128u, 57u, 95u, 236u, + 143u, 157u, 119u, 159u, + 1u, 64u, 90u, 143u, + 127u, 154u, 96u, 102u, + 147u, 91u, 129u, 255u, + 137u, 99u, 166u, 124u, + 81u, 67u, 125u, 137u, + 255u, 153u, 93u, 185u, + 204u, 55u, 95u, 153u, + 67u, 60u, 186u, 137u, + 218u, 250u, 223u, 76u, + 255u, 150u, 213u, 96u, + 113u, 116u, 177u, 170u, + 145u, 104u, 85u, 107u, + 95u, 85u, 84u, 114u, + 92u, 170u, 199u, 1u, + 147u, 35u, 179u, 176u, + 212u, 138u, 182u, 228u, + 182u, 110u, 204u, 102u, + 236u, 246u, 110u, 99u, + 158u, 92u, 97u, 185u, + 149u, 154u, 201u, 122u, + 98u, 106u, 1u, 128u, + 137u, 136u, 95u, 115u, + 193u, 157u, 185u, 97u, + 192u, 45u, 93u, 80u, + 98u, 178u, 61u, 255u, + 1u, 123u, 129u, 169u, + 241u, 83u, 61u, 86u, + 55u, 130u, 240u, 139u, + 99u, 79u, 35u, 243u, + 187u, 126u, 137u, 173u, + 101u, 252u, 81u, 191u, + 62u, 1u, 105u, 225u, + 88u, 187u, 252u, 210u, + 61u, 27u, 225u, 25u, + 28u, 102u, 153u, 217u, + 160u, 165u, 159u, 0u, + 211u, 39u, 104u, 85u, + 71u, 193u, 192u, 172u, + 152u, 126u, 255u, 69u, + 98u, 40u, 135u, 121u, + 150u, 206u, 189u, 93u, + 152u, 66u, 98u, 199u, + 8u, 64u, 170u, 1u, + 93u, 177u, 100u, 38u, + 150u, 87u, 73u, 235u, + 139u, 54u, 29u, 254u, + 255u, 100u, 128u, 212u, + 191u, 67u, 47u, 79u, + 123u, 246u, 176u, 214u, + 0u, 91u, 155u, 161u, + 118u, 101u, 93u, 77u, + 108u, 189u, 170u, 124u, + 103u, 90u, 73u, 171u, + 103u, 180u, 127u, 140u, + 45u, 123u, 1u, 81u, + 61u, 162u, 175u, 19u, + 71u, 112u, 213u, 136u, + 16u, 146u, 234u, 112u, + 193u, 45u, 244u, 137u, + 98u, 102u, 128u, 235u, + 57u, 255u, 181u, 143u, + 186u, 3u, 124u, 203u, + 1u, 68u, 13u, 135u, + 90u, 128u, 200u, 80u, + 194u, 109u, 154u, 249u, + 188u, 136u, 225u, 153u, + 97u, 46u, 245u, 145u, + 125u, 116u, 255u, 77u, + 143u, 236u, 131u, 90u, + 198u, 127u, 120u, 251u, + 150u, 15u, 159u, 176u, + 1u, 138u, 50u, 173u, + 41u, 63u, 89u, 187u, + 90u, 54u, 0u, 211u, + 127u, 161u, 106u, 113u, + 212u, 40u, 181u, 224u, + 95u, 255u, 71u, 117u, + 101u, 68u, 207u, 152u, + 159u, 103u, 102u, 162u, + 140u, 178u, 173u, 99u, + 183u, 1u, 91u, 211u, + 129u, 214u, 202u, 123u, + 154u, 222u, 148u, 171u, + 155u, 1u, 69u, 79u, + 115u, 132u, 113u, 122u, + 182u, 90u, 129u, 196u, + 66u, 142u, 196u, 0u, + 170u, 67u, 162u, 183u, + 226u, 227u, 202u, 79u, + 180u, 12u, 161u, 255u, + 243u, 178u, 84u, 124u, + 201u, 135u, 26u, 207u, + 233u, 178u, 46u, 101u, + 50u, 255u, 169u, 156u, + 176u, 136u, 151u, 179u, + 189u, 214u, 141u, 177u, + 194u, 44u, 53u, 198u, + 83u, 165u, 155u, 110u, + 126u, 177u, 166u, 1u, + 109u, 133u, 174u, 214u, + 200u, 111u, 156u, 153u, + 231u, 101u, 38u, 175u, + 54u, 135u, 125u, 210u, + 86u, 238u, 66u, 54u, + 202u, 227u, 36u, 0u, + 160u, 172u, 84u, 179u, + 25u, 132u, 198u, 111u, + 180u, 150u, 241u, 141u, + 175u, 42u, 25u, 0u, + 166u, 124u, 221u, 101u, + 132u, 81u, 249u, 120u, + 223u, 82u, 175u, 252u, + 255u, 165u, 1u, 69u, + 150u, 67u, 78u, 242u, + 171u, 98u, 215u, 197u, + 140u, 255u, 97u, 142u, + 216u, 110u, 84u, 60u, + 193u, 126u, 85u, 102u, + 255u, 95u, 61u, 99u, + 255u, 243u, 204u, 227u, + 169u, 142u, 189u, 62u, + 119u, 67u, 97u, 178u, + 202u, 106u, 30u, 20u, + 144u, 92u, 204u, 255u, + 187u, 205u, 168u, 120u, + 255u, 89u, 211u, 65u, + 117u, 139u, 149u, 229u, + 179u, 65u, 150u, 113u, + 41u, 187u, 37u, 67u, + 146u, 132u, 79u, 151u, + 130u, 151u, 197u, 138u, + 69u, 229u, 70u, 162u, + 123u, 255u, 92u, 87u, + 108u, 137u, 209u, 172u, + 130u, 176u, 2u, 95u, + 152u, 1u, 182u, 88u, + 81u, 60u, 81u, 159u, + 134u, 158u, 154u, 67u, + 134u, 82u, 222u, 122u, + 24u, 143u, 83u, 202u, + 128u, 255u, 76u, 166u, + 105u, 235u, 156u, 30u, + 222u, 137u, 201u, 127u, + 0u, 57u, 142u, 139u, + 231u, 249u, 205u, 212u, + 115u, 142u, 79u, 136u, + 121u, 150u, 183u, 129u, + 115u, 128u, 59u, 64u, + 160u, 0u, 131u, 78u, + 224u, 147u, 179u, 78u, + 52u, 164u, 128u, 176u, + 135u, 220u, 140u, 195u, + 255u, 108u, 251u, 83u, + 102u, 86u, 87u, 112u, + 148u, 148u, 119u, 134u, + 89u, 102u, 155u, 217u, + 163u, 255u, 148u, 100u, + 156u, 153u, 102u, 159u, + 154u, 150u, 137u, 224u, + 141u, 10u, 190u, 224u, + 0u, 121u, 71u, 78u, + 155u, 27u, 168u, 129u, + 132u, 95u, 212u, 118u, + 117u, 237u, 12u, 122u, + 138u, 166u, 220u, 255u, + 108u, 117u, 38u, 110u, + 61u, 141u, 139u, 162u, + 169u, 109u, 255u, 180u, + 197u, 38u, 204u, 112u, + 187u, 127u, 87u, 123u, + 115u, 144u, 255u, 212u, + 125u, 119u, 88u, 166u, + 157u, 135u, 167u, 84u, + 194u, 116u, 101u, 107u, + 255u, 150u, 106u, 130u, + 158u, 167u, 67u, 68u, + 125u, 113u, 159u, 130u, + 34u, 115u, 118u, 255u, + 76u, 158u, 93u, 123u, + 173u, 144u, 13u, 156u, + 254u, 205u, 175u, 106u, + 127u, 116u, 53u, 111u, + 194u, 44u, 255u, 111u, + 168u, 112u, 113u, 175u, + 99u, 188u, 208u, 137u, + 160u, 148u, 133u, 122u, + 70u, 182u, 136u, 142u, + 147u, 126u, 71u, 166u, + 255u, 128u, 114u, 101u, + 95u, 73u, 94u, 42u, + 113u, 54u, 188u, 68u, + 159u, 168u, 37u, 1u, + 125u, 69u, 127u, 143u, + 160u, 255u, 64u, 99u, + 87u, 78u, 80u, 218u, + 65u, 196u, 94u, 150u, + 101u, 165u, 87u, 216u, + 198u, 110u, 255u, 62u, + 94u, 69u, 61u, 80u, + 119u, 157u, 201u, 146u, + 144u, 125u, 198u, 152u, + 81u, 72u, 112u, 43u, + 92u, 96u, 115u, 0u, + 141u, 121u, 75u, 40u, + 93u, 166u, 240u, 90u, + 130u, 70u, 63u, 112u, + 143u, 139u, 119u, 118u, + 66u, 44u, 1u, 104u, + 165u, 94u, 7u, 117u, + 142u, 98u, 235u, 121u, + 60u, 63u, 167u, 49u, + 202u, 226u, 255u, 155u, + 128u, 181u, 164u, 29u, + 151u, 108u, 216u, 88u, + 93u, 113u, 218u, 255u, + 246u, 77u, 86u, 185u, + 79u, 115u, 78u, 121u, + 161u, 74u, 196u, 99u, + 6u, 184u, 145u, 94u, + 231u, 99u, 106u, 4u, + 220u, 255u, 218u, 97u, + 56u, 76u, 169u, 172u, + 1u, 107u, 134u, 46u, + 96u, 206u, 149u, 103u, + 190u, 23u, 132u, 89u, + 198u, 118u, 83u, 202u, + 144u, 107u, 255u, 89u, + 129u, 144u, 93u, 113u, + 168u, 188u, 209u, 130u, + 106u, 123u, 107u, 166u, + 114u, 14u, 64u, 83u, + 18u, 237u, 134u, 178u, + 96u, 188u, 0u, 131u, + 75u, 155u, 1u, 144u, + 136u, 144u, 161u, 36u, + 163u, 180u, 119u, 190u, + 59u, 115u, 77u, 219u, + 111u, 166u, 131u, 122u, + 162u, 1u, 26u, 147u, + 31u, 36u, 153u, 137u, + 116u, 62u, 150u, 173u, + 37u, 89u, 95u, 114u, + 114u, 37u, 70u, 1u, + 50u, 167u, 168u, 206u, + 63u, 149u, 73u, 95u, + 61u, 1u, 71u, 112u, + 186u, 148u, 10u, 21u, + 91u, 127u, 78u, 208u, + 82u, 74u, 115u, 214u, + 237u, 178u, 83u, 20u, + 87u, 94u, 122u, 255u, + 115u, 130u, 203u, 178u, + 0u, 140u, 104u, 172u, + 255u, 77u, 73u, 255u, + 144u, 104u, 198u, 41u, + 111u, 22u, 49u, 117u, + 204u, 90u, 154u, 123u, + 141u, 52u, 190u, 138u, + 1u, 201u, 175u, 85u, + 73u, 108u, 84u, 174u, + 226u, 32u, 70u, 134u, + 145u, 168u, 255u, 19u, + 161u, 95u, 85u, 158u, + 160u, 223u, 170u, 81u, + 4u, 26u, 186u, 135u, + 133u, 146u, 167u, 119u, + 159u, 131u, 155u, 153u, + 105u, 1u, 91u, 214u, + 91u, 207u, 158u, 131u, + 98u, 255u, 162u, 46u, + 175u, 126u, 72u, 217u, + 181u, 165u, 151u, 109u, + 152u, 21u, 162u, 88u, + 76u, 86u, 92u, 204u, + 144u, 77u, 85u, 136u, + 255u, 183u, 48u, 121u, + 78u, 75u, 130u, 110u, + 159u, 124u, 119u, 65u, + 157u, 144u, 110u, 49u, + 255u, 60u, 99u, 127u, + 101u, 72u, 142u, 222u, + 123u, 194u, 17u, 214u, + 51u, 66u, 75u, 114u, + 155u, 58u, 248u, 102u, + 17u, 16u, 135u, 1u, + 112u, 122u, 130u, 109u, + 170u, 88u, 127u, 94u, + 70u, 1u, 70u, 47u, + 189u, 132u, 168u, 23u, + 174u, 145u, 68u, 35u, + 60u, 106u, 255u, 194u, + 82u, 176u, 140u, 155u, + 149u, 136u, 226u, 99u, + 137u, 113u, 149u, 255u, + 180u, 117u, 149u, 22u, + 129u, 129u, 137u, 156u, + 145u, 66u, 120u, 197u, + 135u, 151u, 125u, 139u, + 128u, 155u, 125u, 202u, + 111u, 82u, 56u, 109u, + 34u, 75u, 81u, 255u, + 14u, 49u, 168u, 243u, + 237u, 197u, 150u, 19u, + 126u, 230u, 186u, 244u, + 144u, 7u, 1u, 98u, + 85u, 209u, 1u, 40u, + 137u, 32u, 126u, 99u, + 159u, 42u, 151u, 119u, + 155u, 200u, 154u, 108u, + 79u, 177u, 67u, 135u, + 94u, 150u, 191u, 167u, + 68u, 255u, 75u, 107u, + 205u, 77u, 99u, 23u, + 160u, 142u, 43u, 208u, + 122u, 124u, 59u, 142u, + 170u, 21u, 132u, 67u, + 129u, 255u, 139u, 56u, + 73u, 222u, 91u, 182u, + 46u, 133u, 185u, 208u, + 150u, 111u, 221u, 130u, + 72u, 156u, 255u, 163u, + 182u, 73u, 165u, 79u, + 255u, 64u, 230u, 104u, + 226u, 159u, 60u, 188u, + 90u, 185u, 60u, 77u, + 135u, 172u, 201u, 0u, + 244u, 192u, 78u, 63u, + 103u, 81u, 156u, 179u, + 202u, 170u, 59u, 134u, + 158u, 130u, 49u, 104u, + 110u, 69u, 228u, 61u, + 109u, 113u, 45u, 145u, + 140u, 152u, 255u, 103u, + 138u, 255u, 123u, 233u, + 104u, 180u, 132u, 104u, + 182u, 241u, 226u, 156u, + 158u, 158u, 197u, 177u, + 192u, 157u, 65u, 153u, + 169u, 1u, 142u, 111u, + 126u, 144u, 181u, 152u, + 181u, 247u, 103u, 90u, + 88u, 58u, 166u, 86u, + 105u, 1u, 163u, 71u, + 79u, 243u, 55u, 100u, + 81u, 35u, 153u, 78u, + 47u, 76u, 97u, 144u, + 242u, 126u, 132u, 112u, + 114u, 49u, 68u, 145u, + 255u, 160u, 120u, 4u, + 52u, 175u, 180u, 248u, + 34u, 144u, 98u, 172u, + 255u, 109u, 78u, 162u, + 132u, 98u, 170u, 176u, + 149u, 178u, 147u, 102u, + 201u, 134u, 80u, 189u, + 144u, 104u, 173u, 134u, + 195u, 145u, 20u, 0u, + 140u, 22u, 176u, 255u, + 195u, 170u, 248u, 95u, + 71u, 61u, 1u, 250u, + 158u, 141u, 46u, 4u, + 118u, 202u, 255u, 154u, + 222u, 156u, 89u, 186u, + 64u, 48u, 103u, 60u, + 134u, 208u, 34u, 150u, + 172u, 142u, 56u, 147u, + 184u, 176u, 163u, 53u, + 153u, 177u, 1u, 138u, + 212u, 47u, 242u, 163u, + 7u, 56u, 108u, 46u, + 84u, 255u, 188u, 136u, + 1u, 93u, 51u, 133u, + 122u, 223u, 213u, 202u, + 238u, 72u, 101u, 5u, + 112u, 32u, 105u, 115u, + 138u, 235u, 130u, 173u, + 255u, 249u, 244u, 128u, + 101u, 15u, 94u, 30u, + 86u, 94u, 150u, 172u, + 44u, 184u, 165u, 255u, + 155u, 53u, 98u, 100u, + 146u, 126u, 120u, 152u, + 0u, 116u, 117u, 90u, + 97u, 212u, 88u, 50u, + 55u, 83u, 58u, 147u, + 141u, 148u, 212u, 107u, + 147u, 207u, 110u, 149u, + 201u, 88u, 150u, 139u, + 110u, 255u, 48u, 124u, + 128u, 194u, 209u, 51u, + 171u, 90u, 99u, 99u, + 78u, 227u, 104u, 167u, + 147u, 0u, 88u, 56u, + 111u, 160u, 140u, 138u, + 170u, 161u, 81u, 18u, + 89u, 160u, 156u, 176u, + 221u, 255u, 91u, 122u, + 132u, 75u, 221u, 38u, + 122u, 218u, 104u, 217u, + 35u, 151u, 166u, 122u, + 53u, 1u, 110u, 241u, + 194u, 22u, 176u, 119u, + 137u, 106u, 54u, 196u, + 140u, 214u, 92u, 95u, + 62u, 76u, 1u, 105u, + 172u, 108u, 136u, 128u, + 126u, 123u, 33u, 168u, + 103u, 184u, 106u, 79u, + 141u, 95u, 0u, 87u, + 196u, 196u, 123u, 194u, + 255u, 147u, 64u, 193u, + 47u, 245u, 122u, 187u, + 227u, 122u, 179u, 109u, + 152u, 201u, 126u, 60u, + 255u, 104u, 165u, 102u, + 90u, 125u, 110u, 196u, + 167u, 166u, 118u, 117u, + 40u, 78u, 114u, 125u, + 72u, 116u, 143u, 49u, + 109u, 255u, 143u, 240u, + 181u, 92u, 55u, 143u, + 81u, 135u, 106u, 171u, + 255u, 126u, 221u, 116u, + 104u, 141u, 17u, 118u, + 177u, 155u, 119u, 89u, + 123u, 1u, 130u, 85u, + 159u, 72u, 143u, 151u, + 150u, 141u, 127u, 80u, + 126u, 80u, 114u, 139u, + 125u, 146u, 93u, 119u, + 54u, 87u, 136u, 126u, + 152u, 111u, 255u, 149u, + 128u, 186u, 131u, 89u, + 46u, 217u, 169u, 1u, + 69u, 209u, 90u, 177u, + 110u, 128u, 40u, 24u, + 27u, 224u, 159u, 163u, + 116u, 129u, 183u, 92u, + 186u, 101u, 195u, 8u, + 152u, 152u, 55u, 187u, + 203u, 178u, 150u, 255u, + 137u, 222u, 137u, 46u, + 211u, 1u, 210u, 70u, + 33u, 42u, 144u, 218u, + 180u, 191u, 55u, 159u, + 109u, 68u, 75u, 161u, + 153u, 138u, 127u, 99u, + 36u, 255u, 83u, 107u, + 162u, 85u, 185u, 195u, + 202u, 138u, 0u, 70u, + 185u, 26u, 193u, 172u, + 163u, 63u, 100u, 144u, + 41u, 214u, 63u, 59u, + 0u, 140u, 129u, 86u, + 148u, 203u, 55u, 185u, + 102u, 131u, 220u, 58u, + 188u, 175u, 158u, 163u, + 168u, 111u, 137u, 54u, + 120u, 136u, 163u, 146u, + 157u, 131u, 242u, 255u, + 97u, 252u, 69u, 132u, + 107u, 94u, 124u, 125u, + 192u, 147u, 58u, 135u, + 203u, 183u, 169u, 132u, + 94u, 85u, 255u, 107u, + 232u, 196u, 162u, 169u, + 227u, 255u, 168u, 134u, + 132u, 130u, 109u, 116u, + 166u, 160u, 124u, 64u, + 220u, 213u, 167u, 255u, + 37u, 218u, 25u, 119u, + 139u, 35u, 234u, 147u, + 115u, 103u, 194u, 42u, + 10u, 234u, 157u, 152u, + 103u, 193u, 70u, 92u, + 143u, 168u, 224u, 143u, + 1u, 160u, 139u, 107u, + 37u, 103u, 110u, 182u, + 66u, 88u, 247u, 0u, + 103u, 59u, 99u, 158u, + 94u, 112u, 63u, 200u, + 92u, 121u, 62u, 62u, + 156u, 193u, 0u, 148u, + 32u, 140u, 111u, 87u, + 122u, 112u, 126u, 129u, + 210u, 76u, 219u, 83u, + 238u, 158u, 20u, 107u, + 94u, 93u, 91u, 129u, + 162u, 255u, 130u, 151u, + 2u, 38u, 133u, 156u, + 114u, 178u, 171u, 84u, + 42u, 204u, 3u, 147u, + 112u, 17u, 94u, 255u, + 106u, 123u, 146u, 255u, + 21u, 127u, 150u, 158u, + 107u, 121u, 114u, 161u, + 177u, 107u, 103u, 122u, + 53u, 122u, 127u, 138u, + 148u, 141u, 146u, 138u, + 88u, 255u, 128u, 92u, + 135u, 101u, 131u, 143u, + 131u, 70u, 212u, 204u, + 164u, 99u, 65u, 203u, + 56u, 36u, 94u, 255u, + 125u, 153u, 72u, 201u, + 133u, 170u, 184u, 75u, + 255u, 133u, 192u, 117u, + 128u, 151u, 102u, 146u, + 117u, 139u, 125u, 138u, + 150u, 189u, 21u, 213u, + 159u, 85u, 189u, 67u, + 99u, 48u, 1u, 57u, + 38u, 90u, 154u, 185u, + 90u, 198u, 162u, 147u, + 87u, 189u, 116u, 187u, + 87u, 1u, 191u, 88u, + 104u, 99u, 116u, 171u, + 88u, 164u, 38u, 139u, + 33u, 51u, 183u, 115u, + 136u, 197u, 122u, 124u, + 57u, 180u, 1u, 161u, + 116u, 154u, 207u, 162u, + 96u, 142u, 255u, 159u, + 65u, 127u, 151u, 191u, + 159u, 164u, 182u, 162u, + 2u, 255u, 70u, 180u, + 170u, 199u, 206u, 214u, + 195u, 2u, 115u, 19u, + 236u, 190u, 251u, 3u, + 89u, 130u, 104u, 105u, + 1u, 117u, 153u, 166u, + 128u, 194u, 196u, 94u, + 123u, 110u, 125u, 169u, + 219u, 129u, 81u, 240u, + 81u, 163u, 82u, 145u, + 49u, 240u, 203u, 103u, + 137u, 240u, 43u, 255u, + 138u, 148u, 183u, 148u, + 172u, 100u, 226u, 106u, + 212u, 1u, 116u, 203u, + 126u, 153u, 49u, 146u, + 54u, 128u, 115u, 133u, + 63u, 136u, 17u, 58u, + 152u, 151u, 92u, 142u, + 93u, 121u, 105u, 255u, + 154u, 79u, 153u, 172u, + 188u, 74u, 20u, 113u, + 150u, 255u, 143u, 114u, + 83u, 125u, 21u, 140u, + 147u, 142u, 144u, 92u, + 170u, 88u, 44u, 90u, + 1u, 186u, 37u, 123u, + 87u, 114u, 181u, 149u, + 171u, 79u, 64u, 193u, + 1u, 148u, 196u, 197u, + 130u, 124u, 131u, 155u, + 151u, 89u, 114u, 129u, + 112u, 125u, 187u, 147u, + 128u, 138u, 102u, 103u, + 0u, 206u, 111u, 78u, + 242u, 111u, 165u, 193u, + 146u, 109u, 51u, 96u, + 125u, 151u, 112u, 255u, + 163u, 44u, 84u, 29u, + 76u, 144u, 101u, 93u, + 163u, 77u, 194u, 167u, + 180u, 255u, 177u, 121u, + 187u, 128u, 70u, 118u, + 166u, 188u, 148u, 95u, + 137u, 79u, 97u, 126u, + 153u, 94u, 207u, 168u, + 255u, 143u, 10u, 70u, + 126u, 186u, 146u, 32u, + 151u, 114u, 183u, 107u, + 77u, 106u, 1u, 149u, + 136u, 119u, 183u, 83u, + 138u, 133u, 100u, 126u, + 164u, 146u, 75u, 188u, + 73u, 20u, 255u, 55u, + 157u, 120u, 188u, 251u, + 47u, 117u, 161u, 218u, + 117u, 123u, 139u, 149u, + 255u, 81u, 118u, 205u, + 184u, 96u, 110u, 133u, + 191u, 47u, 128u, 35u, + 191u, 80u, 98u, 56u, + 255u, 125u, 26u, 131u, + 140u, 148u, 127u, 170u, + 207u, 119u, 67u, 6u, + 127u, 71u, 40u, 115u, + 112u, 137u, 207u, 149u, + 27u, 8u, 59u, 157u, + 165u, 255u, 96u, 110u, + 162u, 134u, 135u, 94u, + 94u, 71u, 199u, 85u, + 197u, 81u, 144u, 138u, + 204u, 201u, 133u, 1u, + 209u, 170u, 143u, 31u, + 73u, 156u, 38u, 134u, + 227u, 148u, 187u, 255u, + 29u, 107u, 61u, 162u, + 81u, 63u, 52u, 107u, + 137u, 123u, 96u, 104u, + 119u, 255u, 98u, 167u, + 99u, 146u, 82u, 84u, + 172u, 158u, 255u, 75u, + 183u, 181u, 86u, 186u, + 100u, 103u, 146u, 157u, + 153u, 155u, 75u, 79u, + 115u, 18u, 82u, 145u, + 39u, 73u, 255u, 151u, + 173u, 116u, 79u, 168u, + 117u, 151u, 173u, 107u, + 116u, 162u, 119u, 183u, + 175u, 137u, 47u, 143u, + 130u, 75u, 114u, 94u, + 1u, 149u, 67u, 163u, + 127u, 105u, 170u, 134u, + 137u, 184u, 71u, 144u, + 131u, 119u, 175u, 35u, + 118u, 90u, 255u, 170u, + 77u, 66u, 117u, 198u, + 136u, 44u, 175u, 102u, + 150u, 224u, 15u, 106u, + 131u, 0u, 112u, 207u, + 203u, 61u, 106u, 45u, + 198u, 144u, 59u, 175u, + 1u, 110u, 77u, 8u, + 89u, 236u, 187u, 106u, + 35u, 181u, 11u, 134u, + 133u, 101u, 175u, 173u, + 162u, 169u, 107u, 213u, + 52u, 106u, 255u, 89u, + 133u, 130u, 130u, 226u, + 201u, 120u, 120u, 132u, + 146u, 190u, 33u, 99u, + 119u, 54u, 255u, 152u, + 172u, 55u, 62u, 94u, + 7u, 121u, 167u, 255u, + 177u, 84u, 127u, 227u, + 77u, 58u, 112u, 144u, + 187u, 132u, 157u, 40u, + 162u, 0u, 163u, 102u, + 87u, 140u, 100u, 138u, + 88u, 115u, 217u, 139u, + 255u, 153u, 87u, 162u, + 185u, 143u, 86u, 51u, + 113u, 67u, 172u, 110u, + 112u, 82u, 52u, 118u, + 105u, 137u, 94u, 147u, + 96u, 169u, 170u, 221u, + 169u, 97u, 157u, 167u, + 175u, 136u, 1u, 100u, + 189u, 19u, 134u, 117u, + 179u, 133u, 1u, 176u, + 114u, 116u, 73u, 153u, + 140u, 158u, 151u, 134u, + 207u, 157u, 151u, 143u, + 94u, 81u, 47u, 215u, + 177u, 154u, 232u, 154u, + 101u, 1u, 95u, 135u, + 196u, 219u, 35u, 211u, + 98u, 104u, 66u, 178u, + 0u, 138u, 111u, 92u, + 93u, 130u, 138u, 140u, + 208u, 147u, 186u, 218u, + 119u, 245u, 158u, 8u, + 97u, 168u, 78u, 145u, + 255u, 185u, 166u, 108u, + 28u, 83u, 212u, 179u, + 104u, 185u, 90u, 93u, + 61u, 144u, 138u, 165u, + 190u, 88u, 139u, 255u, + 221u, 72u, 255u, 140u, + 174u, 109u, 113u, 41u, + 196u, 156u, 82u, 103u, + 114u, 201u, 138u, 168u, + 146u, 156u, 51u, 111u, + 172u, 85u, 255u, 159u, + 178u, 111u, 59u, 194u, + 107u, 77u, 143u, 78u, + 159u, 199u, 255u, 181u, + 37u, 110u, 75u, 114u, + 75u, 196u, 148u, 243u, + 134u, 110u, 211u, 121u, + 159u, 102u, 38u, 121u, + 255u, 98u, 72u, 126u, + 100u, 154u, 47u, 126u, + 181u, 61u, 159u, 101u, + 232u, 48u, 189u, 143u, + 62u, 125u, 255u, 120u, + 88u, 250u, 188u, 122u, + 141u, 8u, 34u, 19u, + 171u, 106u, 228u, 185u, + 178u, 233u, 201u, 229u, + 102u, 148u, 163u, 103u, + 204u, 255u, 152u, 180u, + 183u, 226u, 66u, 59u, + 1u, 113u, 184u, 112u, + 46u, 122u, 183u, 184u, + 169u, 167u, 134u, 83u, + 165u, 212u, 211u, 81u, + 135u, 93u, 122u, 89u, + 141u, 1u, 210u, 81u, + 123u, 176u, 155u, 181u, + 76u, 217u, 184u, 29u, + 48u, 151u, 160u, 70u, + 0u, 188u, 214u, 104u, + 86u, 32u, 111u, 209u, + 179u, 190u, 75u, 128u, + 140u, 0u, 134u, 130u, + 92u, 188u, 152u, 161u, + 70u, 7u, 139u, 140u, + 209u, 138u, 168u, 220u, + 1u, 134u, 49u, 82u, + 92u, 25u, 166u, 83u, + 114u, 230u, 42u, 189u, + 172u, 160u, 4u, 144u, + 85u, 211u, 79u, 155u, + 174u, 69u, 255u, 216u, + 101u, 165u, 130u, 112u, + 215u, 124u, 212u, 214u, + 77u, 166u, 121u, 112u, + 181u, 75u, 98u, 103u, + 69u, 1u, 68u, 118u, + 141u, 124u, 181u, 54u, + 171u, 128u, 141u, 255u, + 140u, 180u, 115u, 92u, + 103u, 180u, 102u, 76u, + 81u, 96u, 1u, 232u, + 182u, 127u, 216u, 71u, + 33u, 116u, 123u, 229u, + 81u, 99u, 125u, 191u, + 106u, 117u, 255u, 73u, + 148u, 117u, 72u, 115u, + 130u, 143u, 78u, 90u, + 77u, 156u, 153u, 209u, + 151u, 124u, 122u, 118u, + 167u, 141u, 66u, 99u, + 0u, 88u, 117u, 108u, + 70u, 132u, 96u, 200u, + 51u, 79u, 41u, 139u, + 120u, 164u, 35u, 126u, + 167u, 229u, 126u, 128u, + 137u, 255u, 42u, 117u, + 106u, 39u, 145u, 116u, + 46u, 17u, 127u, 20u, + 195u, 21u, 192u, 1u, + 146u, 209u, 223u, 151u, + 183u, 100u, 49u, 1u, + 181u, 78u, 104u, 158u, + 61u, 110u, 92u, 127u, + 72u, 172u, 142u, 132u, + 28u, 94u, 112u, 201u, + 56u, 168u, 127u, 33u, + 138u, 110u, 94u, 82u, + 133u, 60u, 1u, 73u, + 177u, 114u, 94u, 103u, + 204u, 65u, 194u, 106u, + 119u, 163u, 67u, 164u, + 156u, 57u, 255u, 122u, + 126u, 143u, 13u, 195u, + 79u, 90u, 17u, 63u, + 99u, 74u, 105u, 1u, + 85u, 171u, 134u, 162u, + 83u, 163u, 124u, 76u, + 108u, 230u, 255u, 170u, + 229u, 143u, 208u, 93u, + 88u, 108u, 218u, 247u, + 103u, 90u, 204u, 217u, + 12u, 7u, 170u, 185u, + 164u, 60u, 163u, 162u, + 160u, 115u, 192u, 255u, + 148u, 228u, 112u, 136u, + 61u, 76u, 13u, 48u, + 46u, 165u, 187u, 111u, + 178u, 1u, 171u, 185u, + 117u, 136u, 255u, 89u, + 58u, 188u, 161u, 70u, + 130u, 187u, 33u, 131u, + 117u, 135u, 178u, 188u, + 131u, 189u, 174u, 113u, + 177u, 203u, 57u, 86u, + 88u, 108u, 195u, 69u, + 146u, 129u, 255u, 157u, + 93u, 129u, 225u, 61u, + 136u, 134u, 151u, 141u, + 124u, 157u, 107u, 168u, + 69u, 91u, 140u, 255u, + 105u, 151u, 67u, 145u, + 168u, 125u, 162u, 1u, + 89u, 105u, 219u, 153u, + 112u, 193u, 143u, 150u, + 176u, 152u, 163u, 82u, + 1u, 31u, 167u, 203u, + 123u, 117u, 186u, 104u, + 165u, 80u, 170u, 207u, + 196u, 152u, 153u, 138u, + 109u, 152u, 1u, 63u, + 62u, 166u, 38u, 81u, + 173u, 162u, 112u, 165u, + 82u, 47u, 130u, 0u, + 116u, 186u, 72u, 213u, + 185u, 17u, 138u, 15u, + 114u, 223u, 152u, 89u, + 165u, 66u, 138u, 132u, + 24u, 137u, 226u, 69u, + 105u, 1u, 111u, 156u, + 135u, 151u, 84u, 100u, + 115u, 50u, 49u, 78u, + 255u, 184u, 139u, 228u, + 191u, 120u, 152u, 160u, + 69u, 130u, 24u, 126u, + 37u, 178u, 202u, 88u, + 71u, 116u, 159u, 126u, + 144u, 104u, 207u, 255u, + 101u, 78u, 142u, 203u, + 204u, 39u, 212u, 175u, + 67u, 255u, 214u, 135u, + 178u, 27u, 52u, 110u, + 115u, 152u, 64u, 187u, + 121u, 140u, 1u, 113u, + 181u, 121u, 213u, 236u, + 198u, 66u, 33u, 83u, + 66u, 187u, 118u, 27u, + 255u, 53u, 112u, 41u, + 177u, 111u, 31u, 208u, + 174u, 72u, 188u, 114u, + 70u, 192u, 57u, 75u, + 170u, 194u, 98u, 156u, + 170u, 132u, 66u, 1u, + 133u, 113u, 186u, 131u, + 171u, 12u, 83u, 142u, + 185u, 143u, 255u, 139u, + 47u, 111u, 214u, 128u, + 134u, 44u, 139u, 140u, + 161u, 136u, 120u, 143u, + 163u, 128u, 159u, 71u, + 184u, 166u, 59u, 136u, + 163u, 125u, 152u, 1u, + 207u, 70u, 80u, 199u, + 166u, 120u, 247u, 110u, + 208u, 115u, 174u, 92u, + 149u, 111u, 70u, 21u, + 167u, 255u, 126u, 136u, + 84u, 72u, 50u, 185u, + 183u, 208u, 242u, 153u, + 119u, 130u, 0u, 120u, + 59u, 98u, 167u, 107u, + 189u, 148u, 48u, 156u, + 1u, 46u, 84u, 169u, + 140u, 198u, 213u, 119u, + 92u, 73u, 146u, 106u, + 95u, 132u, 25u, 56u, + 14u, 84u, 0u, 121u, + 81u, 187u, 228u, 130u, + 131u, 17u, 117u, 202u, + 109u, 128u, 109u, 1u, + 209u, 219u, 170u, 119u, + 90u, 142u, 80u, 122u, + 55u, 109u, 218u, 174u, + 110u, 131u, 191u, 52u, + 218u, 38u, 119u, 204u, + 99u, 189u, 113u, 136u, + 1u, 141u, 152u, 251u, + 117u, 141u, 36u, 49u, + 60u, 103u, 255u, 119u, + 65u, 223u, 96u, 127u, + 115u, 189u, 214u, 208u, + 148u, 123u, 195u, 199u, + 158u, 47u, 145u, 164u, + 83u, 89u, 50u, 255u, + 79u, 92u, 165u, 108u, + 3u, 123u, 58u, 199u, + 158u, 66u, 0u, 131u, + 174u, 123u, 255u, 252u, + 175u, 49u, 73u, 115u, + 156u, 117u, 71u, 233u, + 119u, 202u, 80u, 36u, + 30u, 216u, 111u, 147u, + 177u, 124u, 40u, 255u, + 235u, 91u, 128u, 224u, + 114u, 123u, 130u, 218u, + 34u, 202u, 128u, 236u, + 171u, 35u, 1u, 70u, + 150u, 179u, 81u, 73u, + 128u, 23u, 207u, 255u, + 98u, 183u, 238u, 183u, + 92u, 80u, 135u, 142u, + 186u, 117u, 174u, 103u, + 238u, 179u, 141u, 128u, + 85u, 78u, 77u, 169u, + 255u, 197u, 106u, 97u, + 9u, 219u, 65u, 221u, + 22u, 140u, 1u, 11u, + 234u, 30u, 219u, 206u, + 77u, 33u, 242u, 130u, + 111u, 56u, 40u, 135u, + 196u, 84u, 66u, 81u, + 255u, 249u, 111u, 144u, + 80u, 139u, 57u, 121u, + 74u, 132u, 82u, 166u, + 124u, 43u, 89u, 161u, + 147u, 123u, 255u, 176u, + 27u, 42u, 149u, 172u, + 102u, 195u, 116u, 139u, + 117u, 150u, 141u, 157u, + 168u, 1u, 129u, 64u, + 60u, 177u, 101u, 99u, + 175u, 167u, 139u, 97u, + 212u, 223u, 146u, 212u, + 128u, 211u, 203u, 224u, + 255u, 63u, 109u, 130u, + 241u, 155u, 240u, 45u, + 192u, 171u, 73u, 189u, + 126u, 42u, 121u, 132u, + 180u, 175u, 255u, 251u, + 195u, 62u, 171u, 255u, + 124u, 176u, 43u, 146u, + 77u, 41u, 59u, 128u, + 153u, 143u, 120u, 165u, + 187u, 120u, 98u, 127u, + 151u, 162u, 83u, 152u, + 23u, 131u, 30u, 44u, + 101u, 116u, 255u, 237u, + 2u, 132u, 100u, 1u, + 105u, 152u, 186u, 233u, + 170u, 180u, 217u, 169u, + 38u, 73u, 187u, 228u, + 126u, 185u, 1u, 152u, + 67u, 64u, 236u, 96u, + 132u, 47u, 121u, 140u, + 112u, 193u, 181u, 179u, + 42u, 209u, 119u, 36u, + 88u, 137u, 156u, 227u, + 168u, 47u, 115u, 93u, + 59u, 1u, 215u, 182u, + 47u, 132u, 126u, 191u, + 30u, 151u, 37u, 165u, + 143u, 101u, 184u, 166u, + 21u, 1u, 58u, 152u, + 63u, 208u, 112u, 194u, + 202u, 176u, 137u, 113u, + 139u, 83u, 1u, 139u, + 132u, 119u, 109u, 118u, + 115u, 158u, 88u, 77u, + 157u, 255u, 86u, 170u, + 97u, 80u, 170u, 141u, + 128u, 144u, 94u, 153u, + 210u, 104u, 186u, 136u, + 178u, 169u, 0u, 163u, + 137u, 53u, 40u, 22u, + 123u, 176u, 167u, 213u, + 121u, 192u, 255u, 19u, + 190u, 104u, 27u, 103u, + 154u, 34u, 152u, 141u, + 63u, 112u, 157u, 57u, + 93u, 190u, 164u, 192u, + 0u, 133u, 140u, 131u, + 202u, 148u, 139u, 163u, + 131u, 43u, 87u, 225u, + 71u, 97u, 133u, 133u, + 97u, 173u, 122u, 0u, + 149u, 104u, 97u, 65u, + 178u, 107u, 231u, 169u, + 82u, 154u, 108u, 125u, + 208u, 161u, 99u, 160u, + 135u, 225u, 46u, 144u, + 125u, 197u, 74u, 0u, + 198u, 118u, 246u, 153u, + 159u, 75u, 133u, 110u, + 147u, 108u, 119u, 183u, + 137u, 161u, 121u, 0u, + 140u, 147u, 94u, 140u, + 86u, 46u, 17u, 104u, + 217u, 158u, 243u, 186u, + 25u, 1u, 125u, 197u, + 124u, 120u, 249u, 77u, + 137u, 88u, 146u, 92u, + 92u, 166u, 197u, 152u, + 94u, 165u, 255u, 148u, + 158u, 126u, 115u, 114u, + 182u, 191u, 101u, 104u, + 88u, 37u, 211u, 103u, + 255u, 98u, 112u, 28u, + 115u, 92u, 208u, 177u, + 203u, 163u, 81u, 159u, + 170u, 255u, 127u, 133u, + 167u, 83u, 167u, 179u, + 138u, 164u, 160u, 92u, + 1u, 104u, 75u, 242u, + 132u, 165u, 145u, 131u, + 64u, 89u, 103u, 170u, + 87u, 2u, 182u, 177u, + 115u, 181u, 194u, 13u, + 255u, 161u, 94u, 27u, + 117u, 143u, 153u, 233u, + 132u, 124u, 55u, 181u, + 59u, 142u, 90u, 160u, + 186u, 177u, 78u, 0u, + 157u, 94u, 46u, 111u, + 8u, 169u, 129u, 157u, + 85u, 255u, 216u, 162u, + 48u, 139u, 122u, 108u, + 176u, 181u, 103u, 255u, + 157u, 98u, 171u, 93u, + 51u, 143u, 1u, 212u, + 85u, 231u, 203u, 95u, + 43u, 216u, 50u, 87u, + 110u, 209u, 1u, 63u, + 219u, 70u, 132u, 144u, + 139u, 117u, 117u, 52u, + 131u, 166u, 192u, 43u, + 57u, 19u, 83u, 230u, + 255u, 151u, 181u, 117u, + 24u, 137u, 67u, 141u, + 172u, 90u, 160u, 134u, + 134u, 165u, 255u, 133u, + 149u, 255u, 88u, 78u, + 41u, 55u, 113u, 103u, + 97u, 130u, 180u, 231u, + 124u, 211u, 189u, 88u, + 85u, 154u, 115u, 95u, + 251u, 163u, 204u, 145u, + 159u, 82u, 109u, 1u, + 201u, 166u, 168u, 167u, + 65u, 155u, 206u, 142u, + 77u, 116u, 104u, 197u, + 127u, 177u, 0u, 231u, + 172u, 93u, 123u, 126u, + 147u, 123u, 255u, 94u, + 191u, 70u, 129u, 42u, + 137u, 168u, 45u, 105u, + 161u, 195u, 175u, 91u, + 203u, 117u, 142u, 124u, + 180u, 14u, 146u, 73u, + 71u, 255u, 133u, 150u, + 195u, 48u, 173u, 73u, + 184u, 167u, 73u, 71u, + 27u, 77u, 60u, 176u, + 38u, 1u, 173u, 143u, + 134u, 175u, 155u, 129u, + 175u, 54u, 185u, 133u, + 203u, 255u, 153u, 88u, + 122u, 131u, 213u, 71u, + 206u, 250u, 69u, 59u, + 163u, 242u, 39u, 180u, + 44u, 86u, 126u, 109u, + 151u, 211u, 129u, 255u, + 110u, 152u, 185u, 135u, + 153u, 95u, 1u, 115u, + 206u, 118u, 223u, 177u, + 66u, 169u, 107u, 185u, + 43u, 168u, 188u, 113u, + 96u, 139u, 78u, 68u, + 64u, 183u, 140u, 58u, + 148u, 0u, 112u, 229u, + 106u, 139u, 132u, 0u, + 82u, 179u, 71u, 139u, + 107u, 116u, 144u, 138u, + 65u, 136u, 193u, 218u, + 134u, 145u, 149u, 102u, + 115u, 140u, 105u, 56u, + 69u, 124u, 68u, 123u, + 1u, 107u, 151u, 56u, + 118u, 92u, 89u, 101u, + 0u, 129u, 121u, 145u, + 117u, 76u, 185u, 129u, + 144u, 72u, 103u, 152u, + 57u, 186u, 240u, 102u, + 125u, 88u, 128u, 162u, + 213u, 71u, 127u, 243u, + 1u, 27u, 133u, 205u, + 79u, 233u, 86u, 113u, + 192u, 88u, 118u, 255u, + 56u, 204u, 122u, 166u, + 111u, 192u, 56u, 179u, + 19u, 176u, 152u, 80u, + 131u, 137u, 128u, 153u, + 137u, 94u, 95u, 55u, + 113u, 116u, 231u, 255u, + 148u, 150u, 52u, 195u, + 60u, 167u, 144u, 1u, + 175u, 247u, 196u, 124u, + 167u, 14u, 196u, 199u, + 133u, 20u, 165u, 255u, + 92u, 188u, 161u, 94u, + 145u, 29u, 6u, 77u, + 105u, 55u, 140u, 178u, + 42u, 185u, 112u, 6u, + 94u, 194u, 113u, 146u, + 255u, 180u, 165u, 90u, + 114u, 54u, 80u, 84u, + 60u, 142u, 50u, 104u, + 109u, 107u, 76u, 126u, + 197u, 181u, 70u, 255u, + 162u, 78u, 91u, 47u, + 0u, 78u, 90u, 242u, + 98u, 93u, 166u, 193u, + 63u, 190u, 63u, 154u, + 96u, 232u, 202u, 164u, + 192u, 254u, 173u, 180u, + 155u, 59u, 173u, 41u, + 137u, 161u, 51u, 157u, + 164u, 167u, 64u, 1u, + 107u, 236u, 189u, 44u, + 114u, 180u, 255u, 121u, + 109u, 153u, 182u, 146u, + 163u, 79u, 190u, 155u, + 156u, 57u, 144u, 179u, + 110u, 68u, 174u, 255u, + 248u, 175u, 5u, 58u, + 79u, 106u, 119u, 107u, + 72u, 244u, 135u, 81u, + 129u, 128u, 43u, 23u, + 126u, 139u, 250u, 52u, + 231u, 28u, 255u, 68u, + 105u, 152u, 201u, 40u, + 48u, 241u, 63u, 210u, + 103u, 157u, 208u, 73u, + 255u, 156u, 139u, 121u, + 91u, 149u, 116u, 150u, + 88u, 142u, 38u, 160u, + 118u, 180u, 175u, 115u, + 143u, 1u, 85u, 160u, + 155u, 113u, 116u, 201u, + 0u, 169u, 116u, 146u, + 112u, 70u, 195u, 190u, + 132u, 64u, 110u, 170u, + 154u, 146u, 239u, 3u, + 49u, 192u, 255u, 69u, + 112u, 45u, 232u, 244u, + 131u, 214u, 110u, 185u, + 138u, 174u, 84u, 52u, + 122u, 111u, 147u, 253u, + 105u, 108u, 255u, 106u, + 120u, 99u, 172u, 106u, + 120u, 170u, 83u, 150u, + 26u, 233u, 255u, 70u, + 47u, 199u, 20u, 118u, + 245u, 44u, 155u, 148u, + 106u, 165u, 183u, 55u, + 109u, 115u, 138u, 133u, + 167u, 255u, 127u, 92u, + 139u, 147u, 159u, 75u, + 52u, 104u, 124u, 154u, + 95u, 100u, 0u, 219u, + 187u, 64u, 191u, 193u, + 62u, 10u, 4u, 50u, + 0u, 114u, 93u, 130u, + 86u, 176u, 146u, 205u, + 149u, 67u, 148u, 124u, + 174u, 99u, 149u, 220u, + 75u, 1u, 133u, 170u, + 219u, 107u, 73u, 150u, + 184u, 24u, 143u, 152u, + 31u, 196u, 69u, 123u, + 184u, 25u, 204u, 108u, + 136u, 208u, 49u, 169u, + 157u, 114u, 78u, 171u, + 222u, 64u, 255u, 133u, + 153u, 164u, 90u, 33u, + 196u, 32u, 56u, 160u, + 1u, 170u, 152u, 124u, + 149u, 122u, 165u, 136u, + 160u, 12u, 83u, 196u, + 1u, 19u, 233u, 69u, + 177u, 171u, 59u, 139u, + 120u, 81u, 248u, 86u, + 110u, 173u, 212u, 139u, + 164u, 120u, 67u, 203u, + 141u, 75u, 100u, 1u, + 131u, 87u, 61u, 115u, + 112u, 148u, 133u, 53u, + 52u, 123u, 62u, 82u, + 6u, 197u, 230u, 58u, + 31u, 231u, 255u, 183u, + 108u, 110u, 156u, 225u, + 48u, 237u, 137u, 67u, + 24u, 137u, 18u, 35u, + 114u, 1u, 184u, 250u, + 117u, 119u, 46u, 88u, + 118u, 116u, 0u, 169u, + 155u, 111u, 158u, 72u, + 57u, 61u, 143u, 199u, + 131u, 156u, 151u, 237u, + 255u, 135u, 181u, 131u, + 51u, 153u, 43u, 106u, + 149u, 162u, 225u, 28u, + 81u, 229u, 104u, 149u, + 165u, 255u, 235u, 33u, + 75u, 96u, 89u, 122u, + 96u, 215u, 165u, 197u, + 134u, 119u, 10u, 118u, + 1u, 149u, 146u, 128u, + 72u, 173u, 149u, 252u, + 65u, 66u, 170u, 186u, + 176u, 129u, 51u, 111u, + 105u, 45u, 58u, 173u, + 62u, 126u, 114u, 59u, + 29u, 255u, 34u, 70u, + 255u, 111u, 152u, 174u, + 118u, 113u, 69u, 120u, + 164u, 146u, 148u, 148u, + 168u, 122u, 157u, 76u, + 74u, 66u, 136u, 24u, + 190u, 126u, 119u, 108u, + 113u, 30u, 251u, 74u, + 67u, 155u, 242u, 255u, + 188u, 83u, 108u, 174u, + 1u, 88u, 142u, 15u, + 164u, 159u, 108u, 10u, + 89u, 37u, 193u, 166u, + 119u, 35u, 113u, 1u, + 70u, 230u, 168u, 186u, + 130u, 97u, 198u, 233u, + 144u, 236u, 105u, 47u, + 48u, 120u, 69u, 134u, + 103u, 97u, 187u, 129u, + 138u, 109u, 91u, 150u, + 28u, 1u, 184u, 172u, + 60u, 86u, 118u, 181u, + 158u, 197u, 105u, 57u, + 114u, 215u, 1u, 80u, + 102u, 159u, 123u, 188u, + 84u, 66u, 60u, 255u, + 214u, 90u, 69u, 182u, + 114u, 198u, 139u, 54u, + 110u, 78u, 34u, 114u, + 192u, 166u, 89u, 71u, + 255u, 83u, 105u, 186u, + 128u, 62u, 172u, 159u, + 194u, 113u, 182u, 40u, + 72u, 123u, 26u, 159u, + 60u, 213u, 111u, 190u, + 140u, 155u, 200u, 131u, + 164u, 1u, 37u, 59u, + 126u, 101u, 82u, 175u, + 65u, 95u, 176u, 153u, + 108u, 204u, 22u, 153u, + 210u, 96u, 54u, 0u, + 109u, 102u, 80u, 155u, + 64u, 131u, 136u, 218u, + 255u, 152u, 168u, 48u, + 151u, 105u, 200u, 147u, + 67u, 63u, 189u, 121u, + 201u, 169u, 220u, 14u, + 1u, 237u, 44u, 162u, + 170u, 176u, 86u, 207u, + 252u, 224u, 112u, 110u, + 1u, 136u, 3u, 174u, + 126u, 83u, 148u, 40u, + 36u, 43u, 69u, 236u, + 69u, 187u, 180u, 255u, + 99u, 174u, 70u, 79u, + 64u, 90u, 168u, 111u, + 162u, 69u, 180u, 20u, + 181u, 33u, 109u, 202u, + 98u, 78u, 106u, 190u, + 255u, 171u, 106u, 78u, + 36u, 190u, 68u, 100u, + 193u, 143u, 191u, 97u, + 237u, 88u, 111u, 72u, + 125u, 233u, 1u, 89u, + 100u, 157u, 253u, 79u, + 67u, 70u, 118u, 217u, + 165u, 144u, 173u, 218u, + 146u, 171u, 1u, 71u, + 87u, 216u, 61u, 77u, + 162u, 51u, 154u, 138u, + 135u, 100u, 161u, 213u, + 1u, 228u, 40u, 110u, + 188u, 169u, 3u, 233u, + 162u, 118u, 162u, 147u, + 166u, 158u, 255u, 147u, + 170u, 100u, 35u, 149u, + 134u, 174u, 183u, 192u, + 113u, 220u, 99u, 109u, + 49u, 169u, 246u, 36u, + 255u, 15u, 158u, 253u, + 161u, 167u, 115u, 125u, + 17u, 112u, 77u, 169u, + 110u, 108u, 177u, 173u, + 28u, 255u, 154u, 153u, + 129u, 35u, 86u, 203u, + 219u, 62u, 255u, 136u, + 7u, 94u, 16u, 129u, + 38u, 145u, 176u, 190u, + 78u, 151u, 141u, 130u, + 102u, 1u, 176u, 154u, + 63u, 87u, 3u, 230u, + 204u, 199u, 242u, 243u, + 68u, 36u, 108u, 104u, + 176u, 99u, 143u, 30u, + 215u, 111u, 255u, 44u, + 165u, 27u, 165u, 127u, + 180u, 162u, 114u, 182u, + 147u, 142u, 161u, 88u, + 107u, 212u, 73u, 132u, + 86u, 104u, 169u, 157u, + 120u, 175u, 82u, 1u, + 42u, 231u, 99u, 61u, + 80u, 165u, 1u, 149u, + 40u, 146u, 255u, 132u, + 120u, 87u, 97u, 203u, + 131u, 122u, 137u, 77u, + 185u, 110u, 97u, 255u, + 60u, 68u, 239u, 207u, + 175u, 165u, 114u, 37u, + 110u, 133u, 194u, 47u, + 169u, 107u, 122u, 80u, + 120u, 91u, 58u, 1u, + 142u, 200u, 111u, 113u, + 255u, 84u, 210u, 103u, + 197u, 132u, 62u, 57u, + 116u, 116u, 49u, 209u, + 166u, 248u, 139u, 132u, + 183u, 107u, 145u, 216u, + 89u, 90u, 255u, 70u, + 110u, 84u, 56u, 164u, + 116u, 196u, 167u, 176u, + 118u, 112u, 130u, 241u, + 1u, 109u, 55u, 211u, + 173u, 110u, 170u, 113u, + 118u, 77u, 161u, 89u, + 173u, 193u, 140u, 27u, + 130u, 163u, 36u, 132u, + 51u, 195u, 198u, 108u, + 173u, 179u, 255u, 177u, + 192u, 153u, 115u, 88u, + 45u, 255u, 34u, 166u, + 93u, 67u, 186u, 183u, + 139u, 157u, 117u, 215u, + 127u, 255u, 126u, 80u, + 107u, 135u, 159u, 84u, + 149u, 64u, 106u, 41u, + 146u, 143u, 204u, 130u, + 121u, 76u, 108u, 170u, + 133u, 159u, 10u, 35u, + 116u, 255u, 42u, 43u, + 143u, 78u, 207u, 245u, + 249u, 227u, 49u, 1u, + 218u, 43u, 134u, 166u, + 226u, 126u, 224u, 112u, + 228u, 249u, 11u, 250u, + 96u, 51u, 96u, 93u, + 41u, 132u, 178u, 159u, + 193u, 1u, 158u, 151u, + 150u, 78u, 135u, 231u, + 121u, 201u, 56u, 118u, + 1u, 174u, 87u, 127u, + 36u, 218u, 164u, 181u, + 111u, 113u, 87u, 143u, + 114u, 90u, 255u, 147u, + 138u, 181u, 216u, 62u, + 46u, 232u, 63u, 106u, + 131u, 130u, 140u, 175u, + 192u, 58u, 230u, 61u, + 199u, 51u, 80u, 139u, + 146u, 104u, 104u, 255u, + 126u, 148u, 38u, 56u, + 76u, 70u, 183u, 151u, + 255u, 103u, 250u, 49u, + 88u, 79u, 25u, 168u, + 242u, 118u, 240u, 17u, + 123u, 111u, 160u, 96u, + 159u, 57u, 146u, 38u, + 88u, 50u, 113u, 144u, + 95u, 255u, 146u, 106u, + 146u, 104u, 178u, 255u, + 65u, 167u, 139u, 116u, + 182u, 131u, 171u, 189u, + 95u, 157u, 126u, 130u, + 251u, 149u, 115u, 166u, + 243u, 19u, 80u, 118u, + 140u, 131u, 58u, 158u, + 108u, 87u, 1u, 60u, + 170u, 77u, 110u, 157u, + 117u, 40u, 198u, 80u, + 54u, 147u, 1u, 55u, + 173u, 168u, 150u, 55u, + 197u, 113u, 255u, 226u, + 242u, 61u, 169u, 149u, + 66u, 56u, 211u, 125u, + 159u, 154u, 233u, 119u, + 161u, 144u, 109u, 70u, + 137u, 1u, 190u, 186u, + 140u, 219u, 27u, 247u, + 182u, 136u, 187u, 61u, + 151u, 177u, 155u, 139u, + 94u, 83u, 45u, 255u, + 159u, 103u, 193u, 70u, + 74u, 83u, 36u, 126u, + 0u, 99u, 75u, 114u, + 128u, 30u, 97u, 68u, + 97u, 173u, 82u, 183u, + 87u, 56u, 86u, 102u, + 168u, 47u, 143u, 217u, + 94u, 255u, 199u, 164u, + 95u, 174u, 106u, 65u, + 200u, 191u, 208u, 128u, + 71u, 123u, 1u, 101u, + 240u, 128u, 92u, 109u, + 63u, 192u, 26u, 59u, + 115u, 163u, 157u, 133u, + 140u, 23u, 80u, 239u, + 81u, 70u, 166u, 30u, + 219u, 0u, 31u, 31u, + 90u, 15u, 206u, 149u, + 90u, 233u, 68u, 70u, + 217u, 79u, 141u, 203u, + 1u, 248u, 181u, 209u, + 177u, 37u, 197u, 157u, + 135u, 154u, 92u, 1u, + 114u, 80u, 123u, 216u, + 65u, 126u, 150u, 42u, + 110u, 140u, 152u, 171u, + 98u, 86u, 210u, 105u, + 98u, 160u, 157u, 0u, + 112u, 89u, 98u, 190u, + 130u, 122u, 217u, 102u, + 184u, 109u, 152u, 85u, + 150u, 130u, 62u, 129u, + 117u, 112u, 122u, 39u, + 87u, 255u, 133u, 125u, + 188u, 29u, 105u, 179u, + 255u, 41u, 103u, 119u, + 172u, 124u, 53u, 117u, + 116u, 61u, 159u, 107u, + 103u, 163u, 255u, 138u, + 90u, 142u, 201u, 60u, + 130u, 144u, 146u, 40u, + 206u, 131u, 221u, 148u, + 213u, 198u, 0u, 139u, + 187u, 190u, 206u, 92u, + 178u, 37u, 77u, 156u, + 106u, 206u, 57u, 140u, + 128u, 146u, 93u, 80u, + 182u, 157u, 133u, 175u, + 135u, 103u, 90u, 168u, + 156u, 60u, 147u, 255u, + 60u, 129u, 255u, 155u, + 185u, 217u, 182u, 134u, + 199u, 83u, 94u, 158u, + 220u, 149u, 166u, 114u, + 176u, 125u, 88u, 122u, + 99u, 69u, 132u, 255u, + 163u, 140u, 162u, 135u, + 131u, 97u, 80u, 117u, + 90u, 106u, 77u, 133u, + 26u, 150u, 225u, 213u, + 108u, 81u, 162u, 1u, + 47u, 61u, 127u, 67u, + 107u, 95u, 211u, 194u, + 92u, 133u, 87u, 77u, + 206u, 131u, 173u, 255u, + 164u, 88u, 67u, 123u, + 91u, 37u, 102u, 78u, + 239u, 0u, 127u, 147u, + 181u, 97u, 119u, 111u, + 74u, 177u, 124u, 39u, + 103u, 145u, 165u, 190u, + 1u, 146u, 141u, 57u, + 30u, 159u, 94u, 48u, + 50u, 166u, 23u, 129u, + 161u, 77u, 117u, 94u, + 71u, 0u, 137u, 111u, + 125u, 198u, 188u, 192u, + 102u, 88u, 31u, 33u, + 87u, 83u, 199u, 167u, + 104u, 146u, 84u, 150u, + 134u, 1u, 187u, 212u, + 66u, 133u, 122u, 165u, + 172u, 54u, 187u, 121u, + 0u, 165u, 156u, 113u, + 159u, 60u, 152u, 120u, + 13u, 149u, 105u, 94u, + 134u, 171u, 93u, 99u, + 43u, 135u, 255u, 122u, + 131u, 201u, 113u, 133u, + 105u, 136u, 167u, 129u, + 201u, 88u, 203u, 150u, + 81u, 220u, 255u, 50u, + 195u, 91u, 142u, 126u, + 60u, 95u, 127u, 148u, + 181u, 157u, 112u, 117u, + 203u, 56u, 1u, 86u, + 231u, 70u, 238u, 148u, + 88u, 107u, 167u, 26u, + 202u, 101u, 255u, 164u, + 167u, 160u, 45u, 254u, + 183u, 236u, 106u, 205u, + 210u, 79u, 74u, 151u, + 121u, 146u, 108u, 114u, + 85u, 205u, 255u, 170u, + 214u, 230u, 54u, 173u, + 183u, 177u, 117u, 134u, + 96u, 207u, 92u, 113u, + 43u, 173u, 73u, 152u, + 55u, 239u, 195u, 186u, + 124u, 56u, 76u, 255u, + 102u, 212u, 85u, 96u, + 103u, 203u, 120u, 209u, + 148u, 255u, 159u, 206u, + 111u, 145u, 90u, 137u, + 152u, 50u, 188u, 129u, + 1u, 206u, 255u, 164u, + 143u, 141u, 48u, 156u, + 172u, 113u, 22u, 236u, + 102u, 74u, 77u, 232u, + 72u, 111u, 160u, 120u, + 55u, 255u, 90u, 97u, + 164u, 74u, 110u, 150u, + 54u, 95u, 37u, 112u, + 127u, 242u, 82u, 233u, + 130u, 126u, 1u, 141u, + 122u, 174u, 152u, 130u, + 175u, 139u, 107u, 54u, + 88u, 64u, 20u, 169u, + 7u, 173u, 129u, 86u, + 133u, 69u, 155u, 255u, + 41u, 184u, 107u, 127u, + 104u, 98u, 59u, 202u, + 81u, 67u, 255u, 109u, + 87u, 53u, 136u, 245u, + 114u, 255u, 31u, 209u, + 40u, 120u, 24u, 184u, + 73u, 191u, 136u, 79u, + 94u, 174u, 47u, 93u, + 105u, 123u, 49u, 106u, + 168u, 134u, 208u, 255u, + 170u, 117u, 60u, 73u, + 62u, 99u, 84u, 138u, + 193u, 113u, 68u, 83u, + 240u, 205u, 207u, 143u, + 24u, 188u, 1u, 58u, + 240u, 145u, 138u, 147u, + 107u, 122u, 74u, 98u, + 143u, 1u, 92u, 127u, + 33u, 190u, 100u, 81u, + 104u, 98u, 213u, 215u, + 79u, 128u, 62u, 101u, + 1u, 217u, 174u, 234u, + 13u, 238u, 86u, 225u, + 112u, 176u, 49u, 210u, + 154u, 88u, 229u, 232u, + 71u, 176u, 187u, 133u, + 172u, 255u, 86u, 198u, + 193u, 54u, 19u, 253u, + 88u, 194u, 170u, 136u, + 29u, 96u, 87u, 52u, + 50u, 104u, 171u, 79u, + 83u, 67u, 255u, 163u, + 223u, 157u, 107u, 255u, + 132u, 131u, 175u, 190u, + 199u, 98u, 42u, 127u, + 176u, 114u, 187u, 104u, + 129u, 101u, 141u, 35u, + 186u, 196u, 243u, 255u, + 92u, 141u, 166u, 71u, + 75u, 100u, 176u, 168u, + 203u, 183u, 245u, 88u, + 93u, 164u, 220u, 137u, + 82u, 12u, 30u, 136u, + 218u, 255u, 138u, 119u, + 181u, 135u, 126u, 38u, + 86u, 83u, 76u, 110u, + 169u, 67u, 168u, 242u, + 1u, 248u, 39u, 134u, + 71u, 62u, 137u, 85u, + 99u, 97u, 255u, 41u, + 164u, 117u, 60u, 113u, + 54u, 195u, 93u, 162u, + 208u, 57u, 117u, 155u, + 128u, 130u, 203u, 138u, + 200u, 163u, 147u, 101u, + 255u, 246u, 223u, 83u, + 102u, 51u, 80u, 110u, + 222u, 108u, 9u, 52u, + 103u, 255u, 19u, 49u, + 115u, 181u, 17u, 134u, + 152u, 116u, 146u, 158u, + 106u, 1u, 130u, 144u, + 79u, 57u, 9u, 15u, + 90u, 158u, 251u, 62u, + 100u, 133u, 94u, 2u, + 195u, 136u, 164u, 255u, + 96u, 149u, 160u, 159u, + 134u, 116u, 173u, 210u, + 255u, 114u, 174u, 206u, + 121u, 222u, 138u, 122u, + 57u, 32u, 35u, 182u, + 92u, 137u, 59u, 113u, + 116u, 58u, 93u, 107u, + 119u, 221u, 193u, 160u, + 142u, 195u, 60u, 223u, + 86u, 255u, 62u, 147u, + 96u, 1u, 119u, 172u, + 185u, 60u, 127u, 199u, + 62u, 220u, 18u, 99u, + 75u, 91u, 128u, 88u, + 144u, 100u, 76u, 59u, + 114u, 134u, 63u, 205u, + 0u, 177u, 158u, 109u, + 138u, 44u, 128u, 128u, + 169u, 236u, 40u, 69u, + 61u, 128u, 93u, 167u, + 101u, 1u, 107u, 108u, + 143u, 215u, 164u, 214u, + 58u, 153u, 47u, 217u, + 1u, 189u, 92u, 138u, + 184u, 221u, 168u, 44u, + 90u, 136u, 100u, 171u, + 86u, 59u, 185u, 59u, + 127u, 163u, 186u, 177u, + 190u, 136u, 1u, 65u, + 48u, 105u, 144u, 250u, + 57u, 146u, 122u, 13u, + 29u, 182u, 65u, 123u, + 41u, 225u, 255u, 116u, + 92u, 91u, 183u, 149u, + 195u, 208u, 143u, 1u, + 66u, 121u, 162u, 125u, + 168u, 164u, 186u, 95u, + 164u, 160u, 114u, 40u, + 182u, 31u, 129u, 202u, + 20u, 230u, 0u, 136u, + 161u, 53u, 179u, 72u, + 60u, 146u, 195u, 98u, + 255u, 160u, 119u, 39u, + 177u, 190u, 169u, 150u, + 152u, 166u, 98u, 123u, + 131u, 228u, 191u, 112u, + 82u, 119u, 174u, 112u, + 48u, 195u, 255u, 161u, + 103u, 91u, 19u, 63u, + 170u, 59u, 67u, 68u, + 103u, 103u, 66u, 117u, + 95u, 71u, 255u, 233u, + 142u, 138u, 37u, 73u, + 73u, 166u, 50u, 104u, + 155u, 124u, 6u, 109u, + 88u, 99u, 131u, 40u, + 84u, 157u, 108u, 228u, + 181u, 185u, 255u, 129u, + 123u, 119u, 117u, 100u, + 152u, 84u, 98u, 135u, + 146u, 255u, 236u, 119u, + 102u, 121u, 147u, 129u, + 255u, 111u, 223u, 168u, + 80u, 189u, 197u, 72u, + 111u, 200u, 111u, 168u, + 194u, 150u, 1u, 134u, + 92u, 1u, 39u, 239u, + 73u, 116u, 163u, 159u, + 34u, 126u, 33u, 133u, + 187u, 153u, 109u, 14u, + 18u, 87u, 111u, 191u, + 79u, 55u, 219u, 1u, + 58u, 144u, 110u, 143u, + 161u, 138u, 148u, 190u, + 255u, 217u, 197u, 157u, + 93u, 159u, 61u, 65u, + 149u, 87u, 216u, 40u, + 12u, 50u, 80u, 186u, + 128u, 128u, 255u, 132u, + 196u, 129u, 130u, 112u, + 125u, 22u, 66u, 162u, + 168u, 146u, 199u, 104u, + 23u, 100u, 57u, 232u, + 1u, 159u, 82u, 57u, + 37u, 164u, 168u, 205u, + 175u, 47u, 104u, 116u, + 255u, 164u, 137u, 20u, + 123u, 73u, 208u, 220u, + 213u, 81u, 179u, 144u, + 129u, 171u, 204u, 138u, + 67u, 128u, 195u, 92u, + 13u, 234u, 99u, 65u, + 82u, 16u, 190u, 200u, + 105u, 255u, 160u, 228u, + 76u, 161u, 112u, 192u, + 93u, 132u, 81u, 103u, + 71u, 255u, 249u, 232u, + 152u, 32u, 121u, 111u, + 177u, 145u, 126u, 255u, + 167u, 109u, 93u, 25u, + 139u, 103u, 188u, 222u, + 233u, 237u, 130u, 62u, + 57u, 129u, 199u, 173u, + 182u, 164u, 72u, 29u, + 119u, 75u, 146u, 105u, + 211u, 116u, 116u, 1u, + 66u, 158u, 52u, 80u, + 183u, 142u, 62u, 193u, + 239u, 0u, 179u, 185u, + 72u, 138u, 94u, 76u, + 62u, 93u, 207u, 40u, + 67u, 162u, 131u, 111u, + 152u, 99u, 216u, 62u, + 133u, 0u, 97u, 85u, + 255u, 160u, 243u, 187u, + 12u, 57u, 104u, 75u, + 132u, 173u, 77u, 166u, + 87u, 115u, 72u, 144u, + 143u, 126u, 53u, 202u, + 57u, 135u, 56u, 35u, + 49u, 153u, 243u, 255u, + 157u, 153u, 142u, 126u, + 183u, 118u, 8u, 79u, + 167u, 26u, 243u, 251u, + 119u, 212u, 129u, 153u, + 181u, 140u, 113u, 1u, + 48u, 158u, 205u, 59u, + 20u, 158u, 169u, 129u, + 164u, 255u, 243u, 137u, + 100u, 31u, 119u, 183u, + 97u, 118u, 180u, 53u, + 197u, 193u, 137u, 103u, + 247u, 63u, 0u, 114u, + 63u, 136u, 134u, 111u, + 33u, 114u, 221u, 47u, + 129u, 84u, 137u, 106u, + 54u, 255u, 69u, 198u, + 125u, 121u, 214u, 134u, + 142u, 96u, 255u, 70u, + 151u, 89u, 238u, 79u, + 125u, 222u, 109u, 157u, + 192u, 69u, 184u, 145u, + 149u, 45u, 139u, 158u, + 78u, 99u, 195u, 68u, + 107u, 206u, 88u, 186u, + 133u, 255u, 51u, 173u, + 201u, 40u, 178u, 38u, + 218u, 26u, 1u, 55u, + 188u, 236u, 198u, 231u, + 61u, 83u, 85u, 215u, + 255u, 187u, 238u, 147u, + 151u, 44u, 36u, 7u, + 67u, 228u, 119u, 112u, + 111u, 210u, 73u, 71u, + 171u, 182u, 85u, 173u, + 145u, 160u, 127u, 121u, + 48u, 79u, 86u, 16u, + 146u, 1u, 132u, 88u, + 134u, 68u, 117u, 135u, + 66u, 87u, 255u, 61u, + 41u, 71u, 56u, 145u, + 149u, 49u, 41u, 148u, + 239u, 131u, 136u, 1u, + 84u, 45u, 46u, 138u, + 93u, 213u, 30u, 223u, + 93u, 112u, 161u, 170u, + 47u, 87u, 6u, 93u, + 136u, 129u, 122u, 89u, + 161u, 108u, 232u, 255u, + 179u, 151u, 133u, 71u, + 235u, 86u, 110u, 116u, + 45u, 109u, 168u, 223u, + 28u, 169u, 76u, 150u, + 1u, 42u, 100u, 124u, + 123u, 100u, 145u, 139u, + 184u, 75u, 73u, 126u, + 192u, 233u, 97u, 103u, + 191u, 54u, 0u, 34u, + 122u, 137u, 70u, 175u, + 186u, 88u, 0u, 117u, + 131u, 198u, 67u, 69u, + 135u, 85u, 95u, 161u, + 220u, 62u, 206u, 41u, + 255u, 86u, 89u, 76u, + 22u, 179u, 93u, 121u, + 113u, 23u, 174u, 186u, + 219u, 41u, 36u, 56u, + 115u, 1u, 32u, 112u, + 146u, 151u, 181u, 198u, + 66u, 125u, 39u, 60u, + 150u, 255u, 114u, 139u, + 41u, 87u, 152u, 67u, + 148u, 206u, 99u, 155u, + 159u, 148u, 215u, 137u, + 171u, 97u, 43u, 202u, + 207u, 75u, 131u, 93u, + 157u, 103u, 173u, 59u, + 141u, 183u, 167u, 1u, + 136u, 62u, 155u, 93u, + 110u, 140u, 170u, 53u, + 134u, 159u, 43u, 33u, + 113u, 255u, 155u, 164u, + 82u, 77u, 96u, 118u, + 1u, 151u, 142u, 163u, + 129u, 68u, 146u, 141u, + 99u, 56u, 30u, 129u, + 219u, 99u, 99u, 255u, + 56u, 64u, 166u, 128u, + 154u, 164u, 141u, 159u, + 120u, 34u, 159u, 36u, + 167u, 117u, 45u, 135u, + 158u, 126u, 158u, 167u, + 57u, 3u, 73u, 151u, + 215u, 238u, 162u, 1u, + 190u, 101u, 101u, 240u, + 176u, 198u, 149u, 25u, + 198u, 120u, 71u, 229u, + 215u, 31u, 186u, 1u, + 172u, 165u, 133u, 34u, + 40u, 92u, 181u, 157u, + 17u, 94u, 119u, 130u, + 156u, 217u, 255u, 145u, + 119u, 83u, 13u, 63u, + 117u, 137u, 85u, 255u, + 252u, 120u, 124u, 31u, + 159u, 54u, 124u, 6u, + 112u, 175u, 116u, 101u, + 48u, 153u, 1u, 131u, + 216u, 116u, 147u, 129u, + 80u, 54u, 79u, 129u, + 179u, 192u, 150u, 255u, + 120u, 190u, 75u, 109u, + 182u, 11u, 57u, 84u, + 191u, 86u, 56u, 39u, + 204u, 255u, 105u, 144u, + 24u, 112u, 135u, 43u, + 84u, 151u, 222u, 84u, + 152u, 89u, 156u, 97u, + 100u, 156u, 99u, 140u, + 97u, 90u, 1u, 102u, + 148u, 191u, 181u, 123u, + 22u, 18u, 51u, 132u, + 51u, 209u, 36u, 63u, + 132u, 70u, 143u, 179u, + 117u, 129u, 182u, 137u, + 1u, 74u, 112u, 75u, + 22u, 77u, 124u, 159u, + 54u, 94u, 217u, 160u, + 124u, 255u, 140u, 84u, + 68u, 29u, 98u, 143u, + 90u, 152u, 208u, 70u, + 53u, 51u, 99u, 100u, + 191u, 63u, 255u, 124u, + 126u, 20u, 167u, 117u, + 112u, 118u, 93u, 97u, + 65u, 163u, 41u, 98u, + 160u, 169u, 114u, 107u, + 0u, 78u, 123u, 195u, + 252u, 183u, 133u, 62u, + 1u, 7u, 87u, 243u, + 49u, 143u, 19u, 146u, + 186u, 213u, 137u, 140u, + 147u, 87u, 106u, 187u, + 69u, 58u, 162u, 110u, + 255u, 105u, 238u, 185u, + 92u, 164u, 52u, 144u, + 129u, 63u, 149u, 101u, + 119u, 83u, 216u, 255u, + 121u, 170u, 36u, 31u, + 82u, 159u, 98u, 156u, + 143u, 114u, 229u, 123u, + 1u, 124u, 179u, 160u, + 48u, 249u, 16u, 127u, + 210u, 75u, 100u, 129u, + 75u, 147u, 181u, 30u, + 97u, 242u, 12u, 136u, + 106u, 140u, 135u, 95u, + 125u, 71u, 213u, 255u, + 166u, 40u, 132u, 193u, + 0u, 168u, 229u, 111u, + 74u, 181u, 31u, 119u, + 121u, 20u, 119u, 91u, + 145u, 170u, 255u, 159u, + 151u, 141u, 204u, 149u, + 138u, 44u, 84u, 203u, + 198u, 3u, 120u, 138u, + 26u, 148u, 155u, 196u, + 0u, 131u, 202u, 24u, + 43u, 173u, 91u, 108u, + 201u, 149u, 80u, 120u, + 250u, 95u, 63u, 128u, + 128u, 137u, 31u, 155u, + 166u, 110u, 118u, 57u, + 221u, 255u, 95u, 92u, + 103u, 182u, 61u, 207u, + 81u, 144u, 129u, 138u, + 49u, 135u, 141u, 35u, + 186u, 1u, 125u, 150u, + 168u, 76u, 124u, 178u, + 150u, 128u, 47u, 153u, + 119u, 117u, 107u, 0u, + 175u, 173u, 175u, 41u, + 180u, 132u, 172u, 138u, + 1u, 159u, 249u, 146u, + 71u, 111u, 33u, 202u, + 41u, 132u, 49u, 145u, + 1u, 83u, 56u, 83u, + 89u, 107u, 105u, 154u, + 27u, 142u, 105u, 141u, + 195u, 43u, 216u, 204u, + 70u, 250u, 168u, 1u, + 109u, 148u, 181u, 107u, + 28u, 134u, 176u, 113u, + 82u, 75u, 155u, 119u, + 196u, 172u, 125u, 223u, + 31u, 150u, 1u, 99u, + 125u, 124u, 67u, 63u, + 164u, 166u, 88u, 132u, + 146u, 142u, 49u, 183u, + 206u, 187u, 189u, 196u, + 221u, 103u, 52u, 158u, + 255u, 122u, 121u, 154u, + 78u, 160u, 67u, 124u, + 0u, 93u, 145u, 119u, + 250u, 174u, 180u, 67u, + 230u, 23u, 121u, 150u, + 107u, 43u, 24u, 250u, + 189u, 104u, 180u, 154u, + 90u, 60u, 1u, 167u, + 74u, 156u, 112u, 124u, + 115u, 97u, 167u, 140u, + 118u, 142u, 203u, 59u, + 211u, 1u, 165u, 162u, + 197u, 134u, 173u, 95u, + 186u, 255u, 218u, 157u, + 56u, 169u, 136u, 241u, + 109u, 64u, 147u, 133u, + 177u, 84u, 60u, 2u, + 123u, 105u, 197u, 192u, + 137u, 138u, 255u, 101u, + 152u, 179u, 71u, 57u, + 163u, 178u, 97u, 52u, + 163u, 227u, 169u, 225u, + 35u, 233u, 55u, 255u, + 188u, 160u, 206u, 59u, + 226u, 116u, 89u, 52u, + 163u, 103u, 215u, 134u, + 107u, 17u, 194u, 1u, + 233u, 116u, 100u, 59u, + 111u, 161u, 175u, 80u, + 77u, 5u, 92u, 207u, + 224u, 164u, 127u, 194u, + 29u, 103u, 1u, 141u, + 161u, 165u, 88u, 30u, + 160u, 113u, 94u, 42u, + 255u, 206u, 135u, 109u, + 85u, 115u, 155u, 211u, + 180u, 254u, 130u, 102u, + 201u, 158u, 228u, 125u, + 132u, 213u, 102u, 131u, + 83u, 150u, 216u, 179u, + 255u, 150u, 150u, 106u, + 1u, 97u, 141u, 4u, + 16u, 53u, 11u, 206u, + 27u, 130u, 115u, 152u, + 57u, 109u, 195u, 60u, + 255u, 203u, 76u, 206u, + 124u, 159u, 117u, 203u, + 34u, 223u, 167u, 135u, + 109u, 2u, 90u, 113u, + 133u, 148u, 165u, 155u, + 47u, 181u, 255u, 89u, + 92u, 160u, 101u, 119u, + 190u, 142u, 143u, 148u, + 214u, 75u, 169u, 85u, + 82u, 92u, 49u, 1u, + 97u, 133u, 195u, 15u, + 204u, 184u, 227u, 86u, + 113u, 173u, 57u, 164u, + 255u, 130u, 120u, 106u, + 61u, 209u, 85u, 104u, + 207u, 226u, 150u, 98u, + 120u, 55u, 75u, 217u, + 76u, 88u, 109u, 114u, + 187u, 153u, 129u, 201u, + 181u, 92u, 158u, 1u, + 155u, 137u, 203u, 70u, + 228u, 181u, 106u, 161u, + 131u, 168u, 1u, 153u, + 44u, 228u, 28u, 109u, + 83u, 109u, 0u, 169u, + 193u, 178u, 73u, 211u, + 142u, 127u, 46u, 86u, + 134u, 137u, 176u, 187u, + 127u, 176u, 191u, 113u, + 149u, 111u, 208u, 177u, + 179u, 175u, 69u, 154u, + 100u, 0u, 126u, 111u, + 173u, 84u, 172u, 145u, + 255u, 109u, 68u, 95u, + 142u, 77u, 121u, 193u, + 70u, 188u, 86u, 167u, + 138u, 52u, 10u, 50u, + 80u, 112u, 1u, 49u, + 57u, 107u, 168u, 193u, + 19u, 100u, 126u, 137u, + 54u, 157u, 113u, 146u, + 87u, 100u, 74u, 112u, + 47u, 255u, 108u, 173u, + 167u, 84u, 97u, 109u, + 114u, 109u, 126u, 147u, + 255u, 93u, 252u, 69u, + 121u, 71u, 102u, 185u, + 47u, 63u, 103u, 107u, + 169u, 132u, 106u, 113u, + 133u, 125u, 255u, 183u, + 240u, 122u, 68u, 194u, + 37u, 179u, 100u, 184u, + 80u, 94u, 186u, 187u, + 49u, 174u, 19u, 117u, + 107u, 127u, 255u, 31u, + 89u, 207u, 231u, 130u, + 187u, 101u, 170u, 59u, + 134u, 133u, 226u, 113u, + 255u, 151u, 82u, 54u, + 130u, 212u, 64u, 236u, + 107u, 104u, 161u, 190u, + 210u, 171u, 100u, 100u, + 86u, 122u, 87u, 98u, + 105u, 1u, 88u, 76u, + 1u, 140u, 175u, 79u, + 169u, 149u, 70u, 192u, + 143u, 102u, 170u, 110u, + 151u, 193u, 153u, 148u, + 105u, 95u, 94u, 42u, + 145u, 145u, 103u, 186u, + 98u, 158u, 150u, 89u, + 100u, 117u, 169u, 255u, + 129u, 120u, 170u, 193u, + 28u, 201u, 154u, 115u, + 255u, 146u, 139u, 170u, + 120u, 154u, 37u, 157u, + 142u, 85u, 110u, 118u, + 85u, 172u, 167u, 170u, + 255u, 107u, 182u, 164u, + 127u, 166u, 127u, 136u, + 255u, 230u, 145u, 110u, + 203u, 131u, 83u, 29u, + 198u, 236u, 162u, 178u, + 255u, 225u, 174u, 106u, + 159u, 127u, 150u, 171u, + 156u, 62u, 94u, 79u, + 122u, 149u, 134u, 90u, + 158u, 170u, 141u, 1u, + 173u, 181u, 140u, 206u, + 226u, 170u, 182u, 1u, + 136u, 197u, 143u, 162u, + 191u, 35u, 84u, 143u, + 76u, 117u, 185u, 163u, + 255u, 129u, 117u, 76u, + 58u, 164u, 102u, 127u, + 117u, 159u, 125u, 159u, + 154u, 111u, 86u, 180u, + 178u, 63u, 191u, 136u, + 173u, 217u, 1u, 163u, + 33u, 42u, 42u, 108u, + 49u, 127u, 255u, 81u, + 232u, 58u, 159u, 54u, + 36u, 113u, 47u, 161u, + 174u, 159u, 200u, 118u, + 151u, 110u, 125u, 27u, + 115u, 139u, 98u, 119u, + 113u, 174u, 122u, 101u, + 139u, 153u, 174u, 255u, + 210u, 220u, 15u, 108u, + 104u, 223u, 5u, 255u, + 64u, 56u, 239u, 160u, + 213u, 44u, 7u, 70u, + 143u, 143u, 101u, 162u, + 119u, 169u, 255u, 83u, + 76u, 215u, 99u, 157u, + 138u, 178u, 149u, 220u, + 71u, 146u, 96u, 1u, + 140u, 134u, 73u, 48u, + 29u, 113u, 163u, 137u, + 107u, 85u, 22u, 178u, + 156u, 133u, 225u, 60u, + 84u, 158u, 85u, 66u, + 227u, 184u, 173u, 255u, + 169u, 64u, 43u, 185u, + 106u, 0u, 156u, 162u, + 83u, 191u, 172u, 42u, + 143u, 78u, 60u, 117u, + 165u, 85u, 135u, 169u, + 148u, 136u, 156u, 59u, + 133u, 255u, 85u, 117u, + 41u, 138u, 144u, 63u, + 106u, 195u, 121u, 156u, + 142u, 178u, 210u, 101u, + 178u, 105u, 96u, 62u, + 18u, 56u, 86u, 132u, + 109u, 255u, 169u, 196u, + 123u, 95u, 0u, 156u, + 120u, 76u, 240u, 106u, + 119u, 170u, 102u, 221u, + 142u, 239u, 215u, 179u, + 1u, 136u, 55u, 191u, + 221u, 125u, 105u, 81u, + 174u, 147u, 137u, 114u, + 145u, 69u, 106u, 220u, + 86u, 187u, 78u, 241u, + 96u, 42u, 200u, 79u, + 74u, 22u, 162u, 148u, + 2u, 1u, 157u, 223u, + 77u, 179u, 114u, 152u, + 150u, 61u, 205u, 104u, + 35u, 214u, 212u, 200u, + 255u, 71u, 132u, 96u, + 119u, 0u, 119u, 90u, + 54u, 71u, 149u, 71u, + 98u, 164u, 182u, 98u, + 141u, 1u, 170u, 117u, + 29u, 192u, 101u, 152u, + 194u, 33u, 76u, 202u, + 158u, 236u, 255u, 180u, + 163u, 73u, 180u, 78u, + 235u, 153u, 92u, 217u, + 173u, 255u, 215u, 99u, + 153u, 167u, 160u, 191u, + 192u, 245u, 62u, 88u, + 189u, 185u, 55u, 159u, + 49u, 126u, 173u, 149u, + 179u, 93u, 143u, 107u, + 148u, 134u, 78u, 1u, + 138u, 100u, 186u, 125u, + 113u, 196u, 184u, 255u, + 111u, 80u, 140u, 98u, + 103u, 136u, 33u, 48u, + 211u, 137u, 201u, 136u, + 118u, 1u, 108u, 53u, + 109u, 156u, 95u, 79u, + 170u, 113u, 73u, 108u, + 167u, 168u, 94u, 172u, + 117u, 155u, 200u, 23u, + 178u, 201u, 124u, 131u, + 178u, 140u, 255u, 169u, + 177u, 181u, 250u, 92u, + 192u, 127u, 124u, 161u, + 202u, 80u, 112u, 118u, + 64u, 255u, 43u, 119u, + 87u, 131u, 173u, 186u, + 137u, 155u, 92u, 62u, + 183u, 1u, 128u, 99u, + 166u, 164u, 156u, 182u, + 67u, 223u, 227u, 42u, + 78u, 215u, 255u, 201u, + 133u, 2u, 195u, 201u, + 121u, 191u, 175u, 188u, + 232u, 21u, 162u, 46u, + 186u, 103u, 231u, 126u, + 129u, 4u, 255u, 254u, + 39u, 172u, 119u, 211u, + 190u, 125u, 125u, 160u, + 107u, 76u, 165u, 116u, + 232u, 203u, 126u, 71u, + 255u, 169u, 49u, 83u, + 56u, 190u, 128u, 84u, + 205u, 184u, 177u, 117u, + 104u, 136u, 91u, 95u, + 155u, 203u, 193u, 255u, + 120u, 208u, 177u, 145u, + 142u, 226u, 109u, 104u, + 126u, 1u, 86u, 76u, + 188u, 255u, 209u, 125u, + 191u, 255u, 83u, 242u, + 43u, 13u, 218u, 66u, + 182u, 226u, 130u, 60u, + 79u, 62u, 190u, 105u, + 50u, 24u, 143u, 226u, + 120u, 1u, 188u, 153u, + 167u, 116u, 22u, 220u, + 220u, 200u, 228u, 94u, + 180u, 165u, 109u, 190u, + 138u, 95u, 182u, 1u, + 101u, 114u, 88u, 143u, + 154u, 202u, 136u, 98u, + 132u, 111u, 167u, 90u, + 35u, 252u, 184u, 45u, + 99u, 200u, 59u, 166u, + 129u, 233u, 178u, 1u, + 160u, 126u, 148u, 162u, + 114u, 131u, 76u, 156u, + 137u, 134u, 176u, 133u, + 159u, 122u, 1u, 102u, + 247u, 60u, 127u, 197u, + 130u, 88u, 44u, 139u, + 186u, 121u, 55u, 176u, + 87u, 1u, 33u, 77u, + 50u, 91u, 131u, 116u, + 113u, 168u, 178u, 225u, + 40u, 115u, 0u, 13u, + 106u, 61u, 186u, 135u, + 190u, 90u, 140u, 172u, + 1u, 152u, 210u, 103u, + 141u, 132u, 104u, 109u, + 148u, 111u, 144u, 103u, + 168u, 51u, 220u, 149u, + 29u, 14u, 219u, 159u, + 230u, 186u, 255u, 126u, + 57u, 52u, 83u, 110u, + 192u, 154u, 237u, 190u, + 109u, 153u, 84u, 103u, + 124u, 154u, 64u, 43u, + 158u, 255u, 215u, 171u, + 173u, 134u, 38u, 156u, + 149u, 69u, 168u, 155u, + 1u, 76u, 83u, 192u, + 105u, 74u, 111u, 109u, + 170u, 48u, 136u, 165u, + 0u, 34u, 153u, 112u, + 150u, 155u, 218u, 180u, + 122u, 104u, 171u, 64u, + 159u, 98u, 141u, 36u, + 150u, 31u, 255u, 64u, + 102u, 166u, 206u, 116u, + 253u, 189u, 45u, 57u, + 130u, 92u, 91u, 147u, + 204u, 153u, 231u, 44u, + 69u, 148u, 18u, 163u, + 104u, 42u, 255u, 89u, + 179u, 81u, 138u, 186u, + 194u, 4u, 29u, 103u, + 121u, 53u, 157u, 111u, + 137u, 110u, 85u, 0u, + 153u, 80u, 144u, 42u, + 152u, 142u, 250u, 232u, + 222u, 8u, 167u, 255u, + 57u, 247u, 35u, 70u, + 127u, 101u, 77u, 136u, + 100u, 151u, 183u, 125u, + 92u, 1u, 100u, 182u, + 212u, 203u, 126u, 171u, + 77u, 117u, 132u, 88u, + 93u, 81u, 146u, 112u, + 151u, 102u, 215u, 155u, + 122u, 175u, 255u, 123u, + 89u, 119u, 91u, 115u, + 97u, 117u, 209u, 106u, + 100u, 82u, 174u, 255u, + 184u, 145u, 152u, 51u, + 96u, 55u, 98u, 167u, + 0u, 188u, 202u, 156u, + 58u, 173u, 90u, 162u, + 164u, 90u, 142u, 186u, + 75u, 191u, 255u, 116u, + 38u, 214u, 195u, 155u, + 125u, 110u, 35u, 185u, + 192u, 199u, 116u, 241u, + 117u, 91u, 203u, 98u, + 150u, 99u, 147u, 125u, + 111u, 255u, 133u, 171u, + 153u, 60u, 125u, 137u, + 53u, 200u, 64u, 167u, + 153u, 171u, 67u, 132u, + 255u, 96u, 211u, 197u, + 60u, 44u, 240u, 162u, + 175u, 138u, 153u, 81u, + 255u, 137u, 173u, 176u, + 108u, 81u, 90u, 140u, + 112u, 171u, 59u, 80u, + 157u, 69u, 241u, 1u, + 163u, 154u, 132u, 151u, + 90u, 90u, 105u, 183u, + 69u, 162u, 163u, 115u, + 161u, 1u, 172u, 95u, + 71u, 20u, 56u, 72u, + 97u, 165u, 143u, 10u, + 113u, 152u, 124u, 69u, + 33u, 24u, 184u, 171u, + 85u, 193u, 208u, 170u, + 0u, 205u, 140u, 161u, + 164u, 105u, 100u, 237u, + 140u, 1u, 146u, 152u, + 185u, 107u, 84u, 138u, + 209u, 85u, 112u, 68u, + 134u, 176u, 162u, 60u, + 199u, 111u, 157u, 145u, + 134u, 110u, 128u, 142u, + 255u, 24u, 74u, 151u, + 108u, 99u, 86u, 82u, + 216u, 124u, 71u, 1u, + 165u, 85u, 162u, 127u, + 130u, 135u, 134u, 202u, + 77u, 120u, 156u, 135u, + 66u, 136u, 148u, 99u, + 1u, 154u, 55u, 142u, + 148u, 102u, 174u, 104u, + 77u, 88u, 101u, 146u, + 120u, 173u, 212u, 15u, + 108u, 105u, 1u, 196u, + 219u, 55u, 116u, 83u, + 1u, 131u, 17u, 130u, + 97u, 126u, 128u, 115u, + 1u, 101u, 208u, 22u, + 98u, 155u, 154u, 181u, + 178u, 92u, 233u, 104u, + 68u, 107u, 230u, 97u, + 116u, 201u, 148u, 255u, + 78u, 184u, 131u, 98u, + 182u, 85u, 206u, 128u, + 143u, 160u, 65u, 199u, + 1u, 88u, 127u, 188u, + 87u, 174u, 181u, 114u, + 108u, 135u, 169u, 123u, + 150u, 176u, 213u, 106u, + 159u, 199u, 56u, 163u, + 156u, 95u, 93u, 38u, + 179u, 255u, 160u, 43u, + 73u, 98u, 255u, 182u, + 165u, 184u, 180u, 19u, + 137u, 160u, 39u, 58u, + 109u, 246u, 223u, 123u, + 59u, 41u, 178u, 1u, + 213u, 72u, 137u, 153u, + 166u, 21u, 74u, 103u, + 133u, 226u, 222u, 30u, + 118u, 177u, 71u, 0u, + 123u, 151u, 68u, 165u, + 77u, 153u, 112u, 95u, + 91u, 114u, 144u, 164u, + 127u, 139u, 130u, 83u, + 162u, 106u, 61u, 113u, + 109u, 164u, 149u, 119u, + 150u, 1u, 164u, 124u, + 177u, 96u, 107u, 105u, + 108u, 102u, 216u, 127u, + 155u, 255u, 118u, 86u, + 153u, 118u, 180u, 122u, + 1u, 140u, 144u, 28u, + 181u, 166u, 118u, 124u, + 88u, 191u, 202u, 183u, + 184u, 173u, 119u, 138u, + 40u, 110u, 138u, 146u, + 78u, 127u, 109u, 158u, + 148u, 22u, 154u, 20u, + 123u, 0u, 42u, 68u, + 113u, 109u, 117u, 1u, + 43u, 111u, 165u, 119u, + 106u, 143u, 141u, 104u, + 73u, 68u, 142u, 177u, + 86u, 145u, 118u, 149u, + 62u, 175u, 64u, 103u, + 243u, 162u, 191u, 198u, + 131u, 0u, 69u, 180u, + 129u, 119u, 36u, 128u, + 15u, 93u, 88u, 178u, + 1u, 92u, 95u, 106u, + 135u, 103u, 201u, 158u, + 134u, 194u, 92u, 66u, + 36u, 154u, 135u, 138u, + 186u, 92u, 255u, 220u, + 174u, 118u, 60u, 162u, + 179u, 106u, 200u, 10u, + 182u, 171u, 1u, 98u, + 126u, 192u, 171u, 68u, + 40u, 167u, 145u, 232u, + 151u, 120u, 108u, 207u, + 255u, 73u, 138u, 82u, + 161u, 211u, 138u, 72u, + 207u, 81u, 71u, 75u, + 157u, 157u, 84u, 160u, + 20u, 160u, 123u, 170u, + 84u, 42u, 136u, 124u, + 89u, 1u, 126u, 169u, + 1u, 90u, 110u, 145u, + 130u, 52u, 234u, 182u, + 142u, 133u, 161u, 167u, + 169u, 167u, 61u, 118u, + 151u, 112u, 4u, 150u, + 172u, 119u, 210u, 222u, + 140u, 228u, 100u, 110u, + 212u, 1u, 110u, 87u, + 171u, 186u, 142u, 0u, + 123u, 147u, 184u, 108u, + 160u, 153u, 252u, 209u, + 106u, 211u, 141u, 145u, + 198u, 231u, 39u, 124u, + 224u, 22u, 134u, 120u, + 142u, 222u, 37u, 136u, + 255u, 10u, 172u, 220u, + 123u, 206u, 175u, 1u, + 156u, 164u, 25u, 165u, + 192u, 76u, 139u, 188u, + 62u, 112u, 34u, 75u, + 211u, 131u, 156u, 131u, + 142u, 103u, 164u, 114u, + 189u, 7u, 126u, 101u, + 199u, 207u, 80u, 1u, + 135u, 47u, 251u, 1u, + 171u, 217u, 185u, 236u, + 216u, 92u, 169u, 141u, + 174u, 183u, 71u, 157u, + 105u, 177u, 95u, 200u, + 0u, 182u, 51u, 103u, + 156u, 93u, 181u, 17u, + 111u, 88u, 169u, 149u, + 62u, 66u, 249u, 45u, + 214u, 225u, 157u, 140u, + 56u, 245u, 65u, 219u, + 191u, 127u, 1u, 133u, + 101u, 171u, 127u, 169u, + 77u, 206u, 141u, 178u, + 171u, 121u, 170u, 153u, + 89u, 95u, 1u, 116u, + 162u, 122u, 52u, 162u, + 21u, 96u, 1u, 39u, + 128u, 146u, 211u, 43u, + 56u, 222u, 149u, 25u, + 130u, 66u, 220u, 68u, + 126u, 53u, 161u, 64u, + 105u, 100u, 110u, 97u, + 84u, 112u, 225u, 1u, + 158u, 100u, 123u, 92u, + 120u, 79u, 255u, 222u, + 71u, 216u, 62u, 163u, + 2u, 91u, 97u, 180u, + 90u, 92u, 11u, 200u, + 69u, 166u, 158u, 200u, + 158u, 179u, 144u, 181u, + 117u, 54u, 1u, 74u, + 56u, 79u, 207u, 45u, + 255u, 116u, 206u, 53u, + 102u, 89u, 86u, 121u, + 71u, 245u, 250u, 163u, + 126u, 91u, 170u, 172u, + 36u, 96u, 211u, 63u, + 220u, 93u, 1u, 153u, + 169u, 97u, 119u, 93u, + 71u, 117u, 3u, 91u, + 104u, 213u, 79u, 53u, + 218u, 71u, 203u, 170u, + 233u, 1u, 69u, 205u, + 117u, 120u, 123u, 175u, + 152u, 146u, 119u, 62u, + 80u, 1u, 119u, 96u, + 164u, 193u, 104u, 51u, + 166u, 32u, 146u, 106u, + 57u, 100u, 30u, 255u, + 209u, 77u, 116u, 138u, + 87u, 251u, 81u, 199u, + 29u, 166u, 90u, 98u, + 71u, 181u, 149u, 1u, + 229u, 31u, 214u, 129u, + 100u, 63u, 194u, 141u, + 152u, 74u, 22u, 82u, + 80u, 16u, 100u, 136u, + 170u, 193u, 136u, 190u, + 114u, 1u, 116u, 122u, + 220u, 72u, 130u, 159u, + 123u, 158u, 255u, 176u, + 152u, 185u, 159u, 114u, + 227u, 171u, 76u, 64u, + 170u, 92u, 173u, 148u, + 92u, 123u, 108u, 181u, + 255u, 134u, 110u, 100u, + 94u, 47u, 56u, 152u, + 152u, 84u, 120u, 1u, + 150u, 85u, 101u, 145u, + 77u, 193u, 158u, 42u, + 114u, 102u, 226u, 176u, + 111u, 17u, 116u, 255u, + 165u, 123u, 155u, 139u, + 109u, 57u, 132u, 121u, + 115u, 173u, 166u, 108u, + 66u, 96u, 75u, 112u, + 255u, 98u, 64u, 137u, + 127u, 61u, 159u, 88u, + 94u, 227u, 111u, 141u, + 30u, 65u, 125u, 150u, + 117u, 86u, 137u, 48u, + 188u, 98u, 145u, 101u, + 132u, 212u, 255u, 207u, + 174u, 183u, 205u, 132u, + 7u, 210u, 153u, 73u, + 78u, 95u, 130u, 96u, + 255u, 159u, 221u, 108u, + 240u, 119u, 145u, 72u, + 162u, 137u, 31u, 192u, + 219u, 120u, 164u, 99u, + 102u, 255u, 75u, 185u, + 99u, 144u, 196u, 1u, + 74u, 89u, 12u, 107u, + 160u, 149u, 89u, 59u, + 194u, 41u, 29u, 106u, + 154u, 128u, 121u, 110u, + 146u, 215u, 86u, 133u, + 79u, 130u, 123u, 95u, + 141u, 255u, 83u, 151u, + 144u, 136u, 255u, 171u, + 29u, 179u, 51u, 79u, + 226u, 212u, 162u, 142u, + 137u, 125u, 158u, 253u, + 87u, 106u, 137u, 70u, + 255u, 229u, 104u, 210u, + 136u, 110u, 146u, 178u, + 219u, 117u, 46u, 99u, + 157u, 255u, 84u, 107u, + 236u, 187u, 28u, 130u, + 207u, 20u, 128u, 104u, + 71u, 177u, 100u, 165u, + 98u, 136u, 176u, 59u, + 172u, 172u, 113u, 0u, + 173u, 184u, 161u, 188u, + 167u, 86u, 156u, 159u, + 40u, 166u, 86u, 56u, + 53u, 70u, 255u, 246u, + 163u, 88u, 240u, 224u, + 118u, 132u, 111u, 182u, + 52u, 115u, 253u, 83u, + 66u, 105u, 1u, 43u, + 155u, 58u, 177u, 88u, + 65u, 168u, 83u, 142u, + 38u, 255u, 102u, 170u, + 140u, 94u, 121u, 21u, + 96u, 40u, 95u, 124u, + 54u, 83u, 82u, 151u, + 78u, 147u, 187u, 77u, + 149u, 169u, 0u, 203u, + 124u, 129u, 141u, 70u, + 138u, 157u, 38u, 173u, + 67u, 137u, 77u, 135u, + 116u, 93u, 146u, 112u, + 27u, 132u, 138u, 84u, + 75u, 127u, 198u, 255u, + 101u, 90u, 208u, 209u, + 1u, 146u, 114u, 166u, + 58u, 103u, 69u, 44u, + 6u, 144u, 222u, 112u, + 95u, 126u, 16u, 201u, + 82u, 255u, 147u, 225u, + 143u, 121u, 113u, 139u, + 188u, 48u, 130u, 162u, + 1u, 42u, 176u, 152u, + 102u, 191u, 6u, 157u, + 167u, 174u, 52u, 83u, + 11u, 81u, 40u, 157u, + 220u, 120u, 130u, 180u, + 51u, 15u, 94u, 0u, + 205u, 110u, 153u, 111u, + 136u, 201u, 183u, 66u, + 125u, 161u, 117u, 128u, + 174u, 80u, 50u, 63u, + 73u, 173u, 74u, 151u, + 208u, 53u, 255u, 156u, + 122u, 130u, 179u, 180u, + 179u, 167u, 84u, 48u, + 0u, 40u, 159u, 212u, + 153u, 224u, 53u, 59u, + 133u, 88u, 70u, 201u, + 76u, 206u, 108u, 189u, + 194u, 244u, 165u, 64u, + 183u, 125u, 1u, 81u, + 165u, 156u, 255u, 88u, + 207u, 215u, 87u, 133u, + 68u, 95u, 180u, 135u, + 205u, 126u, 183u, 121u, + 176u, 168u, 95u, 214u, + 187u, 53u, 175u, 130u, + 119u, 255u, 151u, 150u, + 156u, 181u, 149u, 111u, + 123u, 58u, 1u, 184u, + 255u, 101u, 100u, 162u, + 163u, 112u, 10u, 96u, + 40u, 230u, 110u, 70u, + 77u, 120u, 107u, 101u, + 156u, 162u, 255u, 243u, + 118u, 241u, 57u, 127u, + 143u, 83u, 143u, 119u, + 220u, 69u, 255u, 153u, + 103u, 81u, 21u, 85u, + 232u, 118u, 83u, 170u, + 121u, 95u, 45u, 197u, + 255u, 147u, 41u, 154u, + 189u, 137u, 208u, 89u, + 235u, 180u, 118u, 156u, + 204u, 107u, 71u, 37u, + 174u, 237u, 143u, 105u, + 22u, 178u, 1u, 164u, + 149u, 150u, 233u, 56u, + 88u, 36u, 29u, 141u, + 144u, 80u, 176u, 105u, + 47u, 106u, 1u, 142u, + 112u, 151u, 134u, 125u, + 129u, 58u, 141u, 134u, + 160u, 129u, 132u, 97u, + 87u, 78u, 84u, 148u, + 145u, 147u, 81u, 128u, + 143u, 101u, 84u, 1u, + 21u, 134u, 220u, 131u, + 179u, 147u, 163u, 133u, + 92u, 213u, 20u, 1u, + 222u, 174u, 151u, 136u, + 119u, 125u, 75u, 203u, + 95u, 109u, 205u, 170u, + 45u, 255u, 49u, 169u, + 169u, 96u, 119u, 139u, + 51u, 165u, 119u, 3u, + 104u, 57u, 160u, 112u, + 158u, 230u, 183u, 255u, + 104u, 219u, 189u, 83u, + 121u, 130u, 133u, 104u, + 153u, 121u, 158u, 144u, + 195u, 148u, 121u, 158u, + 78u, 1u, 119u, 160u, + 139u, 228u, 89u, 84u, + 89u, 199u, 245u, 182u, + 110u, 133u, 44u, 109u, + 255u, 131u, 123u, 88u, + 115u, 81u, 114u, 191u, + 107u, 1u, 105u, 57u, + 181u, 119u, 111u, 113u, + 135u, 100u, 117u, 133u, + 80u, 215u, 12u, 0u, + 236u, 105u, 103u, 189u, + 166u, 24u, 120u, 97u, + 28u, 252u, 162u, 167u, + 50u, 220u, 1u, 84u, + 123u, 117u, 141u, 155u, + 151u, 107u, 168u, 155u, + 84u, 205u, 131u, 81u, + 125u, 30u, 170u, 131u, + 92u, 146u, 162u, 255u, + 65u, 142u, 245u, 123u, + 113u, 189u, 73u, 147u, + 106u, 156u, 103u, 26u, + 212u, 83u, 119u, 183u, + 189u, 20u, 102u, 54u, + 5u, 255u, 100u, 79u, + 148u, 124u, 94u, 192u, + 1u, 116u, 39u, 166u, + 74u, 138u, 185u, 134u, + 125u, 60u, 134u, 139u, + 1u, 172u, 204u, 77u, + 171u, 87u, 117u, 74u, + 32u, 179u, 164u, 39u, + 165u, 23u, 10u, 160u, + 219u, 160u, 100u, 31u, + 173u, 192u, 1u, 125u, + 115u, 177u, 210u, 201u, + 205u, 130u, 128u, 219u, + 255u, 59u, 223u, 132u, + 70u, 85u, 176u, 157u, + 114u, 158u, 138u, 25u, + 132u, 110u, 124u, 145u, + 170u, 155u, 215u, 74u, + 98u, 151u, 123u, 120u, + 131u, 91u, 148u, 0u, + 126u, 140u, 148u, 177u, + 242u, 227u, 53u, 118u, + 76u, 122u, 255u, 197u, + 166u, 122u, 49u, 72u, + 170u, 187u, 113u, 213u, + 145u, 253u, 120u, 129u, + 66u, 15u, 49u, 105u, + 1u, 177u, 210u, 136u, + 84u, 172u, 82u, 205u, + 227u, 131u, 93u, 72u, + 70u, 1u, 214u, 175u, + 104u, 214u, 20u, 161u, + 160u, 214u, 133u, 72u, + 51u, 116u, 148u, 126u, + 87u, 52u, 217u, 67u, + 151u, 113u, 135u, 90u, + 141u, 1u, 118u, 210u, + 129u, 160u, 174u, 151u, + 25u, 140u, 131u, 51u, + 1u, 65u, 125u, 120u, + 193u, 52u, 134u, 163u, + 107u, 62u, 130u, 66u, + 180u, 35u, 95u, 127u, + 123u, 225u, 84u, 161u, + 1u, 216u, 143u, 139u, + 119u, 106u, 81u, 215u, + 127u, 63u, 191u, 68u, + 25u, 169u, 105u, 217u, + 131u, 118u, 93u, 1u, + 25u, 122u, 89u, 138u, + 177u, 207u, 178u, 255u, + 94u, 107u, 149u, 100u, + 72u, 4u, 196u, 243u, + 84u, 151u, 229u, 25u, + 159u, 146u, 255u, 198u, + 176u, 175u, 222u, 235u, + 143u, 140u, 88u, 136u, + 168u, 179u, 119u, 65u, + 255u, 213u, 136u, 233u, + 153u, 31u, 71u, 142u, + 182u, 243u, 104u, 62u, + 118u, 144u, 1u, 132u, + 185u, 48u, 52u, 100u, + 93u, 225u, 128u, 170u, + 112u, 152u, 62u, 108u, + 130u, 66u, 225u, 121u, + 71u, 117u, 80u, 179u, + 133u, 124u, 86u, 176u, + 162u, 1u, 115u, 176u, + 98u, 74u, 174u, 68u, + 255u, 148u, 231u, 138u, + 197u, 80u, 2u, 106u, + 55u, 142u, 185u, 220u, + 200u, 209u, 174u, 81u, + 152u, 249u, 51u, 255u, + 206u, 248u, 64u, 66u, + 37u, 77u, 66u, 132u, + 155u, 147u, 154u, 144u, + 193u, 162u, 166u, 82u, + 203u, 117u, 140u, 168u, + 255u, 44u, 101u, 91u, + 83u, 77u, 164u, 184u, + 59u, 56u, 255u, 44u, + 144u, 174u, 79u, 95u, + 66u, 65u, 225u, 124u, + 216u, 156u, 161u, 178u, + 168u, 154u, 45u, 187u, + 255u, 73u, 83u, 103u, + 142u, 137u, 32u, 132u, + 80u, 141u, 122u, 94u, + 114u, 134u, 68u, 83u, + 153u, 55u, 167u, 190u, + 198u, 150u, 53u, 255u, + 193u, 234u, 82u, 63u, + 235u, 250u, 30u, 64u, + 176u, 124u, 244u, 104u, + 1u, 185u, 85u, 248u, + 63u, 115u, 171u, 109u, + 136u, 157u, 139u, 126u, + 151u, 117u, 60u, 101u, + 111u, 0u, 160u, 170u, + 227u, 220u, 122u, 137u, + 132u, 106u, 67u, 109u, + 0u, 116u, 105u, 186u, + 126u, 91u, 140u, 78u, + 144u, 192u, 125u, 106u, + 132u, 135u, 103u, 212u, + 199u, 206u, 255u, 207u, + 57u, 22u, 80u, 164u, + 100u, 77u, 188u, 56u, + 187u, 135u, 108u, 119u, + 140u, 158u, 160u, 78u, + 255u, 144u, 222u, 103u, + 79u, 169u, 86u, 171u, + 49u, 179u, 85u, 91u, + 255u, 142u, 110u, 169u, + 13u, 83u, 98u, 100u, + 88u, 155u, 242u, 208u, + 74u, 68u, 184u, 116u, + 57u, 230u, 55u, 120u, + 69u, 1u, 38u, 194u, + 128u, 1u, 167u, 216u, + 174u, 23u, 208u, 20u, + 163u, 202u, 81u, 237u, + 85u, 194u, 157u, 109u, + 197u, 48u, 123u, 153u, + 72u, 120u, 130u, 207u, + 96u, 158u, 93u, 129u, + 126u, 1u, 52u, 34u, + 187u, 82u, 255u, 134u, + 234u, 131u, 104u, 75u, + 113u, 16u, 85u, 139u, + 84u, 211u, 124u, 65u, + 110u, 128u, 255u, 96u, + 223u, 91u, 159u, 102u, + 166u, 189u, 37u, 129u, + 70u, 123u, 158u, 127u, + 81u, 151u, 127u, 93u, + 68u, 180u, 105u, 84u, + 98u, 159u, 152u, 109u, + 113u, 1u, 104u, 223u, + 232u, 114u, 144u, 39u, + 187u, 0u, 99u, 51u, + 135u, 127u, 132u, 141u, + 163u, 225u, 96u, 126u, + 0u, 186u, 120u, 205u, + 116u, 165u, 217u, 121u, + 65u, 186u, 131u, 233u, + 188u, 216u, 165u, 41u, + 202u, 137u, 255u, 110u, + 100u, 123u, 93u, 84u, + 153u, 63u, 129u, 113u, + 138u, 116u, 135u, 24u, + 134u, 131u, 122u, 110u, + 60u, 179u, 59u, 91u, + 155u, 124u, 196u, 70u, + 50u, 197u, 255u, 118u, + 158u, 166u, 16u, 0u, + 125u, 49u, 177u, 162u, + 52u, 149u, 106u, 211u, + 99u, 87u, 173u, 222u, + 168u, 1u, 136u, 44u, + 126u, 92u, 54u, 104u, + 88u, 166u, 124u, 110u, + 147u, 235u, 118u, 96u, + 155u, 180u, 142u, 117u, + 178u, 166u, 101u, 133u, + 122u, 132u, 201u, 187u, + 255u, 17u, 140u, 126u, + 152u, 214u, 149u, 21u, + 157u, 155u, 164u, 153u, + 101u, 116u, 1u, 176u, + 92u, 243u, 169u, 184u, + 122u, 207u, 103u, 93u, + 202u, 132u, 63u, 184u, + 255u, 63u, 169u, 223u, + 67u, 94u, 118u, 143u, + 191u, 116u, 151u, 117u, + 1u, 70u, 170u, 152u, + 182u, 106u, 93u, 174u, + 154u, 254u, 179u, 85u, + 144u, 126u, 191u, 175u, + 100u, 120u, 1u, 227u, + 121u, 147u, 233u, 55u, + 116u, 95u, 46u, 61u, + 151u, 255u, 151u, 164u, + 115u, 255u, 75u, 147u, + 116u, 135u, 122u, 144u, + 133u, 148u, 124u, 179u, + 104u, 120u, 26u, 184u, + 255u, 143u, 92u, 128u, + 71u, 113u, 88u, 166u, + 203u, 133u, 176u, 127u, + 195u, 214u, 126u, 112u, + 95u, 54u, 103u, 1u, + 64u, 98u, 163u, 12u, + 152u, 163u, 164u, 77u, + 88u, 205u, 155u, 182u, + 189u, 124u, 68u, 148u, + 104u, 114u, 93u, 1u, + 173u, 53u, 145u, 75u, + 145u, 91u, 109u, 75u, + 137u, 68u, 145u, 110u, + 193u, 255u, 111u, 110u, + 116u, 183u, 95u, 142u, + 121u, 221u, 146u, 164u, + 67u, 178u, 111u, 175u, + 57u, 255u, 190u, 161u, + 100u, 38u, 248u, 215u, + 113u, 37u, 141u, 173u, + 84u, 118u, 135u, 163u, + 255u, 143u, 134u, 130u, + 119u, 30u, 90u, 67u, + 102u, 78u, 199u, 114u, + 1u, 208u, 163u, 137u, + 142u, 218u, 232u, 174u, + 129u, 28u, 160u, 139u, + 108u, 163u, 83u, 181u, + 0u, 71u, 148u, 69u, + 169u, 200u, 101u, 127u, + 100u, 146u, 92u, 164u, + 1u, 56u, 116u, 212u, + 24u, 16u, 116u, 134u, + 67u, 94u, 113u, 0u, + 79u, 61u, 205u, 34u, + 175u, 164u, 81u, 0u, + 128u, 152u, 161u, 163u, + 168u, 235u, 103u, 163u, + 100u, 114u, 248u, 221u, + 102u, 255u, 191u, 57u, + 105u, 153u, 214u, 29u, + 84u, 172u, 173u, 127u, + 170u, 167u, 85u, 52u, + 100u, 130u, 89u, 235u, + 129u, 43u, 153u, 95u, + 237u, 175u, 187u, 149u, + 189u, 109u, 48u, 0u, + 121u, 158u, 106u, 118u, + 141u, 205u, 157u, 33u, + 104u, 189u, 1u, 129u, + 140u, 200u, 25u, 176u, + 1u, 86u, 58u, 219u, + 127u, 202u, 69u, 132u, + 173u, 61u, 66u, 56u, + 81u, 213u, 199u, 86u, + 81u, 160u, 166u, 159u, + 104u, 105u, 1u, 101u, + 88u, 184u, 140u, 49u, + 70u, 200u, 153u, 177u, + 33u, 119u, 174u, 143u, + 185u, 136u, 118u, 51u, + 29u, 1u, 126u, 170u, + 159u, 186u, 82u, 169u, + 190u, 43u, 126u, 209u, + 143u, 127u, 162u, 129u, + 209u, 255u, 119u, 16u, + 125u, 121u, 155u, 17u, + 129u, 183u, 72u, 241u, + 44u, 129u, 6u, 118u, + 128u, 219u, 86u, 107u, + 99u, 1u, 80u, 142u, + 117u, 104u, 116u, 82u, + 170u, 34u, 118u, 156u, + 118u, 79u, 109u, 180u, + 150u, 197u, 1u, 169u, + 72u, 115u, 18u, 117u, + 177u, 123u, 255u, 156u, + 100u, 246u, 56u, 132u, + 133u, 99u, 101u, 79u, + 151u, 67u, 186u, 143u, + 58u, 20u, 140u, 187u, + 27u, 41u, 213u, 163u, + 159u, 255u, 140u, 89u, + 163u, 184u, 146u, 182u, + 127u, 109u, 133u, 40u, + 100u, 82u, 160u, 147u, + 255u, 130u, 146u, 103u, + 0u, 178u, 113u, 249u, + 88u, 129u, 139u, 103u, + 177u, 163u, 53u, 124u, + 51u, 164u, 138u, 54u, + 140u, 142u, 119u, 51u, + 255u, 187u, 81u, 107u, + 105u, 68u, 146u, 149u, + 136u, 159u, 111u, 217u, + 199u, 208u, 167u, 38u, + 22u, 150u, 119u, 118u, + 136u, 122u, 163u, 133u, + 1u, 120u, 65u, 152u, + 75u, 61u, 175u, 100u, + 142u, 147u, 239u, 121u, + 255u, 196u, 127u, 238u, + 24u, 65u, 110u, 93u, + 115u, 168u, 88u, 181u, + 202u, 84u, 130u, 255u, + 255u, 189u, 57u, 49u, + 159u, 123u, 104u, 25u, + 209u, 17u, 93u, 230u, + 50u, 252u, 1u, 120u, + 41u, 126u, 77u, 186u, + 11u, 222u, 179u, 255u, + 229u, 101u, 125u, 79u, + 238u, 172u, 214u, 96u, + 1u, 162u, 156u, 208u, + 193u, 152u, 149u, 116u, + 170u, 29u, 221u, 161u, + 214u, 182u, 168u, 0u, + 170u, 165u, 3u, 149u, + 235u, 172u, 120u, 254u, + 191u, 53u, 180u, 220u, + 119u, 175u, 255u, 255u, + 102u, 111u, 119u, 224u, + 132u, 90u, 189u, 140u, + 144u, 113u, 214u, 121u, + 137u, 158u, 1u, 99u, + 164u, 142u, 168u, 123u, + 89u, 122u, 41u, 140u, + 140u, 53u, 255u, 122u, + 40u, 74u, 122u, 60u, + 214u, 232u, 177u, 110u, + 140u, 145u, 126u, 193u, + 219u, 146u, 255u, 78u, + 115u, 83u, 119u, 59u, + 224u, 64u, 226u, 194u, + 83u, 98u, 96u, 23u, + 33u, 114u, 83u, 181u, + 1u, 106u, 70u, 51u, + 31u, 128u, 142u, 111u, + 81u, 98u, 142u, 130u, + 118u, 181u, 230u, 199u, + 255u, 120u, 68u, 35u, + 135u, 96u, 39u, 110u, + 81u, 53u, 109u, 90u, + 153u, 73u, 1u, 66u, + 187u, 126u, 128u, 147u, + 62u, 194u, 71u, 201u, + 90u, 130u, 173u, 158u, + 207u, 108u, 255u, 173u, + 239u, 181u, 107u, 111u, + 4u, 40u, 64u, 147u, + 216u, 183u, 123u, 99u, + 160u, 132u, 130u, 105u, + 157u, 146u, 31u, 90u, + 107u, 119u, 210u, 115u, + 154u, 0u, 134u, 139u, + 108u, 174u, 1u, 107u, + 211u, 167u, 138u, 113u, + 53u, 150u, 59u, 216u, + 63u, 222u, 153u, 160u, + 136u, 79u, 134u, 169u, + 157u, 212u, 56u, 68u, + 1u, 62u, 123u, 42u, + 185u, 139u, 150u, 183u, + 134u, 131u, 105u, 67u, + 255u, 11u, 104u, 132u, + 159u, 195u, 179u, 181u, + 195u, 106u, 158u, 73u, + 1u, 82u, 180u, 125u, + 204u, 81u, 96u, 170u, + 94u, 193u, 50u, 43u, + 115u, 70u, 182u, 177u, + 188u, 114u, 155u, 238u, + 106u, 137u, 107u, 88u, + 121u, 53u, 1u, 80u, + 159u, 110u, 165u, 184u, + 22u, 122u, 255u, 151u, + 109u, 165u, 94u, 24u, + 77u, 101u, 119u, 113u, + 55u, 120u, 91u, 240u, + 191u, 195u, 173u, 118u, + 222u, 255u, 92u, 151u, + 105u, 78u, 26u, 122u, + 106u, 71u, 120u, 217u, + 186u, 219u, 36u, 88u, + 14u, 141u, 224u, 63u, + 77u, 253u, 100u, 214u, + 255u, 131u, 218u, 143u, + 122u, 119u, 219u, 92u, + 98u, 162u, 22u, 109u, + 99u, 137u, 104u, 0u, + 60u, 189u, 101u, 137u, + 133u, 58u, 82u, 67u, + 73u, 43u, 144u, 125u, + 198u, 138u, 151u, 145u, + 53u, 63u, 97u, 1u, + 224u, 3u, 60u, 82u, + 255u, 41u, 132u, 140u, + 77u, 211u, 56u, 85u, + 159u, 190u, 125u, 136u, + 3u, 236u, 255u, 28u, + 68u, 169u, 34u, 250u, + 99u, 194u, 182u, 26u, + 73u, 49u, 80u, 55u, + 171u, 130u, 171u, 160u, + 42u, 172u, 71u, 189u, + 120u, 161u, 178u, 33u, + 0u, 89u, 103u, 107u, + 113u, 190u, 1u, 190u, + 62u, 86u, 25u, 111u, + 62u, 73u, 168u, 59u, + 229u, 53u, 162u, 115u, + 97u, 143u, 125u, 138u, + 90u, 146u, 55u, 147u, + 136u, 141u, 120u, 72u, + 185u, 1u, 82u, 114u, + 183u, 185u, 255u, 138u, + 164u, 95u, 209u, 241u, + 116u, 225u, 148u, 147u, + 139u, 238u, 128u, 23u, + 174u, 255u, 76u, 158u, + 154u, 136u, 1u, 129u, + 184u, 154u, 87u, 85u, + 35u, 89u, 142u, 151u, + 94u, 130u, 167u, 150u, + 142u, 110u, 150u, 156u, + 28u, 255u, 150u, 107u, + 140u, 111u, 153u, 201u, + 179u, 215u, 210u, 202u, + 158u, 48u, 207u, 179u, + 213u, 1u, 104u, 222u, + 95u, 43u, 95u, 151u, + 107u, 127u, 177u, 138u, + 67u, 190u, 141u, 104u, + 14u, 193u, 255u, 149u, + 148u, 77u, 130u, 120u, + 91u, 121u, 155u, 27u, + 242u, 31u, 62u, 93u, + 177u, 226u, 213u, 221u, + 1u, 98u, 125u, 85u, + 173u, 81u, 255u, 168u, + 75u, 160u, 131u, 125u, + 98u, 76u, 149u, 27u, + 129u, 128u, 151u, 118u, + 142u, 200u, 160u, 172u, + 208u, 87u, 147u, 156u, + 131u, 57u, 0u, 212u, + 85u, 217u, 129u, 96u, + 148u, 189u, 148u, 86u, + 19u, 201u, 80u, 208u, + 74u, 151u, 153u, 44u, + 213u, 94u, 0u, 235u, + 82u, 198u, 1u, 218u, + 26u, 116u, 126u, 109u, + 26u, 162u, 93u, 179u, + 148u, 94u, 148u, 119u, + 100u, 3u, 97u, 153u, + 99u, 46u, 162u, 24u, + 255u, 236u, 72u, 109u, + 88u, 105u, 105u, 57u, + 176u, 198u, 251u, 233u, + 17u, 117u, 241u, 81u, + 255u, 145u, 196u, 146u, + 153u, 82u, 123u, 65u, + 138u, 94u, 213u, 219u, + 179u, 41u, 1u, 161u, + 174u, 145u, 139u, 47u, + 162u, 131u, 57u, 168u, + 101u, 207u, 128u, 87u, + 148u, 149u, 121u, 152u, + 98u, 1u, 135u, 128u, + 114u, 149u, 153u, 152u, + 84u, 138u, 198u, 148u, + 56u, 30u, 1u, 115u, + 134u, 163u, 222u, 84u, + 97u, 100u, 204u, 133u, + 121u, 80u, 146u, 196u, + 231u, 57u, 222u, 95u, + 197u, 45u, 1u, 95u, + 108u, 145u, 242u, 156u, + 84u, 1u, 138u, 186u, + 26u, 92u, 199u, 136u, + 100u, 185u, 120u, 111u, + 201u, 56u, 165u, 125u, + 98u, 97u, 167u, 168u, + 107u, 178u, 88u, 61u, + 255u, 63u, 234u, 176u, + 56u, 84u, 70u, 254u, + 208u, 110u, 131u, 189u, + 124u, 128u, 20u, 185u, + 166u, 1u, 127u, 165u, + 190u, 128u, 119u, 52u, + 172u, 156u, 139u, 95u, + 193u, 176u, 85u, 157u, + 94u, 148u, 78u, 117u, + 130u, 1u, 176u, 130u, + 170u, 98u, 248u, 82u, + 138u, 138u, 53u, 0u, + 88u, 81u, 128u, 132u, + 86u, 181u, 210u, 129u, + 147u, 160u, 154u, 177u, + 57u, 187u, 152u, 170u, + 196u, 255u, 228u, 116u, + 163u, 65u, 37u, 148u, + 1u, 171u, 35u, 113u, + 149u, 137u, 107u, 67u, + 197u, 197u, 174u, 187u, + 154u, 66u, 143u, 82u, + 92u, 93u, 0u, 240u, + 97u, 172u, 112u, 154u, + 126u, 99u, 120u, 109u, + 94u, 112u, 168u, 128u, + 161u, 255u, 108u, 5u, + 192u, 110u, 70u, 2u, + 2u, 159u, 171u, 71u, + 18u, 208u, 116u, 119u, + 255u, 72u, 174u, 177u, + 104u, 149u, 222u, 197u, + 185u, 122u, 76u, 124u, + 150u, 98u, 93u, 132u, + 161u, 151u, 107u, 144u, + 155u, 96u, 202u, 163u, + 230u, 111u, 94u, 105u, + 157u, 135u, 67u, 0u, + 154u, 157u, 18u, 87u, + 169u, 32u, 104u, 88u, + 74u, 186u, 94u, 112u, + 113u, 50u, 255u, 112u, + 143u, 170u, 14u, 55u, + 255u, 246u, 128u, 136u, + 79u, 221u, 226u, 194u, + 200u, 135u, 169u, 156u, + 143u, 109u, 45u, 125u, + 197u, 113u, 146u, 157u, + 255u, 172u, 128u, 156u, + 141u, 126u, 131u, 107u, + 116u, 125u, 43u, 137u, + 220u, 150u, 160u, 149u, + 172u, 130u, 110u, 64u, + 181u, 78u, 97u, 0u, + 46u, 148u, 66u, 172u, + 68u, 255u, 103u, 227u, + 138u, 161u, 98u, 134u, + 125u, 123u, 204u, 185u, + 234u, 162u, 203u, 207u, + 103u, 109u, 78u, 120u, + 161u, 189u, 108u, 87u, + 138u, 201u, 127u, 0u, + 125u, 90u, 255u, 168u, + 155u, 63u, 133u, 123u, + 153u, 130u, 94u, 138u, + 132u, 99u, 122u, 155u, + 186u, 1u, 27u, 179u, + 127u, 123u, 107u, 125u, + 97u, 168u, 52u, 30u, + 129u, 30u, 137u, 30u, + 61u, 255u, 167u, 128u, + 205u, 28u, 209u, 215u, + 233u, 123u, 100u, 118u, + 128u, 191u, 114u, 96u, + 1u, 107u, 76u, 171u, + 58u, 230u, 99u, 155u, + 192u, 159u, 48u, 8u, + 145u, 233u, 239u, 198u, + 148u, 104u, 55u, 255u, + 8u, 136u, 101u, 91u, + 128u, 142u, 95u, 72u, + 66u, 102u, 131u, 54u, + 125u, 80u, 144u, 101u, + 114u, 184u, 145u, 35u, + 143u, 96u, 81u, 164u, + 32u, 255u, 107u, 176u, + 118u, 175u, 160u, 1u, + 44u, 132u, 199u, 34u, + 62u, 123u, 191u, 196u, + 88u, 223u, 137u, 236u, + 83u, 173u, 117u, 148u, + 1u, 185u, 11u, 104u, + 64u, 129u, 223u, 133u, + 119u, 89u, 189u, 158u, + 151u, 159u, 79u, 90u, + 64u, 129u, 154u, 114u, + 255u, 147u, 234u, 166u, + 115u, 125u, 113u, 157u, + 233u, 126u, 92u, 198u, + 169u, 230u, 1u, 62u, + 172u, 41u, 180u, 193u, + 200u, 145u, 39u, 48u, + 255u, 102u, 118u, 79u, + 119u, 127u, 17u, 93u, + 221u, 164u, 187u, 154u, + 176u, 60u, 56u, 52u, + 161u, 164u, 40u, 64u, + 180u, 120u, 0u, 95u, + 164u, 56u, 126u, 158u, + 95u, 230u, 209u, 111u, + 54u, 252u, 176u, 27u, + 78u, 84u, 58u, 49u, + 165u, 194u, 255u, 126u, + 137u, 165u, 134u, 86u, + 238u, 107u, 146u, 148u, + 202u, 135u, 165u, 1u, + 89u, 123u, 109u, 146u, + 112u, 150u, 161u, 180u, + 177u, 144u, 76u, 111u, + 86u, 154u, 111u, 255u, + 176u, 152u, 133u, 74u, + 49u, 131u, 115u, 130u, + 80u, 155u, 18u, 217u, + 1u, 201u, 120u, 159u, + 165u, 42u, 105u, 22u, + 132u, 50u, 150u, 149u, + 170u, 126u, 144u, 27u, + 57u, 169u, 95u, 51u, + 56u, 59u, 187u, 142u, + 154u, 255u, 128u, 211u, + 143u, 110u, 79u, 25u, + 204u, 110u, 255u, 113u, + 93u, 153u, 103u, 152u, + 138u, 95u, 179u, 127u, + 99u, 85u, 113u, 170u, + 143u, 131u, 59u, 165u, + 44u, 155u, 123u, 79u, + 228u, 111u, 1u, 154u, + 160u, 169u, 255u, 99u, + 98u, 99u, 85u, 128u, + 105u, 28u, 109u, 136u, + 105u, 93u, 25u, 85u, + 31u, 187u, 81u, 53u, + 1u, 114u, 90u, 254u, + 117u, 34u, 205u, 198u, + 198u, 71u, 195u, 112u, + 82u, 100u, 11u, 182u, + 81u, 159u, 87u, 77u, + 118u, 193u, 255u, 113u, + 128u, 53u, 94u, 69u, + 196u, 152u, 86u, 221u, + 65u, 47u, 164u, 1u, + 66u, 86u, 210u, 126u, + 108u, 122u, 167u, 166u, + 1u, 48u, 182u, 44u, + 72u, 199u, 227u, 175u, + 170u, 72u, 225u, 119u, + 205u, 12u, 114u, 219u, + 154u, 129u, 130u, 120u, + 158u, 33u, 203u, 49u, + 217u, 1u, 215u, 204u, + 71u, 104u, 64u, 82u, + 141u, 185u, 48u, 54u, + 93u, 61u, 1u, 107u, + 85u, 35u, 253u, 60u, + 104u, 89u, 175u, 159u, + 213u, 209u, 43u, 67u, + 42u, 255u, 131u, 249u, + 181u, 139u, 217u, 125u, + 206u, 91u, 144u, 108u, + 116u, 69u, 166u, 204u, + 147u, 170u, 204u, 8u, + 1u, 159u, 41u, 96u, + 130u, 200u, 186u, 74u, + 255u, 134u, 183u, 49u, + 100u, 143u, 78u, 147u, + 187u, 158u, 201u, 200u, + 147u, 125u, 74u, 76u, + 87u, 113u, 220u, 51u, + 74u, 181u, 182u, 75u, + 134u, 91u, 147u, 107u, + 255u, 55u, 103u, 100u, + 169u, 142u, 164u, 81u, + 149u, 162u, 143u, 181u, + 148u, 138u, 255u, 200u, + 163u, 81u, 108u, 26u, + 139u, 23u, 23u, 159u, + 0u, 109u, 80u, 196u, + 153u, 191u, 164u, 32u, + 188u, 188u, 159u, 53u, + 45u, 78u, 137u, 13u, + 156u, 202u, 254u, 130u, + 123u, 92u, 65u, 53u, + 80u, 92u, 255u, 127u, + 238u, 73u, 230u, 126u, + 161u, 151u, 140u, 56u, + 7u, 255u, 55u, 129u, + 177u, 149u, 168u, 20u, + 153u, 104u, 156u, 128u, + 152u, 77u, 118u, 1u, + 119u, 51u, 87u, 25u, + 69u, 170u, 143u, 168u, + 61u, 121u, 187u, 176u, + 166u, 153u, 255u, 71u, + 13u, 170u, 164u, 200u, + 197u, 50u, 156u, 77u, + 104u, 102u, 66u, 1u, + 96u, 133u, 85u, 91u, + 68u, 51u, 163u, 124u, + 94u, 129u, 116u, 203u, + 117u, 132u, 209u, 64u, + 171u, 203u, 157u, 255u, + 154u, 75u, 132u, 88u, + 35u, 142u, 76u, 128u, + 59u, 161u, 151u, 153u, + 83u, 89u, 45u, 235u, + 31u, 102u, 50u, 113u, + 9u, 218u, 139u, 1u, + 141u, 151u, 94u, 64u, + 129u, 164u, 79u, 148u, + 207u, 135u, 188u, 16u, + 66u, 99u, 0u, 133u, + 131u, 168u, 9u, 104u, + 1u, 44u, 196u, 117u, + 146u, 137u, 241u, 142u, + 186u, 125u, 112u, 94u, + 201u, 96u, 62u, 141u, + 206u, 155u, 183u, 163u, + 160u, 131u, 180u, 255u, + 138u, 113u, 90u, 138u, + 169u, 20u, 172u, 61u, + 100u, 126u, 90u, 87u, + 223u, 55u, 255u, 217u, + 159u, 164u, 99u, 191u, + 109u, 130u, 97u, 98u, + 42u, 193u, 172u, 150u, + 128u, 255u, 154u, 150u, + 94u, 151u, 85u, 82u, + 130u, 196u, 110u, 57u, + 97u, 144u, 120u, 255u, + 160u, 114u, 190u, 160u, + 78u, 168u, 109u, 87u, + 110u, 82u, 111u, 0u, + 160u, 112u, 174u, 213u, + 169u, 137u, 43u, 60u, + 149u, 92u, 133u, 179u, + 121u, 49u, 255u, 167u, + 38u, 33u, 214u, 45u, + 149u, 165u, 111u, 198u, + 149u, 114u, 63u, 73u, + 155u, 74u, 255u, 40u, + 110u, 132u, 11u, 157u, + 112u, 165u, 124u, 19u, + 16u, 120u, 66u, 222u, + 209u, 155u, 121u, 1u, + 135u, 152u, 101u, 152u, + 55u, 51u, 22u, 135u, + 207u, 210u, 55u, 117u, + 77u, 72u, 63u, 141u, + 93u, 168u, 178u, 60u, + 107u, 124u, 87u, 131u, + 132u, 237u, 148u, 255u, + 149u, 178u, 255u, 132u, + 85u, 124u, 169u, 118u, + 151u, 42u, 181u, 178u, + 217u, 187u, 102u, 75u, + 6u, 185u, 81u, 58u, + 153u, 179u, 136u, 131u, + 108u, 0u, 123u, 162u, + 75u, 154u, 170u, 193u, + 83u, 139u, 218u, 143u, + 1u, 185u, 141u, 69u, + 85u, 177u, 84u, 159u, + 146u, 61u, 34u, 107u, + 30u, 100u, 138u, 106u, + 167u, 109u, 88u, 188u, + 91u, 255u, 165u, 163u, + 63u, 45u, 115u, 102u, + 107u, 255u, 206u, 134u, + 13u, 149u, 140u, 104u, + 44u, 20u, 140u, 201u, + 55u, 108u, 189u, 148u, + 218u, 255u, 22u, 209u, + 53u, 64u, 86u, 87u, + 136u, 62u, 220u, 71u, + 119u, 223u, 118u, 11u, + 193u, 55u, 109u, 125u, + 197u, 142u, 100u, 157u, + 155u, 109u, 1u, 15u, + 106u, 74u, 136u, 135u, + 65u, 73u, 228u, 255u, + 85u, 217u, 154u, 77u, + 175u, 134u, 220u, 207u, + 160u, 27u, 60u, 7u, + 132u, 165u, 35u, 196u, + 34u, 255u, 241u, 124u, + 233u, 91u, 39u, 172u, + 68u, 159u, 137u, 131u, + 181u, 186u, 255u, 132u, + 186u, 189u, 143u, 95u, + 240u, 101u, 138u, 144u, + 102u, 93u, 172u, 145u, + 112u, 88u, 203u, 59u, + 255u, 101u, 133u, 121u, + 15u, 129u, 90u, 171u, + 91u, 137u, 198u, 211u, + 170u, 29u, 203u, 166u, + 217u, 95u, 255u, 40u, + 201u, 139u, 7u, 181u, + 178u, 176u, 163u, 97u, + 134u, 144u, 68u, 141u, + 135u, 123u, 114u, 152u, + 81u, 255u, 124u, 76u, + 170u, 176u, 102u, 31u, + 93u, 123u, 119u, 146u, + 120u, 100u, 130u, 159u, + 128u, 122u, 184u, 255u, + 159u, 112u, 99u, 99u, + 38u, 255u, 50u, 147u, + 124u, 206u, 156u, 60u, + 157u, 207u, 129u, 208u, + 143u, 150u, 64u, 114u, + 146u, 92u, 116u, 118u, + 226u, 175u, 142u, 192u, + 28u, 255u, 169u, 242u, + 251u, 166u, 71u, 131u, + 155u, 40u, 1u, 239u, + 84u, 186u, 67u, 199u, + 95u, 121u, 143u, 188u, + 243u, 90u, 126u, 167u, + 128u, 145u, 37u, 166u, + 82u, 169u, 255u, 78u, + 210u, 145u, 97u, 15u, + 97u, 200u, 156u, 208u, + 159u, 67u, 163u, 154u, + 56u, 210u, 203u, 217u, + 152u, 75u, 80u, 114u, + 255u, 171u, 165u, 129u, + 169u, 160u, 193u, 139u, + 1u, 220u, 154u, 53u, + 122u, 113u, 134u, 131u, + 135u, 143u, 112u, 128u, + 151u, 98u, 153u, 105u, + 190u, 144u, 122u, 179u, + 124u, 18u, 63u, 111u, + 1u, 245u, 108u, 190u, + 80u, 46u, 91u, 142u, + 34u, 231u, 110u, 91u, + 172u, 255u, 72u, 124u, + 120u, 178u, 120u, 247u, + 150u, 107u, 173u, 242u, + 94u, 74u, 66u, 111u, + 156u, 1u, 150u, 26u, + 11u, 49u, 89u, 120u, + 93u, 255u, 146u, 123u, + 106u, 135u, 116u, 149u, + 99u, 109u, 201u, 175u, + 164u, 142u, 111u, 131u, + 112u, 95u, 88u, 155u, + 125u, 17u, 233u, 167u, + 159u, 133u, 192u, 176u, + 151u, 125u, 84u, 1u, + 89u, 134u, 94u, 147u, + 216u, 120u, 132u, 255u, + 120u, 103u, 165u, 164u, + 246u, 149u, 144u, 88u, + 100u, 87u, 66u, 77u, + 81u, 88u, 96u, 164u, + 123u, 136u, 133u, 0u, + 77u, 107u, 149u, 126u, + 73u, 64u, 141u, 144u, + 131u, 184u, 29u, 227u, + 255u, 67u, 150u, 79u, + 219u, 109u, 142u, 71u, + 55u, 89u, 122u, 160u, + 183u, 173u, 128u, 28u, + 134u, 140u, 81u, 223u, + 237u, 196u, 255u, 154u, + 106u, 44u, 202u, 171u, + 149u, 138u, 115u, 74u, + 139u, 255u, 87u, 137u, + 130u, 185u, 159u, 113u, + 255u, 120u, 84u, 20u, + 189u, 155u, 187u, 167u, + 167u, 137u, 16u, 85u, + 112u, 232u, 106u, 128u, + 131u, 137u, 255u, 144u, + 121u, 49u, 153u, 26u, + 15u, 117u, 84u, 146u, + 178u, 89u, 140u, 149u, + 88u, 117u, 171u, 90u, + 184u, 80u, 1u, 80u, + 84u, 113u, 102u, 118u, + 121u, 35u, 204u, 184u, + 12u, 97u, 85u, 111u, + 131u, 113u, 255u, 169u, + 150u, 157u, 92u, 147u, + 54u, 44u, 147u, 71u, + 89u, 165u, 88u, 83u, + 170u, 166u, 191u, 255u, + 130u, 131u, 115u, 229u, + 146u, 111u, 48u, 178u, + 61u, 155u, 104u, 175u, + 69u, 159u, 196u, 255u, + 107u, 32u, 102u, 27u, + 107u, 156u, 160u, 188u, + 224u, 57u, 134u, 167u, + 1u, 219u, 116u, 54u, + 70u, 217u, 100u, 154u, + 181u, 159u, 171u, 120u, + 198u, 145u, 221u, 179u, + 1u, 147u, 139u, 78u, + 143u, 138u, 128u, 155u, + 225u, 145u, 175u, 91u, + 174u, 93u, 102u, 123u, + 139u, 248u, 255u, 90u, + 206u, 162u, 96u, 107u, + 91u, 226u, 120u, 119u, + 157u, 223u, 170u, 114u, + 95u, 87u, 141u, 186u, + 31u, 255u, 52u, 144u, + 106u, 201u, 115u, 140u, + 160u, 79u, 233u, 129u, + 189u, 119u, 121u, 194u, + 239u, 159u, 127u, 255u, + 213u, 218u, 140u, 136u, + 83u, 1u, 93u, 163u, + 73u, 53u, 119u, 79u, + 28u, 120u, 95u, 179u, + 52u, 104u, 93u, 184u, + 108u, 29u, 84u, 108u, + 29u, 128u, 100u, 54u, + 74u, 202u, 167u, 188u, + 102u, 140u, 218u, 255u, + 93u, 222u, 235u, 114u, + 94u, 121u, 66u, 119u, + 73u, 117u, 207u, 21u, + 43u, 255u, 145u, 126u, + 99u, 150u, 232u, 162u, + 218u, 33u, 255u, 46u, + 45u, 142u, 143u, 112u, + 178u, 53u, 241u, 113u, + 51u, 195u, 255u, 34u, + 241u, 122u, 87u, 75u, + 142u, 155u, 61u, 82u, + 174u, 96u, 114u, 47u, + 196u, 168u, 145u, 138u, + 1u, 89u, 174u, 222u, + 153u, 157u, 187u, 101u, + 79u, 103u, 129u, 128u, + 0u, 188u, 139u, 114u, + 153u, 103u, 16u, 116u, + 128u, 87u, 61u, 56u, + 163u, 30u, 74u, 137u, + 109u, 103u, 81u, 242u, + 1u, 147u, 195u, 195u, + 149u, 99u, 66u, 93u, + 22u, 113u, 192u, 138u, + 250u, 143u, 209u, 105u, + 130u, 178u, 141u, 0u, + 74u, 169u, 131u, 148u, + 211u, 106u, 53u, 79u, + 109u, 80u, 140u, 79u, + 139u, 243u, 163u, 254u, + 101u, 141u, 1u, 214u, + 191u, 15u, 45u, 200u, + 143u, 160u, 54u, 196u, + 86u, 111u, 211u, 134u, + 148u, 184u, 89u, 238u, + 0u, 191u, 223u, 153u, + 137u, 59u, 83u, 136u, + 79u, 167u, 255u, 66u, + 71u, 204u, 36u, 120u, + 179u, 216u, 20u, 178u, + 154u, 86u, 156u, 185u, + 1u, 182u, 77u, 84u, + 164u, 94u, 97u, 110u, + 170u, 92u, 53u, 119u, + 221u, 146u, 101u, 78u, + 65u, 0u, 130u, 45u, + 183u, 140u, 179u, 131u, + 177u, 7u, 40u, 75u, + 109u, 147u, 170u, 222u, + 121u, 141u, 0u, 197u, + 112u, 147u, 80u, 123u, + 22u, 112u, 68u, 122u, + 121u, 94u, 114u, 255u, + 79u, 232u, 230u, 147u, + 175u, 45u, 12u, 90u, + 94u, 63u, 119u, 185u, + 106u, 223u, 129u, 74u, + 239u, 59u, 150u, 44u, + 1u, 153u, 137u, 138u, + 140u, 138u, 143u, 137u, + 177u, 44u, 72u, 111u, + 130u, 0u, 168u, 69u, + 123u, 83u, 137u, 8u, + 80u, 82u, 97u, 194u, + 107u, 191u, 171u, 175u, + 215u, 57u, 137u, 120u, + 37u, 12u, 100u, 162u, + 255u, 208u, 181u, 35u, + 127u, 77u, 142u, 97u, + 255u, 217u, 12u, 63u, + 115u, 110u, 160u, 60u, + 179u, 111u, 252u, 145u, + 57u, 190u, 54u, 161u, + 132u, 146u, 175u, 80u, + 25u, 158u, 1u, 93u, + 128u, 116u, 44u, 202u, + 255u, 161u, 163u, 217u, + 114u, 90u, 238u, 26u, + 95u, 145u, 210u, 216u, + 187u, 192u, 165u, 151u, + 127u, 163u, 89u, 189u, + 32u, 87u, 160u, 81u, + 188u, 255u, 118u, 89u, + 96u, 141u, 180u, 139u, + 69u, 140u, 103u, 146u, + 97u, 120u, 205u, 153u, + 131u, 167u, 138u, 0u, + 188u, 113u, 95u, 142u, + 149u, 155u, 108u, 60u, + 84u, 121u, 191u, 32u, + 140u, 127u, 255u, 169u, + 186u, 87u, 134u, 26u, + 201u, 116u, 255u, 152u, + 135u, 57u, 160u, 106u, + 64u, 129u, 56u, 65u, + 122u, 138u, 179u, 130u, + 141u, 90u, 97u, 184u, + 110u, 20u, 185u, 1u, + 164u, 99u, 101u, 215u, + 97u, 177u, 178u, 214u, + 40u, 17u, 68u, 203u, + 133u, 42u, 1u, 108u, + 70u, 245u, 12u, 119u, + 191u, 128u, 216u, 203u, + 188u, 83u, 1u, 220u, + 147u, 106u, 184u, 160u, + 213u, 132u, 230u, 139u, + 152u, 126u, 107u, 60u, + 105u, 80u, 150u, 118u, + 108u, 53u, 179u, 128u, + 195u, 139u, 124u, 186u, + 24u, 1u, 133u, 177u, + 185u, 96u, 255u, 6u, + 173u, 89u, 23u, 128u, + 169u, 163u, 167u, 151u, + 105u, 72u, 183u, 70u, + 41u, 133u, 23u, 82u, + 70u, 80u, 197u, 252u, + 123u, 100u, 249u, 255u, + 176u, 61u, 149u, 214u, + 127u, 154u, 130u, 1u, + 156u, 103u, 107u, 132u, + 112u, 174u, 188u, 144u, + 118u, 134u, 134u, 143u, + 54u, 1u, 140u, 137u, + 154u, 164u, 68u, 210u, + 64u, 183u, 125u, 158u, + 195u, 210u, 93u, 156u, + 143u, 217u, 232u, 91u, + 28u, 119u, 156u, 1u, + 114u, 125u, 211u, 99u, + 192u, 161u, 165u, 35u, + 174u, 238u, 155u, 235u, + 98u, 192u, 108u, 88u, + 108u, 0u, 121u, 99u, + 244u, 197u, 83u, 150u, + 104u, 88u, 44u, 105u, + 231u, 153u, 255u, 79u, + 142u, 172u, 100u, 162u, + 109u, 62u, 152u, 167u, + 173u, 228u, 7u, 100u, + 61u, 171u, 150u, 140u, + 56u, 243u, 123u, 187u, + 255u, 113u, 156u, 130u, + 103u, 12u, 179u, 244u, + 0u, 109u, 168u, 120u, + 87u, 132u, 73u, 42u, + 201u, 59u, 167u, 232u, + 105u, 111u, 85u, 255u, + 82u, 94u, 71u, 69u, + 134u, 147u, 138u, 121u, + 110u, 40u, 80u, 112u, + 161u, 101u, 135u, 28u, + 173u, 162u, 0u, 201u, + 210u, 114u, 170u, 109u, + 9u, 192u, 80u, 141u, + 181u, 87u, 203u, 179u, + 153u, 135u, 29u, 1u, + 158u, 149u, 53u, 53u, + 74u, 193u, 64u, 78u, + 167u, 164u, 174u, 107u, + 85u, 189u, 174u, 164u, + 182u, 255u, 125u, 87u, + 115u, 41u, 75u, 141u, + 93u, 139u, 86u, 115u, + 118u, 123u, 0u, 119u, + 98u, 130u, 223u, 80u, + 100u, 130u, 102u, 161u, + 160u, 197u, 12u, 98u, + 141u, 101u, 171u, 203u, + 120u, 255u, 209u, 112u, + 187u, 101u, 181u, 62u, + 122u, 85u, 38u, 165u, + 223u, 9u, 57u, 126u, + 212u, 104u, 87u, 183u, + 1u, 199u, 175u, 100u, + 204u, 133u, 198u, 174u, + 255u, 206u, 62u, 51u, + 121u, 123u, 62u, 29u, + 177u, 182u, 175u, 109u, + 7u, 35u, 248u, 1u, + 230u, 123u, 53u, 186u, + 81u, 164u, 115u, 205u, + 27u, 161u, 122u, 132u, + 32u, 200u, 170u, 71u, + 126u, 139u, 141u, 108u, + 1u, 165u, 143u, 160u, + 137u, 125u, 126u, 208u, + 169u, 165u, 65u, 160u, + 223u, 144u, 28u, 166u, + 99u, 8u, 0u, 151u, + 156u, 128u, 68u, 54u, + 171u, 2u, 89u, 97u, + 68u, 134u, 255u, 110u, + 139u, 161u, 52u, 179u, + 165u, 146u, 76u, 127u, + 138u, 84u, 113u, 87u, + 1u, 52u, 130u, 102u, + 130u, 64u, 184u, 108u, + 205u, 63u, 10u, 73u, + 81u, 130u, 142u, 145u, + 189u, 137u, 169u, 142u, + 157u, 255u, 105u, 138u, + 157u, 83u, 144u, 130u, + 155u, 85u, 159u, 207u, + 94u, 109u, 124u, 94u, + 208u, 120u, 211u, 215u, + 1u, 119u, 127u, 98u, + 11u, 99u, 160u, 130u, + 150u, 195u, 192u, 73u, + 2u, 184u, 0u, 91u, + 207u, 110u, 120u, 196u, + 68u, 221u, 145u, 73u, + 155u, 63u, 127u, 14u, + 255u, 109u, 189u, 150u, + 126u, 104u, 35u, 51u, + 103u, 127u, 111u, 80u, + 97u, 190u, 209u, 116u, + 74u, 230u, 142u, 84u, + 83u, 112u, 0u, 88u, + 101u, 168u, 179u, 1u, + 61u, 200u, 126u, 220u, + 40u, 110u, 54u, 68u, + 131u, 124u, 105u, 159u, + 124u, 114u, 76u, 150u, + 90u, 0u, 209u, 102u, + 54u, 232u, 164u, 80u, + 82u, 108u, 149u, 144u, + 38u, 118u, 136u, 63u, + 197u, 74u, 102u, 222u, + 0u, 126u, 94u, 85u, + 8u, 126u, 197u, 178u, + 114u, 176u, 181u, 0u, + 170u, 205u, 158u, 132u, + 224u, 70u, 110u, 52u, + 106u, 186u, 58u, 149u, + 12u, 58u, 73u, 199u, + 28u, 147u, 47u, 1u, + 58u, 138u, 134u, 96u, + 240u, 67u, 197u, 186u, + 167u, 120u, 61u, 32u, + 38u, 205u, 92u, 62u, + 142u, 229u, 155u, 9u, + 237u, 69u, 255u, 251u, + 223u, 107u, 108u, 118u, + 144u, 151u, 154u, 99u, + 111u, 195u, 26u, 88u, + 92u, 206u, 97u, 0u, + 109u, 197u, 164u, 207u, + 77u, 69u, 255u, 157u, + 85u, 148u, 80u, 121u, + 175u, 110u, 117u, 179u, + 45u, 85u, 193u, 1u, + 159u, 212u, 224u, 178u, + 33u, 147u, 242u, 120u, + 150u, 121u, 139u, 188u, + 88u, 151u, 184u, 200u, + 130u, 247u, 74u, 186u, + 6u, 130u, 184u, 59u, + 23u, 94u, 139u, 255u, + 62u, 38u, 71u, 72u, + 95u, 75u, 196u, 68u, + 40u, 88u, 145u, 169u, + 233u, 155u, 249u, 255u, + 154u, 77u, 157u, 55u, + 22u, 254u, 111u, 128u, + 55u, 98u, 255u, 255u, + 159u, 166u, 67u, 84u, + 176u, 116u, 141u, 113u, + 172u, 135u, 82u, 167u, + 126u, 196u, 162u, 126u, + 57u, 1u, 125u, 186u, + 184u, 177u, 0u, 92u, + 52u, 183u, 135u, 250u, + 160u, 96u, 206u, 145u, + 106u, 24u, 226u, 200u, + 106u, 185u, 27u, 200u, + 65u, 99u, 1u, 212u, + 150u, 208u, 170u, 135u, + 144u, 154u, 142u, 80u, + 87u, 86u, 141u, 62u, + 139u, 129u, 128u, 255u, + 167u, 57u, 90u, 170u, + 116u, 75u, 20u, 80u, + 25u, 14u, 136u, 127u, + 191u, 40u, 61u, 41u, + 108u, 172u, 1u, 48u, + 29u, 121u, 126u, 114u, + 76u, 97u, 168u, 62u, + 179u, 214u, 137u, 74u, + 35u, 171u, 134u, 71u, + 51u, 107u, 1u, 82u, + 255u, 243u, 90u, 171u, + 128u, 209u, 115u, 191u, + 136u, 116u, 75u, 84u, + 217u, 180u, 176u, 131u, + 99u, 122u, 99u, 137u, + 24u, 88u, 230u, 176u, + 255u, 173u, 124u, 35u, + 38u, 166u, 34u, 241u, + 149u, 155u, 95u, 104u, + 51u, 107u, 79u, 120u, + 151u, 135u, 229u, 172u, + 41u, 1u, 81u, 120u, + 98u, 187u, 107u, 136u, + 106u, 144u, 182u, 140u, + 111u, 129u, 119u, 136u, + 96u, 1u, 85u, 90u, + 255u, 33u, 218u, 133u, + 147u, 165u, 81u, 186u, + 129u, 180u, 176u, 83u, + 68u, 86u, 117u, 20u, + 248u, 129u, 103u, 250u, + 47u, 44u, 165u, 93u, + 147u, 170u, 60u, 155u, + 195u, 0u, 84u, 123u, + 179u, 100u, 103u, 168u, + 138u, 1u, 238u, 77u, + 196u, 135u, 139u, 190u, + 99u, 158u, 153u, 53u, + 255u, 67u, 96u, 163u, + 125u, 98u, 192u, 100u, + 89u, 139u, 105u, 143u, + 100u, 166u, 60u, 182u, + 113u, 182u, 117u, 80u, + 99u, 218u, 112u, 212u, + 179u, 185u, 145u, 129u, + 234u, 127u, 1u, 117u, + 146u, 211u, 255u, 76u, + 87u, 91u, 145u, 231u, + 214u, 121u, 160u, 40u, + 138u, 134u, 139u, 62u, + 122u, 150u, 115u, 62u, + 255u, 45u, 255u, 73u, + 84u, 97u, 64u, 89u, + 59u, 190u, 167u, 172u, + 54u, 40u, 75u, 232u, + 210u, 208u, 156u, 169u, + 29u, 93u, 44u, 55u, + 246u, 248u, 86u, 255u, + 81u, 103u, 255u, 39u, + 170u, 54u, 14u, 92u, + 69u, 16u, 68u, 40u, + 248u, 201u, 138u, 151u, + 171u, 142u, 115u, 110u, + 140u, 84u, 163u, 0u, + 156u, 120u, 85u, 109u, + 161u, 127u, 114u, 92u, + 245u, 5u, 129u, 151u, + 74u, 202u, 227u, 151u, + 119u, 138u, 1u, 145u, + 67u, 128u, 171u, 195u, + 60u, 157u, 181u, 255u, + 68u, 185u, 86u, 32u, + 82u, 34u, 142u, 177u, + 96u, 138u, 62u, 186u, + 125u, 116u, 143u, 112u, + 126u, 197u, 147u, 255u, + 158u, 81u, 61u, 132u, + 120u, 80u, 57u, 174u, + 101u, 139u, 128u, 196u, + 77u, 237u, 94u, 116u, + 1u, 96u, 66u, 23u, + 116u, 137u, 79u, 184u, + 120u, 89u, 116u, 213u, + 135u, 129u, 218u, 150u, + 161u, 82u, 119u, 169u, + 23u, 255u, 105u, 174u, + 172u, 79u, 146u, 152u, + 199u, 176u, 194u, 94u, + 153u, 103u, 255u, 178u, + 56u, 242u, 148u, 153u, + 181u, 185u, 255u, 51u, + 247u, 87u, 151u, 229u, + 194u, 67u, 109u, 127u, + 190u, 179u, 33u, 50u, + 74u, 142u, 70u, 108u, + 60u, 88u, 255u, 208u, + 80u, 42u, 185u, 165u, + 207u, 83u, 113u, 49u, + 231u, 135u, 100u, 159u, + 62u, 48u, 95u, 93u, + 232u, 18u, 195u, 105u, + 0u, 54u, 251u, 109u, + 120u, 160u, 176u, 201u, + 225u, 143u, 67u, 160u, + 126u, 152u, 89u, 255u, + 127u, 54u, 151u, 205u, + 134u, 111u, 178u, 62u, + 114u, 197u, 131u, 155u, + 255u, 9u, 228u, 212u, + 136u, 180u, 97u, 178u, + 30u, 28u, 25u, 159u, + 118u, 91u, 169u, 10u, + 81u, 183u, 91u, 45u, + 98u, 108u, 83u, 255u, + 255u, 157u, 93u, 170u, + 98u, 97u, 65u, 113u, + 153u, 89u, 194u, 82u, + 115u, 146u, 107u, 33u, + 74u, 179u, 125u, 173u, + 135u, 136u, 255u, 127u, + 136u, 166u, 80u, 179u, + 146u, 127u, 183u, 122u, + 191u, 221u, 10u, 1u, + 173u, 134u, 1u, 111u, + 131u, 27u, 128u, 85u, + 98u, 70u, 223u, 42u, + 93u, 116u, 183u, 157u, + 63u, 255u, 61u, 68u, + 70u, 165u, 114u, 85u, + 102u, 49u, 41u, 224u, + 153u, 77u, 231u, 142u, + 208u, 70u, 94u, 43u, + 160u, 111u, 136u, 1u, + 177u, 112u, 103u, 161u, + 42u, 110u, 53u, 177u, + 151u, 143u, 142u, 115u, + 176u, 253u, 42u, 1u, + 65u, 117u, 156u, 122u, + 140u, 103u, 178u, 133u, + 197u, 39u, 175u, 96u, + 39u, 126u, 73u, 189u, + 255u, 157u, 134u, 189u, + 213u, 119u, 208u, 131u, + 147u, 125u, 150u, 1u, + 49u, 145u, 87u, 96u, + 146u, 209u, 139u, 131u, + 123u, 223u, 233u, 87u, + 86u, 131u, 123u, 1u, + 81u, 55u, 113u, 81u, + 110u, 112u, 220u, 237u, + 98u, 40u, 88u, 179u, + 22u, 73u, 186u, 124u, + 48u, 255u, 86u, 123u, + 83u, 154u, 121u, 154u, + 169u, 176u, 148u, 211u, + 0u, 173u, 60u, 102u, + 78u, 149u, 136u, 131u, + 51u, 148u, 88u, 161u, + 117u, 181u, 115u, 126u, + 172u, 146u, 108u, 23u, + 1u, 50u, 114u, 139u, + 186u, 222u, 130u, 166u, + 127u, 137u, 107u, 164u, + 132u, 162u, 103u, 81u, + 126u, 203u, 194u, 212u, + 124u, 96u, 1u, 173u, + 91u, 222u, 189u, 71u, + 59u, 242u, 108u, 193u, + 100u, 76u, 255u, 148u, + 108u, 178u, 101u, 101u, + 108u, 119u, 123u, 21u, + 108u, 127u, 158u, 135u, + 76u, 123u, 93u, 125u, + 122u, 98u, 155u, 255u, + 180u, 181u, 13u, 2u, + 130u, 73u, 128u, 83u, + 141u, 228u, 137u, 178u, + 75u, 179u, 1u, 167u, + 174u, 173u, 121u, 1u, + 128u, 156u, 221u, 121u, + 41u, 44u, 116u, 141u, + 94u, 118u, 112u, 119u, + 157u, 124u, 46u, 128u, + 68u, 105u, 78u, 137u, + 132u, 181u, 255u, 147u, + 37u, 55u, 72u, 107u, + 161u, 128u, 155u, 98u, + 222u, 68u, 205u, 165u, + 116u, 73u, 142u, 255u, + 64u, 132u, 136u, 78u, + 172u, 137u, 147u, 173u, + 112u, 1u, 64u, 127u, + 121u, 154u, 167u, 161u, + 175u, 97u, 104u, 105u, + 96u, 55u, 51u, 210u, + 15u, 70u, 69u, 102u, + 107u, 255u, 149u, 117u, + 184u, 120u, 196u, 126u, + 134u, 89u, 135u, 227u, + 127u, 255u, 187u, 97u, + 173u, 118u, 72u, 94u, + 136u, 243u, 139u, 142u, + 138u, 188u, 56u, 255u, + 150u, 27u, 42u, 25u, + 137u, 97u, 63u, 122u, + 131u, 174u, 47u, 43u, + 255u, 146u, 110u, 83u, + 100u, 151u, 157u, 173u, + 90u, 192u, 176u, 189u, + 168u, 217u, 70u, 111u, + 137u, 148u, 142u, 148u, + 134u, 81u, 61u, 91u, + 52u, 101u, 86u, 121u, + 7u, 120u, 1u, 197u, + 140u, 38u, 137u, 199u, + 255u, 42u, 51u, 70u, + 172u, 138u, 198u, 147u, + 51u, 165u, 131u, 143u, + 76u, 239u, 200u, 74u, + 206u, 156u, 1u, 174u, + 118u, 161u, 179u, 117u, + 142u, 178u, 34u, 85u, + 116u, 209u, 80u, 195u, + 81u, 112u, 48u, 2u, + 108u, 1u, 150u, 55u, + 70u, 113u, 145u, 111u, + 66u, 23u, 67u, 98u, + 251u, 76u, 47u, 60u, + 207u, 255u, 151u, 45u, + 209u, 5u, 26u, 119u, + 235u, 193u, 133u, 119u, + 1u, 147u, 142u, 140u, + 186u, 152u, 105u, 71u, + 111u, 195u, 119u, 76u, + 21u, 70u, 136u, 194u, + 255u, 76u, 188u, 62u, + 203u, 77u, 20u, 167u, + 54u, 86u, 61u, 105u, + 162u, 73u, 36u, 53u, + 158u, 110u, 85u, 134u, + 127u, 90u, 92u, 1u, + 136u, 183u, 118u, 150u, + 40u, 94u, 144u, 78u, + 175u, 61u, 184u, 143u, + 205u, 203u, 1u, 222u, + 30u, 213u, 131u, 159u, + 133u, 31u, 150u, 124u, + 104u, 188u, 64u, 100u, + 156u, 255u, 10u, 64u, + 202u, 91u, 177u, 254u, + 174u, 151u, 150u, 175u, + 198u, 120u, 255u, 238u, + 219u, 161u, 147u, 150u, + 204u, 143u, 155u, 39u, + 169u, 161u, 80u, 169u, + 103u, 168u, 247u, 40u, + 155u, 179u, 251u, 223u, + 91u, 255u, 22u, 58u, + 97u, 103u, 129u, 196u, + 81u, 112u, 155u, 177u, + 145u, 58u, 84u, 172u, + 0u, 90u, 139u, 103u, + 125u, 106u, 104u, 104u, + 110u, 127u, 255u, 128u, + 143u, 109u, 77u, 139u, + 106u, 181u, 101u, 153u, + 196u, 169u, 173u, 165u, + 109u, 139u, 180u, 104u, + 90u, 255u, 180u, 154u, + 65u, 49u, 165u, 254u, + 132u, 134u, 142u, 198u, + 142u, 105u, 125u, 99u, + 1u, 121u, 134u, 124u, + 115u, 81u, 204u, 49u, + 72u, 132u, 162u, 163u, + 165u, 154u, 138u, 110u, + 217u, 209u, 194u, 115u, + 99u, 165u, 1u, 58u, + 41u, 127u, 84u, 76u, + 20u, 172u, 223u, 104u, + 95u, 255u, 79u, 206u, + 142u, 115u, 92u, 226u, + 160u, 241u, 144u, 141u, + 116u, 175u, 68u, 118u, + 30u, 238u, 149u, 147u, + 255u, 150u, 81u, 133u, + 232u, 207u, 153u, 196u, + 36u, 157u, 255u, 147u, + 56u, 79u, 76u, 194u, + 204u, 156u, 68u, 85u, + 73u, 141u, 120u, 97u, + 96u, 214u, 159u, 215u, + 255u, 244u, 137u, 76u, + 168u, 63u, 172u, 159u, + 192u, 169u, 193u, 72u, + 139u, 155u, 93u, 34u, + 118u, 35u, 82u, 186u, + 69u, 255u, 135u, 190u, + 148u, 93u, 135u, 255u, + 84u, 116u, 82u, 141u, + 176u, 79u, 105u, 102u, + 140u, 84u, 123u, 183u, + 110u, 76u, 176u, 70u, + 147u, 151u, 37u, 117u, + 114u, 67u, 152u, 130u, + 204u, 146u, 1u, 97u, + 228u, 142u, 82u, 185u, + 131u, 11u, 183u, 6u, + 125u, 15u, 170u, 152u, + 210u, 186u, 255u, 88u, + 148u, 255u, 124u, 225u, + 167u, 218u, 100u, 141u, + 100u, 98u, 182u, 100u, + 133u, 106u, 173u, 195u, + 157u, 148u, 252u, 47u, + 255u, 157u, 155u, 130u, + 72u, 107u, 103u, 166u, + 117u, 114u, 159u, 220u, + 223u, 108u, 129u, 129u, + 101u, 88u, 191u, 38u, + 129u, 142u, 0u, 124u, + 103u, 219u, 147u, 143u, + 123u, 124u, 30u, 101u, + 119u, 52u, 179u, 235u, + 224u, 149u, 205u, 167u, + 1u, 155u, 196u, 229u, + 159u, 129u, 44u, 148u, + 0u, 213u, 134u, 170u, + 122u, 70u, 205u, 91u, + 77u, 200u, 101u, 172u, + 255u, 140u, 226u, 83u, + 115u, 153u, 26u, 91u, + 78u, 90u, 134u, 72u, + 172u, 140u, 136u, 62u, + 126u, 141u, 69u, 45u, + 149u, 212u, 213u, 137u, + 107u, 117u, 135u, 122u, + 226u, 170u, 174u, 1u, + 131u, 93u, 159u, 201u, + 216u, 46u, 0u, 55u, + 111u, 118u, 137u, 8u, + 101u, 169u, 112u, 111u, + 128u, 203u, 21u, 206u, + 103u, 119u, 150u, 42u, + 159u, 234u, 255u, 108u, + 164u, 175u, 122u, 128u, + 45u, 146u, 81u, 185u, + 67u, 143u, 59u, 229u, + 86u, 128u, 255u, 227u, + 179u, 13u, 106u, 104u, + 164u, 65u, 189u, 148u, + 133u, 140u, 58u, 169u, + 168u, 255u, 167u, 135u, + 169u, 146u, 69u, 189u, + 156u, 132u, 170u, 194u, + 103u, 189u, 181u, 165u, + 242u, 181u, 147u, 88u, + 185u, 1u, 150u, 153u, + 1u, 66u, 70u, 111u, + 122u, 42u, 234u, 46u, + 131u, 170u, 2u, 74u, + 84u, 210u, 197u, 94u, + 193u, 104u, 154u, 90u, + 129u, 100u, 163u, 133u, + 128u, 104u, 148u, 0u, + 151u, 139u, 171u, 74u, + 255u, 152u, 75u, 218u, + 197u, 102u, 123u, 215u, + 197u, 253u, 70u, 135u, + 191u, 124u, 128u, 58u, + 63u, 139u, 77u, 91u, + 119u, 118u, 70u, 148u, + 102u, 1u, 187u, 175u, + 120u, 97u, 42u, 51u, + 10u, 78u, 217u, 48u, + 183u, 1u, 86u, 139u, + 48u, 53u, 145u, 131u, + 87u, 175u, 191u, 89u, + 133u, 156u, 109u, 124u, + 85u, 144u, 142u, 255u, + 82u, 164u, 87u, 129u, + 18u, 128u, 80u, 136u, + 108u, 193u, 196u, 75u, + 117u, 165u, 152u, 157u, + 95u, 153u, 146u, 68u, + 49u, 1u, 141u, 112u, + 111u, 73u, 255u, 85u, + 129u, 147u, 238u, 77u, + 211u, 99u, 100u, 161u, + 103u, 226u, 184u, 252u, + 102u, 147u, 243u, 9u, + 187u, 136u, 113u, 151u, + 110u, 168u, 96u, 80u, + 187u, 1u, 219u, 127u, + 168u, 117u, 174u, 170u, + 85u, 147u, 96u, 112u, + 124u, 135u, 99u, 125u, + 53u, 164u, 142u, 255u, + 233u, 52u, 86u, 151u, + 151u, 176u, 176u, 105u, + 96u, 1u, 56u, 113u, + 127u, 135u, 89u, 65u, + 105u, 255u, 77u, 45u, + 169u, 123u, 90u, 7u, + 71u, 75u, 156u, 172u, + 151u, 219u, 153u, 197u, + 122u, 177u, 137u, 117u, + 100u, 144u, 80u, 154u, + 70u, 184u, 178u, 197u, + 94u, 130u, 83u, 0u, + 115u, 137u, 99u, 110u, + 100u, 133u, 131u, 84u, + 77u, 255u, 129u, 159u, + 133u, 39u, 150u, 165u, + 21u, 166u, 1u, 23u, + 231u, 159u, 120u, 116u, + 50u, 117u, 159u, 215u, + 177u, 228u, 74u, 114u, + 46u, 208u, 117u, 1u, + 70u, 231u, 152u, 178u, + 255u, 177u, 146u, 32u, + 121u, 142u, 32u, 130u, + 0u, 158u, 212u, 138u, + 123u, 93u, 171u, 171u, + 111u, 5u, 83u, 92u, + 197u, 171u, 175u, 12u, + 98u, 91u, 130u, 218u, + 117u, 46u, 182u, 1u, + 156u, 64u, 165u, 129u, + 106u, 120u, 173u, 184u, + 159u, 188u, 208u, 2u, + 127u, 200u, 84u, 171u, + 92u, 188u, 210u, 255u, + 119u, 152u, 42u, 150u, + 125u, 112u, 148u, 87u, + 204u, 141u, 182u, 171u, + 102u, 94u, 255u, 233u, + 150u, 156u, 98u, 163u, + 0u, 158u, 110u, 166u, + 101u, 170u, 148u, 103u, + 183u, 119u, 76u, 34u, + 172u, 74u, 160u, 98u, + 50u, 88u, 165u, 140u, + 157u, 133u, 139u, 120u, + 255u, 98u, 146u, 144u, + 73u, 176u, 136u, 66u, + 97u, 186u, 97u, 255u, + 82u, 144u, 104u, 109u, + 131u, 92u, 146u, 1u, + 89u, 77u, 168u, 149u, + 86u, 255u, 103u, 88u, + 165u, 124u, 103u, 94u, + 16u, 152u, 221u, 140u, + 238u, 33u, 142u, 28u, + 131u, 79u, 59u, 181u, + 101u, 127u, 62u, 123u, + 255u, 32u, 205u, 184u, + 133u, 191u, 67u, 115u, + 186u, 162u, 255u, 142u, + 207u, 128u, 49u, 174u, + 48u, 194u, 62u, 107u, + 182u, 114u, 171u, 133u, + 121u, 199u, 168u, 141u, + 164u, 229u, 0u, 88u, + 116u, 146u, 154u, 140u, + 177u, 99u, 136u, 236u, + 204u, 217u, 121u, 79u, + 98u, 121u, 94u, 133u, + 104u, 172u, 255u, 154u, + 155u, 89u, 163u, 133u, + 161u, 47u, 126u, 54u, + 255u, 29u, 109u, 114u, + 19u, 180u, 98u, 111u, + 101u, 156u, 130u, 109u, + 146u, 69u, 42u, 54u, + 127u, 255u, 38u, 221u, + 114u, 125u, 226u, 158u, + 173u, 148u, 87u, 82u, + 153u, 124u, 161u, 171u, + 94u, 67u, 1u, 49u, + 78u, 169u, 165u, 173u, + 195u, 116u, 188u, 25u, + 143u, 42u, 174u, 79u, + 174u, 169u, 151u, 121u, + 62u, 93u, 168u, 147u, + 130u, 255u, 154u, 191u, + 56u, 169u, 180u, 19u, + 17u, 123u, 226u, 222u, + 186u, 180u, 107u, 143u, + 8u, 1u, 181u, 130u, + 171u, 91u, 147u, 138u, + 114u, 1u, 145u, 103u, + 134u, 160u, 102u, 131u, + 77u, 156u, 84u, 13u, + 110u, 141u, 58u, 180u, + 1u, 183u, 54u, 133u, + 61u, 125u, 141u, 77u, + 122u, 111u, 201u, 143u, + 114u, 98u, 171u, 197u, + 115u, 162u, 240u, 124u, + 144u, 19u, 62u, 45u, + 255u, 15u, 63u, 44u, + 189u, 107u, 79u, 105u, + 59u, 130u, 200u, 255u, + 179u, 179u, 137u, 44u, + 177u, 66u, 66u, 61u, + 110u, 95u, 168u, 64u, + 75u, 182u, 212u, 228u, + 99u, 105u, 115u, 125u, + 135u, 108u, 196u, 1u, + 222u, 175u, 66u, 200u, + 1u, 212u, 110u, 116u, + 95u, 121u, 204u, 203u, + 178u, 175u, 97u, 126u, + 117u, 134u, 93u, 158u, + 121u, 159u, 55u, 29u, + 17u, 188u, 79u, 95u, + 128u, 114u, 1u, 170u, + 45u, 134u, 217u, 65u, + 157u, 139u, 86u, 94u, + 30u, 175u, 33u, 45u, + 80u, 255u, 249u, 88u, + 98u, 113u, 57u, 171u, + 151u, 167u, 76u, 64u, + 153u, 81u, 52u, 77u, + 185u, 255u, 74u, 136u, + 120u, 162u, 59u, 74u, + 22u, 111u, 176u, 156u, + 86u, 255u, 115u, 170u, + 86u, 92u, 61u, 224u, + 106u, 149u, 255u, 78u, + 98u, 105u, 161u, 214u, + 141u, 81u, 166u, 143u, + 86u, 133u, 55u, 82u, + 121u, 159u, 107u, 82u, + 100u, 146u, 46u, 254u, + 119u, 138u, 170u, 71u, + 1u, 22u, 81u, 173u, + 167u, 120u, 91u, 33u, + 41u, 128u, 105u, 129u, + 81u, 150u, 155u, 255u, + 45u, 179u, 154u, 204u, + 127u, 121u, 138u, 1u, + 109u, 144u, 78u, 146u, + 212u, 65u, 176u, 114u, + 149u, 80u, 148u, 191u, + 33u, 221u, 90u, 74u, + 118u, 152u, 142u, 149u, + 157u, 135u, 255u, 134u, + 180u, 60u, 45u, 161u, + 39u, 130u, 122u, 1u, + 154u, 150u, 153u, 60u, + 9u, 129u, 114u, 132u, + 164u, 51u, 168u, 237u, + 75u, 133u, 184u, 0u, + 127u, 91u, 108u, 86u, + 252u, 64u, 118u, 95u, + 158u, 200u, 133u, 25u, + 171u, 131u, 129u, 248u, + 46u, 53u, 127u, 86u, + 141u, 189u, 121u, 138u, + 131u, 1u, 73u, 28u, + 113u, 238u, 183u, 85u, + 208u, 114u, 81u, 1u, + 98u, 171u, 168u, 89u, + 148u, 46u, 157u, 119u, + 126u, 201u, 125u, 156u, + 1u, 185u, 44u, 226u, + 96u, 194u, 112u, 142u, + 150u, 30u, 131u, 164u, + 52u, 84u, 128u, 136u, + 255u, 47u, 59u, 53u, + 34u, 108u, 166u, 160u, + 165u, 205u, 215u, 91u, + 188u, 171u, 98u, 134u, + 77u, 232u, 1u, 174u, + 90u, 63u, 147u, 97u, + 239u, 211u, 198u, 199u, + 116u, 118u, 58u, 149u, + 106u, 138u, 193u, 97u, + 255u, 126u, 184u, 133u, + 127u, 92u, 203u, 176u, + 255u, 169u, 251u, 76u, + 154u, 118u, 177u, 170u, + 121u, 31u, 163u, 205u, + 200u, 233u, 204u, 232u, + 197u, 113u, 132u, 115u, + 175u, 79u, 255u, 119u, + 141u, 78u, 39u, 96u, + 169u, 238u, 154u, 66u, + 77u, 141u, 117u, 197u, + 1u, 212u, 220u, 100u, + 126u, 157u, 98u, 137u, + 106u, 59u, 76u, 87u, + 188u, 73u, 209u, 110u, + 128u, 2u, 120u, 211u, + 59u, 8u, 104u, 255u, + 124u, 182u, 20u, 37u, + 195u, 108u, 177u, 31u, + 16u, 168u, 102u, 231u, + 255u, 131u, 103u, 6u, + 49u, 178u, 147u, 204u, + 64u, 164u, 214u, 18u, + 234u, 79u, 124u, 84u, + 122u, 90u, 100u, 91u, + 132u, 255u, 107u, 148u, + 153u, 220u, 34u, 46u, + 124u, 147u, 1u, 151u, + 99u, 122u, 221u, 91u, + 167u, 186u, 100u, 91u, + 108u, 74u, 78u, 140u, + 33u, 62u, 255u, 170u, + 72u, 130u, 135u, 108u, + 89u, 76u, 153u, 111u, + 96u, 150u, 189u, 61u, + 226u, 171u, 169u, 76u, + 121u, 184u, 1u, 28u, + 164u, 173u, 178u, 168u, + 127u, 136u, 59u, 255u, + 73u, 127u, 141u, 99u, + 136u, 96u, 99u, 94u, + 216u, 14u, 133u, 59u, + 233u, 132u, 178u, 1u, + 119u, 165u, 168u, 177u, + 115u, 99u, 171u, 163u, + 94u, 212u, 206u, 202u, + 72u, 155u, 50u, 120u, + 234u, 72u, 160u, 119u, + 181u, 75u, 128u, 175u, + 225u, 175u, 89u, 1u, + 255u, 114u, 139u, 240u, + 59u, 132u, 182u, 138u, + 171u, 177u, 99u, 85u, + 211u, 115u, 151u, 110u, + 188u, 157u, 133u, 1u, + 248u, 119u, 174u, 43u, + 98u, 156u, 125u, 139u, + 152u, 196u, 247u, 19u, + 54u, 77u, 245u, 0u, + 18u, 207u, 155u, 213u, + 24u, 215u, 93u, 133u, + 178u, 13u, 89u, 250u, + 52u, 44u, 0u, 142u, + 63u, 94u, 148u, 192u, + 98u, 115u, 79u, 211u, + 139u, 129u, 159u, 55u, + 30u, 89u, 221u, 178u, + 109u, 170u, 138u, 211u, + 131u, 154u, 148u, 4u, + 93u, 41u, 0u, 90u, + 55u, 164u, 130u, 29u, + 119u, 76u, 92u, 159u, + 185u, 212u, 255u, 253u, + 127u, 202u, 88u, 82u, + 170u, 86u, 227u, 123u, + 56u, 0u, 85u, 162u, + 120u, 139u, 175u, 51u, + 159u, 131u, 124u, 99u, + 8u, 32u, 229u, 155u, + 1u, 185u, 206u, 16u, + 191u, 42u, 51u, 153u, + 130u, 25u, 162u, 152u, + 15u, 131u, 124u, 38u, + 174u, 61u, 72u, 178u, + 12u, 153u, 84u, 58u, + 1u, 112u, 158u, 94u, + 197u, 20u, 85u, 188u, + 1u, 47u, 126u, 121u, + 138u, 134u, 90u, 119u, + 66u, 173u, 110u, 129u, + 118u, 84u, 141u, 31u, + 161u, 142u, 122u, 95u, + 255u, 101u, 211u, 166u, + 146u, 99u, 154u, 181u, + 234u, 134u, 125u, 116u, + 42u, 167u, 192u, 119u, + 91u, 20u, 166u, 143u, + 255u, 177u, 245u, 196u, + 124u, 134u, 193u, 18u, + 112u, 109u, 1u, 201u, + 54u, 105u, 206u, 112u, + 101u, 141u, 67u, 141u, + 176u, 139u, 191u, 109u, + 96u, 167u, 78u, 170u, + 114u, 119u, 47u, 1u, + 60u, 125u, 146u, 252u, + 153u, 179u, 189u, 56u, + 41u, 71u, 26u, 255u, + 162u, 162u, 232u, 166u, + 209u, 102u, 183u, 134u, + 163u, 190u, 102u, 49u, + 223u, 166u, 1u, 110u, + 161u, 136u, 161u, 180u, + 93u, 126u, 86u, 168u, + 95u, 100u, 121u, 131u, + 131u, 166u, 255u, 124u, + 82u, 202u, 124u, 130u, + 156u, 152u, 212u, 108u, + 111u, 171u, 90u, 1u, + 200u, 50u, 141u, 162u, + 181u, 60u, 135u, 59u, + 7u, 199u, 85u, 97u, + 35u, 133u, 120u, 110u, + 255u, 157u, 185u, 117u, + 117u, 86u, 35u, 180u, + 24u, 28u, 90u, 217u, + 119u, 153u, 113u, 244u, + 1u, 43u, 81u, 163u, + 166u, 51u, 205u, 67u, + 35u, 23u, 86u, 154u, + 127u, 150u, 225u, 38u, + 94u, 255u, 232u, 166u, + 101u, 208u, 105u, 191u, + 151u, 84u, 69u, 226u, + 171u, 81u, 148u, 95u, + 255u, 209u, 149u, 189u, + 6u, 229u, 96u, 93u, + 107u, 109u, 74u, 57u, + 93u, 86u, 167u, 115u, + 108u, 125u, 179u, 47u, + 201u, 185u, 192u, 193u, + 184u, 119u, 141u, 0u, + 196u, 172u, 255u, 69u, + 192u, 52u, 100u, 180u, + 104u, 203u, 107u, 228u, + 45u, 135u, 97u, 139u, + 198u, 103u, 0u, 217u, + 235u, 104u, 110u, 237u, + 94u, 132u, 138u, 231u, + 150u, 111u, 105u, 127u, + 109u, 36u, 138u, 107u, + 255u, 33u, 97u, 139u, + 95u, 221u, 158u, 158u, + 100u, 155u, 159u, 60u, + 183u, 201u, 91u, 0u, + 139u, 74u, 124u, 49u, + 44u, 225u, 127u, 86u, + 219u, 36u, 195u, 113u, + 223u, 214u, 73u, 105u, + 157u, 75u, 1u, 155u, + 15u, 240u, 163u, 144u, + 186u, 157u, 92u, 67u, + 156u, 100u, 108u, 154u, + 44u, 172u, 244u, 222u, + 164u, 243u, 1u, 107u, + 63u, 124u, 83u, 218u, + 140u, 35u, 197u, 251u, + 224u, 89u, 183u, 125u, + 0u, 57u, 17u, 82u, + 171u, 139u, 188u, 171u, + 188u, 3u, 187u, 22u, + 173u, 33u, 1u, 172u, + 98u, 163u, 75u, 7u, + 132u, 176u, 79u, 59u, + 134u, 143u, 87u, 237u, + 98u, 177u, 127u, 161u, + 133u, 154u, 84u, 1u, + 185u, 1u, 100u, 29u, + 18u, 122u, 231u, 55u, + 228u, 189u, 107u, 29u, + 193u, 62u, 210u, 210u, + 52u, 0u, 59u, 149u, + 255u, 170u, 227u, 71u, + 214u, 149u, 54u, 52u, + 153u, 29u, 97u, 41u, + 180u, 166u, 176u, 188u, + 140u, 109u, 84u, 106u, + 19u, 80u, 132u, 193u, + 1u, 165u, 125u, 74u, + 137u, 161u, 124u, 87u, + 183u, 139u, 84u, 55u, + 99u, 41u, 171u, 255u, + 159u, 105u, 205u, 164u, + 156u, 81u, 175u, 124u, + 236u, 128u, 143u, 82u, + 132u, 235u, 191u, 96u, + 80u, 164u, 167u, 52u, + 223u, 255u, 143u, 60u, + 80u, 72u, 109u, 139u, + 180u, 212u, 42u, 235u, + 134u, 76u, 28u, 2u, + 165u, 89u, 15u, 255u, + 250u, 156u, 255u, 210u, + 25u, 165u, 114u, 175u, + 91u, 114u, 152u, 143u, + 146u, 179u, 51u, 162u, + 207u, 189u, 23u, 178u, + 105u, 35u, 79u, 130u, + 198u, 100u, 176u, 47u, + 1u, 201u, 28u, 132u, + 186u, 168u, 148u, 57u, + 223u, 156u, 255u, 125u, + 147u, 56u, 49u, 161u, + 181u, 190u, 185u, 50u, + 94u, 35u, 119u, 113u, + 24u, 46u, 73u, 153u, + 192u, 102u, 75u, 58u, + 39u, 73u, 1u, 108u, + 111u, 107u, 228u, 88u, + 69u, 132u, 207u, 182u, + 76u, 255u, 83u, 227u, + 40u, 165u, 115u, 127u, + 138u, 130u, 121u, 217u, + 140u, 255u, 255u, 203u, + 227u, 79u, 133u, 183u, + 171u, 102u, 175u, 198u, + 135u, 65u, 109u, 255u, + 125u, 137u, 57u, 70u, + 99u, 115u, 152u, 80u, + 153u, 123u, 137u, 111u, + 209u, 107u, 35u, 166u, + 146u, 35u, 117u, 82u, + 175u, 215u, 120u, 92u, + 224u, 147u, 1u, 92u, + 82u, 122u, 150u, 181u, + 89u, 151u, 73u, 127u, + 73u, 137u, 255u, 229u, + 241u, 96u, 82u, 172u, + 60u, 43u, 181u, 104u, + 93u, 118u, 146u, 16u, + 131u, 210u, 1u, 207u, + 58u, 5u, 47u, 161u, + 17u, 78u, 26u, 162u, + 195u, 239u, 255u, 166u, + 173u, 113u, 30u, 210u, + 203u, 81u, 136u, 150u, + 93u, 142u, 72u, 1u, + 55u, 110u, 156u, 167u, + 59u, 148u, 254u, 180u, + 120u, 147u, 130u, 203u, + 147u, 132u, 172u, 128u, + 130u, 180u, 86u, 173u, + 170u, 0u, 183u, 123u, + 215u, 114u, 40u, 62u, + 71u, 162u, 143u, 1u, + 149u, 37u, 65u, 155u, + 112u, 68u, 254u, 116u, + 188u, 69u, 74u, 246u, + 162u, 77u, 154u, 196u, + 71u, 71u, 125u, 89u, + 111u, 211u, 76u, 94u, + 26u, 1u, 184u, 171u, + 103u, 153u, 71u, 255u, + 118u, 6u, 73u, 128u, + 196u, 108u, 107u, 144u, + 35u, 128u, 60u, 108u, + 96u, 226u, 73u, 188u, + 5u, 158u, 35u, 87u, + 174u, 90u, 255u, 111u, + 121u, 66u, 119u, 132u, + 144u, 194u, 88u, 239u, + 93u, 148u, 155u, 152u, + 1u, 193u, 86u, 152u, + 205u, 128u, 58u, 58u, + 160u, 10u, 255u, 142u, + 116u, 79u, 51u, 99u, + 213u, 157u, 111u, 119u, + 106u, 63u, 66u, 129u, + 236u, 92u, 103u, 238u, + 250u, 193u, 52u, 0u, + 49u, 47u, 76u, 145u, + 25u, 179u, 121u, 202u, + 140u, 70u, 141u, 162u, + 59u, 160u, 131u, 1u, + 164u, 154u, 95u, 56u, + 100u, 149u, 205u, 82u, + 134u, 41u, 19u, 37u, + 17u, 202u, 110u, 101u, + 85u, 62u, 68u, 1u, + 132u, 159u, 241u, 174u, + 73u, 211u, 132u, 103u, + 198u, 101u, 150u, 141u, + 214u, 206u, 98u, 124u, + 113u, 31u, 56u, 1u, + 228u, 146u, 56u, 232u, + 173u, 98u, 176u, 92u, + 110u, 98u, 1u, 88u, + 163u, 186u, 61u, 0u, + 211u, 202u, 163u, 43u, + 220u, 76u, 161u, 7u, + 33u, 187u, 24u, 108u, + 158u, 0u, 249u, 137u, + 65u, 75u, 255u, 148u, + 237u, 67u, 253u, 88u, + 87u, 99u, 54u, 191u, + 89u, 117u, 24u, 187u, + 255u, 148u, 2u, 155u, + 138u, 97u, 39u, 95u, + 23u, 118u, 231u, 67u, + 212u, 179u, 239u, 129u, + 147u, 96u, 82u, 119u, + 177u, 154u, 21u, 163u, + 86u, 173u, 58u, 139u, + 63u, 77u, 1u, 116u, + 34u, 134u, 96u, 153u, + 111u, 150u, 63u, 95u, + 172u, 144u, 209u, 255u, + 218u, 2u, 225u, 116u, + 83u, 159u, 85u, 255u, + 126u, 157u, 97u, 145u, + 101u, 79u, 126u, 105u, + 71u, 76u, 178u, 164u, + 165u, 113u, 143u, 110u, + 136u, 52u, 107u, 103u, + 1u, 147u, 14u, 160u, + 211u, 121u, 88u, 174u, + 166u, 86u, 60u, 135u, + 196u, 15u, 93u, 104u, + 170u, 134u, 55u, 111u, + 140u, 124u, 100u, 1u, + 144u, 177u, 101u, 94u, + 21u, 148u, 52u, 211u, + 72u, 206u, 255u, 154u, + 57u, 150u, 90u, 182u, + 174u, 97u, 155u, 200u, + 62u, 117u, 26u, 62u, + 107u, 87u, 255u, 147u, + 68u, 168u, 22u, 84u, + 113u, 147u, 189u, 128u, + 145u, 151u, 151u, 97u, + 101u, 109u, 133u, 110u, + 109u, 255u, 124u, 118u, + 133u, 135u, 175u, 163u, + 134u, 141u, 220u, 158u, + 163u, 208u, 83u, 87u, + 255u, 109u, 196u, 53u, + 150u, 110u, 37u, 200u, + 41u, 196u, 170u, 255u, + 220u, 207u, 88u, 120u, + 144u, 88u, 89u, 91u, + 59u, 141u, 148u, 20u, + 114u, 175u, 85u, 116u, + 162u, 62u, 131u, 77u, + 90u, 119u, 255u, 157u, + 15u, 216u, 130u, 1u, + 43u, 138u, 136u, 154u, + 86u, 154u, 220u, 197u, + 171u, 31u, 148u, 155u, + 100u, 182u, 193u, 1u, + 124u, 107u, 128u, 205u, + 162u, 113u, 110u, 192u, + 58u, 189u, 149u, 84u, + 185u, 93u, 134u, 119u, + 127u, 137u, 179u, 127u, + 96u, 115u, 57u, 1u, + 149u, 130u, 152u, 150u, + 190u, 81u, 142u, 217u, + 1u, 143u, 169u, 31u, + 121u, 179u, 209u, 182u, + 204u, 248u, 54u, 94u, + 116u, 164u, 185u, 54u, + 51u, 255u, 54u, 234u, + 230u, 148u, 122u, 103u, + 90u, 0u, 190u, 240u, + 168u, 105u, 161u, 131u, + 170u, 1u, 94u, 162u, + 45u, 137u, 151u, 242u, + 105u, 78u, 108u, 93u, + 72u, 154u, 120u, 112u, + 51u, 232u, 211u, 127u, + 165u, 91u, 255u, 187u, + 199u, 96u, 107u, 146u, + 61u, 137u, 121u, 92u, + 188u, 197u, 60u, 189u, + 42u, 188u, 1u, 142u, + 156u, 145u, 106u, 238u, + 202u, 105u, 219u, 94u, + 224u, 44u, 117u, 62u, + 136u, 43u, 50u, 255u, + 157u, 207u, 79u, 158u, + 59u, 122u, 131u, 124u, + 54u, 92u, 158u, 82u, + 184u, 187u, 146u, 255u, + 255u, 178u, 119u, 84u, + 70u, 183u, 111u, 62u, + 246u, 99u, 185u, 151u, + 78u, 1u, 79u, 150u, + 116u, 183u, 211u, 151u, + 165u, 147u, 158u, 141u, + 58u, 150u, 89u, 98u, + 154u, 0u, 171u, 171u, + 117u, 117u, 173u, 118u, + 171u, 149u, 234u, 122u, + 228u, 175u, 253u, 87u, + 22u, 118u, 1u, 99u, + 212u, 184u, 123u, 166u, + 84u, 167u, 166u, 84u, + 165u, 132u, 145u, 172u, + 172u, 255u, 179u, 142u, + 204u, 59u, 34u, 34u, + 165u, 206u, 229u, 55u, + 120u, 101u, 152u, 160u, + 151u, 107u, 103u, 74u, + 255u, 229u, 122u, 129u, + 133u, 98u, 103u, 237u, + 128u, 122u, 74u, 143u, + 103u, 82u, 97u, 1u, + 54u, 156u, 84u, 75u, + 200u, 111u, 94u, 192u, + 185u, 100u, 93u, 102u, + 113u, 132u, 160u, 158u, + 135u, 155u, 113u, 0u, + 179u, 100u, 62u, 255u, + 88u, 164u, 52u, 82u, + 97u, 110u, 106u, 136u, + 101u, 185u, 107u, 136u, + 148u, 147u, 118u, 122u, + 199u, 133u, 186u, 142u, + 255u, 102u, 114u, 128u, + 124u, 207u, 54u, 125u, + 172u, 66u, 34u, 255u, + 15u, 56u, 125u, 233u, + 208u, 163u, 131u, 90u, + 59u, 152u, 8u, 22u, + 74u, 0u, 167u, 120u, + 134u, 47u, 55u, 92u, + 88u, 125u, 146u, 126u, + 54u, 110u, 65u, 102u, + 122u, 161u, 225u, 113u, + 194u, 206u, 203u, 90u, + 151u, 160u, 126u, 164u, + 74u, 255u, 145u, 64u, + 151u, 97u, 129u, 58u, + 87u, 45u, 161u, 169u, + 124u, 183u, 78u, 148u, + 0u, 113u, 98u, 142u, + 1u, 202u, 39u, 146u, + 197u, 224u, 67u, 237u, + 153u, 201u, 181u, 25u, + 68u, 58u, 112u, 144u, + 132u, 61u, 178u, 148u, + 91u, 87u, 99u, 75u, + 32u, 108u, 140u, 0u, + 94u, 108u, 73u, 60u, + 98u, 147u, 95u, 191u, + 42u, 41u, 218u, 166u, + 130u, 136u, 90u, 94u, + 1u, 143u, 87u, 138u, + 30u, 74u, 161u, 42u, + 255u, 160u, 45u, 84u, + 142u, 178u, 111u, 63u, + 150u, 141u, 121u, 50u, + 109u, 171u, 92u, 0u, + 129u, 54u, 126u, 140u, + 134u, 119u, 148u, 189u, + 128u, 167u, 130u, 202u, + 255u, 119u, 221u, 162u, + 187u, 20u, 131u, 88u, + 205u, 35u, 123u, 51u, + 111u, 213u, 137u, 1u, + 54u, 93u, 178u, 224u, + 122u, 109u, 128u, 255u, + 162u, 125u, 49u, 101u, + 164u, 124u, 26u, 121u, + 33u, 215u, 88u, 205u, + 100u, 186u, 121u, 139u, + 157u, 181u, 117u, 171u, + 118u, 1u, 74u, 75u, + 124u, 166u, 255u, 139u, + 182u, 113u, 107u, 134u, + 125u, 107u, 103u, 92u, + 46u, 89u, 160u, 126u, + 255u, 202u, 152u, 75u, + 192u, 206u, 215u, 200u, + 114u, 159u, 10u, 131u, + 111u, 250u, 37u, 199u, + 169u, 89u, 132u, 121u, + 170u, 169u, 143u, 169u, + 66u, 146u, 116u, 202u, + 255u, 141u, 100u, 177u, + 103u, 208u, 105u, 233u, + 46u, 93u, 49u, 45u, + 6u, 164u, 106u, 1u, + 129u, 121u, 135u, 157u, + 74u, 15u, 255u, 75u, + 130u, 61u, 195u, 100u, + 222u, 38u, 53u, 97u, + 192u, 23u, 212u, 82u, + 133u, 120u, 101u, 144u, + 71u, 143u, 90u, 62u, + 206u, 1u, 172u, 165u, + 106u, 191u, 122u, 116u, + 146u, 188u, 141u, 92u, + 42u, 152u, 1u, 141u, + 70u, 165u, 224u, 168u, + 84u, 52u, 71u, 137u, + 53u, 90u, 150u, 140u, + 255u, 81u, 119u, 178u, + 121u, 66u, 119u, 155u, + 162u, 172u, 136u, 90u, + 132u, 43u, 183u, 155u, + 134u, 255u, 104u, 187u, + 228u, 31u, 208u, 72u, + 158u, 56u, 83u, 90u, + 104u, 184u, 107u, 27u, + 74u, 255u, 128u, 115u, + 89u, 179u, 158u, 75u, + 163u, 116u, 195u, 221u, + 24u, 246u, 219u, 125u, + 55u, 148u, 91u, 1u, + 125u, 191u, 211u, 221u, + 173u, 45u, 159u, 163u, + 173u, 48u, 175u, 151u, + 177u, 170u, 78u, 114u, + 1u, 243u, 121u, 25u, + 235u, 90u, 184u, 70u, + 49u, 73u, 142u, 58u, + 195u, 113u, 140u, 149u, + 156u, 126u, 76u, 27u, + 136u, 1u, 194u, 80u, + 64u, 93u, 207u, 15u, + 150u, 82u, 81u, 169u, + 59u, 226u, 134u, 139u, + 158u, 255u, 127u, 133u, + 168u, 230u, 48u, 162u, + 207u, 75u, 94u, 144u, + 49u, 117u, 26u, 76u, + 136u, 171u, 217u, 1u, + 95u, 150u, 255u, 103u, + 90u, 117u, 193u, 162u, + 110u, 125u, 182u, 156u, + 89u, 102u, 159u, 89u, + 146u, 82u, 171u, 109u, + 255u, 32u, 119u, 147u, + 6u, 166u, 206u, 145u, + 197u, 216u, 113u, 175u, + 149u, 196u, 114u, 111u, + 15u, 105u, 255u, 255u, + 186u, 115u, 180u, 52u, + 121u, 108u, 109u, 74u, + 67u, 115u, 131u, 137u, + 84u, 200u, 213u, 151u, + 146u, 81u, 180u, 65u, + 255u, 58u, 28u, 88u, + 116u, 101u, 255u, 115u, + 235u, 154u, 82u, 65u, + 153u, 87u, 81u, 143u, + 89u, 101u, 130u, 99u, + 94u, 133u, 68u, 179u, + 1u, 134u, 136u, 159u, + 148u, 95u, 209u, 176u, + 172u, 76u, 89u, 113u, + 103u, 27u, 40u, 166u, + 152u, 181u, 65u, 158u, + 194u, 59u, 120u, 119u, + 255u, 169u, 89u, 101u, + 184u, 243u, 95u, 181u, + 151u, 255u, 117u, 226u, + 230u, 149u, 247u, 138u, + 143u, 116u, 75u, 181u, + 110u, 210u, 113u, 210u, + 143u, 0u, 84u, 70u, + 99u, 106u, 211u, 184u, + 138u, 111u, 119u, 62u, + 67u, 129u, 68u, 46u, + 77u, 149u, 81u, 83u, + 178u, 255u, 217u, 152u, + 51u, 192u, 70u, 151u, + 50u, 1u, 76u, 151u, + 128u, 22u, 213u, 53u, + 131u, 81u, 84u, 187u, + 47u, 184u, 145u, 56u, + 157u, 78u, 77u, 159u, + 183u, 44u, 255u, 150u, + 234u, 132u, 59u, 188u, + 72u, 40u, 127u, 138u, + 1u, 175u, 81u, 207u, + 19u, 102u, 162u, 77u, + 54u, 169u, 106u, 77u, + 154u, 30u, 86u, 181u, + 206u, 200u, 222u, 29u, + 152u, 121u, 3u, 171u, + 138u, 162u, 223u, 162u, + 0u, 237u, 57u, 96u, + 221u, 138u, 92u, 178u, + 21u, 121u, 255u, 34u, + 125u, 123u, 89u, 132u, + 100u, 221u, 40u, 57u, + 157u, 151u, 114u, 138u, + 198u, 78u, 192u, 64u, + 79u, 169u, 124u, 255u, + 116u, 194u, 134u, 175u, + 62u, 157u, 90u, 67u, + 163u, 35u, 164u, 255u, + 163u, 188u, 173u, 225u, + 123u, 156u, 51u, 107u, + 105u, 219u, 132u, 92u, + 43u, 146u, 75u, 222u, + 60u, 197u, 171u, 151u, + 51u, 1u, 98u, 223u, + 255u, 139u, 34u, 217u, + 101u, 76u, 202u, 59u, + 225u, 82u, 115u, 55u, + 158u, 152u, 93u, 101u, + 65u, 92u, 1u, 77u, + 115u, 108u, 133u, 113u, + 127u, 82u, 225u, 203u, + 143u, 106u, 212u, 131u, + 159u, 220u, 255u, 238u, + 34u, 63u, 150u, 151u, + 161u, 63u, 149u, 125u, + 44u, 173u, 218u, 39u, + 219u, 90u, 220u, 13u, + 187u, 62u, 167u, 178u, + 159u, 153u, 133u, 182u, + 32u, 112u, 78u, 255u, + 109u, 122u, 186u, 148u, + 165u, 86u, 255u, 38u, + 124u, 156u, 72u, 118u, + 145u, 170u, 144u, 100u, + 107u, 185u, 16u, 195u, + 66u, 108u, 215u, 86u, + 194u, 1u, 202u, 168u, + 149u, 87u, 60u, 159u, + 95u, 204u, 136u, 101u, + 51u, 158u, 183u, 142u, + 33u, 81u, 61u, 205u, + 125u, 1u, 66u, 127u, + 219u, 159u, 255u, 180u, + 103u, 161u, 58u, 188u, + 154u, 140u, 102u, 58u, + 251u, 110u, 116u, 31u, + 166u, 46u, 146u, 113u, + 160u, 163u, 225u, 1u, + 28u, 130u, 159u, 146u, + 214u, 55u, 222u, 101u, + 141u, 84u, 153u, 219u, + 73u, 147u, 36u, 141u, + 137u, 1u, 106u, 88u, + 127u, 95u, 122u, 96u, + 159u, 116u, 115u, 82u, + 104u, 112u, 177u, 76u, + 236u, 177u, 188u, 135u, + 239u, 99u, 42u, 0u, + 139u, 255u, 180u, 123u, + 192u, 212u, 188u, 99u, + 9u, 88u, 111u, 65u, + 32u, 63u, 154u, 171u, + 158u, 162u, 255u, 89u, + 120u, 188u, 102u, 100u, + 84u, 189u, 88u, 112u, + 134u, 77u, 116u, 100u, + 181u, 171u, 55u, 165u, + 72u, 77u, 104u, 255u, + 82u, 213u, 140u, 197u, + 184u, 110u, 95u, 13u, + 208u, 52u, 141u, 232u, + 161u, 162u, 103u, 140u, + 1u, 46u, 25u, 159u, + 176u, 91u, 92u, 88u, + 108u, 110u, 213u, 1u, + 148u, 77u, 252u, 46u, + 151u, 88u, 26u, 112u, + 138u, 144u, 151u, 105u, + 153u, 172u, 118u, 180u, + 35u, 105u, 184u, 125u, + 21u, 57u, 151u, 167u, + 1u, 29u, 88u, 123u, + 121u, 92u, 176u, 101u, + 205u, 144u, 226u, 107u, + 103u, 255u, 58u, 223u, + 145u, 181u, 67u, 173u, + 147u, 122u, 95u, 140u, + 168u, 45u, 149u, 114u, + 151u, 93u, 79u, 127u, + 244u, 250u, 78u, 1u, + 126u, 94u, 126u, 111u, + 98u, 46u, 169u, 183u, + 140u, 137u, 176u, 150u, + 190u, 206u, 117u, 1u, + 88u, 167u, 111u, 124u, + 110u, 38u, 131u, 146u, + 59u, 210u, 194u, 231u, + 7u, 1u, 56u, 124u, + 155u, 109u, 101u, 205u, + 4u, 112u, 45u, 105u, + 218u, 152u, 250u, 194u, + 1u, 138u, 63u, 118u, + 135u, 151u, 203u, 51u, + 229u, 29u, 192u, 123u, + 26u, 242u, 0u, 86u, + 137u, 81u, 56u, 79u, + 40u, 59u, 233u, 255u, + 228u, 134u, 248u, 74u, + 45u, 25u, 2u, 137u, + 199u, 187u, 203u, 193u, + 208u, 44u, 79u, 111u, + 63u, 1u, 93u, 113u, + 154u, 67u, 187u, 89u, + 132u, 155u, 142u, 205u, + 87u, 48u, 80u, 156u, + 106u, 169u, 1u, 119u, + 222u, 114u, 164u, 84u, + 133u, 123u, 153u, 52u, + 157u, 183u, 34u, 249u, + 172u, 115u, 97u, 170u, + 1u, 184u, 120u, 104u, + 117u, 118u, 131u, 137u, + 238u, 94u, 255u, 55u, + 7u, 139u, 86u, 145u, + 50u, 65u, 235u, 136u, + 173u, 135u, 76u, 127u, + 162u, 118u, 113u, 102u, + 156u, 133u, 86u, 172u, + 91u, 155u, 103u, 127u, + 111u, 106u, 1u, 125u, + 168u, 110u, 154u, 149u, + 208u, 104u, 23u, 143u, + 63u, 255u, 85u, 94u, + 125u, 109u, 61u, 165u, + 99u, 166u, 88u, 141u, + 110u, 255u, 66u, 112u, + 58u, 101u, 76u, 104u, + 82u, 123u, 121u, 141u, + 181u, 120u, 24u, 190u, + 83u, 100u, 149u, 109u, + 91u, 213u, 255u, 187u, + 116u, 67u, 48u, 165u, + 167u, 111u, 83u, 175u, + 162u, 255u, 220u, 63u, + 55u, 144u, 51u, 136u, + 155u, 156u, 219u, 126u, + 142u, 232u, 144u, 154u, + 148u, 107u, 255u, 160u, + 59u, 105u, 46u, 116u, + 54u, 163u, 146u, 33u, + 165u, 181u, 153u, 255u, + 70u, 84u, 119u, 193u, + 71u, 170u, 184u, 113u, + 176u, 148u, 132u, 69u, + 180u, 84u, 81u, 192u, + 158u, 110u, 255u, 120u, + 161u, 127u, 83u, 150u, + 86u, 149u, 108u, 147u, + 51u, 95u, 70u, 0u, + 98u, 170u, 171u, 91u, + 130u, 137u, 48u, 72u, + 11u, 190u, 75u, 195u, + 132u, 101u, 140u, 189u, + 132u, 156u, 105u, 77u, + 85u, 0u, 99u, 158u, + 172u, 210u, 97u, 74u, + 170u, 176u, 93u, 129u, + 115u, 94u, 91u, 103u, + 1u, 124u, 141u, 170u, + 62u, 91u, 99u, 179u, + 160u, 1u, 164u, 73u, + 225u, 85u, 143u, 39u, + 165u, 184u, 79u, 143u, + 116u, 157u, 85u, 85u, + 236u, 133u, 182u, 29u, + 174u, 255u, 87u, 204u, + 144u, 224u, 81u, 69u, + 183u, 130u, 63u, 110u, + 90u, 90u, 136u, 145u, + 116u, 189u, 144u, 148u, + 105u, 150u, 207u, 96u, + 255u, 87u, 253u, 97u, + 72u, 71u, 68u, 67u, + 145u, 217u, 94u, 131u, + 173u, 255u, 137u, 91u, + 50u, 104u, 46u, 73u, + 103u, 191u, 178u, 147u, + 131u, 1u, 166u, 106u, + 146u, 28u, 199u, 105u, + 84u, 206u, 164u, 160u, + 159u, 120u, 140u, 223u, + 184u, 167u, 51u, 55u, + 129u, 1u, 111u, 129u, + 113u, 78u, 155u, 102u, + 113u, 165u, 1u, 182u, + 105u, 138u, 155u, 126u, + 100u, 134u, 17u, 127u, + 70u, 73u, 130u, 218u, + 126u, 55u, 90u, 0u, + 85u, 94u, 161u, 144u, + 139u, 133u, 118u, 127u, + 38u, 188u, 205u, 134u, + 16u, 82u, 217u, 226u, + 102u, 221u, 128u, 89u, + 8u, 255u, 42u, 153u, + 237u, 9u, 34u, 223u, + 71u, 192u, 124u, 68u, + 124u, 167u, 116u, 149u, + 100u, 255u, 65u, 156u, + 129u, 53u, 33u, 199u, + 181u, 224u, 85u, 0u, + 61u, 109u, 127u, 158u, + 140u, 229u, 109u, 95u, + 150u, 45u, 141u, 34u, + 115u, 158u, 84u, 255u, + 92u, 106u, 54u, 73u, + 185u, 51u, 44u, 114u, + 239u, 84u, 75u, 72u, + 127u, 208u, 255u, 96u, + 117u, 176u, 159u, 148u, + 125u, 93u, 177u, 156u, + 90u, 132u, 210u, 168u, + 110u, 149u, 0u, 152u, + 61u, 78u, 115u, 67u, + 151u, 207u, 196u, 207u, + 149u, 189u, 148u, 170u, + 184u, 135u, 80u, 181u, + 124u, 87u, 157u, 69u, + 90u, 92u, 122u, 227u, + 255u, 189u, 146u, 55u, + 74u, 190u, 255u, 74u, + 123u, 153u, 93u, 216u, + 46u, 68u, 145u, 159u, + 104u, 103u, 120u, 174u, + 115u, 122u, 114u, 155u, + 70u, 74u, 134u, 88u, + 1u, 169u, 115u, 36u, + 82u, 26u, 109u, 25u, + 138u, 139u, 128u, 106u, + 173u, 171u, 189u, 169u, + 123u, 100u, 188u, 255u, + 129u, 191u, 107u, 116u, + 124u, 122u, 2u, 191u, + 30u, 255u, 106u, 169u, + 115u, 243u, 245u, 232u, + 104u, 225u, 136u, 127u, + 123u, 193u, 136u, 168u, + 96u, 187u, 100u, 232u, + 159u, 19u, 120u, 93u, + 255u, 175u, 175u, 33u, + 252u, 134u, 103u, 47u, + 7u, 199u, 181u, 104u, + 25u, 172u, 84u, 44u, + 53u, 255u, 161u, 24u, + 59u, 62u, 246u, 100u, + 59u, 116u, 24u, 109u, + 113u, 49u, 160u, 101u, + 125u, 153u, 110u, 255u, + 142u, 108u, 139u, 173u, + 221u, 141u, 55u, 212u, + 164u, 167u, 123u, 255u, + 82u, 74u, 150u, 144u, + 24u, 91u, 185u, 41u, + 114u, 141u, 130u, 165u, + 149u, 49u, 50u, 145u, + 29u, 162u, 147u, 255u, + 89u, 83u, 118u, 129u, + 107u, 107u, 88u, 134u, + 163u, 123u, 79u, 188u, + 1u, 94u, 130u, 208u, + 95u, 97u, 119u, 51u, + 101u, 173u, 139u, 255u, + 72u, 187u, 56u, 169u, + 54u, 158u, 25u, 89u, + 168u, 179u, 183u, 66u, + 168u, 175u, 20u, 187u, + 43u, 162u, 191u, 203u, + 138u, 1u, 145u, 226u, + 109u, 163u, 127u, 185u, + 148u, 137u, 141u, 133u, + 63u, 190u, 117u, 41u, + 219u, 38u, 172u, 255u, + 163u, 89u, 198u, 106u, + 117u, 180u, 255u, 151u, + 83u, 176u, 164u, 156u, + 125u, 102u, 65u, 106u, + 76u, 133u, 129u, 106u, + 255u, 139u, 61u, 88u, + 217u, 101u, 180u, 29u, + 24u, 157u, 36u, 91u, + 221u, 1u, 44u, 229u, + 102u, 118u, 159u, 147u, + 212u, 139u, 90u, 76u, + 128u, 25u, 75u, 113u, + 236u, 108u, 173u, 165u, + 175u, 56u, 255u, 55u, + 193u, 86u, 22u, 199u, + 125u, 202u, 147u, 108u, + 33u, 93u, 23u, 187u, + 181u, 157u, 240u, 255u, + 166u, 18u, 64u, 186u, + 163u, 171u, 249u, 99u, + 69u, 131u, 136u, 163u, + 151u, 155u, 96u, 116u, + 169u, 155u, 184u, 142u, + 120u, 0u, 116u, 108u, + 216u, 154u, 36u, 209u, + 133u, 225u, 255u, 129u, + 177u, 213u, 43u, 177u, + 145u, 80u, 158u, 106u, + 168u, 131u, 38u, 146u, + 93u, 122u, 145u, 68u, + 121u, 218u, 82u, 164u, + 100u, 255u, 157u, 174u, + 159u, 57u, 213u, 188u, + 0u, 116u, 237u, 39u, + 166u, 109u, 170u, 84u, + 162u, 33u, 147u, 83u, + 188u, 121u, 84u, 187u, + 95u, 204u, 204u, 255u, + 133u, 158u, 145u, 175u, + 219u, 130u, 117u, 169u, + 141u, 111u, 164u, 161u, + 0u, 161u, 234u, 144u, + 78u, 176u, 81u, 178u, + 127u, 114u, 170u, 143u, + 170u, 67u, 1u, 160u, + 231u, 134u, 122u, 156u, + 226u, 60u, 155u, 204u, + 149u, 148u, 200u, 137u, + 213u, 122u, 190u, 55u, + 233u, 1u, 50u, 41u, + 111u, 153u, 203u, 83u, + 25u, 164u, 139u, 84u, + 195u, 228u, 94u, 84u, + 1u, 88u, 103u, 59u, + 51u, 145u, 248u, 234u, + 138u, 58u, 164u, 146u, + 126u, 189u, 89u, 139u, + 57u, 125u, 71u, 206u, + 79u, 138u, 160u, 145u, + 80u, 255u, 121u, 86u, + 160u, 107u, 83u, 127u, + 101u, 210u, 0u, 241u, + 172u, 111u, 98u, 125u, + 199u, 126u, 134u, 183u, + 117u, 55u, 143u, 16u, + 178u, 180u, 108u, 141u, + 104u, 144u, 83u, 175u, + 103u, 165u, 80u, 255u, + 65u, 1u, 123u, 85u, + 191u, 74u, 181u, 57u, + 203u, 252u, 190u, 93u, + 218u, 106u, 11u, 104u, + 134u, 158u, 87u, 98u, + 82u, 112u, 49u, 255u, + 30u, 70u, 138u, 151u, + 190u, 52u, 114u, 141u, + 152u, 49u, 103u, 90u, + 14u, 223u, 133u, 145u, + 241u, 124u, 196u, 211u, + 1u, 158u, 80u, 192u, + 174u, 40u, 45u, 0u, + 140u, 159u, 82u, 188u, + 136u, 147u, 238u, 194u, + 45u, 225u, 62u, 202u, + 123u, 30u, 118u, 87u, + 127u, 85u, 178u, 184u, + 87u, 140u, 92u, 203u, + 114u, 255u, 100u, 116u, + 132u, 192u, 255u, 189u, + 175u, 89u, 192u, 220u, + 239u, 102u, 93u, 45u, + 96u, 105u, 42u, 47u, + 109u, 165u, 96u, 209u, + 1u, 173u, 21u, 126u, + 26u, 112u, 105u, 94u, + 85u, 42u, 151u, 153u, + 161u, 213u, 90u, 77u, + 182u, 112u, 178u, 81u, + 255u, 96u, 229u, 165u, + 197u, 237u, 234u, 126u, + 150u, 63u, 54u, 239u, + 121u, 61u, 255u, 71u, + 115u, 143u, 167u, 107u, + 103u, 72u, 172u, 46u, + 199u, 35u, 199u, 251u, + 138u, 135u, 154u, 47u, + 73u, 69u, 1u, 93u, + 113u, 211u, 210u, 252u, + 154u, 35u, 76u, 146u, + 237u, 73u, 255u, 111u, + 244u, 109u, 27u, 202u, + 68u, 225u, 159u, 79u, + 175u, 47u, 169u, 152u, + 1u, 115u, 200u, 167u, + 92u, 133u, 44u, 32u, + 149u, 54u, 134u, 3u, + 70u, 228u, 143u, 99u, + 129u, 171u, 144u, 135u, + 133u, 113u, 153u, 213u, + 49u, 88u, 123u, 255u, + 69u, 117u, 181u, 246u, + 119u, 119u, 229u, 117u, + 179u, 46u, 156u, 255u, + 35u, 112u, 179u, 239u, + 144u, 87u, 0u, 192u, + 128u, 145u, 194u, 107u, + 162u, 106u, 167u, 216u, + 127u, 17u, 12u, 94u, + 110u, 108u, 54u, 128u, + 115u, 133u, 205u, 255u, + 155u, 182u, 153u, 153u, + 121u, 156u, 76u, 251u, + 151u, 54u, 167u, 85u, + 182u, 95u, 185u, 142u, + 123u, 86u, 92u, 79u, + 134u, 223u, 162u, 1u, + 125u, 144u, 29u, 221u, + 1u, 22u, 129u, 90u, + 123u, 112u, 129u, 36u, + 16u, 231u, 190u, 89u, + 70u, 107u, 129u, 158u, + 96u, 118u, 68u, 83u, + 73u, 225u, 21u, 29u, + 201u, 125u, 122u, 0u, + 100u, 132u, 1u, 185u, + 100u, 114u, 151u, 155u, + 124u, 111u, 120u, 84u, + 96u, 83u, 203u, 163u, + 131u, 185u, 168u, 145u, + 86u, 149u, 255u, 116u, + 148u, 4u, 106u, 151u, + 129u, 137u, 145u, 164u, + 179u, 92u, 255u, 161u, + 87u, 36u, 157u, 55u, + 124u, 127u, 80u, 86u, + 1u, 126u, 91u, 99u, + 194u, 125u, 71u, 20u, + 0u, 175u, 121u, 242u, + 146u, 21u, 140u, 137u, + 84u, 36u, 80u, 108u, + 179u, 30u, 227u, 196u, + 62u, 123u, 63u, 144u, + 224u, 112u, 49u, 76u, + 168u, 1u, 252u, 187u, + 233u, 104u, 38u, 87u, + 182u, 67u, 126u, 189u, + 58u, 78u, 175u, 82u, + 255u, 92u, 224u, 156u, + 134u, 113u, 99u, 178u, + 143u, 1u, 113u, 162u, + 82u, 192u, 142u, 145u, + 63u, 83u, 91u, 137u, + 62u, 255u, 210u, 89u, + 91u, 158u, 125u, 128u, + 32u, 223u, 234u, 176u, + 200u, 167u, 111u, 155u, + 133u, 116u, 255u, 98u, + 42u, 120u, 145u, 110u, + 103u, 161u, 229u, 130u, + 100u, 18u, 123u, 233u, + 162u, 143u, 255u, 118u, + 165u, 83u, 145u, 93u, + 155u, 179u, 54u, 160u, + 162u, 155u, 128u, 194u, + 176u, 108u, 147u, 17u, + 217u, 229u, 99u, 165u, + 56u, 219u, 130u, 190u, + 255u, 107u, 74u, 154u, + 9u, 160u, 161u, 94u, + 237u, 173u, 137u, 206u, + 13u, 135u, 21u, 62u, + 255u, 88u, 223u, 224u, + 99u, 115u, 52u, 255u, + 189u, 102u, 81u, 90u, + 134u, 82u, 166u, 181u, + 165u, 115u, 112u, 180u, + 141u, 163u, 220u, 168u, + 170u, 128u, 218u, 1u, + 163u, 0u, 117u, 149u, + 186u, 192u, 100u, 100u, + 72u, 154u, 113u, 255u, + 82u, 146u, 171u, 185u, + 132u, 17u, 110u, 87u, + 67u, 151u, 95u, 55u, + 214u, 181u, 1u, 136u, + 125u, 227u, 123u, 144u, + 95u, 162u, 63u, 162u, + 128u, 218u, 78u, 156u, + 106u, 158u, 226u, 85u, + 255u, 63u, 112u, 90u, + 129u, 108u, 151u, 53u, + 98u, 160u, 233u, 115u, + 118u, 166u, 69u, 255u, + 96u, 85u, 107u, 139u, + 52u, 174u, 173u, 9u, + 137u, 153u, 151u, 42u, + 116u, 214u, 103u, 1u, + 78u, 124u, 8u, 170u, + 185u, 102u, 206u, 111u, + 73u, 32u, 158u, 156u, + 222u, 255u, 245u, 4u, + 200u, 69u, 34u, 16u, + 74u, 131u, 177u, 214u, + 109u, 195u, 106u, 229u, + 153u, 255u, 43u, 87u, + 215u, 200u, 32u, 171u, + 160u, 153u, 49u, 130u, + 107u, 88u, 16u, 135u, + 128u, 141u, 118u, 180u, + 117u, 165u, 133u, 1u, + 155u, 160u, 132u, 183u, + 202u, 165u, 104u, 90u, + 106u, 129u, 121u, 146u, + 136u, 165u, 177u, 98u, + 1u, 58u, 77u, 144u, + 166u, 235u, 126u, 196u, + 91u, 96u, 140u, 202u, + 57u, 59u, 185u, 70u, + 70u, 255u, 103u, 123u, + 150u, 98u, 162u, 146u, + 134u, 110u, 106u, 109u, + 200u, 32u, 118u, 141u, + 196u, 1u, 158u, 183u, + 65u, 90u, 132u, 170u, + 255u, 86u, 173u, 185u, + 122u, 61u, 82u, 192u, + 135u, 163u, 185u, 134u, + 84u, 86u, 69u, 98u, + 20u, 63u, 70u, 177u, + 51u, 24u, 252u, 145u, + 55u, 255u, 172u, 229u, + 208u, 41u, 103u, 30u, + 35u, 93u, 204u, 11u, + 162u, 130u, 181u, 98u, + 70u, 134u, 58u, 0u, + 154u, 88u, 138u, 79u, + 87u, 159u, 162u, 226u, + 153u, 102u, 111u, 45u, + 244u, 144u, 133u, 19u, + 72u, 189u, 42u, 0u, + 255u, 125u, 212u, 121u, + 247u, 73u, 33u, 136u, + 77u, 174u, 63u, 137u, + 118u, 161u, 31u, 164u, + 146u, 135u, 73u, 90u, + 99u, 119u, 114u, 213u, + 52u, 141u, 108u, 141u, + 255u, 142u, 149u, 72u, + 5u, 97u, 88u, 60u, + 201u, 197u, 221u, 171u, + 146u, 255u, 91u, 20u, + 179u, 246u, 140u, 173u, + 111u, 87u, 123u, 198u, + 255u, 187u, 107u, 173u, + 145u, 59u, 116u, 197u, + 182u, 201u, 215u, 88u, + 115u, 173u, 143u, 175u, + 213u, 64u, 169u, 44u, + 171u, 1u, 79u, 225u, + 127u, 171u, 133u, 140u, + 172u, 138u, 58u, 88u, + 178u, 118u, 175u, 145u, + 132u, 109u, 190u, 54u, + 74u, 118u, 1u, 141u, + 84u, 189u, 100u, 121u, + 178u, 255u, 137u, 255u, + 123u, 137u, 143u, 98u, + 171u, 72u, 148u, 109u, + 156u, 151u, 242u, 177u, + 25u, 197u, 189u, 251u, + 28u, 134u, 21u, 42u, + 127u, 93u, 7u, 0u, + 179u, 145u, 128u, 138u, + 137u, 111u, 1u, 122u, + 140u, 142u, 70u, 220u, + 151u, 211u, 31u, 185u, + 244u, 134u, 94u, 152u, + 70u, 194u, 216u, 128u, + 37u, 198u, 46u, 249u, + 107u, 255u, 46u, 216u, + 72u, 137u, 74u, 109u, + 101u, 195u, 124u, 255u, + 142u, 47u, 121u, 129u, + 56u, 46u, 47u, 173u, + 160u, 161u, 139u, 1u, + 116u, 166u, 26u, 130u, + 112u, 119u, 240u, 204u, + 162u, 174u, 62u, 25u, + 154u, 76u, 135u, 121u, + 145u, 130u, 184u, 165u, + 199u, 116u, 162u, 59u, + 81u, 138u, 193u, 0u, + 124u, 109u, 123u, 12u, + 156u, 123u, 52u, 135u, + 117u, 133u, 111u, 97u, + 72u, 1u, 162u, 50u, + 105u, 203u, 0u, 94u, + 48u, 158u, 26u, 128u, + 89u, 102u, 210u, 115u, + 114u, 192u, 59u, 145u, + 255u, 48u, 137u, 187u, + 108u, 23u, 167u, 18u, + 102u, 79u, 21u, 110u, + 100u, 173u, 149u, 193u, + 124u, 211u, 83u, 145u, + 38u, 177u, 112u, 207u, + 136u, 206u, 168u, 108u, + 255u, 77u, 126u, 10u, + 212u, 111u, 124u, 67u, + 165u, 106u, 255u, 83u, + 139u, 10u, 25u, 99u, + 182u, 177u, 129u, 43u, + 141u, 113u, 32u, 139u, + 49u, 63u, 162u, 118u, + 139u, 171u, 7u, 105u, + 161u, 1u, 120u, 99u, + 224u, 63u, 51u, 96u, + 17u, 8u, 91u, 90u, + 222u, 169u, 228u, 157u, + 77u, 196u, 1u, 69u, + 63u, 255u, 149u, 64u, + 233u, 115u, 152u, 121u, + 200u, 198u, 190u, 167u, + 84u, 127u, 106u, 54u, + 103u, 162u, 146u, 65u, + 211u, 232u, 58u, 119u, + 133u, 1u, 193u, 114u, + 83u, 119u, 57u, 226u, + 89u, 96u, 92u, 207u, + 29u, 120u, 105u, 99u, + 142u, 107u, 218u, 144u, + 75u, 110u, 221u, 255u, + 127u, 237u, 95u, 113u, + 8u, 255u, 52u, 239u, + 190u, 133u, 184u, 54u, + 174u, 133u, 30u, 46u, + 110u, 219u, 73u, 142u, + 59u, 129u, 60u, 161u, + 1u, 153u, 111u, 167u, + 186u, 68u, 68u, 86u, + 137u, 13u, 202u, 154u, + 225u, 151u, 183u, 75u, + 125u, 255u, 27u, 146u, + 98u, 198u, 199u, 184u, + 184u, 173u, 118u, 160u, + 110u, 108u, 136u, 153u, + 232u, 57u, 98u, 170u, + 100u, 230u, 184u, 1u, + 105u, 124u, 206u, 9u, + 255u, 76u, 148u, 56u, + 166u, 133u, 149u, 194u, + 223u, 189u, 136u, 158u, + 255u, 70u, 23u, 170u, + 130u, 144u, 170u, 114u, + 199u, 185u, 122u, 164u, + 80u, 150u, 26u, 232u, + 236u, 143u, 247u, 146u, + 60u, 175u, 54u, 62u, + 162u, 1u, 162u, 116u, + 36u, 137u, 222u, 230u, + 91u, 100u, 146u, 142u, + 110u, 182u, 219u, 115u, + 168u, 0u, 58u, 165u, + 139u, 34u, 131u, 188u, + 14u, 119u, 64u, 131u, + 91u, 115u, 0u, 100u, + 85u, 139u, 214u, 24u, + 118u, 63u, 158u, 150u, + 111u, 144u, 100u, 123u, + 159u, 66u, 97u, 72u, + 142u, 126u, 104u, 255u, + 216u, 77u, 140u, 58u, + 130u, 139u, 40u, 101u, + 125u, 156u, 195u, 128u, + 91u, 224u, 163u, 186u, + 1u, 169u, 84u, 75u, + 157u, 130u, 160u, 82u, + 135u, 181u, 184u, 145u, + 217u, 113u, 173u, 134u, + 198u, 255u, 93u, 23u, + 247u, 0u, 109u, 192u, + 59u, 96u, 105u, 188u, + 239u, 178u, 116u, 147u, + 93u, 25u, 156u, 147u, + 126u, 1u, 82u, 171u, + 18u, 94u, 22u, 220u, + 183u, 27u, 88u, 120u, + 225u, 157u, 76u, 80u, + 95u, 145u, 27u, 98u, + 150u, 172u, 191u, 0u, + 139u, 132u, 233u, 206u, + 241u, 140u, 201u, 98u, + 154u, 156u, 153u, 63u, + 134u, 178u, 115u, 116u, + 0u, 153u, 41u, 125u, + 47u, 239u, 113u, 210u, + 153u, 122u, 155u, 198u, + 102u, 142u, 115u, 0u, + 119u, 173u, 96u, 115u, + 124u, 166u, 163u, 180u, + 255u, 181u, 122u, 175u, + 29u, 196u, 60u, 189u, + 245u, 149u, 151u, 30u, + 134u, 49u, 105u, 201u, + 214u, 166u, 147u, 187u, + 116u, 56u, 90u, 237u, + 145u, 210u, 73u, 53u, + 85u, 76u, 1u, 169u, + 1u, 65u, 232u, 62u, + 87u, 219u, 116u, 240u, + 213u, 157u, 44u, 77u, + 88u, 182u, 106u, 29u, + 104u, 122u, 1u, 134u, + 141u, 162u, 81u, 178u, + 188u, 78u, 161u, 133u, + 59u, 145u, 70u, 120u, + 119u, 170u, 1u, 72u, + 141u, 127u, 59u, 144u, + 103u, 154u, 121u, 97u, + 131u, 27u, 89u, 148u, + 74u, 111u, 130u, 172u, + 228u, 104u, 178u, 123u, + 72u, 172u, 112u, 205u, + 238u, 255u, 149u, 16u, + 220u, 71u, 140u, 184u, + 206u, 104u, 0u, 140u, + 64u, 131u, 50u, 187u, + 159u, 69u, 99u, 124u, + 33u, 114u, 134u, 160u, + 244u, 255u, 67u, 204u, + 224u, 63u, 171u, 186u, + 163u, 45u, 134u, 21u, + 225u, 210u, 207u, 85u, + 32u, 196u, 128u, 200u, + 113u, 75u, 255u, 209u, + 172u, 71u, 2u, 92u, + 143u, 131u, 103u, 149u, + 86u, 87u, 248u, 46u, + 151u, 255u, 102u, 179u, + 130u, 113u, 172u, 165u, + 112u, 201u, 51u, 149u, + 1u, 190u, 125u, 151u, + 145u, 106u, 152u, 114u, + 187u, 123u, 44u, 135u, + 213u, 179u, 176u, 33u, + 181u, 45u, 1u, 137u, + 80u, 160u, 183u, 123u, + 47u, 165u, 104u, 133u, + 183u, 26u, 103u, 248u, + 116u, 111u, 255u, 214u, + 107u, 70u, 47u, 124u, + 154u, 175u, 156u, 127u, + 188u, 163u, 2u, 155u, + 96u, 203u, 78u, 142u, + 226u, 107u, 185u, 125u, + 239u, 255u, 6u, 94u, + 181u, 123u, 147u, 0u, + 135u, 168u, 151u, 151u, + 174u, 51u, 154u, 144u, + 158u, 244u, 126u, 130u, + 129u, 143u, 103u, 210u, + 151u, 147u, 86u, 1u, + 83u, 158u, 187u, 126u, + 159u, 35u, 77u, 67u, + 102u, 48u, 176u, 212u, + 185u, 134u, 81u, 63u, + 111u, 210u, 127u, 175u, + 171u, 82u, 94u, 255u, + 131u, 178u, 35u, 38u, + 225u, 190u, 13u, 118u, + 158u, 143u, 187u, 33u, + 255u, 224u, 148u, 160u, + 160u, 255u, 133u, 97u, + 129u, 157u, 69u, 98u, + 186u, 30u, 225u, 154u, + 244u, 154u, 111u, 55u, + 116u, 155u, 167u, 191u, + 1u, 158u, 127u, 172u, + 164u, 164u, 170u, 131u, + 139u, 3u, 57u, 139u, + 233u, 53u, 103u, 166u, + 200u, 27u, 164u, 191u, + 79u, 2u, 1u, 34u, + 144u, 177u, 114u, 37u, + 232u, 95u, 239u, 148u, + 90u, 154u, 138u, 78u, + 252u, 250u, 137u, 242u, + 117u, 255u, 68u, 143u, + 105u, 170u, 151u, 0u, + 53u, 112u, 136u, 172u, + 172u, 245u, 235u, 74u, + 152u, 138u, 162u, 159u, + 87u, 64u, 1u, 159u, + 121u, 204u, 142u, 91u, + 207u, 131u, 72u, 178u, + 146u, 197u, 156u, 161u, + 70u, 129u, 104u, 134u, + 122u, 0u, 193u, 92u, + 125u, 58u, 141u, 9u, + 19u, 15u, 22u, 21u, + 107u, 187u, 175u, 250u, + 51u, 181u, 194u, 53u, + 1u, 202u, 100u, 170u, + 228u, 152u, 147u, 117u, + 174u, 50u, 136u, 109u, + 149u, 104u, 77u, 148u, + 255u, 115u, 200u, 116u, + 105u, 126u, 71u, 168u, + 41u, 132u, 18u, 236u, + 191u, 136u, 140u, 79u, + 130u, 213u, 6u, 129u, + 121u, 131u, 255u, 132u, + 242u, 157u, 68u, 140u, + 97u, 59u, 138u, 93u, + 4u, 144u, 148u, 123u, + 89u, 255u, 18u, 180u, + 157u, 1u, 91u, 165u, + 20u, 152u, 84u, 157u, + 202u, 34u, 131u, 70u, + 114u, 209u, 224u, 114u, + 102u, 153u, 161u, 54u, + 42u, 154u, 1u, 89u, + 77u, 56u, 153u, 91u, + 109u, 87u, 138u, 215u, + 177u, 70u, 211u, 199u, + 196u, 196u, 22u, 121u, + 122u, 123u, 83u, 169u, + 219u, 141u, 191u, 0u, + 176u, 124u, 255u, 79u, + 77u, 58u, 7u, 149u, + 48u, 182u, 55u, 98u, + 130u, 147u, 167u, 66u, + 37u, 152u, 122u, 92u, + 108u, 87u, 137u, 141u, + 255u, 92u, 187u, 95u, + 47u, 210u, 122u, 81u, + 91u, 91u, 53u, 143u, + 51u, 214u, 190u, 56u, + 155u, 105u, 158u, 122u, + 158u, 144u, 1u, 171u, + 140u, 80u, 1u, 140u, + 161u, 58u, 165u, 133u, + 210u, 132u, 150u, 78u, + 87u, 137u, 186u, 152u, + 182u, 204u, 241u, 16u, + 124u, 142u, 55u, 135u, + 218u, 119u, 255u, 66u, + 61u, 208u, 111u, 35u, + 95u, 146u, 54u, 171u, + 146u, 255u, 215u, 108u, + 164u, 100u, 214u, 151u, + 54u, 33u, 242u, 118u, + 102u, 91u, 113u, 93u, + 38u, 179u, 176u, 255u, + 115u, 71u, 160u, 133u, + 104u, 171u, 31u, 228u, + 160u, 71u, 205u, 138u, + 100u, 255u, 44u, 154u, + 134u, 122u, 110u, 137u, + 17u, 73u, 110u, 113u, + 89u, 70u, 66u, 161u, + 149u, 132u, 99u, 186u, + 213u, 177u, 134u, 130u, + 87u, 43u, 0u, 84u, + 204u, 120u, 104u, 132u, + 138u, 38u, 172u, 217u, + 91u, 201u, 255u, 120u, + 135u, 71u, 182u, 82u, + 115u, 162u, 187u, 126u, + 96u, 90u, 70u, 153u, + 162u, 86u, 82u, 62u, + 1u, 179u, 146u, 123u, + 174u, 37u, 91u, 120u, + 120u, 144u, 213u, 98u, + 217u, 45u, 67u, 157u, + 221u, 255u, 200u, 5u, + 234u, 72u, 82u, 250u, + 182u, 255u, 101u, 146u, + 83u, 93u, 7u, 83u, + 158u, 180u, 113u, 244u, + 164u, 133u, 109u, 162u, + 1u, 125u, 85u, 124u, + 55u, 203u, 141u, 94u, + 112u, 89u, 87u, 120u, + 204u, 215u, 20u, 40u, + 154u, 163u, 255u, 247u, + 94u, 65u, 103u, 142u, + 78u, 2u, 142u, 120u, + 102u, 100u, 166u, 73u, + 255u, 115u, 208u, 77u, + 168u, 76u, 129u, 112u, + 110u, 66u, 153u, 153u, + 160u, 146u, 183u, 137u, + 132u, 143u, 1u, 84u, + 142u, 38u, 128u, 141u, + 65u, 195u, 66u, 130u, + 224u, 217u, 174u, 26u, + 192u, 61u, 235u, 1u, + 132u, 137u, 160u, 98u, + 98u, 124u, 172u, 58u, + 106u, 99u, 137u, 221u, + 111u, 57u, 98u, 113u, + 158u, 146u, 4u, 232u, + 132u, 179u, 1u, 214u, + 255u, 70u, 18u, 197u, + 11u, 30u, 210u, 172u, + 97u, 156u, 55u, 187u, + 1u, 137u, 107u, 26u, + 144u, 150u, 113u, 149u, + 184u, 138u, 93u, 59u, + 84u, 71u, 110u, 163u, + 113u, 143u, 49u, 1u, + 55u, 134u, 0u, 190u, + 177u, 131u, 153u, 147u, + 152u, 145u, 129u, 98u, + 184u, 88u, 94u, 66u, + 97u, 38u, 164u, 248u, + 32u, 122u, 138u, 123u, + 89u, 207u, 0u, 69u, + 225u, 59u, 123u, 48u, + 191u, 123u, 48u, 255u, + 45u, 143u, 112u, 188u, + 140u, 137u, 135u, 117u, + 104u, 185u, 30u, 145u, + 210u, 165u, 198u, 63u, + 163u, 103u, 101u, 116u, + 157u, 30u, 139u, 255u, + 62u, 202u, 139u, 133u, + 121u, 111u, 1u, 126u, + 95u, 163u, 78u, 64u, + 84u, 131u, 160u, 179u, + 89u, 128u, 169u, 143u, + 124u, 255u, 180u, 205u, + 108u, 207u, 91u, 90u, + 54u, 72u, 107u, 145u, + 102u, 89u, 110u, 121u, + 61u, 200u, 54u, 128u, + 169u, 26u, 106u, 125u, + 110u, 255u, 114u, 243u, + 141u, 140u, 95u, 142u, + 217u, 102u, 137u, 60u, + 105u, 83u, 159u, 255u, + 177u, 141u, 124u, 157u, + 104u, 113u, 68u, 99u, + 191u, 133u, 93u, 106u, + 149u, 169u, 131u, 91u, + 111u, 100u, 92u, 142u, + 123u, 255u, 119u, 132u, + 198u, 63u, 201u, 199u, + 120u, 147u, 117u, 159u, + 90u, 91u, 45u, 0u, + 115u, 152u, 203u, 112u, + 137u, 142u, 84u, 133u, + 81u, 104u, 255u, 75u, + 170u, 113u, 153u, 145u, + 198u, 104u, 175u, 89u, + 91u, 135u, 69u, 243u, + 80u, 130u, 221u, 156u, + 97u, 159u, 55u, 255u, + 231u, 158u, 160u, 135u, + 149u, 55u, 185u, 89u, + 159u, 99u, 1u, 221u, + 122u, 229u, 181u, 101u, + 37u, 167u, 4u, 97u, + 85u, 145u, 159u, 255u, + 181u, 199u, 66u, 105u, + 75u, 157u, 39u, 158u, + 204u, 34u, 150u, 177u, + 52u, 13u, 255u, 152u, + 43u, 187u, 54u, 82u, + 233u, 4u, 242u, 197u, + 228u, 102u, 147u, 159u, + 115u, 212u, 155u, 49u, + 154u, 171u, 177u, 104u, + 104u, 27u, 255u, 107u, + 147u, 130u, 125u, 132u, + 96u, 58u, 122u, 216u, + 112u, 43u, 148u, 96u, + 161u, 101u, 133u, 81u, + 35u, 190u, 138u, 1u, + 109u, 54u, 211u, 93u, + 138u, 107u, 255u, 128u, + 105u, 115u, 129u, 163u, + 94u, 167u, 181u, 143u, + 26u, 201u, 134u, 64u, + 107u, 126u, 142u, 83u, + 150u, 82u, 155u, 205u, + 119u, 121u, 224u, 255u, + 195u, 141u, 255u, 125u, + 30u, 50u, 48u, 75u, + 134u, 115u, 158u, 102u, + 49u, 180u, 74u, 159u, + 199u, 151u, 155u, 77u, + 70u, 26u, 36u, 132u, + 149u, 255u, 162u, 51u, + 48u, 73u, 55u, 125u, + 232u, 196u, 125u, 39u, + 1u, 84u, 120u, 135u, + 58u, 4u, 198u, 199u, + 100u, 77u, 210u, 167u, + 186u, 172u, 183u, 55u, + 112u, 99u, 172u, 107u, + 1u, 148u, 100u, 144u, + 152u, 176u, 101u, 157u, + 123u, 159u, 1u, 122u, + 204u, 93u, 69u, 192u, + 173u, 156u, 202u, 184u, + 35u, 82u, 120u, 134u, + 127u, 119u, 163u, 44u, + 92u, 163u, 94u, 175u, + 186u, 164u, 255u, 198u, + 110u, 212u, 131u, 98u, + 94u, 159u, 175u, 111u, + 163u, 246u, 80u, 170u, + 216u, 53u, 87u, 144u, + 58u, 172u, 69u, 255u, + 210u, 125u, 63u, 229u, + 34u, 189u, 255u, 118u, + 149u, 69u, 124u, 161u, + 248u, 230u, 102u, 129u, + 164u, 184u, 156u, 188u, + 122u, 123u, 172u, 123u, + 255u, 103u, 29u, 152u, + 214u, 41u, 103u, 122u, + 106u, 167u, 80u, 79u, + 123u, 172u, 87u, 255u, + 108u, 152u, 117u, 130u, + 143u, 96u, 112u, 130u, + 84u, 57u, 147u, 11u, + 173u, 132u, 1u, 170u, + 47u, 170u, 50u, 108u, + 123u, 228u, 67u, 63u, + 134u, 109u, 255u, 67u, + 87u, 207u, 184u, 141u, + 45u, 86u, 85u, 150u, + 147u, 195u, 97u, 196u, + 88u, 156u, 170u, 182u, + 1u, 141u, 133u, 162u, + 125u, 30u, 150u, 226u, + 121u, 227u, 110u, 240u, + 202u, 69u, 17u, 228u, + 66u, 4u, 80u, 19u, + 129u, 165u, 217u, 214u, + 116u, 189u, 128u, 1u, + 1u, 146u, 45u, 205u, + 101u, 72u, 154u, 232u, + 112u, 75u, 17u, 156u, + 91u, 134u, 84u, 161u, + 129u, 206u, 164u, 119u, + 104u, 174u, 45u, 127u, + 87u, 1u, 192u, 176u, + 125u, 182u, 82u, 190u, + 162u, 184u, 189u, 41u, + 100u, 97u, 185u, 114u, + 181u, 1u, 206u, 102u, + 69u, 119u, 136u, 130u, + 203u, 63u, 73u, 54u, + 223u, 19u, 128u, 222u, + 34u, 241u, 165u, 116u, + 82u, 201u, 144u, 1u, + 60u, 124u, 91u, 18u, + 126u, 94u, 169u, 171u, + 209u, 163u, 160u, 255u, + 137u, 127u, 134u, 74u, + 71u, 157u, 115u, 93u, + 187u, 98u, 1u, 187u, + 113u, 40u, 102u, 151u, + 72u, 21u, 41u, 161u, + 178u, 152u, 160u, 255u, + 84u, 132u, 145u, 125u, + 138u, 130u, 87u, 170u, + 115u, 83u, 135u, 117u, + 197u, 107u, 148u, 181u, + 1u, 113u, 126u, 91u, + 168u, 176u, 116u, 147u, + 126u, 108u, 194u, 130u, + 0u, 187u, 254u, 88u, + 196u, 123u, 45u, 67u, + 197u, 39u, 145u, 123u, + 92u, 160u, 70u, 84u, + 128u, 125u, 1u, 126u, + 76u, 29u, 131u, 186u, + 21u, 56u, 23u, 117u, + 78u, 188u, 124u, 95u, + 51u, 51u, 140u, 97u, + 137u, 104u, 160u, 116u, + 159u, 14u, 255u, 69u, + 142u, 137u, 86u, 146u, + 105u, 88u, 0u, 99u, + 197u, 188u, 63u, 106u, + 169u, 183u, 58u, 67u, + 19u, 155u, 73u, 222u, + 172u, 155u, 1u, 207u, + 135u, 143u, 87u, 97u, + 103u, 186u, 29u, 111u, + 138u, 137u, 109u, 96u, + 73u, 130u, 174u, 132u, + 140u, 254u, 86u, 102u, + 90u, 50u, 140u, 141u, + 255u, 121u, 153u, 157u, + 223u, 211u, 172u, 99u, + 150u, 56u, 117u, 73u, + 166u, 148u, 137u, 178u, + 75u, 255u, 83u, 59u, + 94u, 171u, 159u, 110u, + 113u, 141u, 46u, 238u, + 11u, 213u, 119u, 47u, + 200u, 1u, 150u, 199u, + 123u, 54u, 160u, 74u, + 255u, 106u, 136u, 99u, + 140u, 203u, 130u, 217u, + 241u, 192u, 162u, 94u, + 1u, 155u, 189u, 126u, + 102u, 78u, 202u, 174u, + 203u, 67u, 128u, 108u, + 83u, 41u, 107u, 63u, + 84u, 49u, 89u, 169u, + 168u, 135u, 96u, 174u, + 78u, 204u, 1u, 104u, + 205u, 88u, 92u, 164u, + 180u, 178u, 118u, 104u, + 255u, 90u, 145u, 135u, + 80u, 95u, 143u, 131u, + 113u, 248u, 148u, 106u, + 55u, 57u, 72u, 174u, + 190u, 234u, 127u, 148u, + 139u, 62u, 90u, 117u, + 116u, 182u, 191u, 255u, + 191u, 206u, 111u, 173u, + 145u, 204u, 168u, 118u, + 84u, 145u, 140u, 211u, + 85u, 133u, 1u, 148u, + 97u, 95u, 186u, 102u, + 64u, 153u, 255u, 110u, + 30u, 225u, 55u, 122u, + 132u, 72u, 190u, 200u, + 218u, 141u, 74u, 206u, + 76u, 148u, 70u, 255u, + 187u, 137u, 140u, 77u, + 97u, 138u, 34u, 127u, + 119u, 131u, 211u, 84u, + 166u, 255u, 210u, 183u, + 134u, 91u, 166u, 195u, + 129u, 146u, 107u, 69u, + 107u, 1u, 90u, 134u, + 149u, 63u, 245u, 87u, + 104u, 120u, 7u, 66u, + 49u, 198u, 125u, 108u, + 115u, 180u, 130u, 151u, + 0u, 153u, 233u, 113u, + 133u, 69u, 143u, 65u, + 189u, 133u, 212u, 107u, + 9u, 170u, 255u, 120u, + 107u, 151u, 71u, 34u, + 19u, 34u, 132u, 159u, + 190u, 166u, 115u, 172u, + 37u, 58u, 198u, 187u, + 91u, 96u, 105u, 37u, + 1u, 41u, 40u, 29u, + 60u, 154u, 156u, 177u, + 91u, 159u, 136u, 151u, + 154u, 95u, 255u, 148u, + 83u, 173u, 138u, 206u, + 217u, 138u, 65u, 69u, + 191u, 76u, 222u, 106u, + 100u, 236u, 139u, 78u, + 97u, 97u, 255u, 247u, + 210u, 212u, 127u, 93u, + 1u, 147u, 161u, 100u, + 209u, 143u, 150u, 56u, + 98u, 124u, 102u, 72u, + 164u, 126u, 252u, 119u, + 43u, 206u, 226u, 160u, + 134u, 172u, 73u, 52u, + 100u, 142u, 164u, 255u, + 90u, 160u, 5u, 255u, + 1u, 168u, 132u, 96u, + 151u, 189u, 74u, 131u, + 86u, 102u, 108u, 106u, + 102u, 111u, 150u, 193u, + 157u, 64u, 71u, 90u, + 165u, 177u, 211u, 213u, + 65u, 116u, 1u, 97u, + 119u, 144u, 86u, 79u, + 54u, 82u, 46u, 255u, + 116u, 67u, 183u, 127u, + 99u, 132u, 56u, 88u, + 171u, 34u, 182u, 147u, + 174u, 95u, 110u, 106u, + 7u, 21u, 109u, 78u, + 113u, 169u, 122u, 60u, + 1u, 65u, 131u, 127u, + 96u, 13u, 48u, 255u, + 127u, 80u, 191u, 81u, + 185u, 132u, 46u, 213u, + 44u, 77u, 69u, 142u, + 158u, 208u, 35u, 255u, + 58u, 172u, 119u, 156u, + 82u, 86u, 89u, 171u, + 133u, 70u, 53u, 175u, + 146u, 67u, 165u, 121u, + 172u, 137u, 181u, 223u, + 139u, 84u, 102u, 1u, + 124u, 144u, 116u, 70u, + 184u, 35u, 221u, 201u, + 156u, 97u, 1u, 126u, + 29u, 101u, 36u, 171u, + 93u, 1u, 77u, 168u, + 147u, 161u, 80u, 92u, + 127u, 150u, 70u, 150u, + 109u, 130u, 255u, 223u, + 151u, 148u, 170u, 84u, + 255u, 186u, 168u, 190u, + 165u, 24u, 53u, 185u, + 191u, 245u, 140u, 245u, + 87u, 184u, 194u, 199u, + 111u, 172u, 80u, 184u, + 5u, 192u, 191u, 198u, + 117u, 255u, 115u, 123u, + 133u, 106u, 33u, 237u, + 152u, 174u, 107u, 195u, + 150u, 255u, 14u, 34u, + 138u, 60u, 109u, 135u, + 118u, 120u, 231u, 117u, + 84u, 173u, 63u, 43u, + 140u, 200u, 122u, 0u, + 160u, 184u, 139u, 67u, + 176u, 177u, 57u, 83u, + 164u, 101u, 224u, 180u, + 176u, 103u, 255u, 29u, + 112u, 160u, 30u, 132u, + 209u, 241u, 115u, 107u, + 175u, 82u, 202u, 194u, + 91u, 179u, 190u, 112u, + 186u, 116u, 1u, 91u, + 158u, 141u, 95u, 147u, + 179u, 85u, 72u, 255u, + 76u, 209u, 104u, 65u, + 130u, 107u, 70u, 152u, + 185u, 204u, 12u, 163u, + 223u, 142u, 165u, 220u, + 172u, 97u, 127u, 85u, + 170u, 104u, 59u, 160u, + 211u, 227u, 143u, 1u, + 86u, 91u, 72u, 162u, + 133u, 146u, 126u, 18u, + 97u, 158u, 106u, 31u, + 47u, 255u, 173u, 140u, + 86u, 92u, 16u, 108u, + 73u, 111u, 195u, 184u, + 148u, 255u, 91u, 157u, + 68u, 109u, 148u, 167u, + 132u, 165u, 179u, 149u, + 68u, 90u, 142u, 144u, + 136u, 154u, 163u, 126u, + 255u, 104u, 127u, 55u, + 117u, 164u, 123u, 118u, + 166u, 101u, 160u, 12u, + 51u, 106u, 145u, 135u, + 124u, 121u, 255u, 166u, + 44u, 155u, 154u, 52u, + 255u, 182u, 164u, 116u, + 59u, 97u, 70u, 122u, + 39u, 132u, 151u, 128u, + 75u, 126u, 164u, 147u, + 209u, 144u, 120u, 48u, + 141u, 217u, 143u, 158u, + 91u, 109u, 114u, 255u, + 72u, 126u, 96u, 97u, + 130u, 185u, 167u, 67u, + 41u, 129u, 126u, 115u, + 255u, 92u, 113u, 163u, + 53u, 147u, 9u, 80u, + 16u, 102u, 211u, 224u, + 172u, 157u, 255u, 219u, + 106u, 46u, 101u, 120u, + 178u, 152u, 184u, 212u, + 19u, 255u, 236u, 120u, + 220u, 197u, 124u, 179u, + 124u, 213u, 225u, 109u, + 69u, 176u, 45u, 98u, + 177u, 255u, 26u, 138u, + 190u, 137u, 146u, 110u, + 118u, 130u, 121u, 97u, + 51u, 167u, 50u, 0u, + 65u, 115u, 88u, 116u, + 148u, 146u, 212u, 123u, + 149u, 133u, 191u, 168u, + 84u, 136u, 235u, 141u, + 32u, 150u, 151u, 49u, + 255u, 129u, 157u, 194u, + 60u, 197u, 140u, 196u, + 167u, 233u, 151u, 160u, + 63u, 214u, 166u, 116u, + 132u, 22u, 173u, 255u, + 114u, 126u, 203u, 121u, + 140u, 139u, 1u, 146u, + 108u, 184u, 149u, 199u, + 183u, 121u, 172u, 188u, + 118u, 173u, 120u, 110u, + 135u, 68u, 31u, 151u, + 124u, 111u, 190u, 161u, + 194u, 207u, 39u, 55u, + 1u, 221u, 65u, 49u, + 212u, 135u, 152u, 141u, + 120u, 115u, 149u, 151u, + 110u, 0u, 139u, 219u, + 74u, 234u, 232u, 162u, + 61u, 148u, 193u, 15u, + 153u, 201u, 233u, 165u, + 74u, 255u, 83u, 159u, + 179u, 99u, 54u, 110u, + 149u, 255u, 194u, 113u, + 128u, 135u, 66u, 190u, + 165u, 153u, 150u, 128u, + 130u, 137u, 78u, 131u, + 141u, 195u, 51u, 84u, + 196u, 255u, 50u, 124u, + 168u, 213u, 132u, 155u, + 145u, 158u, 26u, 85u, + 166u, 209u, 212u, 91u, + 175u, 84u, 154u, 30u, + 138u, 25u, 255u, 118u, + 147u, 254u, 248u, 213u, + 152u, 144u, 68u, 180u, + 170u, 174u, 103u, 188u, + 170u, 180u, 156u, 85u, + 9u, 21u, 0u, 87u, + 180u, 190u, 93u, 239u, + 208u, 255u, 102u, 144u, + 12u, 96u, 44u, 119u, + 197u, 150u, 125u, 90u, + 90u, 191u, 117u, 112u, + 0u, 142u, 92u, 140u, + 129u, 232u, 132u, 189u, + 14u, 159u, 92u, 211u, + 88u, 119u, 176u, 129u, + 241u, 119u, 42u, 0u, + 100u, 115u, 94u, 144u, + 182u, 75u, 120u, 201u, + 106u, 148u, 218u, 141u, + 239u, 83u, 181u, 94u, + 100u, 162u, 1u, 50u, + 87u, 89u, 218u, 184u, + 98u, 225u, 75u, 178u, + 1u, 129u, 80u, 187u, + 92u, 150u, 237u, 117u, + 147u, 68u, 94u, 159u, + 77u, 68u, 245u, 114u, + 84u, 153u, 150u, 201u, + 1u, 25u, 42u, 23u, + 62u, 103u, 126u, 202u, + 33u, 136u, 126u, 73u, + 227u, 90u, 119u, 115u, + 230u, 32u, 148u, 224u, + 82u, 255u, 80u, 60u, + 190u, 78u, 170u, 138u, + 156u, 115u, 255u, 60u, + 225u, 182u, 27u, 102u, + 85u, 117u, 80u, 92u, + 1u, 160u, 30u, 159u, + 168u, 56u, 92u, 42u, + 54u, 122u, 145u, 98u, + 75u, 72u, 157u, 168u, + 255u, 140u, 136u, 214u, + 17u, 67u, 102u, 49u, + 176u, 251u, 42u, 38u, + 146u, 76u, 69u, 83u, + 176u, 73u, 90u, 186u, + 144u, 171u, 74u, 131u, + 255u, 131u, 125u, 121u, + 129u, 80u, 95u, 153u, + 170u, 255u, 109u, 94u, + 84u, 85u, 152u, 161u, + 96u, 233u, 214u, 155u, + 170u, 149u, 122u, 108u, + 122u, 156u, 160u, 26u, + 157u, 207u, 93u, 255u, + 71u, 189u, 197u, 182u, + 115u, 124u, 141u, 225u, + 68u, 100u, 223u, 60u, + 142u, 91u, 51u, 84u, + 75u, 108u, 107u, 1u, + 86u, 216u, 109u, 108u, + 196u, 74u, 195u, 58u, + 118u, 76u, 1u, 155u, + 148u, 157u, 201u, 31u, + 92u, 89u, 181u, 88u, + 106u, 226u, 79u, 44u, + 40u, 135u, 255u, 99u, + 51u, 124u, 120u, 120u, + 136u, 118u, 149u, 133u, + 209u, 24u, 72u, 81u, + 11u, 120u, 115u, 255u, + 99u, 112u, 67u, 34u, + 79u, 32u, 218u, 78u, + 252u, 71u, 117u, 156u, + 99u, 31u, 63u, 111u, + 239u, 158u, 104u, 93u, + 42u, 103u, 255u, 196u, + 39u, 201u, 118u, 112u, + 137u, 0u, 126u, 24u, + 155u, 10u, 235u, 205u, + 63u, 97u, 97u, 57u, + 163u, 166u, 205u, 61u, + 122u, 80u, 173u, 0u, + 98u, 49u, 119u, 187u, + 141u, 194u, 180u, 143u, + 1u, 77u, 138u, 55u, + 113u, 184u, 164u, 199u, + 143u, 203u, 148u, 119u, + 139u, 179u, 79u, 182u, + 88u, 145u, 121u, 145u, + 37u, 156u, 163u, 173u, + 106u, 135u, 172u, 98u, + 127u, 255u, 126u, 155u, + 156u, 105u, 63u, 108u, + 149u, 65u, 255u, 205u, + 136u, 115u, 112u, 170u, + 193u, 118u, 91u, 51u, + 97u, 72u, 94u, 197u, + 132u, 169u, 165u, 200u, + 137u, 1u, 145u, 80u, + 127u, 84u, 159u, 104u, + 115u, 76u, 123u, 82u, + 132u, 133u, 255u, 234u, + 189u, 96u, 140u, 217u, + 124u, 124u, 203u, 122u, + 77u, 149u, 71u, 153u, + 101u, 93u, 1u, 215u, + 139u, 112u, 130u, 172u, + 17u, 41u, 137u, 220u, + 100u, 167u, 178u, 150u, + 255u, 223u, 116u, 126u, + 77u, 48u, 63u, 137u, + 104u, 124u, 7u, 135u, + 255u, 193u, 130u, 167u, + 86u, 159u, 186u, 127u, + 41u, 173u, 109u, 128u, + 207u, 181u, 131u, 159u, + 107u, 144u, 141u, 101u, + 101u, 139u, 81u, 162u, + 168u, 1u, 134u, 105u, + 38u, 174u, 95u, 75u, + 102u, 148u, 152u, 131u, + 162u, 156u, 100u, 111u, + 183u, 0u, 86u, 68u, + 86u, 134u, 182u, 117u, + 134u, 123u, 68u, 151u, + 1u, 73u, 124u, 39u, + 201u, 134u, 114u, 161u, + 71u, 192u, 108u, 141u, + 222u, 99u, 108u, 122u, + 209u, 105u, 209u, 232u, + 98u, 83u, 69u, 72u, + 61u, 22u, 255u, 160u, + 120u, 131u, 154u, 179u, + 239u, 255u, 246u, 114u, + 43u, 100u, 43u, 134u, + 134u, 208u, 98u, 151u, + 154u, 162u, 171u, 61u, + 59u, 114u, 153u, 83u, + 173u, 144u, 255u, 188u, + 144u, 169u, 149u, 25u, + 252u, 129u, 106u, 155u, + 126u, 126u, 0u, 181u, + 54u, 154u, 144u, 69u, + 69u, 40u, 129u, 185u, + 157u, 125u, 138u, 92u, + 124u, 209u, 255u, 132u, + 114u, 254u, 10u, 146u, + 150u, 36u, 76u, 94u, + 1u, 100u, 20u, 195u, + 139u, 228u, 70u, 244u, + 208u, 6u, 152u, 117u, + 15u, 47u, 212u, 194u, + 210u, 152u, 157u, 137u, + 100u, 146u, 139u, 180u, + 160u, 0u, 90u, 137u, + 173u, 173u, 77u, 126u, + 59u, 69u, 173u, 61u, + 179u, 207u, 105u, 85u, + 255u, 237u, 70u, 129u, + 92u, 161u, 152u, 107u, + 28u, 124u, 12u, 103u, + 93u, 189u, 210u, 184u, + 81u, 190u, 142u, 69u, + 129u, 1u, 186u, 165u, + 176u, 97u, 105u, 255u, + 142u, 99u, 96u, 66u, + 112u, 89u, 82u, 146u, + 102u, 138u, 87u, 162u, + 170u, 255u, 143u, 76u, + 187u, 233u, 243u, 198u, + 32u, 45u, 20u, 199u, + 83u, 25u, 210u, 242u, + 152u, 148u, 6u, 38u, + 10u, 174u, 80u, 229u, + 93u, 47u, 238u, 123u, + 145u, 160u, 196u, 255u, + 213u, 180u, 116u, 113u, + 83u, 212u, 167u, 150u, + 73u, 126u, 37u, 227u, + 86u, 175u, 52u, 1u, + 247u, 221u, 148u, 1u, + 23u, 23u, 145u, 166u, + 76u, 78u, 134u, 138u, + 36u, 219u, 241u, 95u, + 220u, 40u, 76u, 151u, + 0u, 144u, 41u, 116u, + 118u, 152u, 135u, 75u, + 14u, 127u, 42u, 159u, + 130u, 180u, 1u, 11u, + 165u, 101u, 121u, 241u, + 72u, 144u, 217u, 132u, + 159u, 175u, 150u, 224u, + 1u, 72u, 119u, 202u, + 48u, 163u, 134u, 149u, + 137u, 194u, 78u, 112u, + 173u, 94u, 131u, 63u, + 144u, 169u, 255u, 53u, + 25u, 173u, 170u, 69u, + 108u, 34u, 92u, 146u, + 150u, 160u, 140u, 147u, + 146u, 140u, 108u, 50u, + 68u, 77u, 255u, 139u, + 133u, 159u, 164u, 122u, + 144u, 124u, 108u, 93u, + 92u, 34u, 153u, 119u, + 137u, 99u, 255u, 83u, + 211u, 199u, 113u, 129u, + 132u, 22u, 12u, 15u, + 104u, 76u, 152u, 1u, + 192u, 109u, 150u, 181u, + 128u, 129u, 156u, 150u, + 142u, 46u, 130u, 108u, + 162u, 103u, 1u, 213u, + 144u, 96u, 96u, 94u, + 111u, 45u, 123u, 68u, + 110u, 128u, 116u, 77u, + 85u, 142u, 1u, 150u, + 130u, 59u, 160u, 88u, + 205u, 127u, 185u, 193u, + 81u, 30u, 57u, 109u, + 255u, 126u, 82u, 173u, + 151u, 144u, 73u, 80u, + 61u, 71u, 82u, 154u, + 186u, 116u, 165u, 116u, + 134u, 74u, 144u, 221u, + 71u, 129u, 201u, 164u, + 119u, 214u, 87u, 255u, + 177u, 74u, 130u, 80u, + 60u, 119u, 103u, 132u, + 105u, 175u, 95u, 41u, + 117u, 223u, 94u, 255u, + 114u, 25u, 55u, 170u, + 191u, 53u, 58u, 255u, + 108u, 139u, 182u, 24u, + 63u, 66u, 3u, 29u, + 102u, 197u, 173u, 63u, + 36u, 182u, 194u, 107u, + 240u, 102u, 178u, 114u, + 30u, 245u, 145u, 255u, + 143u, 103u, 47u, 152u, + 113u, 127u, 150u, 1u, + 169u, 160u, 155u, 227u, + 173u, 136u, 220u, 142u, + 106u, 243u, 115u, 85u, + 122u, 129u, 39u, 98u, + 1u, 76u, 96u, 35u, + 42u, 237u, 165u, 79u, + 70u, 216u, 210u, 172u, + 172u, 1u, 92u, 254u, + 100u, 228u, 111u, 166u, + 137u, 138u, 55u, 25u, + 65u, 118u, 92u, 222u, + 123u, 42u, 165u, 99u, + 50u, 150u, 80u, 103u, + 131u, 180u, 36u, 1u, + 98u, 111u, 200u, 183u, + 218u, 79u, 120u, 138u, + 35u, 110u, 1u, 165u, + 66u, 146u, 157u, 42u, + 60u, 84u, 69u, 108u, + 181u, 148u, 208u, 118u, + 255u, 187u, 108u, 109u, + 157u, 94u, 107u, 137u, + 116u, 167u, 147u, 115u, + 90u, 72u, 162u, 111u, + 255u, 104u, 111u, 14u, + 182u, 209u, 105u, 161u, + 246u, 53u, 177u, 129u, + 181u, 50u, 128u, 192u, + 160u, 170u, 21u, 1u, + 166u, 98u, 62u, 134u, + 76u, 159u, 133u, 144u, + 130u, 133u, 105u, 11u, + 239u, 154u, 78u, 151u, + 144u, 170u, 214u, 111u, + 161u, 182u, 255u, 124u, + 114u, 27u, 193u, 53u, + 173u, 170u, 156u, 206u, + 75u, 167u, 97u, 122u, + 101u, 59u, 1u, 138u +}; + +const float16 LangIdNNParams::kEmbeddingsQuantScales2[] = { + 15326u, 14732u, 15691u, 15376u, + 15247u, 15495u, 15073u, 15315u, + 15133u, 15123u, 15689u, 15563u +}; + +const uint8 LangIdNNParams::kEmbeddingsWeights2[] = { + 86u, 205u, 131u, 1u, + 133u, 159u, 159u, 17u, + 0u, 223u, 83u, 110u, + 158u, 191u, 203u, 63u, + 255u, 60u, 160u, 192u, + 92u, 63u, 31u, 162u, + 175u, 4u, 191u, 1u, + 174u, 89u, 174u, 242u, + 16u, 248u, 108u, 69u, + 112u, 134u, 179u, 1u, + 140u, 108u, 128u, 155u, + 203u, 137u, 112u, 1u, + 1u, 244u, 86u, 136u, + 105u, 176u, 186u, 123u, + 107u, 101u, 139u, 122u, + 255u, 79u, 170u, 117u, + 151u, 161u, 111u, 255u, + 192u, 78u, 79u, 16u, + 75u, 122u, 75u, 80u, + 7u, 83u, 82u, 0u, + 20u, 255u, 70u, 190u, + 123u, 186u, 149u, 25u, + 35u, 255u, 35u, 181u, + 136u, 190u, 152u, 23u +}; + +const float16 LangIdNNParams::kEmbeddingsQuantScales3[] = { + 15326u, 14533u, 15603u, 15265u, + 15642u, 15510u, 15463u, 15291u, + 15305u, 15116u, 15569u, 15640u, + 15626u, 15259u, 15567u, 15633u, + 15628u, 15614u, 15599u, 15599u, + 15566u, 15260u, 15637u, 15629u, + 15539u, 15632u, 15235u, 15275u, + 15343u, 15218u, 15574u, 15282u, + 15207u, 15297u, 15356u, 15232u, + 15334u, 15260u, 15309u, 15238u, + 15203u, 15293u, 15251u, 15311u, + 15240u, 15236u, 15259u, 15266u, + 15162u, 15302u, 15194u, 15271u, + 15263u, 15171u, 15240u, 15296u, + 15370u, 15205u, 15288u, 15259u, + 15262u, 15347u, 15296u, 15357u, + 15190u, 15259u, 15302u, 15282u, + 15240u, 15285u, 15254u, 15264u, + 15267u, 15342u, 15222u, 15267u, + 15322u, 15353u, 15235u, 15252u, + 15243u, 15222u, 15268u, 15232u, + 15233u, 15201u, 15293u, 15140u, + 15241u, 15299u, 15305u, 15338u, + 15257u, 15202u, 15274u, 15284u, + 15175u, 15239u, 15215u, 15233u, + 15341u, 15230u, 15648u +}; + +const uint8 LangIdNNParams::kEmbeddingsWeights3[] = { + 86u, 205u, 131u, 1u, + 133u, 159u, 159u, 17u, + 255u, 66u, 64u, 129u, + 65u, 15u, 161u, 199u, + 189u, 189u, 81u, 255u, + 55u, 138u, 90u, 110u, + 136u, 76u, 183u, 70u, + 185u, 1u, 171u, 183u, + 154u, 255u, 88u, 170u, + 67u, 36u, 218u, 99u, + 255u, 190u, 89u, 205u, + 91u, 51u, 176u, 15u, + 142u, 112u, 46u, 141u, + 12u, 74u, 171u, 255u, + 142u, 110u, 145u, 236u, + 185u, 0u, 109u, 203u, + 168u, 67u, 129u, 66u, + 117u, 1u, 233u, 200u, + 51u, 32u, 100u, 175u, + 150u, 192u, 107u, 0u, + 1u, 153u, 153u, 7u, + 136u, 59u, 212u, 204u, + 255u, 151u, 60u, 115u, + 93u, 95u, 126u, 157u, + 85u, 131u, 38u, 255u, + 135u, 153u, 61u, 176u, + 94u, 123u, 179u, 118u, + 217u, 213u, 1u, 29u, + 156u, 182u, 34u, 255u, + 24u, 154u, 112u, 218u, + 169u, 154u, 167u, 112u, + 108u, 116u, 164u, 255u, + 184u, 159u, 144u, 255u, + 172u, 82u, 130u, 165u, + 88u, 72u, 103u, 150u, + 179u, 205u, 58u, 255u, + 1u, 117u, 108u, 175u, + 91u, 113u, 161u, 238u, + 56u, 1u, 159u, 39u, + 83u, 161u, 145u, 236u, + 175u, 1u, 73u, 224u, + 129u, 32u, 121u, 249u, + 94u, 31u, 1u, 42u, + 21u, 124u, 154u, 208u, + 128u, 142u, 209u, 1u, + 159u, 163u, 139u, 141u, + 188u, 161u, 137u, 68u, + 152u, 0u, 209u, 151u, + 101u, 255u, 124u, 141u, + 59u, 79u, 175u, 145u, + 255u, 67u, 103u, 132u, + 171u, 164u, 110u, 191u, + 123u, 77u, 153u, 77u, + 190u, 120u, 255u, 77u, + 77u, 92u, 135u, 132u, + 255u, 218u, 174u, 189u, + 156u, 135u, 1u, 54u, + 172u, 78u, 89u, 140u, + 125u, 116u, 93u, 175u, + 36u, 238u, 62u, 1u, + 253u, 77u, 203u, 22u, + 135u, 91u, 175u, 255u, + 181u, 148u, 255u, 124u, + 112u, 163u, 155u, 200u, + 31u, 58u, 111u, 155u, + 255u, 240u, 145u, 155u, + 116u, 1u, 113u, 193u, + 153u, 255u, 132u, 201u, + 146u, 1u, 158u, 105u, + 123u, 146u, 106u, 113u, + 46u, 132u, 205u, 226u, + 68u, 99u, 148u, 255u, + 109u, 110u, 64u, 26u, + 44u, 157u, 255u, 111u, + 113u, 255u, 121u, 153u, + 73u, 116u, 11u, 56u, + 201u, 255u, 149u, 202u, + 171u, 190u, 123u, 186u, + 1u, 5u, 212u, 31u, + 13u, 150u, 252u, 187u, + 74u, 255u, 145u, 173u, + 162u, 69u, 19u, 145u, + 134u, 153u, 245u, 242u, + 4u, 243u, 81u, 1u, + 220u, 1u, 161u, 3u, + 124u, 138u, 73u, 77u, + 1u, 213u, 83u, 172u, + 131u, 64u, 138u, 93u, + 121u, 8u, 244u, 0u, + 57u, 123u, 109u, 0u, + 158u, 117u, 115u, 135u, + 255u, 21u, 123u, 190u, + 183u, 197u, 24u, 114u, + 224u, 53u, 116u, 1u, + 104u, 107u, 64u, 159u, + 109u, 184u, 116u, 255u, + 98u, 89u, 130u, 15u, + 18u, 255u, 219u, 4u, + 201u, 10u, 1u, 177u, + 56u, 103u, 127u, 97u, + 106u, 48u, 143u, 255u, + 68u, 29u, 137u, 44u, + 164u, 255u, 170u, 134u, + 132u, 226u, 234u, 143u, + 48u, 150u, 47u, 49u, + 132u, 35u, 255u, 28u, + 0u, 146u, 165u, 72u, + 34u, 130u, 165u, 148u, + 146u, 180u, 159u, 101u, + 1u, 115u, 166u, 44u, + 237u, 0u, 237u, 80u, + 148u, 118u, 213u, 112u, + 110u, 128u, 255u, 113u, + 104u, 157u, 76u, 80u, + 130u, 129u, 212u, 1u, + 205u, 22u, 133u, 142u, + 29u, 84u, 156u, 118u, + 49u, 147u, 173u, 255u, + 92u, 152u, 135u, 171u, + 22u, 1u, 212u, 55u, + 147u, 255u, 57u, 91u, + 92u, 68u, 128u, 153u, + 86u, 67u, 62u, 132u, + 163u, 164u, 182u, 1u, + 255u, 210u, 131u, 77u, + 76u, 24u, 204u, 107u, + 151u, 255u, 133u, 146u, + 112u, 151u, 85u, 192u, + 24u, 15u, 149u, 255u, + 122u, 234u, 187u, 120u, + 130u, 36u, 205u, 85u, + 131u, 82u, 182u, 1u, + 55u, 1u, 196u, 78u, + 145u, 158u, 94u, 158u, + 31u, 76u, 50u, 18u, + 78u, 255u, 162u, 134u, + 29u, 77u, 92u, 128u, + 48u, 206u, 147u, 255u, + 104u, 158u, 93u, 1u, + 72u, 92u, 99u, 183u, + 9u, 24u, 225u, 236u, + 255u, 148u, 84u, 128u, + 113u, 136u, 70u, 204u, + 97u, 255u, 73u, 107u, + 159u, 1u, 55u, 134u, + 230u, 117u, 132u, 215u, + 98u, 175u, 96u, 82u, + 255u, 100u, 71u, 223u, + 86u, 146u, 81u, 139u, + 232u, 1u, 169u, 149u, + 90u, 119u, 99u, 160u, + 90u, 190u, 164u, 255u, + 242u, 107u, 28u, 113u, + 151u, 178u, 255u, 180u, + 179u, 21u, 135u, 178u, + 137u, 150u, 1u, 159u, + 209u, 233u, 255u, 132u, + 214u, 108u, 91u, 121u, + 14u, 118u, 16u, 36u, + 116u, 51u, 120u, 1u, + 178u, 1u, 150u, 228u, + 161u, 140u, 216u, 98u, + 128u, 181u, 146u, 91u, + 170u, 1u, 88u, 18u, + 215u, 97u, 170u, 191u, + 144u, 0u, 36u, 101u, + 62u, 134u, 91u, 255u, + 40u, 15u, 181u, 82u, + 95u, 82u, 1u, 56u, + 183u, 215u, 149u, 80u, + 183u, 218u, 255u, 157u, + 232u, 138u, 105u, 38u, + 54u, 81u, 94u, 91u, + 255u, 99u, 82u, 91u, + 53u, 204u, 206u, 112u, + 213u, 255u, 216u, 117u, + 67u, 92u, 67u, 45u, + 0u, 90u, 88u, 93u, + 83u, 112u, 103u, 255u, + 66u, 159u, 126u, 13u, + 1u, 147u, 124u, 139u, + 130u, 94u, 216u, 130u, + 136u, 64u, 135u, 172u, + 161u, 1u, 155u, 146u, + 202u, 195u, 255u, 236u, + 101u, 48u, 145u, 63u, + 124u, 165u, 119u, 255u, + 141u, 111u, 106u, 3u, + 1u, 228u, 64u, 16u, + 106u, 146u, 127u, 151u, + 105u, 174u, 39u, 193u, + 142u, 185u, 50u, 1u, + 208u, 163u, 71u, 72u, + 154u, 9u, 1u, 155u, + 168u, 105u, 135u, 14u, + 61u, 74u, 146u, 1u, + 140u, 1u, 153u, 111u, + 26u, 99u, 168u, 73u, + 172u, 200u, 168u, 211u, + 227u, 168u, 255u, 79u, + 231u, 201u, 193u, 169u, + 138u, 144u, 64u, 255u, + 120u, 110u, 172u, 201u, + 157u, 123u, 82u, 255u, + 255u, 166u, 152u, 74u, + 188u, 115u, 118u, 81u +}; + +const float16 LangIdNNParams::kEmbeddingsQuantScales4[] = { + 15435u, 15371u, 15387u, 15344u, + 15402u, 15321u, 15429u, 15362u, + 15265u, 15246u, 15376u, 15408u, + 15279u, 15365u, 15498u, 15299u, + 15394u, 15419u, 15405u, 15264u, + 15426u, 15367u, 15244u, 15484u, + 15422u, 15293u, 15407u, 15313u, + 15432u, 15459u, 15391u, 15388u, + 15381u, 15284u, 15279u, 15239u, + 15326u, 15391u, 15298u, 15380u, + 15418u, 15354u, 15385u, 15304u, + 15499u, 15301u, 15445u, 15399u, + 15455u, 15355u, 15461u, 15404u, + 15404u, 15249u, 15339u, 15314u, + 15399u, 15562u, 15245u, 15446u, + 15421u, 15406u, 15422u, 15401u, + 15279u, 15360u, 15338u, 15426u, + 15370u, 15404u, 15379u, 15371u, + 15214u, 15298u, 15430u, 15330u, + 15256u, 15391u, 15363u, 15385u, + 15325u, 15436u, 15258u, 15433u, + 15245u, 15428u, 15262u, 15472u, + 15297u, 15316u, 15159u, 15400u, + 15357u, 15434u, 15348u, 15228u, + 15308u, 15439u, 15384u, 15364u, + 15346u, 15424u, 15380u, 15336u, + 15319u, 15361u, 15372u, 15423u, + 15256u, 15329u, 15482u, 15363u, + 15432u, 15386u, 15365u, 15274u, + 15373u, 15426u, 15244u, 15396u, + 15166u, 15251u, 15405u, 15275u, + 15305u, 15384u, 15417u, 15321u, + 15402u, 15351u, 15378u, 15335u, + 15534u, 15375u, 15318u, 15410u, + 15434u, 15276u, 15384u, 15266u, + 15425u, 15382u, 15280u, 15276u, + 15361u, 15404u, 15291u, 15375u, + 15288u, 15405u, 15343u, 15343u, + 15352u, 15373u, 15439u, 15337u, + 15497u, 15492u, 15332u, 15464u, + 15312u, 15266u, 15372u, 15373u, + 15358u, 15399u, 15419u, 15262u, + 15365u, 15403u, 15490u, 15176u, + 15348u, 15340u, 15353u, 15265u, + 15421u, 15329u, 15416u, 15210u, + 15364u, 15362u, 15386u, 15415u, + 15309u, 15245u, 15412u, 15370u, + 15423u, 15310u, 15389u, 15351u, + 15295u, 15443u, 15402u, 15231u, + 15430u, 15381u, 15293u, 15464u, + 15289u, 15424u, 15221u, 15366u, + 15249u, 15413u, 15410u, 15482u, + 15364u, 15279u, 15454u, 15338u, + 15256u, 15343u, 15364u, 15404u, + 15303u, 15396u, 15335u, 15344u, + 15395u, 15338u, 15380u, 15322u, + 15382u, 15378u, 15299u, 15405u, + 15368u, 15286u, 15464u, 15266u, + 15271u, 15386u, 15442u, 15371u, + 15308u, 15360u, 15446u, 15384u, + 15305u, 15369u, 15456u, 15372u, + 15288u, 15482u, 15424u, 15387u, + 15377u, 15528u, 15370u, 15382u, + 15363u, 15321u, 15212u, 15477u, + 15409u, 15421u, 15379u, 15343u, + 15354u, 15420u, 15315u, 15287u, + 15281u, 15274u, 15434u, 15404u, + 15241u, 15205u, 15378u, 15290u, + 15167u, 15469u, 15397u, 15383u, + 15400u, 15382u, 15419u, 15357u, + 15383u, 15376u, 15314u, 15354u, + 15326u, 15493u, 15396u, 15184u, + 15267u, 15304u, 15308u, 15271u, + 15495u, 15426u, 15320u, 15440u, + 15283u, 15262u, 15440u, 15380u, + 15361u, 15387u, 15263u, 15397u, + 15353u, 15280u, 15427u, 15322u, + 15338u, 15282u, 15355u, 15279u, + 15510u, 15327u, 15409u, 15338u, + 15360u, 15318u, 15434u, 15475u, + 15231u, 15374u, 15349u, 15571u, + 15607u, 15409u, 15428u, 15465u, + 15264u, 15434u, 15360u, 15338u, + 15434u, 15266u, 15379u, 15464u, + 15293u, 15376u, 15290u, 15389u, + 15287u, 15323u, 15283u, 15521u, + 15290u, 15340u, 15371u, 15435u, + 15391u, 15470u, 15357u, 15477u, + 15414u, 15374u, 15252u, 15302u, + 15431u, 15304u, 15410u, 15470u, + 15560u, 15372u, 15377u, 15436u, + 15234u, 15464u, 15318u, 15381u, + 15254u, 15309u, 15396u, 15377u, + 15240u, 15358u, 15319u, 15262u, + 15383u, 15424u, 15387u, 15193u, + 15330u, 15338u, 15384u, 15502u, + 15383u, 15396u, 15447u, 15235u, + 15199u, 15374u, 15250u, 15291u, + 15328u, 15252u, 15344u, 15340u, + 15406u, 15349u, 15407u, 15401u, + 15385u, 15256u, 15264u, 15355u, + 15381u, 15376u, 15352u, 15364u, + 15488u, 15459u, 15260u, 15523u, + 15370u, 15378u, 15402u, 15443u, + 15354u, 15361u, 15384u, 15392u, + 15415u, 15378u, 15300u, 15371u, + 15462u, 15429u, 15373u, 15329u, + 15363u, 15389u, 15358u, 15366u, + 15335u, 15256u, 15323u, 15302u, + 15349u, 15555u, 15370u, 15412u, + 15317u, 15527u, 15409u, 15508u, + 15283u, 15261u, 15420u, 15502u, + 15349u, 15352u, 15494u, 15414u, + 15527u, 15295u, 15300u, 15288u, + 15405u, 15316u, 15475u, 15454u, + 15570u, 15246u, 15376u, 15293u, + 15391u, 15254u, 15335u, 15257u, + 15395u, 15478u, 15279u, 15337u, + 15376u, 15246u, 15371u, 15410u, + 15323u, 15265u, 15414u, 15395u, + 15271u, 15361u, 15399u, 15251u, + 15436u, 15363u, 15546u, 15296u, + 15293u, 15277u, 15424u, 15233u, + 15482u, 15340u, 15359u, 15381u, + 15298u, 15383u, 15383u, 15278u, + 15257u, 15453u, 15346u, 15540u, + 15429u, 15279u, 15334u, 15379u, + 15354u, 15173u, 15289u, 15162u, + 15258u, 15316u, 15294u, 15456u, + 15267u, 15362u, 15300u, 15305u, + 15354u, 15251u, 15424u, 15373u, + 15367u, 15397u, 15243u, 15488u, + 15320u, 15331u, 15264u, 15429u, + 15433u, 15421u, 15276u, 15454u, + 15355u, 15529u, 15291u, 15379u, + 15436u, 15332u, 15398u, 15449u, + 15265u, 15337u, 15322u, 15245u, + 15312u, 15383u, 15492u, 15350u, + 15368u, 15454u, 15356u, 15275u, + 15344u, 15421u, 15309u, 15221u, + 15371u, 15369u, 15441u, 15424u, + 15408u, 15362u, 15506u, 15367u, + 15302u, 15524u, 15343u, 15374u, + 15351u, 15387u, 15233u, 15340u, + 15261u, 15280u, 15375u, 15544u, + 15343u, 15313u, 15361u, 15341u, + 15278u, 15272u, 15187u, 15406u, + 15318u, 15380u, 15333u, 15406u, + 15340u, 15385u, 15260u, 15304u, + 15392u, 15391u, 15362u, 15406u, + 15442u, 15286u, 15367u, 15358u, + 15324u, 15414u, 15255u, 15420u, + 15290u, 15388u, 15490u, 15433u, + 15396u, 15347u, 15423u, 15333u, + 15256u, 15418u, 15398u, 15371u, + 15414u, 15437u, 15349u, 15455u, + 15290u, 15376u, 15338u, 15348u, + 15491u, 15383u, 15423u, 15420u, + 15290u, 15472u, 15310u, 15287u, + 15362u, 15351u, 15428u, 15384u, + 15369u, 15332u, 15368u, 15299u, + 15329u, 15376u, 15363u, 15262u, + 15411u, 15350u, 15343u, 15293u, + 15380u, 15293u, 15384u, 15250u, + 15447u, 15364u, 15422u, 15329u, + 15454u, 15324u, 15296u, 15176u, + 15489u, 15356u, 15369u, 15374u, + 15398u, 15371u, 15302u, 15326u, + 15465u, 15276u, 15304u, 15368u, + 15317u, 15365u, 15367u, 15349u, + 15368u, 15353u, 15262u, 15236u, + 15423u, 15350u, 15305u, 15266u, + 15357u, 15283u, 15404u, 15368u, + 15195u, 15470u, 15428u, 15331u, + 15388u, 15320u, 15294u, 15493u, + 15275u, 15308u, 15398u, 15272u, + 15354u, 15373u, 15380u, 15285u, + 15374u, 15226u, 15261u, 15361u, + 15305u, 15269u, 15389u, 15495u, + 15303u, 15219u, 15394u, 15270u, + 15352u, 15389u, 15342u, 15387u, + 15328u, 15337u, 15380u, 15298u, + 15249u, 15436u, 15326u, 15391u, + 15344u, 15256u, 15393u, 15310u, + 15308u, 15397u, 15324u, 15448u, + 15245u, 15364u, 15463u, 15273u, + 15342u, 15354u, 15265u, 15328u, + 15490u, 15234u, 15280u, 15435u, + 15320u, 15335u, 15375u, 15425u, + 15267u, 15356u, 15377u, 15384u, + 15435u, 15449u, 15361u, 15394u, + 15327u, 15507u, 15327u, 15390u, + 15304u, 15262u, 15401u, 15505u, + 15420u, 15268u, 15354u, 15381u, + 15386u, 15318u, 15437u, 15398u, + 15391u, 15282u, 15389u, 15373u, + 15281u, 15341u, 15297u, 15329u, + 15216u, 15459u, 15370u, 15435u, + 15432u, 15400u, 15412u, 15414u, + 15480u, 15307u, 15398u, 15275u, + 15153u, 15381u, 15266u, 15344u, + 15274u, 15446u, 15360u, 15393u, + 15337u, 15528u, 15366u, 15316u, + 15258u, 15391u, 15430u, 15414u, + 15299u, 15287u, 15471u, 15383u, + 15317u, 15447u, 15212u, 15396u, + 15256u, 15468u, 15332u, 15360u, + 15411u, 15330u, 15385u, 15406u, + 15238u, 15354u, 15377u, 15339u, + 15261u, 15273u, 15407u, 15383u, + 15401u, 15392u, 15442u, 15273u, + 15532u, 15249u, 15497u, 15474u, + 15189u, 15388u, 15422u, 15442u, + 15279u, 15460u, 15339u, 15275u, + 15420u, 15457u, 15332u, 15330u, + 15451u, 15290u, 15465u, 15374u, + 15412u, 15301u, 15363u, 15308u, + 15331u, 15357u, 15453u, 15270u, + 15412u, 15418u, 15371u, 15553u, + 15248u, 15210u, 15228u, 15406u, + 15257u, 15314u, 15319u, 15301u, + 15278u, 15371u, 15372u, 15386u, + 15380u, 15382u, 15273u, 15360u, + 15405u, 15446u, 15343u, 15298u, + 15262u, 15388u, 15359u, 15452u, + 15447u, 15410u, 15281u, 15225u, + 15505u, 15255u, 15415u, 15465u, + 15267u, 15317u, 15370u, 15324u, + 15390u, 15441u, 15457u, 15415u, + 15265u, 15249u, 15415u, 15379u, + 15289u, 15280u, 15284u, 15240u, + 15439u, 15204u, 15396u, 15489u, + 15377u, 15322u, 15358u, 15236u, + 15389u, 15415u, 15334u, 15340u, + 15244u, 15366u, 15362u, 15492u, + 15484u, 15340u, 15362u, 15375u, + 15436u, 15375u, 15358u, 15368u, + 15288u, 15415u, 15432u, 15331u, + 15286u, 15294u, 15384u, 15419u, + 15257u, 15499u, 15465u, 15455u, + 15321u, 15564u, 15491u, 15328u, + 15420u, 15412u, 15253u, 15532u, + 15333u, 15443u, 15496u, 15388u, + 15277u, 15397u, 15369u, 15308u, + 15304u, 15420u, 15397u, 15414u, + 15510u, 15344u, 15421u, 15398u, + 15400u, 15386u, 15244u, 15487u, + 15286u, 15457u, 15302u, 15361u, + 15391u, 15380u, 15368u, 15375u, + 15421u, 15338u, 15415u, 15367u, + 15427u, 15245u, 15460u, 15403u, + 15452u, 15253u, 15399u, 15520u, + 15395u, 15371u, 15455u, 15368u, + 15306u, 15417u, 15294u, 15346u, + 15519u, 15297u, 15289u, 15259u, + 15363u, 15316u, 15311u, 15393u, + 15386u, 15363u, 15389u, 15405u, + 15274u, 15353u, 15405u, 15367u, + 15451u, 15417u, 15419u, 15303u, + 15220u, 15279u, 15256u, 15337u, + 15308u, 15413u, 15433u, 15184u, + 15351u, 15374u, 15400u, 15386u, + 15452u, 15269u, 15384u, 15464u, + 15421u, 15193u, 15313u, 15266u, + 15345u, 15435u, 15365u, 15172u, + 15491u, 15350u, 15460u, 15378u, + 15295u, 15370u, 15437u, 15248u, + 15361u, 15270u, 15271u, 15393u, + 15273u, 15236u, 15265u, 15346u, + 15391u, 15376u, 15470u, 15497u, + 15553u, 15285u, 15334u, 15410u, + 15422u, 15264u, 15382u, 15316u, + 15315u, 15366u, 15447u, 15437u, + 15316u, 15396u, 15414u, 15383u, + 15247u, 15371u, 15372u, 15507u, + 15322u, 15448u, 15462u, 15363u, + 15368u, 15370u, 15333u, 15379u, + 15401u, 15235u, 15336u, 15397u, + 15449u, 15349u, 15327u, 15217u, + 15297u, 15267u, 15419u, 15447u, + 15228u, 15370u, 15458u, 15351u, + 15366u, 15255u, 15398u, 15396u, + 15359u, 15417u, 15339u, 15357u, + 15457u, 15503u, 15252u, 15455u, + 15384u, 15364u, 15321u, 15372u, + 15362u, 15333u, 15387u, 15316u, + 15263u, 15362u, 15293u, 15355u, + 15252u, 15468u, 15385u, 15274u, + 15391u, 15328u, 15421u, 15289u, + 15388u, 15259u, 15378u, 15427u, + 15238u, 15296u, 15521u, 15295u, + 15282u, 15275u, 15301u, 15461u, + 15335u, 15339u, 15317u, 15427u, + 15242u, 15395u, 15416u, 15398u, + 15265u, 15358u, 15379u, 15465u, + 15393u, 15354u, 15303u, 15289u, + 15434u, 15258u, 15223u, 15489u, + 15414u, 15440u, 15497u, 15445u, + 15400u, 15463u, 15331u, 15459u, + 15309u, 15433u, 15322u, 15392u, + 15387u, 15367u, 15296u, 15236u, + 15342u, 15266u, 15306u, 15347u, + 15319u, 15510u, 15372u, 15389u, + 15436u, 15446u, 15508u, 15528u, + 15377u, 15336u, 15329u, 15321u, + 15428u, 15304u, 15299u, 15287u, + 15367u, 15427u, 15306u, 15292u, + 15487u, 15391u, 15415u, 15255u, + 15351u, 15365u, 15419u, 15287u, + 15364u, 15361u, 15251u, 15381u, + 15278u, 15307u, 15379u, 15342u, + 15255u, 15344u, 15347u, 15250u, + 15491u, 15399u, 15399u, 15315u, + 15361u, 15329u, 15376u, 15389u, + 15470u, 15433u, 15253u, 15396u, + 15348u, 15245u, 15460u, 15442u, + 15421u, 15280u, 15268u, 15369u, + 15266u, 15357u, 15363u, 15393u, + 15339u, 15371u, 15365u, 15241u, + 15273u, 15362u, 15188u, 15311u, + 15473u, 15412u, 15380u, 15396u, + 15282u, 15533u, 15241u, 15335u, + 15215u, 15276u, 15366u, 15304u, + 15332u, 15326u, 15395u, 15401u, + 15245u, 15436u, 15275u, 15379u, + 15331u, 15333u, 15405u, 15258u, + 15350u, 15268u, 15340u, 15374u, + 15460u, 15375u, 15328u, 15284u, + 15381u, 15408u, 15302u, 15467u, + 15317u, 15368u, 15349u, 15295u, + 15391u, 15362u, 15336u, 15399u, + 15347u, 15422u, 15418u, 15345u, + 15304u, 15396u, 15408u, 15257u, + 15395u, 15232u, 15226u, 15239u, + 15361u, 15455u, 15367u, 15390u, + 15365u, 15377u, 15425u, 15395u, + 15350u, 15517u, 15332u, 15328u, + 15259u, 15287u, 15299u, 15362u, + 15418u, 15430u, 15368u, 15377u, + 15428u, 15396u, 15351u, 15372u, + 15331u, 15245u, 15253u, 15391u, + 15368u, 15388u, 15342u, 15258u, + 15451u, 15390u, 15309u, 15401u, + 15379u, 15381u, 15406u, 15371u, + 15370u, 15490u, 15360u, 15384u, + 15400u, 15404u, 15246u, 15421u, + 15291u, 15263u, 15277u, 15475u, + 15404u, 15334u, 15517u, 15266u, + 15371u, 15365u, 15361u, 15373u, + 15242u, 15403u, 15286u, 15161u, + 15386u, 15503u, 15267u, 15214u, + 15243u, 15403u, 15341u, 15413u, + 15248u, 15425u, 15311u, 15273u, + 15495u, 15415u, 15385u, 15251u, + 15402u, 15408u, 15495u, 15365u, + 15318u, 15306u, 15264u, 15444u, + 15391u, 15299u, 15518u, 15376u, + 15384u, 15323u, 15257u, 15431u, + 15389u, 15452u, 15375u, 15280u, + 15304u, 15292u, 15296u, 15379u, + 15290u, 15358u, 15388u, 15435u, + 15391u, 15421u, 15352u, 15304u, + 15292u, 15381u, 15351u, 15338u, + 15399u, 15505u, 15323u, 15395u, + 15310u, 15393u, 15236u, 15313u, + 15370u, 15483u, 15423u, 15263u, + 15490u, 15262u, 15251u, 15408u, + 15510u, 15417u, 15287u, 15419u, + 15510u, 15450u, 15409u, 15365u, + 15333u, 15378u, 15418u, 15511u, + 15251u, 15393u, 15381u, 15360u, + 15390u, 15203u, 15464u, 15300u, + 15420u, 15282u, 15368u, 15581u, + 15313u, 15419u, 15390u, 15338u, + 15300u, 15342u, 15304u, 15304u, + 15365u, 15352u, 15343u, 15333u, + 15396u, 15279u, 15482u, 15355u, + 15400u, 15314u, 15274u, 15382u, + 15450u, 15325u, 15361u, 15245u, + 15323u, 15337u, 15364u, 15396u, + 15495u, 15270u, 15259u, 15411u, + 15410u, 15263u, 15437u, 15390u, + 15213u, 15467u, 15255u, 15371u, + 15520u, 15304u, 15358u, 15463u, + 15425u, 15251u, 15230u, 15243u, + 15519u, 15430u, 15293u, 15312u, + 15517u, 15298u, 15356u, 15386u, + 15239u, 15403u, 15215u, 15359u, + 15462u, 15386u, 15394u, 15399u, + 15240u, 15346u, 15461u, 15507u, + 15246u, 15366u, 15390u, 15416u, + 15450u, 15398u, 15361u, 15373u, + 15285u, 15413u, 15272u, 15376u, + 15496u, 15376u, 15303u, 15360u, + 15387u, 15441u, 15463u, 15354u, + 15311u, 15381u, 15446u, 15269u, + 15422u, 15362u, 15194u, 15473u, + 15430u, 15368u, 15489u, 15364u, + 15267u, 15276u, 15360u, 15414u, + 15236u, 15313u, 15375u, 15369u, + 15500u, 15414u, 15353u, 15411u, + 15232u, 15316u, 15394u, 15378u, + 15421u, 15415u, 15371u, 15270u, + 15328u, 15392u, 15262u, 15311u, + 15447u, 15392u, 15426u, 15283u, + 15355u, 15385u, 15344u, 15349u, + 15332u, 15425u, 15506u, 15413u, + 15401u, 15388u, 15383u, 15289u, + 15249u, 15472u, 15425u, 15252u, + 15419u, 15490u, 15377u, 15356u, + 15505u, 15450u, 15331u, 15387u, + 15377u, 15484u, 15226u, 15423u, + 15337u, 15314u, 15370u, 15312u, + 15376u, 15364u, 15381u, 15385u, + 15405u, 15309u, 15358u, 15344u, + 15324u, 15434u, 15365u, 15279u, + 15341u, 15294u, 15358u, 15304u, + 15400u, 15384u, 15376u, 15392u, + 15371u, 15362u, 15372u, 15374u, + 15416u, 15380u, 15340u, 15325u, + 15383u, 15266u, 15434u, 15408u, + 15469u, 15398u, 15344u, 15426u, + 15291u, 15417u, 15200u, 15385u, + 15368u, 15248u, 15402u, 15509u, + 15303u, 15334u, 15354u, 15409u, + 15370u, 15271u, 15240u, 15498u, + 15371u, 15426u, 15384u, 15339u, + 15349u, 15375u, 15481u, 15373u, + 15285u, 15315u, 15435u, 15498u, + 15453u, 15259u, 15415u, 15408u, + 15403u, 15357u, 15360u, 15275u, + 15298u, 15404u, 15362u, 15290u, + 15406u, 15378u, 15371u, 15262u, + 15513u, 15263u, 15403u, 15287u, + 15372u, 15533u, 15411u, 15375u, + 15386u, 15351u, 15338u, 15610u, + 15402u, 15347u, 15413u, 15471u, + 15368u, 15523u, 15386u, 15421u, + 15434u, 15366u, 15372u, 15433u, + 15411u, 15278u, 15380u, 15352u, + 15451u, 15430u, 15381u, 15322u, + 15512u, 15352u, 15408u, 15256u, + 15397u, 15236u, 15395u, 15360u, + 15374u, 15190u, 15366u, 15319u, + 15404u, 15338u, 15326u, 15366u, + 15310u, 15359u, 15458u, 15376u, + 15383u, 15360u, 15300u, 15380u, + 15431u, 15522u, 15391u, 15317u, + 15375u, 15361u, 15507u, 15338u, + 15270u, 15391u, 15365u, 15325u, + 15236u, 15276u, 15288u, 15362u, + 15353u, 15326u, 15338u, 15296u, + 15445u, 15379u, 15410u, 15257u, + 15370u, 15252u, 15484u, 15180u, + 15262u, 15418u, 15381u, 15398u, + 15437u, 15391u, 15526u, 15288u, + 15363u, 15357u, 15358u, 15285u, + 15335u, 15347u, 15401u, 15210u, + 15428u, 15414u, 15256u, 15375u, + 15348u, 15201u, 15340u, 15206u, + 15329u, 15333u, 15294u, 15441u, + 15249u, 15315u, 15264u, 15331u, + 15474u, 15488u, 15521u, 15385u, + 15400u, 15229u, 15364u, 15271u, + 15391u, 15487u, 15437u, 15403u, + 15529u, 15188u, 15489u, 15269u, + 15440u, 15505u, 15260u, 15242u, + 15245u, 15387u, 15364u, 15319u, + 15372u, 15288u, 15303u, 15427u, + 15441u, 15317u, 15312u, 15411u, + 15418u, 15427u, 15370u, 15388u, + 15350u, 15432u, 15402u, 15510u, + 15370u, 15386u, 15277u, 15290u, + 15465u, 15491u, 15374u, 15269u, + 15537u, 15468u, 15405u, 15246u, + 15398u, 15234u, 15332u, 15424u, + 15343u, 15379u, 15347u, 15298u, + 15350u, 15423u, 15442u, 15304u, + 15325u, 15419u, 15377u, 15381u, + 15349u, 15344u, 15374u, 15357u, + 15336u, 15342u, 15377u, 15383u, + 15388u, 15453u, 15388u, 15275u, + 15326u, 15501u, 15432u, 15422u, + 15369u, 15259u, 15292u, 15395u, + 15351u, 15334u, 15368u, 15373u, + 15391u, 15352u, 15408u, 15464u, + 15375u, 15353u, 15454u, 15308u, + 15573u, 15266u, 15273u, 15515u, + 15468u, 15419u, 15408u, 15425u, + 15365u, 15333u, 15469u, 15311u, + 15490u, 15268u, 15387u, 15379u, + 15362u, 15298u, 15372u, 15350u, + 15310u, 15285u, 15397u, 15435u, + 15448u, 15330u, 15281u, 15292u, + 15300u, 15401u, 15299u, 15185u, + 15287u, 15488u, 15275u, 15360u, + 15353u, 15437u, 15456u, 15373u, + 15455u, 15392u, 15255u, 15275u, + 15362u, 15426u, 15342u, 15368u, + 15402u, 15353u, 15415u, 15448u, + 15383u, 15377u, 15267u, 15376u, + 15265u, 15424u, 15348u, 15305u, + 15238u, 15327u, 15372u, 15368u, + 15259u, 15307u, 15339u, 15298u, + 15306u, 15393u, 15404u, 15381u, + 15246u, 15279u, 15265u, 15309u, + 15299u, 15410u, 15304u, 15302u, + 15450u, 15344u, 15466u, 15336u, + 15491u, 15397u, 15441u, 15453u, + 15342u, 15465u, 15375u, 15426u, + 15428u, 15432u, 15285u, 15246u, + 15401u, 15355u, 15388u, 15350u, + 15242u, 15343u, 15414u, 15327u, + 15451u, 15393u, 15461u, 15283u, + 15361u, 15348u, 15419u, 15402u, + 15343u, 15394u, 15274u, 15354u, + 15356u, 15185u, 15366u, 15440u, + 15413u, 15230u, 15205u, 15433u, + 15305u, 15484u, 15312u, 15240u, + 15384u, 15322u, 15433u, 15377u, + 15374u, 15311u, 15295u, 15379u, + 15263u, 15393u, 15316u, 15336u, + 15259u, 15268u, 15438u, 15212u, + 15480u, 15279u, 15306u, 15370u, + 15403u, 15380u, 15329u, 15288u, + 15370u, 15408u, 15410u, 15253u, + 15417u, 15471u, 15383u, 15443u, + 15389u, 15323u, 15351u, 15338u, + 15503u, 15447u, 15320u, 15468u, + 15453u, 15229u, 15298u, 15424u, + 15487u, 15418u, 15249u, 15381u, + 15284u, 15363u, 15334u, 15333u, + 15219u, 15441u, 15472u, 15339u, + 15365u, 15358u, 15421u, 15361u, + 15354u, 15330u, 15235u, 15471u, + 15286u, 15426u, 15401u, 15436u, + 15370u, 15381u, 15436u, 15510u, + 15396u, 15311u, 15503u, 15437u, + 15384u, 15266u, 15232u, 15369u, + 15413u, 15407u, 15304u, 15402u, + 15421u, 15373u, 15238u, 15378u, + 15361u, 15336u, 15218u, 15379u, + 15406u, 15313u, 15349u, 15327u, + 15423u, 15478u, 15361u, 15365u, + 15349u, 15331u, 15360u, 15300u, + 15401u, 15363u, 15345u, 15295u, + 15409u, 15424u, 15435u, 15405u, + 15494u, 15404u, 15301u, 15370u, + 15480u, 15393u, 15324u, 15465u, + 15303u, 15282u, 15352u, 15289u, + 15364u, 15345u, 15356u, 15278u, + 15427u, 15399u, 15356u, 15504u, + 15307u, 15338u, 15356u, 15363u, + 15391u, 15479u, 15391u, 15347u, + 15352u, 15429u, 15336u, 15192u, + 15393u, 15491u, 15480u, 15365u, + 15453u, 15274u, 15335u, 15251u, + 15412u, 15396u, 15311u, 15354u, + 15222u, 15241u, 15383u, 15253u, + 15374u, 15268u, 15377u, 15377u, + 15209u, 15370u, 15406u, 15332u, + 15339u, 15408u, 15479u, 15404u, + 15302u, 15373u, 15174u, 15459u, + 15493u, 15452u, 15311u, 15382u, + 15483u, 15243u, 15453u, 15481u, + 15385u, 15426u, 15413u, 15392u, + 15369u, 15401u, 15376u, 15427u, + 15378u, 15413u, 15482u, 15264u, + 15455u, 15411u, 15422u, 15260u, + 15373u, 15366u, 15380u, 15231u, + 15387u, 15397u, 15443u, 15397u, + 15329u, 15472u, 15354u, 15428u, + 15323u, 15422u, 15467u, 15388u, + 15289u, 15338u, 15418u, 15327u, + 15381u, 15258u, 15278u, 15370u, + 15377u, 15450u, 15411u, 15247u, + 15422u, 15379u, 15251u, 15358u, + 15381u, 15378u, 15389u, 15304u, + 15324u, 15419u, 15441u, 15418u, + 15271u, 15372u, 15260u, 15398u, + 15420u, 15319u, 15412u, 15347u, + 15329u, 15310u, 15269u, 15409u, + 15452u, 15370u, 15294u, 15366u, + 15298u, 15279u, 15315u, 15343u, + 15410u, 15425u, 15310u, 15385u, + 15283u, 15188u, 15306u, 15457u, + 15449u, 15427u, 15410u, 15227u, + 15281u, 15420u, 15517u, 15331u, + 15360u, 15442u, 15386u, 15378u, + 15489u, 15376u, 15409u, 15373u, + 15235u, 15385u, 15393u, 15396u, + 15515u, 15457u, 15384u, 15363u, + 15492u, 15318u, 15258u, 15401u, + 15443u, 15516u, 15363u, 15303u, + 15441u, 15438u, 15470u, 15362u, + 15334u, 15364u, 15355u, 15437u, + 15513u, 15385u, 15403u, 15470u, + 15425u, 15436u, 15360u, 15370u, + 15370u, 15324u, 15390u, 15273u, + 15377u, 15339u, 15328u, 15336u, + 15326u, 15377u, 15293u, 15392u, + 15265u, 15381u, 15309u, 15397u, + 15400u, 15304u, 15362u, 15279u, + 15352u, 15477u, 15355u, 15402u, + 15362u, 15249u, 15490u, 15354u, + 15417u, 15473u, 15381u, 15284u, + 15224u, 15269u, 15443u, 15398u, + 15631u, 15340u, 15329u, 15414u, + 15444u, 15231u, 15336u, 15244u, + 15408u, 15344u, 15412u, 15418u, + 15234u, 15411u, 15404u, 15486u, + 15345u, 15386u, 15415u, 15215u, + 15343u, 15366u, 15257u, 15363u, + 15315u, 15386u, 15346u, 15266u, + 15316u, 15383u, 15371u, 15352u, + 15386u, 15331u, 15314u, 15413u, + 15364u, 15314u, 15458u, 15312u, + 15459u, 15279u, 15237u, 15338u, + 15284u, 15326u, 15489u, 15409u, + 15351u, 15459u, 15267u, 15385u, + 15343u, 15364u, 15332u, 15407u, + 15373u, 15423u, 15296u, 15318u, + 15375u, 15342u, 15300u, 15450u, + 15397u, 15462u, 15287u, 15324u, + 15321u, 15397u, 15397u, 15291u, + 15354u, 15321u, 15316u, 15494u, + 15310u, 15426u, 15233u, 15357u, + 15334u, 15400u, 15397u, 15426u, + 15337u, 15362u, 15443u, 15139u, + 15440u, 15386u, 15567u, 15315u, + 15317u, 15429u, 15412u, 15275u, + 15294u, 15398u, 15390u, 15323u, + 15370u, 15333u, 15406u, 15490u, + 15248u, 15451u, 15214u, 15234u, + 15295u, 15327u, 15307u, 15390u, + 15429u, 15477u, 15387u, 15294u, + 15348u, 15234u, 15369u, 15351u, + 15307u, 15440u, 15400u, 15434u, + 15378u, 15376u, 15310u, 15390u, + 15372u, 15339u, 15587u, 15299u, + 15309u, 15283u, 15287u, 15523u, + 15425u, 15322u, 15241u, 15383u, + 15481u, 15255u, 15360u, 15317u, + 15296u, 15239u, 15249u, 15403u, + 15339u, 15439u, 15489u, 15411u, + 15386u, 15538u, 15390u, 15334u, + 15302u, 15496u, 15363u, 15375u, + 15379u, 15246u, 15362u, 15398u, + 15254u, 15360u, 15304u, 15499u, + 15389u, 15288u, 15341u, 15239u, + 15264u, 15446u, 15431u, 15401u, + 15344u, 15381u, 15266u, 15280u, + 15432u, 15271u, 15311u, 15393u, + 15301u, 15342u, 15424u, 15296u, + 15329u, 15266u, 15315u, 15265u, + 15310u, 15399u, 15307u, 15302u, + 15369u, 15537u, 15453u, 15480u, + 15354u, 15518u, 15244u, 15316u, + 15513u, 15483u, 15379u, 15334u, + 15333u, 15322u, 15324u, 15342u, + 15391u, 15317u, 15423u, 15253u, + 15402u, 15425u, 15376u, 15256u, + 15426u, 15397u, 15337u, 15385u, + 15413u, 15385u, 15391u, 15390u, + 15470u, 15404u, 15240u, 15403u, + 15340u, 15360u, 15259u, 15317u, + 15269u, 15400u, 15353u, 15420u, + 15290u, 15220u, 15274u, 15345u, + 15397u, 15386u, 15346u, 15393u, + 15409u, 15256u, 15243u, 15371u, + 15290u, 15235u, 15406u, 15393u, + 15240u, 15356u, 15243u, 15455u, + 15270u, 15380u, 15425u, 15398u, + 15443u, 15432u, 15311u, 15298u, + 15386u, 15316u, 15361u, 15518u, + 15495u, 15419u, 15412u, 15250u, + 15427u, 15348u, 15424u, 15348u, + 15401u, 15234u, 15396u, 15443u, + 15508u, 15428u, 15314u, 15261u, + 15467u, 15322u, 15418u, 15456u, + 15373u, 15427u, 15489u, 15238u, + 15289u, 15372u, 15357u, 15283u, + 15256u, 15438u, 15365u, 15391u, + 15425u, 15293u, 15619u, 15290u, + 15403u, 15297u, 15532u, 15428u, + 15429u, 15344u, 15340u, 15311u, + 15350u, 15421u, 15358u, 15365u, + 15413u, 15362u, 15374u, 15315u, + 15298u, 15395u, 15268u, 15304u, + 15501u, 15335u, 15416u, 15440u, + 15369u, 15423u, 15294u, 15414u, + 15293u, 15365u, 15535u, 15361u, + 15292u, 15245u, 15287u, 15289u, + 15279u, 15420u, 15325u, 15349u, + 15300u, 15345u, 15301u, 15325u, + 15250u, 15260u, 15220u, 15382u, + 15284u, 15447u, 15333u, 15284u, + 15421u, 15420u, 15393u, 15378u, + 15491u, 15367u, 15209u, 15446u, + 15414u, 15479u, 15238u, 15534u, + 15418u, 15236u, 15402u, 15456u, + 15425u, 15421u, 15241u, 15339u, + 15285u, 15321u, 15333u, 15412u, + 15354u, 15350u, 15403u, 15225u, + 15360u, 15356u, 15397u, 15354u, + 15367u, 15249u, 15468u, 15405u, + 15270u, 15408u, 15294u, 15299u, + 15495u, 15317u, 15436u, 15299u, + 15366u, 15270u, 15276u, 15393u, + 15343u, 15366u, 15302u, 15234u, + 15355u, 15417u, 15382u, 15285u, + 15333u, 15297u, 15313u, 15376u, + 15472u, 15259u, 15396u, 15134u, + 15422u, 15503u, 15411u, 15366u, + 15372u, 15404u, 15322u, 15296u, + 15369u, 15404u, 15422u, 15291u, + 15317u, 15325u, 15319u, 15277u, + 15440u, 15371u, 15578u, 15265u, + 15271u, 15247u, 15297u, 15360u, + 15384u, 15396u, 15382u, 15361u, + 15324u, 15283u, 15381u, 15379u, + 15448u, 15366u, 15401u, 15439u, + 15283u, 15416u, 15311u, 15483u, + 15386u, 15307u, 15364u, 15432u, + 15333u, 15409u, 15468u, 15380u, + 15340u, 15254u, 15261u, 15337u, + 15360u, 15359u, 15213u, 15324u, + 15510u, 15361u, 15292u, 15401u, + 15390u, 15323u, 15349u, 15354u, + 15386u, 15389u, 15417u, 15420u, + 15290u, 15310u, 15377u, 15420u, + 15295u, 15188u, 15377u, 15296u, + 15254u, 15226u, 15232u, 15406u, + 15516u, 15421u, 15509u, 15381u, + 15377u, 15215u, 15349u, 15377u, + 15257u, 15458u, 15448u, 15243u, + 15377u, 15374u, 15392u, 15232u, + 15214u, 15397u, 15364u, 15351u, + 15249u, 15503u, 15313u, 15366u, + 15269u, 15514u, 15403u, 15383u, + 15271u, 15411u, 15461u, 15338u, + 15364u, 15410u, 15347u, 15309u, + 15297u, 15429u, 15240u, 15247u, + 15431u, 15347u, 15266u, 15396u, + 15476u, 15254u, 15325u, 15254u, + 15386u, 15323u, 15399u, 15347u, + 15230u, 15433u, 15426u, 15275u, + 15251u, 15281u, 15332u, 15380u, + 15360u, 15374u, 15329u, 15286u, + 15400u, 15353u, 15426u, 15325u, + 15378u, 15315u, 15319u, 15377u, + 15286u, 15416u, 15342u, 15398u, + 15375u, 15363u, 15408u, 15286u, + 15366u, 15267u, 15440u, 15395u, + 15330u, 15387u, 15431u, 15387u, + 15390u, 15399u, 15319u, 15221u, + 15411u, 15202u, 15537u, 15282u, + 15324u, 15478u, 15364u, 15291u, + 15358u, 15311u, 15457u, 15346u, + 15263u, 15391u, 15298u, 15130u, + 15254u, 15392u, 15233u, 15324u, + 15353u, 15375u, 15353u, 15279u, + 15285u, 15407u, 15278u, 15295u, + 15393u, 15301u, 15467u, 15411u, + 15342u, 15300u, 15420u, 15410u, + 15389u, 15296u, 15319u, 15368u, + 15239u, 15368u, 15371u, 15392u, + 15397u, 15344u, 15409u, 15352u, + 15355u, 15309u, 15366u, 15351u, + 15253u, 15255u, 15315u, 15471u, + 15452u, 15228u, 15370u, 15364u, + 15272u, 15253u, 15365u, 15365u, + 15388u, 15370u, 15303u, 15249u, + 15379u, 15354u, 15426u, 15324u, + 15340u, 15336u, 15314u, 15301u, + 15448u, 15320u, 15498u, 15353u, + 15541u, 15392u, 15386u, 15276u, + 15424u, 15364u, 15260u, 15390u, + 15390u, 15391u, 15272u, 15338u, + 15343u, 15238u, 15262u, 15309u, + 15447u, 15392u, 15442u, 15415u, + 15400u, 15312u, 15271u, 15292u, + 15361u, 15308u, 15340u, 15344u, + 15313u, 15320u, 15288u, 15306u, + 15561u, 15247u, 15363u, 15407u, + 15323u, 15350u, 15360u, 15440u, + 15289u, 15299u, 15392u, 15384u, + 15426u, 15374u, 15367u, 15347u, + 15443u, 15400u, 15377u, 15411u, + 15409u, 15310u, 15416u, 15374u, + 15488u, 15366u, 15248u, 15417u, + 15359u, 15489u, 15447u, 15368u, + 15342u, 15293u, 15405u, 15299u, + 15355u, 15366u, 15345u, 15272u, + 15395u, 15408u, 15418u, 15431u, + 15382u, 15385u, 15266u, 15270u, + 15248u, 15369u, 15275u, 15409u, + 15498u, 15468u, 15384u, 15204u, + 15323u, 15507u, 15396u, 15367u, + 15364u, 15409u, 15373u, 15331u, + 15319u, 15168u, 15379u, 15226u, + 15377u, 15414u, 15357u, 15401u, + 15449u, 15416u, 15414u, 15253u, + 15390u, 15339u, 15391u, 15527u, + 15385u, 15361u, 15409u, 15264u, + 15372u, 15385u, 15258u, 15432u, + 15283u, 15368u, 15250u, 15336u, + 15377u, 15343u, 15387u, 15285u, + 15380u, 15248u, 15371u, 15178u, + 15396u, 15355u, 15400u, 15401u, + 15355u, 15295u, 15410u, 15357u, + 15400u, 15291u, 15303u, 15423u, + 15395u, 15408u, 15286u, 15429u, + 15335u, 15204u, 15376u, 15347u, + 15312u, 15390u, 15286u, 15408u, + 15452u, 15317u, 15296u, 15382u, + 15348u, 15485u, 15309u, 15387u, + 15305u, 15455u, 15325u, 15444u, + 15334u, 15422u, 15429u, 15444u, + 15408u, 15288u, 15404u, 15292u, + 15466u, 15278u, 15503u, 15353u, + 15402u, 15301u, 15493u, 15500u, + 15394u, 15485u, 15333u, 15302u, + 15353u, 15336u, 15373u, 15238u, + 15404u, 15332u, 15211u, 15309u, + 15355u, 15395u, 15441u, 15244u, + 15260u, 15243u, 15418u, 15458u, + 15416u, 15294u, 15453u, 15325u, + 15460u, 15394u, 15398u, 15313u, + 15343u, 15326u, 15416u, 15348u, + 15424u, 15418u, 15305u, 15414u, + 15261u, 15444u, 15345u, 15375u, + 15454u, 15314u, 15327u, 15378u, + 15360u, 15410u, 15365u, 15466u, + 15281u, 15369u, 15277u, 15241u, + 15425u, 15357u, 15397u, 15516u, + 15365u, 15339u, 15412u, 15393u, + 15336u, 15431u, 15232u, 15382u, + 15356u, 15453u, 15280u, 15338u, + 15425u, 15409u, 15289u, 15508u, + 15295u, 15330u, 15358u, 15410u, + 15315u, 15406u, 15302u, 15368u, + 15339u, 15393u, 15247u, 15287u, + 15215u, 15236u, 15510u, 15369u, + 15221u, 15492u, 15421u, 15355u, + 15437u, 15278u, 15394u, 15382u, + 15262u, 15312u, 15349u, 15410u, + 15228u, 15413u, 15232u, 15303u, + 15348u, 15373u, 15467u, 15234u, + 15399u, 15371u, 15304u, 15415u, + 15210u, 15340u, 15292u, 15357u, + 15302u, 15309u, 15515u, 15495u, + 15237u, 15333u, 15364u, 15258u, + 15428u, 15436u, 15450u, 15255u, + 15330u, 15487u, 15328u, 15432u, + 15388u, 15398u, 15409u, 15355u, + 15278u, 15290u, 15340u, 15366u, + 15317u, 15341u, 15486u, 15431u, + 15400u, 15510u, 15279u, 15369u, + 15378u, 15328u, 15524u, 15335u, + 15224u, 15387u, 15393u, 15420u, + 15342u, 15381u, 15345u, 15431u, + 15412u, 15288u, 15422u, 15296u, + 15312u, 15422u, 15497u, 15349u, + 15369u, 15506u, 15365u, 15312u, + 15299u, 15283u, 15301u, 15397u, + 15260u, 15537u, 15443u, 15392u, + 15474u, 15402u, 15464u, 15429u, + 15403u, 15391u, 15287u, 15474u, + 15322u, 15349u, 15401u, 15378u, + 15372u, 15355u, 15358u, 15445u, + 15371u, 15349u, 15384u, 15413u, + 15390u, 15465u, 15274u, 15363u, + 15296u, 15342u, 15290u, 15307u, + 15362u, 15608u, 15410u, 15427u, + 15374u, 15352u, 15416u, 15250u, + 15454u, 15246u, 15323u, 15394u, + 15507u, 15348u, 15391u, 15568u, + 15279u, 15424u, 15511u, 15493u, + 15223u, 15362u, 15384u, 15375u, + 15294u, 15330u, 15242u, 15521u, + 15362u, 15311u, 15244u, 15307u, + 15429u, 15274u, 15233u, 15428u, + 15414u, 15301u, 15422u, 15303u, + 15396u, 15268u, 15388u, 15237u, + 15308u, 15508u, 15372u, 15283u, + 15242u, 15386u, 15284u, 15297u, + 15271u, 15390u, 15393u, 15376u, + 15509u, 15309u, 15277u, 15203u, + 15331u, 15367u, 15294u, 15360u, + 15382u, 15232u, 15426u, 15333u, + 15404u, 15290u, 15459u, 15402u, + 15363u, 15378u, 15287u, 15360u, + 15321u, 15417u, 15281u, 15334u, + 15316u, 15372u, 15309u, 15346u, + 15420u, 15249u, 15272u, 15332u, + 15495u, 15259u, 15396u, 15490u, + 15270u, 15259u, 15416u, 15457u, + 15362u, 15320u, 15471u, 15341u, + 15377u, 15397u, 15384u, 15468u, + 15395u, 15278u, 15438u, 15410u, + 15459u, 15236u, 15388u, 15378u, + 15359u, 15356u, 15327u, 15428u, + 15344u, 15401u, 15350u, 15346u, + 15344u, 15260u, 15453u, 15340u, + 15349u, 15359u, 15350u, 15503u, + 15427u, 15389u, 15384u, 15348u, + 15313u, 15450u, 15360u, 15351u, + 15250u, 15230u, 15344u, 15306u, + 15217u, 15382u, 15361u, 15324u, + 15441u, 15413u, 15299u, 15386u, + 15297u, 15292u, 15343u, 15364u, + 15404u, 15485u, 15456u, 15316u, + 15320u, 15383u, 15311u, 15336u, + 15246u, 15384u, 15317u, 15437u, + 15412u, 15451u, 15411u, 15362u, + 15287u, 15318u, 15366u, 15239u, + 15297u, 15391u, 15364u, 15371u, + 15496u, 15406u, 15425u, 15473u, + 15355u, 15371u, 15415u, 15401u, + 15394u, 15488u, 15302u, 15402u, + 15397u, 15381u, 15328u, 15264u, + 15361u, 15323u, 15284u, 15423u, + 15376u, 15252u, 15241u, 15442u, + 15434u, 15374u, 15473u, 15415u, + 15415u, 15372u, 15371u, 15432u, + 15437u, 15300u, 15338u, 15396u, + 15263u, 15334u, 15265u, 15487u, + 15387u, 15359u, 15483u, 15344u, + 15328u, 15401u, 15409u, 15500u, + 15361u, 15332u, 15267u, 15300u, + 15481u, 15399u, 15343u, 15370u, + 15377u, 15215u, 15379u, 15377u, + 15312u, 15338u, 15433u, 15395u, + 15278u, 15259u, 15350u, 15395u, + 15313u, 15382u, 15300u, 15351u, + 15361u, 15355u, 15254u, 15361u, + 15250u, 15457u, 15394u, 15371u, + 15398u, 15383u, 15362u, 15364u, + 15285u, 15393u, 15352u, 15435u, + 15272u, 15248u, 15427u, 15270u, + 15454u, 15429u, 15279u, 15373u, + 15327u, 15262u, 15436u, 15320u, + 15302u, 15225u, 15306u, 15415u, + 15324u, 15270u, 15376u, 15436u, + 15339u, 15456u, 15332u, 15437u, + 15246u, 15376u, 15261u, 15249u, + 15364u, 15409u, 15360u, 15237u, + 15376u, 15494u, 15351u, 15363u, + 15401u, 15275u, 15298u, 15309u, + 15374u, 15407u, 15384u, 15370u, + 15374u, 15250u, 15244u, 15365u, + 15372u, 15429u, 15315u, 15518u, + 15234u, 15517u, 15461u, 15394u, + 15465u, 15326u, 15298u, 15312u, + 15307u, 15241u, 15380u, 15279u, + 15309u, 15337u, 15477u, 15427u, + 15363u, 15457u, 15335u, 15264u, + 15328u, 15287u, 15390u, 15326u, + 15471u, 15367u, 15333u, 15324u, + 15256u, 15367u, 15313u, 15398u, + 15398u, 15291u, 15479u, 15287u, + 15357u, 15366u, 15301u, 15386u, + 15362u, 15401u, 15355u, 15446u, + 15401u, 15271u, 15309u, 15407u, + 15338u, 15351u, 15387u, 15385u, + 15374u, 15210u, 15311u, 15335u, + 15461u, 15523u, 15344u, 15383u, + 15344u, 15308u, 15445u, 15455u, + 15460u, 15316u, 15383u, 15500u, + 15212u, 15444u, 15364u, 15286u, + 15304u, 15487u, 15266u, 15274u, + 15352u, 15374u, 15362u, 15350u, + 15351u, 15329u, 15377u, 15232u, + 15394u, 15398u, 15253u, 15381u, + 15457u, 15132u, 15509u, 15408u, + 15390u, 15383u, 15290u, 15324u, + 15437u, 15514u, 15375u, 15320u, + 15312u, 15476u, 15308u, 15430u, + 15478u, 15676u, 15287u, 15266u, + 15361u, 15313u, 15392u, 15306u, + 15306u, 15377u, 15415u, 15309u, + 15411u, 15271u, 15373u, 15400u, + 15398u, 15485u, 15294u, 15349u, + 15496u, 15288u, 15392u, 15391u, + 15321u, 15391u, 15305u, 15379u, + 15402u, 15260u, 15429u, 15376u, + 15485u, 15420u, 15298u, 15443u, + 15397u, 15281u, 15287u, 15328u, + 15376u, 15340u, 15432u, 15386u, + 15258u, 15316u, 15307u, 15473u, + 15245u, 15423u, 15404u, 15389u, + 15198u, 15469u, 15254u, 15523u, + 15405u, 15318u, 15268u, 15324u, + 15446u, 15406u, 15293u, 15318u, + 15370u, 15355u, 15324u, 15432u, + 15425u, 15386u, 15258u, 15313u, + 15444u, 15297u, 15405u, 15393u, + 15297u, 15244u, 15255u, 15362u, + 15334u, 15233u, 15388u, 15412u, + 15297u, 15328u, 15383u, 15407u, + 15262u, 15364u, 15254u, 15353u, + 15233u, 15357u, 15250u, 15307u, + 15540u, 15247u, 15197u, 15311u, + 15374u, 15451u, 15434u, 15352u, + 15282u, 15373u, 15358u, 15361u, + 15365u, 15362u, 15370u, 15322u, + 15274u, 15376u, 15400u, 15428u, + 15355u, 15405u, 15317u, 15374u, + 15501u, 15476u, 15278u, 15347u, + 15358u, 15443u, 15419u, 15302u, + 15243u, 15420u, 15368u, 15385u, + 15400u, 15378u, 15423u, 15284u, + 15280u, 15343u, 15289u, 15356u, + 15261u, 15325u, 15327u, 15362u, + 15221u, 15358u, 15364u, 15403u, + 15309u, 15340u, 15374u, 15460u, + 15289u, 15408u, 15223u, 15374u, + 15397u, 15369u, 15303u, 15215u, + 15309u, 15240u, 15557u, 15477u, + 15219u, 15412u, 15386u, 15393u, + 15288u, 15351u, 15407u, 15380u, + 15414u, 15378u, 15476u, 15425u, + 15449u, 15249u, 15359u, 15242u, + 15380u, 15446u, 15308u, 15228u, + 15313u, 15312u, 15333u, 15517u, + 15449u, 15375u, 15385u, 15349u, + 15497u, 15412u, 15373u, 15363u, + 15404u, 15463u, 15291u, 15327u, + 15367u, 15383u, 15322u, 15287u, + 15390u, 15317u, 15342u, 15279u, + 15239u, 15418u, 15300u, 15322u, + 15442u, 15359u, 15374u, 15316u, + 15311u, 15277u, 15289u, 15414u, + 15366u, 15632u, 15287u, 15298u, + 15300u, 15311u, 15334u, 15374u, + 15466u, 15360u, 15433u, 15400u, + 15401u, 15495u, 15398u, 15540u, + 15318u, 15374u, 15420u, 15421u, + 15357u, 15418u, 15442u, 15390u, + 15265u, 15584u, 15443u, 15397u, + 15365u, 15372u, 15249u, 15309u, + 15262u, 15309u, 15383u, 15334u, + 15347u, 15376u, 15260u, 15378u, + 15410u, 15314u, 15281u, 15325u, + 15479u, 15249u, 15297u, 15346u, + 15280u, 15254u, 15559u, 15250u, + 15427u, 15501u, 15382u, 15348u, + 15260u, 15380u, 15402u, 15353u, + 15274u, 15309u, 15443u, 15355u, + 15410u, 15363u, 15406u, 15251u, + 15384u, 15349u, 15326u, 15426u, + 15347u, 15432u, 15473u, 15457u, + 15327u, 15284u, 15454u, 15425u, + 15313u, 15369u, 15351u, 15368u, + 15422u, 15521u, 15263u, 15406u, + 15436u, 15372u, 15381u, 15255u, + 15322u, 15427u, 15384u, 15377u, + 15367u, 15529u, 15396u, 15410u, + 15495u, 15235u, 15438u, 15278u, + 15591u, 15460u, 15317u, 15375u, + 15407u, 15268u, 15399u, 15172u, + 15343u, 15382u, 15466u, 15298u, + 15353u, 15338u, 15346u, 15352u, + 15330u, 15494u, 15381u, 15342u, + 15337u, 15434u, 15425u, 15428u, + 15359u, 15337u, 15360u, 15377u, + 15379u, 15195u, 15403u, 15313u, + 15399u, 15364u, 15310u, 15375u, + 15397u, 15326u, 15371u, 15241u, + 15331u, 15366u, 15297u, 15247u, + 15394u, 15330u, 15341u, 15354u, + 15355u, 15472u, 15455u, 15294u, + 15341u, 15249u, 15320u, 15462u, + 15255u, 15247u, 15405u, 15436u, + 15233u, 15464u, 15299u, 15367u, + 15274u, 15358u, 15297u, 15281u, + 15398u, 15207u, 15356u, 15461u, + 15403u, 15316u, 15288u, 15376u, + 15252u, 15391u, 15389u, 15342u, + 15270u, 15403u, 15337u, 15491u, + 15438u, 15328u, 15328u, 15359u, + 15373u, 15336u, 15489u, 15281u, + 15260u, 15241u, 15263u, 15262u, + 15389u, 15465u, 15376u, 15441u, + 15325u, 15467u, 15273u, 15219u, + 15362u, 15287u, 15313u, 15351u, + 15389u, 15485u, 15401u, 15317u, + 15421u, 15300u, 15362u, 15265u, + 15503u, 15384u, 15365u, 15290u, + 15286u, 15304u, 15366u, 15254u, + 15459u, 15315u, 15382u, 15283u, + 15257u, 15258u, 15341u, 15435u, + 15397u, 15416u, 15377u, 15373u, + 15393u, 15461u, 15495u, 15384u, + 15414u, 15427u, 15366u, 15373u, + 15432u, 15278u, 15427u, 15323u, + 15412u, 15395u, 15426u, 15413u, + 15271u, 15368u, 15394u, 15413u, + 15310u, 15265u, 15295u, 15376u, + 15423u, 15410u, 15225u, 15386u, + 15331u, 15373u, 15383u, 15388u, + 15321u, 15278u, 15394u, 15364u, + 15479u, 15261u, 15323u, 15306u, + 15339u, 15262u, 15433u, 15214u, + 15479u, 15313u, 15330u, 15265u, + 15385u, 15270u, 15292u, 15376u, + 15248u, 15250u, 15248u, 15418u, + 15388u, 15508u, 15415u, 15324u, + 15370u, 15276u, 15426u, 15444u, + 15352u, 15380u, 15212u, 15454u, + 15266u, 15243u, 15457u, 15329u, + 15429u, 15383u, 15448u, 15281u, + 15281u, 15389u, 15321u, 15485u, + 15425u, 15286u, 15410u, 15273u, + 15219u, 15351u, 15367u, 15250u, + 15207u, 15256u, 15356u, 15398u, + 15400u, 15313u, 15413u, 15390u, + 15257u, 15241u, 15288u, 15326u, + 15374u, 15253u, 15401u, 15281u, + 15285u, 15268u, 15342u, 15391u, + 15524u, 15405u, 15417u, 15320u, + 15395u, 15390u, 15422u, 15405u, + 15424u, 15248u, 15309u, 15234u, + 15288u, 15508u, 15340u, 15339u, + 15363u, 15404u, 15288u, 15478u, + 15405u, 15368u, 15416u, 15268u, + 15375u, 15380u, 15368u, 15411u, + 15525u, 15432u, 15328u, 15364u, + 15251u, 15389u, 15325u, 15350u, + 15428u, 15417u, 15434u, 15454u, + 15298u, 15301u, 15361u, 15414u, + 15418u, 15367u, 15357u, 15409u, + 15307u, 15282u, 15329u, 15466u, + 15524u, 15376u, 15384u, 15367u, + 15355u, 15521u, 15346u, 15392u, + 15405u, 15334u, 15242u, 15259u, + 15323u, 15321u, 15377u, 15281u, + 15454u, 15377u, 15298u, 15299u, + 15359u, 15280u, 15330u, 15438u, + 15196u, 15302u, 15463u, 15316u, + 15271u, 15324u, 15237u, 15264u, + 15273u, 15229u, 15387u, 15329u, + 15301u, 15368u, 15331u, 15386u, + 15372u, 15324u, 15371u, 15378u, + 15275u, 15370u, 15296u, 15441u, + 15483u, 15409u, 15275u, 15428u, + 15352u, 15394u, 15378u, 15298u, + 15283u, 15440u, 15260u, 15283u, + 15255u, 15466u, 15375u, 15364u, + 15335u, 15538u, 15528u, 15327u, + 15325u, 15354u, 15369u, 15362u, + 15468u, 15268u, 15426u, 15385u, + 15225u, 15294u, 15352u, 15314u, + 15351u, 15479u, 15331u, 15370u, + 15239u, 15357u, 15482u, 15449u, + 15487u, 15430u, 15254u, 15441u, + 15314u, 15307u, 15479u, 15416u, + 15306u, 15432u, 15264u, 15527u, + 15333u, 15398u, 15300u, 15533u, + 15496u, 15443u, 15321u, 15328u, + 15496u, 15317u, 15368u, 15357u, + 15365u, 15319u, 15432u, 15280u, + 15205u, 15294u, 15408u, 15401u, + 15275u, 15493u, 15205u, 15311u, + 15400u, 15236u, 15383u, 15422u, + 15295u, 15372u, 15359u, 15334u, + 15322u, 15290u, 15307u, 15263u, + 15488u, 15423u, 15324u, 15305u, + 15333u, 15498u, 15365u, 15295u, + 15364u, 15324u, 15375u, 15402u, + 15363u, 15379u, 15386u, 15481u, + 15232u, 15429u, 15368u, 15311u, + 15373u, 15338u, 15274u, 15304u, + 15436u, 15398u, 15423u, 15433u, + 15382u, 15245u, 15425u, 15361u, + 15275u, 15377u, 15407u, 15460u, + 15394u, 15222u, 15369u, 15397u, + 15402u, 15266u, 15423u, 15351u, + 15363u, 15310u, 15334u, 15362u, + 15254u, 15477u, 15382u, 15364u, + 15402u, 15367u, 15384u, 15333u, + 15387u, 15386u, 15322u, 15469u, + 15514u, 15313u, 15372u, 15355u, + 15285u, 15374u, 15271u, 15570u, + 15426u, 15374u, 15277u, 15471u, + 15309u, 15235u, 15388u, 15348u, + 15367u, 15293u, 15228u, 15177u, + 15428u, 15363u, 15421u, 15359u, + 15328u, 15368u, 15271u, 15488u, + 15370u, 15408u, 15269u, 15379u, + 15238u, 15450u, 15302u, 15257u, + 15369u, 15348u, 15433u, 15396u, + 15336u, 15319u, 15230u, 15418u, + 15471u, 15356u, 15341u, 15372u, + 15252u, 15272u, 15348u, 15247u, + 15434u, 15285u, 15315u, 15433u, + 15397u, 15238u, 15340u, 15283u, + 15212u, 15348u, 15319u, 15317u, + 15292u, 15323u, 15385u, 15313u, + 15339u, 15395u, 15415u, 15414u, + 15295u, 15340u, 15382u, 15247u, + 15255u, 15406u, 15205u, 15449u, + 15376u, 15271u, 15437u, 15435u, + 15325u, 15253u, 15233u, 15255u, + 15357u, 15586u, 15318u, 15427u, + 15439u, 15302u, 15385u, 15398u, + 15394u, 15378u, 15447u, 15267u, + 15331u, 15426u, 15454u, 15438u, + 15294u, 15402u, 15154u, 15418u, + 15331u, 15270u, 15265u, 15369u, + 15283u, 15324u, 15334u, 15395u, + 15352u, 15326u, 15318u, 15298u, + 15342u, 15378u, 15427u, 15472u, + 15401u, 15449u, 15301u, 15299u, + 15368u, 15250u, 15409u, 15365u, + 15319u, 15331u, 15382u, 15362u, + 15279u, 15374u, 15338u, 15367u, + 15324u, 15401u, 15420u, 15260u, + 15413u, 15426u, 15373u, 15243u, + 15295u, 15367u, 15425u, 15424u, + 15496u, 15344u, 15385u, 15257u, + 15315u, 15489u, 15510u, 15412u, + 15332u, 15250u, 15382u, 15335u, + 15425u, 15230u, 15248u, 15376u, + 15423u, 15387u, 15365u, 15308u, + 15293u, 15398u, 15293u, 15447u, + 15319u, 15346u, 15280u, 15389u, + 15399u, 15404u, 15385u, 15324u, + 15518u, 15265u, 15327u, 15346u, + 15376u, 15407u, 15391u, 15402u, + 15392u, 15296u, 15254u, 15385u, + 15285u, 15362u, 15376u, 15373u, + 15389u, 15315u, 15492u, 15360u, + 15300u, 15288u, 15222u, 15547u, + 15210u, 15362u, 15536u, 15285u, + 15215u, 15385u, 15241u, 15352u, + 15367u, 15247u, 15333u, 15247u, + 15467u, 15396u, 15334u, 15341u, + 15426u, 15287u, 15376u, 15473u, + 15266u, 15354u, 15308u, 15366u, + 15383u, 15392u, 15332u, 15245u, + 15394u, 15322u, 15142u, 15397u, + 15407u, 15333u, 15215u, 15441u, + 15398u, 15301u, 15296u, 15270u, + 15385u, 15368u, 15253u, 15415u, + 15448u, 15356u, 15429u, 15379u, + 15274u, 15261u, 15370u, 15365u, + 15400u, 15386u, 15371u, 15356u, + 15365u, 15590u, 15353u, 15405u +}; + +const uint8 LangIdNNParams::kEmbeddingsWeights4[] = { + 173u, 216u, 255u, 127u, + 175u, 139u, 119u, 104u, + 160u, 109u, 199u, 239u, + 180u, 54u, 222u, 16u, + 255u, 148u, 136u, 239u, + 147u, 72u, 141u, 229u, + 190u, 33u, 83u, 68u, + 221u, 80u, 83u, 143u, + 98u, 203u, 161u, 150u, + 173u, 137u, 191u, 19u, + 134u, 126u, 150u, 227u, + 160u, 47u, 164u, 1u, + 151u, 182u, 201u, 127u, + 110u, 41u, 125u, 180u, + 181u, 136u, 68u, 189u, + 255u, 12u, 89u, 20u, + 123u, 151u, 139u, 133u, + 190u, 66u, 255u, 222u, + 66u, 120u, 151u, 148u, + 183u, 47u, 87u, 81u, + 116u, 165u, 146u, 219u, + 163u, 1u, 178u, 26u, + 169u, 187u, 48u, 142u, + 184u, 165u, 91u, 203u, + 34u, 135u, 67u, 255u, + 19u, 208u, 226u, 156u, + 137u, 170u, 224u, 167u, + 245u, 126u, 109u, 208u, + 92u, 115u, 29u, 143u, + 148u, 97u, 106u, 170u, + 150u, 86u, 174u, 36u, + 1u, 121u, 59u, 111u, + 146u, 135u, 202u, 234u, + 233u, 105u, 146u, 117u, + 90u, 182u, 106u, 161u, + 255u, 70u, 14u, 31u, + 44u, 171u, 132u, 255u, + 206u, 20u, 136u, 62u, + 49u, 138u, 122u, 15u, + 178u, 242u, 80u, 190u, + 144u, 0u, 214u, 82u, + 105u, 6u, 36u, 242u, + 92u, 127u, 121u, 155u, + 138u, 221u, 165u, 246u, + 64u, 175u, 183u, 79u, + 167u, 125u, 134u, 74u, + 148u, 152u, 147u, 129u, + 230u, 1u, 108u, 154u, + 169u, 135u, 93u, 110u, + 21u, 1u, 81u, 132u, + 177u, 62u, 184u, 77u, + 253u, 101u, 176u, 163u, + 77u, 118u, 81u, 131u, + 180u, 151u, 207u, 77u, + 129u, 189u, 128u, 179u, + 255u, 154u, 128u, 101u, + 97u, 27u, 39u, 97u, + 97u, 0u, 64u, 158u, + 228u, 123u, 192u, 129u, + 126u, 154u, 42u, 101u, + 143u, 47u, 255u, 33u, + 173u, 60u, 116u, 195u, + 169u, 203u, 205u, 119u, + 156u, 165u, 150u, 158u, + 185u, 108u, 126u, 88u, + 179u, 42u, 134u, 128u, + 0u, 89u, 102u, 91u, + 184u, 124u, 86u, 203u, + 84u, 106u, 134u, 0u, + 98u, 44u, 97u, 23u, + 164u, 191u, 106u, 190u, + 203u, 98u, 160u, 125u, + 103u, 66u, 28u, 164u, + 46u, 153u, 52u, 117u, + 165u, 198u, 157u, 84u, + 181u, 1u, 107u, 126u, + 178u, 221u, 193u, 226u, + 197u, 140u, 188u, 101u, + 113u, 130u, 255u, 27u, + 127u, 166u, 209u, 227u, + 104u, 96u, 186u, 162u, + 73u, 42u, 89u, 48u, + 120u, 152u, 141u, 224u, + 133u, 255u, 91u, 55u, + 232u, 149u, 57u, 89u, + 1u, 151u, 221u, 152u, + 78u, 84u, 49u, 254u, + 53u, 191u, 218u, 86u, + 140u, 192u, 156u, 1u, + 115u, 200u, 104u, 63u, + 181u, 65u, 41u, 243u, + 159u, 64u, 148u, 121u, + 102u, 148u, 152u, 118u, + 132u, 139u, 88u, 1u, + 105u, 99u, 157u, 123u, + 134u, 135u, 84u, 207u, + 140u, 156u, 203u, 157u, + 125u, 198u, 154u, 192u, + 143u, 77u, 118u, 195u, + 203u, 159u, 108u, 1u, + 38u, 200u, 50u, 114u, + 145u, 181u, 31u, 115u, + 77u, 154u, 141u, 0u, + 190u, 140u, 46u, 182u, + 119u, 159u, 139u, 191u, + 84u, 92u, 255u, 93u, + 155u, 149u, 123u, 69u, + 68u, 77u, 215u, 159u, + 255u, 155u, 166u, 46u, + 142u, 103u, 137u, 193u, + 133u, 173u, 169u, 72u, + 156u, 188u, 239u, 85u, + 120u, 125u, 109u, 160u, + 150u, 255u, 140u, 121u, + 94u, 36u, 81u, 126u, + 157u, 53u, 97u, 99u, + 92u, 90u, 141u, 201u, + 142u, 249u, 179u, 199u, + 127u, 73u, 229u, 255u, + 162u, 76u, 94u, 97u, + 92u, 238u, 113u, 93u, + 196u, 155u, 161u, 149u, + 23u, 1u, 110u, 178u, + 83u, 46u, 71u, 51u, + 90u, 199u, 137u, 130u, + 56u, 142u, 255u, 79u, + 138u, 119u, 132u, 78u, + 30u, 104u, 104u, 144u, + 128u, 62u, 129u, 157u, + 97u, 170u, 104u, 209u, + 162u, 124u, 255u, 110u, + 158u, 198u, 152u, 120u, + 57u, 132u, 137u, 101u, + 189u, 11u, 130u, 168u, + 119u, 88u, 105u, 26u, + 255u, 17u, 132u, 244u, + 28u, 188u, 145u, 151u, + 77u, 194u, 187u, 255u, + 210u, 149u, 142u, 52u, + 143u, 20u, 45u, 221u, + 78u, 40u, 247u, 186u, + 243u, 120u, 58u, 148u, + 84u, 117u, 125u, 190u, + 129u, 255u, 100u, 137u, + 220u, 144u, 201u, 34u, + 96u, 213u, 223u, 255u, + 217u, 196u, 41u, 173u, + 37u, 62u, 131u, 153u, + 145u, 255u, 177u, 56u, + 136u, 48u, 157u, 68u, + 79u, 100u, 82u, 186u, + 28u, 211u, 187u, 234u, + 246u, 32u, 123u, 164u, + 123u, 73u, 233u, 17u, + 82u, 57u, 25u, 202u, + 117u, 255u, 124u, 105u, + 210u, 113u, 255u, 114u, + 188u, 25u, 103u, 74u, + 89u, 235u, 97u, 77u, + 222u, 194u, 211u, 83u, + 93u, 220u, 98u, 170u, + 110u, 196u, 171u, 163u, + 255u, 160u, 176u, 87u, + 30u, 88u, 137u, 77u, + 152u, 168u, 178u, 244u, + 52u, 23u, 201u, 21u, + 40u, 45u, 127u, 119u, + 128u, 255u, 113u, 185u, + 96u, 95u, 119u, 140u, + 78u, 144u, 98u, 1u, + 151u, 170u, 178u, 212u, + 80u, 89u, 151u, 1u, + 128u, 133u, 36u, 178u, + 205u, 150u, 117u, 93u, + 116u, 4u, 226u, 70u, + 117u, 109u, 147u, 255u, + 121u, 255u, 159u, 128u, + 163u, 160u, 88u, 152u, + 41u, 51u, 193u, 201u, + 184u, 173u, 89u, 105u, + 42u, 183u, 151u, 146u, + 142u, 104u, 206u, 128u, + 122u, 67u, 168u, 148u, + 160u, 1u, 157u, 176u, + 115u, 153u, 99u, 127u, + 91u, 104u, 66u, 0u, + 100u, 123u, 139u, 45u, + 184u, 7u, 96u, 170u, + 44u, 107u, 42u, 144u, + 166u, 184u, 156u, 44u, + 181u, 252u, 81u, 121u, + 96u, 103u, 81u, 0u, + 152u, 206u, 184u, 88u, + 80u, 131u, 150u, 218u, + 209u, 107u, 201u, 162u, + 1u, 80u, 208u, 142u, + 98u, 67u, 164u, 113u, + 136u, 73u, 135u, 125u, + 108u, 193u, 180u, 129u, + 255u, 128u, 98u, 103u, + 144u, 229u, 167u, 128u, + 179u, 255u, 130u, 120u, + 106u, 107u, 40u, 124u, + 75u, 129u, 179u, 154u, + 226u, 184u, 241u, 57u, + 121u, 111u, 13u, 5u, + 1u, 83u, 206u, 112u, + 172u, 92u, 182u, 177u, + 109u, 152u, 225u, 237u, + 155u, 0u, 70u, 148u, + 220u, 149u, 92u, 110u, + 71u, 95u, 97u, 191u, + 161u, 49u, 95u, 72u, + 221u, 104u, 95u, 92u, + 131u, 237u, 1u, 152u, + 107u, 42u, 142u, 122u, + 180u, 130u, 211u, 153u, + 210u, 21u, 96u, 157u, + 146u, 137u, 133u, 222u, + 50u, 167u, 255u, 77u, + 182u, 55u, 89u, 197u, + 135u, 210u, 59u, 178u, + 51u, 0u, 127u, 219u, + 206u, 128u, 80u, 104u, + 210u, 128u, 106u, 173u, + 95u, 1u, 74u, 230u, + 114u, 45u, 182u, 131u, + 119u, 186u, 188u, 181u, + 100u, 70u, 148u, 134u, + 118u, 162u, 74u, 148u, + 98u, 123u, 138u, 93u, + 69u, 153u, 123u, 1u, + 82u, 236u, 168u, 114u, + 178u, 144u, 70u, 126u, + 116u, 31u, 1u, 196u, + 69u, 254u, 18u, 42u, + 133u, 92u, 142u, 108u, + 167u, 122u, 30u, 88u, + 1u, 159u, 166u, 82u, + 169u, 174u, 24u, 64u, + 172u, 104u, 105u, 255u, + 143u, 235u, 161u, 132u, + 139u, 54u, 202u, 87u, + 97u, 139u, 55u, 194u, + 171u, 149u, 255u, 176u, + 161u, 172u, 188u, 131u, + 177u, 62u, 29u, 110u, + 185u, 191u, 117u, 112u, + 83u, 154u, 157u, 158u, + 255u, 129u, 207u, 148u, + 106u, 183u, 150u, 133u, + 147u, 150u, 171u, 140u, + 92u, 167u, 135u, 157u, + 115u, 159u, 210u, 185u, + 116u, 131u, 177u, 45u, + 255u, 77u, 82u, 28u, + 120u, 93u, 104u, 66u, + 74u, 115u, 130u, 1u, + 55u, 120u, 98u, 5u, + 60u, 160u, 164u, 148u, + 189u, 138u, 228u, 202u, + 72u, 113u, 64u, 1u, + 86u, 187u, 209u, 84u, + 230u, 79u, 43u, 191u, + 81u, 150u, 189u, 81u, + 103u, 110u, 70u, 133u, + 127u, 148u, 148u, 255u, + 185u, 43u, 118u, 158u, + 128u, 202u, 132u, 0u, + 184u, 23u, 105u, 48u, + 246u, 179u, 53u, 7u, + 158u, 77u, 65u, 114u, + 136u, 74u, 222u, 179u, + 134u, 26u, 53u, 188u, + 166u, 162u, 172u, 183u, + 125u, 255u, 128u, 44u, + 170u, 0u, 132u, 151u, + 111u, 71u, 105u, 99u, + 78u, 184u, 119u, 57u, + 123u, 174u, 160u, 141u, + 76u, 158u, 42u, 22u, + 174u, 191u, 65u, 245u, + 42u, 138u, 153u, 67u, + 66u, 99u, 0u, 205u, + 164u, 136u, 1u, 76u, + 110u, 114u, 62u, 140u, + 35u, 75u, 216u, 155u, + 54u, 129u, 145u, 188u, + 119u, 126u, 169u, 20u, + 119u, 228u, 140u, 255u, + 28u, 71u, 180u, 15u, + 59u, 235u, 54u, 92u, + 97u, 163u, 255u, 209u, + 101u, 164u, 150u, 81u, + 96u, 81u, 77u, 69u, + 122u, 206u, 165u, 61u, + 1u, 187u, 47u, 59u, + 101u, 73u, 156u, 113u, + 203u, 182u, 155u, 101u, + 154u, 98u, 148u, 99u, + 75u, 119u, 67u, 125u, + 113u, 144u, 53u, 255u, + 85u, 99u, 116u, 168u, + 66u, 13u, 177u, 128u, + 46u, 80u, 54u, 217u, + 116u, 128u, 231u, 8u, + 139u, 87u, 255u, 189u, + 111u, 103u, 155u, 52u, + 103u, 255u, 158u, 183u, + 137u, 150u, 206u, 185u, + 151u, 128u, 116u, 115u, + 112u, 120u, 117u, 180u, + 62u, 144u, 100u, 98u, + 126u, 1u, 186u, 150u, + 245u, 129u, 106u, 235u, + 189u, 142u, 79u, 90u, + 161u, 86u, 80u, 213u, + 133u, 93u, 156u, 153u, + 35u, 173u, 122u, 126u, + 189u, 145u, 255u, 94u, + 1u, 93u, 1u, 180u, + 57u, 93u, 158u, 120u, + 109u, 180u, 160u, 104u, + 79u, 223u, 132u, 124u, + 150u, 99u, 189u, 75u, + 112u, 157u, 105u, 95u, + 69u, 117u, 178u, 184u, + 255u, 224u, 140u, 234u, + 173u, 208u, 108u, 201u, + 217u, 142u, 126u, 60u, + 189u, 60u, 127u, 59u, + 127u, 94u, 191u, 255u, + 246u, 136u, 174u, 125u, + 138u, 190u, 173u, 94u, + 185u, 184u, 98u, 78u, + 1u, 116u, 238u, 110u, + 161u, 240u, 64u, 42u, + 189u, 158u, 89u, 255u, + 133u, 70u, 32u, 134u, + 65u, 138u, 85u, 45u, + 179u, 53u, 110u, 106u, + 166u, 124u, 164u, 255u, + 93u, 148u, 114u, 95u, + 170u, 68u, 128u, 91u, + 1u, 54u, 144u, 8u, + 186u, 114u, 101u, 157u, + 58u, 128u, 108u, 176u, + 103u, 115u, 174u, 93u, + 33u, 90u, 65u, 110u, + 65u, 188u, 183u, 109u, + 157u, 144u, 139u, 184u, + 146u, 79u, 55u, 1u, + 187u, 65u, 129u, 23u, + 121u, 57u, 39u, 143u, + 255u, 255u, 171u, 225u, + 135u, 49u, 15u, 120u, + 80u, 50u, 142u, 154u, + 158u, 158u, 149u, 228u, + 105u, 165u, 100u, 161u, + 0u, 167u, 60u, 8u, + 255u, 251u, 102u, 65u, + 201u, 68u, 95u, 98u, + 72u, 48u, 204u, 188u, + 198u, 69u, 162u, 234u, + 145u, 156u, 160u, 97u, + 184u, 170u, 161u, 174u, + 81u, 175u, 204u, 159u, + 91u, 0u, 31u, 132u, + 62u, 137u, 98u, 124u, + 134u, 108u, 129u, 99u, + 110u, 92u, 3u, 219u, + 124u, 255u, 159u, 231u, + 150u, 1u, 123u, 77u, + 114u, 180u, 92u, 147u, + 110u, 190u, 146u, 84u, + 91u, 220u, 228u, 159u, + 71u, 241u, 141u, 92u, + 137u, 152u, 140u, 180u, + 142u, 135u, 57u, 255u, + 199u, 126u, 40u, 201u, + 152u, 147u, 195u, 45u, + 74u, 140u, 16u, 202u, + 57u, 237u, 87u, 135u, + 255u, 97u, 116u, 117u, + 86u, 177u, 130u, 80u, + 160u, 90u, 103u, 220u, + 110u, 82u, 1u, 135u, + 22u, 144u, 12u, 114u, + 101u, 127u, 147u, 96u, + 190u, 211u, 92u, 216u, + 125u, 60u, 143u, 165u, + 152u, 143u, 1u, 168u, + 73u, 255u, 116u, 125u, + 114u, 117u, 208u, 62u, + 149u, 198u, 86u, 94u, + 115u, 77u, 34u, 154u, + 164u, 45u, 151u, 112u, + 248u, 163u, 5u, 13u, + 60u, 114u, 32u, 0u, + 206u, 74u, 66u, 79u, + 136u, 154u, 250u, 42u, + 255u, 106u, 192u, 143u, + 50u, 93u, 137u, 222u, + 137u, 164u, 88u, 47u, + 81u, 85u, 92u, 178u, + 103u, 150u, 189u, 11u, + 201u, 182u, 101u, 1u, + 91u, 92u, 187u, 154u, + 155u, 96u, 97u, 155u, + 173u, 86u, 97u, 25u, + 1u, 160u, 223u, 57u, + 130u, 117u, 156u, 46u, + 173u, 192u, 176u, 159u, + 129u, 185u, 55u, 242u, + 166u, 37u, 161u, 103u, + 149u, 1u, 141u, 197u, + 64u, 134u, 88u, 229u, + 199u, 61u, 188u, 154u, + 112u, 241u, 64u, 22u, + 1u, 193u, 166u, 30u, + 244u, 185u, 182u, 144u, + 207u, 200u, 65u, 92u, + 204u, 134u, 255u, 213u, + 6u, 65u, 147u, 40u, + 138u, 107u, 114u, 135u, + 54u, 202u, 118u, 48u, + 114u, 135u, 135u, 86u, + 64u, 137u, 175u, 255u, + 92u, 70u, 134u, 23u, + 138u, 115u, 130u, 152u, + 72u, 118u, 178u, 84u, + 108u, 141u, 1u, 145u, + 200u, 1u, 164u, 226u, + 138u, 161u, 81u, 127u, + 181u, 244u, 65u, 182u, + 254u, 161u, 3u, 64u, + 154u, 208u, 147u, 1u, + 227u, 92u, 225u, 88u, + 153u, 127u, 77u, 206u, + 153u, 186u, 211u, 151u, + 189u, 86u, 142u, 1u, + 106u, 109u, 131u, 157u, + 166u, 136u, 67u, 224u, + 25u, 150u, 112u, 105u, + 154u, 150u, 237u, 217u, + 60u, 161u, 196u, 83u, + 183u, 216u, 183u, 117u, + 229u, 255u, 56u, 87u, + 105u, 131u, 151u, 185u, + 142u, 113u, 131u, 129u, + 124u, 135u, 197u, 134u, + 255u, 109u, 124u, 115u, + 111u, 81u, 41u, 119u, + 1u, 224u, 150u, 197u, + 174u, 95u, 40u, 152u, + 110u, 119u, 192u, 118u, + 182u, 13u, 206u, 231u, + 130u, 94u, 7u, 140u, + 200u, 176u, 66u, 164u, + 134u, 53u, 168u, 0u, + 48u, 176u, 40u, 255u, + 123u, 160u, 193u, 23u, + 117u, 165u, 144u, 109u, + 152u, 48u, 156u, 151u, + 192u, 174u, 31u, 192u, + 136u, 222u, 65u, 179u, + 159u, 10u, 197u, 1u, + 61u, 176u, 120u, 157u, + 124u, 194u, 56u, 19u, + 86u, 140u, 130u, 100u, + 21u, 22u, 10u, 153u, + 60u, 195u, 1u, 216u, + 61u, 154u, 60u, 148u, + 170u, 176u, 23u, 207u, + 98u, 44u, 138u, 252u, + 161u, 97u, 0u, 96u, + 200u, 133u, 86u, 103u, + 170u, 173u, 197u, 108u, + 214u, 137u, 78u, 48u, + 119u, 1u, 239u, 137u, + 104u, 20u, 143u, 250u, + 198u, 199u, 47u, 134u, + 26u, 86u, 194u, 148u, + 31u, 255u, 119u, 108u, + 157u, 9u, 93u, 206u, + 102u, 150u, 50u, 171u, + 255u, 58u, 169u, 140u, + 153u, 155u, 84u, 67u, + 5u, 23u, 55u, 151u, + 127u, 23u, 86u, 165u, + 83u, 1u, 186u, 191u, + 209u, 188u, 236u, 178u, + 247u, 156u, 217u, 34u, + 160u, 51u, 97u, 110u, + 134u, 163u, 245u, 46u, + 211u, 1u, 204u, 134u, + 255u, 129u, 174u, 80u, + 123u, 125u, 123u, 140u, + 236u, 8u, 88u, 41u, + 200u, 215u, 37u, 235u, + 192u, 47u, 59u, 197u, + 187u, 14u, 1u, 247u, + 66u, 187u, 129u, 51u, + 127u, 200u, 73u, 96u, + 143u, 100u, 143u, 255u, + 79u, 162u, 99u, 147u, + 173u, 146u, 199u, 98u, + 173u, 125u, 69u, 107u, + 169u, 81u, 153u, 147u, + 164u, 200u, 157u, 219u, + 141u, 65u, 170u, 65u, + 1u, 205u, 127u, 101u, + 155u, 185u, 120u, 111u, + 199u, 50u, 28u, 41u, + 109u, 255u, 100u, 192u, + 170u, 178u, 11u, 104u, + 85u, 154u, 41u, 75u, + 109u, 221u, 63u, 1u, + 52u, 95u, 223u, 57u, + 119u, 167u, 247u, 99u, + 133u, 99u, 114u, 255u, + 66u, 152u, 4u, 242u, + 214u, 93u, 205u, 147u, + 94u, 137u, 121u, 76u, + 219u, 119u, 134u, 148u, + 89u, 183u, 87u, 168u, + 144u, 153u, 97u, 35u, + 133u, 141u, 255u, 67u, + 31u, 189u, 67u, 164u, + 99u, 158u, 59u, 149u, + 34u, 54u, 224u, 87u, + 255u, 148u, 201u, 26u, + 120u, 60u, 230u, 0u, + 116u, 224u, 61u, 69u, + 233u, 180u, 87u, 151u, + 218u, 53u, 136u, 105u, + 42u, 134u, 183u, 169u, + 181u, 155u, 128u, 73u, + 156u, 105u, 159u, 163u, + 194u, 122u, 0u, 64u, + 120u, 90u, 106u, 122u, + 78u, 183u, 93u, 189u, + 154u, 159u, 118u, 137u, + 0u, 131u, 144u, 135u, + 138u, 86u, 222u, 133u, + 76u, 80u, 1u, 177u, + 212u, 77u, 199u, 166u, + 44u, 133u, 220u, 111u, + 99u, 94u, 97u, 186u, + 73u, 100u, 54u, 64u, + 255u, 130u, 16u, 168u, + 110u, 193u, 147u, 112u, + 46u, 171u, 81u, 96u, + 151u, 201u, 137u, 255u, + 45u, 68u, 15u, 249u, + 11u, 170u, 144u, 169u, + 160u, 221u, 255u, 10u, + 102u, 125u, 3u, 106u, + 214u, 237u, 193u, 160u, + 100u, 65u, 148u, 140u, + 104u, 176u, 131u, 190u, + 102u, 117u, 65u, 122u, + 71u, 126u, 138u, 120u, + 67u, 30u, 155u, 1u, + 230u, 29u, 156u, 191u, + 24u, 254u, 116u, 181u, + 115u, 138u, 125u, 212u, + 70u, 136u, 197u, 255u, + 65u, 107u, 203u, 71u, + 176u, 188u, 147u, 134u, + 15u, 134u, 150u, 1u, + 112u, 97u, 148u, 114u, + 103u, 76u, 158u, 182u, + 97u, 167u, 153u, 153u, + 72u, 255u, 127u, 81u, + 190u, 68u, 210u, 81u, + 71u, 149u, 71u, 191u, + 239u, 255u, 107u, 146u, + 120u, 139u, 59u, 79u, + 49u, 65u, 105u, 59u, + 53u, 89u, 197u, 174u, + 190u, 255u, 106u, 154u, + 91u, 190u, 182u, 105u, + 177u, 144u, 99u, 105u, + 237u, 148u, 255u, 240u, + 222u, 77u, 146u, 108u, + 225u, 252u, 109u, 136u, + 129u, 203u, 127u, 163u, + 129u, 166u, 138u, 163u, + 198u, 173u, 226u, 67u, + 0u, 101u, 211u, 145u, + 156u, 58u, 139u, 70u, + 152u, 190u, 198u, 8u, + 138u, 78u, 99u, 84u, + 96u, 154u, 134u, 187u, + 222u, 220u, 1u, 67u, + 130u, 179u, 167u, 112u, + 179u, 137u, 147u, 163u, + 102u, 132u, 218u, 164u, + 231u, 0u, 146u, 99u, + 181u, 255u, 192u, 27u, + 158u, 96u, 115u, 219u, + 200u, 201u, 87u, 187u, + 187u, 82u, 117u, 140u, + 120u, 138u, 255u, 114u, + 118u, 167u, 135u, 99u, + 141u, 175u, 144u, 92u, + 161u, 224u, 184u, 127u, + 98u, 219u, 29u, 172u, + 0u, 144u, 185u, 237u, + 127u, 137u, 68u, 26u, + 28u, 199u, 237u, 145u, + 163u, 129u, 114u, 147u, + 122u, 106u, 90u, 255u, + 129u, 184u, 82u, 95u, + 105u, 208u, 96u, 49u, + 147u, 112u, 139u, 164u, + 106u, 163u, 176u, 157u, + 100u, 141u, 186u, 88u, + 73u, 132u, 127u, 1u, + 1u, 94u, 132u, 77u, + 196u, 189u, 40u, 141u, + 131u, 178u, 211u, 38u, + 250u, 166u, 97u, 151u, + 215u, 194u, 144u, 131u, + 194u, 78u, 217u, 44u, + 1u, 115u, 115u, 153u, + 123u, 57u, 35u, 143u, + 96u, 166u, 97u, 1u, + 106u, 150u, 164u, 153u, + 163u, 108u, 104u, 177u, + 61u, 85u, 164u, 76u, + 166u, 136u, 93u, 135u, + 64u, 126u, 146u, 91u, + 169u, 171u, 255u, 110u, + 210u, 69u, 184u, 158u, + 117u, 71u, 133u, 126u, + 87u, 123u, 255u, 61u, + 58u, 151u, 83u, 202u, + 156u, 139u, 141u, 60u, + 174u, 1u, 22u, 101u, + 25u, 194u, 121u, 20u, + 157u, 99u, 18u, 124u, + 45u, 22u, 205u, 200u, + 170u, 121u, 71u, 98u, + 119u, 181u, 128u, 125u, + 42u, 255u, 8u, 78u, + 123u, 195u, 83u, 165u, + 184u, 89u, 115u, 26u, + 50u, 39u, 118u, 218u, + 59u, 0u, 156u, 116u, + 133u, 116u, 102u, 68u, + 103u, 126u, 146u, 98u, + 137u, 81u, 135u, 42u, + 18u, 64u, 131u, 103u, + 185u, 151u, 1u, 64u, + 50u, 8u, 206u, 67u, + 118u, 96u, 39u, 18u, + 79u, 107u, 39u, 255u, + 81u, 255u, 14u, 166u, + 255u, 101u, 167u, 131u, + 171u, 102u, 61u, 242u, + 35u, 129u, 197u, 170u, + 181u, 151u, 125u, 78u, + 21u, 142u, 31u, 1u, + 179u, 133u, 150u, 197u, + 120u, 81u, 186u, 201u, + 24u, 197u, 147u, 148u, + 72u, 98u, 58u, 92u, + 35u, 89u, 139u, 118u, + 21u, 93u, 17u, 138u, + 15u, 172u, 130u, 255u, + 113u, 97u, 163u, 97u, + 118u, 50u, 136u, 1u, + 176u, 183u, 136u, 124u, + 224u, 207u, 139u, 143u, + 164u, 0u, 137u, 45u, + 223u, 188u, 123u, 143u, + 49u, 207u, 41u, 171u, + 3u, 221u, 28u, 75u, + 187u, 156u, 197u, 84u, + 92u, 164u, 41u, 95u, + 117u, 141u, 160u, 136u, + 111u, 1u, 92u, 112u, + 62u, 126u, 162u, 242u, + 90u, 152u, 122u, 255u, + 160u, 1u, 158u, 204u, + 70u, 230u, 178u, 108u, + 78u, 161u, 255u, 67u, + 102u, 28u, 150u, 211u, + 189u, 25u, 121u, 139u, + 158u, 152u, 100u, 112u, + 135u, 255u, 206u, 77u, + 225u, 170u, 120u, 161u, + 97u, 176u, 125u, 189u, + 78u, 136u, 157u, 137u, + 161u, 186u, 131u, 128u, + 146u, 155u, 106u, 200u, + 10u, 134u, 177u, 1u, + 55u, 206u, 170u, 133u, + 74u, 50u, 233u, 193u, + 124u, 69u, 161u, 0u, + 103u, 227u, 151u, 202u, + 215u, 190u, 82u, 48u, + 83u, 100u, 22u, 255u, + 97u, 155u, 140u, 116u, + 120u, 110u, 78u, 8u, + 24u, 216u, 156u, 213u, + 23u, 54u, 213u, 130u, + 137u, 18u, 71u, 245u, + 140u, 67u, 206u, 208u, + 81u, 255u, 4u, 202u, + 28u, 77u, 57u, 70u, + 78u, 125u, 166u, 98u, + 145u, 100u, 77u, 114u, + 126u, 89u, 76u, 255u, + 1u, 213u, 29u, 36u, + 89u, 201u, 224u, 37u, + 223u, 95u, 150u, 249u, + 79u, 66u, 204u, 253u, + 236u, 72u, 19u, 159u, + 55u, 138u, 1u, 167u, + 202u, 182u, 144u, 127u, + 105u, 145u, 126u, 146u, + 178u, 146u, 144u, 101u, + 207u, 96u, 92u, 116u, + 110u, 1u, 169u, 106u, + 145u, 138u, 11u, 227u, + 255u, 80u, 128u, 126u, + 74u, 132u, 136u, 234u, + 42u, 138u, 172u, 84u, + 127u, 94u, 207u, 215u, + 147u, 108u, 114u, 160u, + 75u, 255u, 100u, 63u, + 135u, 62u, 93u, 153u, + 177u, 201u, 216u, 166u, + 253u, 105u, 115u, 150u, + 151u, 255u, 140u, 191u, + 85u, 92u, 145u, 112u, + 94u, 133u, 91u, 139u, + 123u, 0u, 98u, 71u, + 159u, 83u, 185u, 95u, + 8u, 213u, 31u, 164u, + 131u, 238u, 113u, 135u, + 72u, 91u, 115u, 255u, + 107u, 231u, 159u, 129u, + 170u, 154u, 69u, 158u, + 76u, 81u, 21u, 106u, + 62u, 185u, 113u, 16u, + 52u, 124u, 215u, 195u, + 224u, 82u, 130u, 255u, + 98u, 20u, 223u, 194u, + 200u, 184u, 168u, 42u, + 150u, 214u, 50u, 125u, + 0u, 202u, 127u, 36u, + 94u, 144u, 98u, 57u, + 86u, 200u, 130u, 1u, + 130u, 144u, 94u, 174u, + 70u, 86u, 181u, 90u, + 203u, 23u, 36u, 219u, + 142u, 97u, 163u, 95u, + 226u, 127u, 189u, 121u, + 57u, 89u, 138u, 17u, + 77u, 255u, 176u, 126u, + 130u, 27u, 70u, 61u, + 1u, 5u, 122u, 152u, + 81u, 129u, 188u, 32u, + 159u, 247u, 89u, 52u, + 121u, 160u, 183u, 140u, + 23u, 65u, 82u, 75u, + 142u, 148u, 237u, 105u, + 84u, 255u, 132u, 214u, + 141u, 122u, 71u, 117u, + 189u, 55u, 12u, 70u, + 156u, 201u, 156u, 61u, + 180u, 86u, 1u, 158u, + 134u, 5u, 150u, 1u, + 125u, 136u, 118u, 70u, + 56u, 145u, 190u, 88u, + 173u, 119u, 66u, 174u, + 75u, 161u, 118u, 139u, + 136u, 135u, 1u, 81u, + 66u, 112u, 127u, 112u, + 65u, 199u, 101u, 157u, + 174u, 135u, 7u, 29u, + 255u, 155u, 189u, 78u, + 63u, 229u, 130u, 171u, + 167u, 70u, 112u, 60u, + 219u, 161u, 118u, 164u, + 79u, 46u, 87u, 180u, + 178u, 115u, 138u, 215u, + 85u, 0u, 196u, 71u, + 142u, 218u, 207u, 103u, + 173u, 92u, 228u, 1u, + 91u, 201u, 16u, 221u, + 115u, 207u, 182u, 46u, + 97u, 69u, 128u, 152u, + 141u, 164u, 89u, 158u, + 40u, 193u, 110u, 126u, + 122u, 255u, 129u, 173u, + 70u, 168u, 253u, 58u, + 119u, 155u, 181u, 171u, + 111u, 101u, 162u, 144u, + 25u, 201u, 255u, 93u, + 0u, 87u, 20u, 113u, + 115u, 203u, 147u, 104u, + 107u, 140u, 94u, 120u, + 118u, 69u, 79u, 143u, + 72u, 83u, 238u, 187u, + 181u, 48u, 91u, 34u, + 1u, 155u, 166u, 45u, + 70u, 108u, 129u, 218u, + 111u, 191u, 115u, 116u, + 103u, 136u, 255u, 126u, + 30u, 70u, 98u, 149u, + 81u, 144u, 152u, 146u, + 5u, 16u, 180u, 60u, + 255u, 62u, 104u, 110u, + 125u, 136u, 73u, 76u, + 161u, 250u, 49u, 61u, + 144u, 187u, 118u, 40u, + 255u, 232u, 109u, 184u, + 86u, 96u, 35u, 88u, + 23u, 132u, 40u, 150u, + 242u, 194u, 217u, 173u, + 74u, 137u, 104u, 197u, + 172u, 1u, 218u, 183u, + 210u, 95u, 139u, 162u, + 131u, 142u, 143u, 90u, + 178u, 110u, 119u, 255u, + 152u, 94u, 62u, 224u, + 183u, 147u, 174u, 106u, + 255u, 200u, 172u, 100u, + 149u, 174u, 86u, 193u, + 54u, 128u, 171u, 138u, + 115u, 188u, 123u, 138u, + 215u, 192u, 162u, 155u, + 136u, 57u, 104u, 43u, + 124u, 109u, 187u, 94u, + 144u, 134u, 255u, 86u, + 75u, 93u, 74u, 126u, + 176u, 169u, 128u, 173u, + 139u, 236u, 208u, 125u, + 230u, 242u, 103u, 1u, + 158u, 205u, 92u, 157u, + 17u, 73u, 91u, 128u, + 107u, 97u, 185u, 142u, + 220u, 234u, 146u, 1u, + 136u, 126u, 75u, 255u, + 202u, 206u, 197u, 198u, + 155u, 182u, 113u, 124u, + 52u, 92u, 117u, 104u, + 185u, 136u, 94u, 189u, + 83u, 255u, 99u, 138u, + 54u, 52u, 120u, 76u, + 50u, 64u, 145u, 169u, + 85u, 255u, 137u, 109u, + 203u, 165u, 225u, 130u, + 6u, 52u, 142u, 111u, + 95u, 200u, 55u, 177u, + 109u, 123u, 192u, 207u, + 21u, 255u, 195u, 93u, + 173u, 231u, 58u, 215u, + 102u, 253u, 107u, 67u, + 181u, 155u, 213u, 96u, + 228u, 48u, 79u, 217u, + 66u, 129u, 165u, 120u, + 169u, 74u, 255u, 31u, + 184u, 139u, 148u, 97u, + 117u, 122u, 128u, 164u, + 131u, 1u, 100u, 163u, + 117u, 44u, 116u, 144u, + 84u, 1u, 114u, 203u, + 174u, 139u, 8u, 124u, + 6u, 77u, 77u, 93u, + 139u, 177u, 127u, 11u, + 138u, 162u, 142u, 1u, + 215u, 113u, 58u, 211u, + 144u, 94u, 140u, 95u, + 93u, 204u, 124u, 89u, + 97u, 170u, 14u, 58u, + 235u, 255u, 171u, 160u, + 104u, 63u, 121u, 7u, + 31u, 122u, 184u, 176u, + 107u, 147u, 150u, 211u, + 201u, 203u, 103u, 106u, + 86u, 255u, 209u, 94u, + 135u, 127u, 228u, 41u, + 204u, 38u, 148u, 17u, + 255u, 227u, 244u, 181u, + 44u, 218u, 181u, 137u, + 72u, 63u, 100u, 24u, + 103u, 66u, 54u, 204u, + 50u, 105u, 123u, 150u, + 61u, 152u, 1u, 126u, + 134u, 178u, 61u, 112u, + 167u, 94u, 255u, 141u, + 118u, 38u, 35u, 158u, + 35u, 139u, 236u, 50u, + 182u, 77u, 228u, 179u, + 93u, 67u, 146u, 188u, + 155u, 0u, 74u, 128u, + 143u, 189u, 144u, 137u, + 247u, 188u, 99u, 105u, + 209u, 142u, 212u, 208u, + 0u, 233u, 16u, 16u, + 249u, 141u, 102u, 128u, + 117u, 154u, 112u, 192u, + 82u, 144u, 120u, 38u, + 124u, 134u, 124u, 79u, + 90u, 70u, 114u, 1u, + 70u, 125u, 172u, 135u, + 184u, 103u, 169u, 86u, + 117u, 129u, 144u, 69u, + 44u, 150u, 164u, 1u, + 106u, 16u, 42u, 155u, + 122u, 33u, 79u, 28u, + 186u, 37u, 192u, 91u, + 23u, 241u, 193u, 154u, + 255u, 184u, 186u, 135u, + 1u, 166u, 130u, 114u, + 124u, 133u, 168u, 105u, + 137u, 130u, 125u, 152u, + 120u, 145u, 171u, 159u, + 155u, 144u, 89u, 192u, + 204u, 175u, 111u, 188u, + 1u, 45u, 101u, 102u, + 152u, 240u, 218u, 240u, + 218u, 150u, 85u, 131u, + 140u, 91u, 64u, 180u, + 80u, 117u, 103u, 82u, + 4u, 168u, 202u, 255u, + 95u, 80u, 76u, 86u, + 178u, 100u, 255u, 111u, + 146u, 157u, 155u, 148u, + 118u, 79u, 92u, 91u, + 69u, 193u, 95u, 1u, + 86u, 224u, 253u, 135u, + 196u, 126u, 52u, 117u, + 86u, 147u, 227u, 111u, + 85u, 37u, 167u, 235u, + 168u, 118u, 200u, 88u, + 65u, 91u, 51u, 114u, + 131u, 239u, 1u, 149u, + 68u, 142u, 97u, 255u, + 20u, 116u, 160u, 34u, + 113u, 34u, 190u, 129u, + 166u, 94u, 161u, 152u, + 101u, 79u, 172u, 93u, + 85u, 124u, 115u, 64u, + 156u, 167u, 121u, 93u, + 81u, 0u, 94u, 116u, + 186u, 116u, 179u, 47u, + 107u, 174u, 159u, 155u, + 191u, 1u, 206u, 158u, + 120u, 91u, 25u, 208u, + 105u, 30u, 202u, 156u, + 55u, 31u, 167u, 17u, + 140u, 132u, 48u, 131u, + 169u, 200u, 198u, 255u, + 1u, 207u, 43u, 112u, + 179u, 219u, 117u, 178u, + 99u, 97u, 63u, 176u, + 36u, 44u, 101u, 137u, + 116u, 185u, 143u, 131u, + 133u, 171u, 179u, 134u, + 40u, 1u, 234u, 244u, + 139u, 185u, 165u, 146u, + 226u, 62u, 89u, 130u, + 130u, 126u, 1u, 143u, + 88u, 141u, 37u, 109u, + 77u, 229u, 131u, 83u, + 101u, 133u, 139u, 108u, + 217u, 255u, 127u, 182u, + 104u, 148u, 147u, 67u, + 156u, 126u, 173u, 144u, + 60u, 137u, 18u, 215u, + 185u, 177u, 110u, 103u, + 64u, 226u, 129u, 1u, + 239u, 117u, 186u, 79u, + 94u, 163u, 89u, 89u, + 126u, 135u, 202u, 85u, + 63u, 123u, 64u, 113u, + 124u, 182u, 255u, 59u, + 147u, 131u, 86u, 85u, + 138u, 125u, 136u, 161u, + 1u, 163u, 116u, 136u, + 94u, 165u, 167u, 227u, + 55u, 237u, 120u, 121u, + 141u, 59u, 94u, 1u, + 79u, 229u, 28u, 146u, + 35u, 182u, 105u, 12u, + 143u, 250u, 148u, 78u, + 173u, 219u, 228u, 17u, + 1u, 39u, 170u, 59u, + 202u, 106u, 115u, 154u, + 72u, 179u, 76u, 178u, + 185u, 168u, 156u, 189u, + 127u, 112u, 180u, 103u, + 65u, 1u, 103u, 100u, + 129u, 75u, 142u, 34u, + 199u, 156u, 142u, 165u, + 65u, 92u, 146u, 126u, + 41u, 20u, 61u, 0u, + 109u, 105u, 255u, 119u, + 161u, 238u, 166u, 125u, + 182u, 151u, 114u, 167u, + 113u, 84u, 138u, 161u, + 75u, 1u, 39u, 147u, + 197u, 67u, 87u, 224u, + 150u, 5u, 53u, 152u, + 69u, 177u, 147u, 146u, + 170u, 84u, 132u, 173u, + 66u, 52u, 128u, 44u, + 130u, 255u, 137u, 139u, + 164u, 211u, 175u, 96u, + 86u, 100u, 108u, 102u, + 223u, 131u, 120u, 144u, + 31u, 127u, 29u, 218u, + 188u, 206u, 1u, 143u, + 60u, 112u, 162u, 255u, + 86u, 72u, 146u, 72u, + 190u, 139u, 77u, 208u, + 144u, 231u, 155u, 186u, + 108u, 32u, 143u, 119u, + 178u, 126u, 114u, 152u, + 85u, 255u, 161u, 83u, + 247u, 80u, 20u, 100u, + 131u, 177u, 255u, 236u, + 103u, 84u, 143u, 106u, + 201u, 79u, 143u, 85u, + 101u, 110u, 188u, 220u, + 124u, 209u, 169u, 79u, + 0u, 102u, 93u, 110u, + 121u, 124u, 243u, 99u, + 63u, 193u, 199u, 203u, + 210u, 255u, 179u, 105u, + 8u, 127u, 175u, 95u, + 195u, 143u, 96u, 178u, + 108u, 121u, 147u, 129u, + 145u, 134u, 115u, 113u, + 143u, 189u, 41u, 167u, + 117u, 89u, 169u, 126u, + 1u, 126u, 127u, 119u, + 33u, 100u, 138u, 73u, + 135u, 112u, 232u, 136u, + 130u, 165u, 77u, 1u, + 150u, 32u, 114u, 55u, + 136u, 26u, 97u, 158u, + 94u, 148u, 127u, 49u, + 29u, 122u, 118u, 101u, + 1u, 160u, 119u, 184u, + 102u, 112u, 36u, 115u, + 58u, 64u, 255u, 191u, + 253u, 126u, 177u, 177u, + 229u, 94u, 148u, 73u, + 195u, 193u, 86u, 155u, + 0u, 70u, 168u, 52u, + 161u, 49u, 154u, 185u, + 203u, 79u, 219u, 181u, + 150u, 232u, 93u, 173u, + 134u, 222u, 152u, 137u, + 182u, 60u, 24u, 147u, + 59u, 255u, 153u, 80u, + 228u, 172u, 150u, 221u, + 86u, 71u, 150u, 166u, + 255u, 76u, 88u, 201u, + 42u, 106u, 138u, 72u, + 104u, 230u, 189u, 38u, + 170u, 255u, 179u, 121u, + 145u, 151u, 140u, 148u, + 8u, 75u, 135u, 102u, + 237u, 122u, 197u, 146u, + 37u, 21u, 66u, 173u, + 23u, 84u, 83u, 88u, + 93u, 164u, 255u, 181u, + 196u, 186u, 111u, 122u, + 188u, 255u, 40u, 250u, + 189u, 122u, 162u, 95u, + 76u, 76u, 77u, 212u, + 129u, 113u, 90u, 153u, + 111u, 65u, 144u, 87u, + 127u, 91u, 92u, 255u, + 138u, 163u, 134u, 149u, + 91u, 212u, 21u, 83u, + 145u, 40u, 130u, 69u, + 163u, 200u, 130u, 48u, + 154u, 1u, 108u, 119u, + 133u, 63u, 222u, 137u, + 170u, 60u, 193u, 156u, + 70u, 151u, 76u, 247u, + 218u, 69u, 1u, 74u, + 83u, 71u, 187u, 107u, + 76u, 167u, 127u, 103u, + 88u, 60u, 236u, 159u, + 119u, 255u, 79u, 125u, + 120u, 31u, 130u, 40u, + 255u, 226u, 178u, 134u, + 130u, 110u, 93u, 38u, + 167u, 170u, 117u, 114u, + 154u, 112u, 106u, 71u, + 213u, 54u, 252u, 192u, + 21u, 133u, 49u, 174u, + 255u, 111u, 80u, 237u, + 65u, 150u, 182u, 103u, + 43u, 167u, 71u, 1u, + 171u, 88u, 143u, 158u, + 137u, 145u, 87u, 92u, + 146u, 226u, 30u, 88u, + 187u, 95u, 196u, 211u, + 68u, 0u, 89u, 49u, + 210u, 168u, 172u, 148u, + 126u, 53u, 72u, 255u, + 152u, 95u, 98u, 85u, + 142u, 7u, 56u, 81u, + 71u, 187u, 213u, 126u, + 107u, 125u, 162u, 199u, + 59u, 95u, 255u, 50u, + 113u, 160u, 87u, 150u, + 182u, 168u, 134u, 156u, + 118u, 231u, 121u, 45u, + 255u, 125u, 181u, 115u, + 14u, 28u, 121u, 161u, + 187u, 187u, 5u, 95u, + 69u, 43u, 165u, 148u, + 39u, 124u, 147u, 146u, + 78u, 45u, 135u, 153u, + 79u, 145u, 116u, 1u, + 150u, 123u, 134u, 94u, + 1u, 181u, 222u, 165u, + 219u, 116u, 91u, 152u, + 40u, 192u, 218u, 88u, + 1u, 163u, 41u, 213u, + 160u, 191u, 203u, 94u, + 75u, 142u, 118u, 109u, + 131u, 109u, 142u, 58u, + 1u, 72u, 74u, 121u, + 116u, 185u, 181u, 128u, + 116u, 192u, 229u, 109u, + 200u, 85u, 97u, 162u, + 112u, 170u, 129u, 185u, + 111u, 80u, 98u, 113u, + 255u, 119u, 100u, 105u, + 152u, 93u, 102u, 201u, + 168u, 117u, 112u, 255u, + 48u, 104u, 43u, 135u, + 38u, 23u, 181u, 168u, + 74u, 174u, 139u, 157u, + 236u, 245u, 163u, 186u, + 60u, 178u, 154u, 117u, + 251u, 238u, 59u, 171u, + 26u, 0u, 64u, 67u, + 59u, 94u, 34u, 210u, + 195u, 180u, 124u, 108u, + 180u, 228u, 156u, 114u, + 218u, 1u, 51u, 171u, + 162u, 234u, 139u, 182u, + 46u, 184u, 92u, 154u, + 83u, 106u, 133u, 175u, + 1u, 184u, 219u, 54u, + 208u, 130u, 206u, 247u, + 126u, 65u, 64u, 149u, + 147u, 212u, 130u, 129u, + 126u, 244u, 255u, 57u, + 114u, 63u, 153u, 137u, + 11u, 90u, 123u, 1u, + 128u, 30u, 149u, 170u, + 136u, 199u, 195u, 69u, + 128u, 172u, 153u, 255u, + 42u, 117u, 145u, 71u, + 154u, 136u, 103u, 184u, + 127u, 201u, 162u, 126u, + 89u, 79u, 104u, 66u, + 136u, 81u, 117u, 206u, + 33u, 171u, 100u, 72u, + 186u, 255u, 99u, 108u, + 38u, 1u, 78u, 89u, + 198u, 61u, 89u, 227u, + 116u, 192u, 203u, 8u, + 234u, 104u, 113u, 114u, + 88u, 129u, 208u, 21u, + 84u, 92u, 192u, 74u, + 121u, 196u, 200u, 157u, + 133u, 139u, 173u, 255u, + 155u, 167u, 150u, 151u, + 232u, 109u, 55u, 193u, + 78u, 179u, 104u, 1u, + 90u, 107u, 18u, 114u, + 94u, 189u, 146u, 114u, + 255u, 135u, 81u, 60u, + 235u, 80u, 79u, 111u, + 100u, 47u, 128u, 228u, + 117u, 161u, 91u, 106u, + 117u, 197u, 22u, 109u, + 1u, 95u, 117u, 147u, + 148u, 177u, 99u, 126u, + 175u, 85u, 147u, 151u, + 129u, 65u, 153u, 235u, + 87u, 0u, 163u, 158u, + 194u, 157u, 53u, 77u, + 126u, 160u, 155u, 182u, + 82u, 115u, 146u, 138u, + 199u, 193u, 160u, 211u, + 144u, 26u, 1u, 119u, + 102u, 163u, 137u, 144u, + 10u, 184u, 129u, 102u, + 189u, 136u, 1u, 96u, + 57u, 63u, 146u, 149u, + 50u, 107u, 156u, 89u, + 255u, 76u, 170u, 163u, + 106u, 201u, 64u, 217u, + 102u, 182u, 37u, 186u, + 112u, 151u, 152u, 135u, + 121u, 152u, 74u, 64u, + 164u, 255u, 146u, 73u, + 193u, 125u, 197u, 90u, + 1u, 118u, 60u, 219u, + 11u, 95u, 105u, 121u, + 98u, 38u, 137u, 156u, + 115u, 146u, 135u, 201u, + 110u, 208u, 255u, 125u, + 155u, 110u, 27u, 123u, + 100u, 50u, 247u, 103u, + 131u, 58u, 72u, 31u, + 115u, 125u, 141u, 80u, + 140u, 89u, 103u, 122u, + 0u, 142u, 155u, 190u, + 40u, 106u, 139u, 69u, + 44u, 255u, 25u, 60u, + 240u, 246u, 208u, 189u, + 107u, 170u, 175u, 184u, + 84u, 102u, 231u, 54u, + 19u, 148u, 255u, 94u, + 143u, 148u, 100u, 214u, + 124u, 253u, 160u, 233u, + 109u, 182u, 89u, 100u, + 37u, 92u, 136u, 141u, + 150u, 81u, 187u, 66u, + 47u, 150u, 176u, 68u, + 103u, 209u, 1u, 104u, + 180u, 189u, 49u, 117u, + 168u, 147u, 69u, 142u, + 1u, 72u, 35u, 100u, + 37u, 163u, 119u, 184u, + 76u, 36u, 70u, 26u, + 134u, 109u, 203u, 143u, + 0u, 157u, 181u, 85u, + 88u, 171u, 143u, 108u, + 172u, 87u, 187u, 94u, + 101u, 124u, 170u, 127u, + 129u, 126u, 145u, 57u, + 110u, 71u, 255u, 45u, + 127u, 28u, 47u, 66u, + 90u, 116u, 105u, 255u, + 55u, 2u, 101u, 155u, + 95u, 109u, 164u, 164u, + 108u, 155u, 146u, 69u, + 183u, 110u, 106u, 120u, + 102u, 104u, 174u, 124u, + 144u, 111u, 0u, 114u, + 83u, 192u, 176u, 159u, + 179u, 99u, 141u, 123u, + 82u, 188u, 255u, 170u, + 75u, 109u, 118u, 177u, + 140u, 140u, 0u, 225u, + 162u, 91u, 192u, 85u, + 84u, 55u, 59u, 187u, + 235u, 158u, 167u, 170u, + 79u, 157u, 15u, 166u, + 187u, 164u, 144u, 169u, + 240u, 0u, 101u, 172u, + 63u, 181u, 32u, 156u, + 199u, 112u, 255u, 168u, + 219u, 174u, 114u, 134u, + 200u, 97u, 148u, 223u, + 52u, 151u, 161u, 143u, + 123u, 138u, 73u, 1u, + 151u, 120u, 162u, 131u, + 147u, 98u, 143u, 182u, + 128u, 123u, 230u, 112u, + 57u, 79u, 102u, 243u, + 60u, 200u, 127u, 115u, + 91u, 128u, 154u, 201u, + 106u, 255u, 222u, 86u, + 0u, 139u, 16u, 136u, + 211u, 180u, 127u, 87u, + 238u, 202u, 191u, 221u, + 133u, 103u, 119u, 120u, + 7u, 148u, 178u, 166u, + 113u, 103u, 255u, 47u, + 135u, 104u, 138u, 182u, + 95u, 105u, 116u, 167u, + 109u, 143u, 116u, 166u, + 175u, 194u, 130u, 149u, + 90u, 123u, 115u, 126u, + 1u, 184u, 91u, 85u, + 156u, 166u, 49u, 125u, + 112u, 231u, 84u, 229u, + 145u, 98u, 81u, 123u, + 1u, 133u, 121u, 179u, + 78u, 159u, 146u, 255u, + 120u, 171u, 192u, 95u, + 56u, 98u, 181u, 94u, + 156u, 181u, 104u, 85u, + 167u, 181u, 64u, 252u, + 152u, 170u, 1u, 103u, + 162u, 116u, 144u, 77u, + 42u, 59u, 95u, 115u, + 171u, 57u, 132u, 114u, + 179u, 143u, 103u, 1u, + 101u, 227u, 95u, 160u, + 110u, 223u, 108u, 144u, + 138u, 146u, 194u, 128u, + 85u, 74u, 172u, 114u, + 255u, 176u, 128u, 137u, + 57u, 138u, 28u, 188u, + 47u, 63u, 165u, 97u, + 202u, 115u, 84u, 134u, + 44u, 149u, 95u, 41u, + 141u, 122u, 1u, 111u, + 255u, 89u, 136u, 100u, + 147u, 117u, 97u, 198u, + 205u, 143u, 156u, 59u, + 117u, 13u, 201u, 187u, + 172u, 193u, 124u, 9u, + 65u, 120u, 136u, 38u, + 250u, 158u, 112u, 80u, + 61u, 168u, 146u, 255u, + 153u, 124u, 192u, 149u, + 188u, 124u, 134u, 80u, + 195u, 118u, 146u, 130u, + 79u, 255u, 150u, 146u, + 92u, 252u, 67u, 88u, + 134u, 121u, 106u, 121u, + 255u, 70u, 187u, 108u, + 46u, 71u, 68u, 247u, + 53u, 157u, 98u, 211u, + 134u, 102u, 178u, 255u, + 196u, 177u, 144u, 187u, + 103u, 111u, 107u, 78u, + 200u, 175u, 135u, 96u, + 150u, 90u, 64u, 180u, + 165u, 130u, 169u, 68u, + 94u, 184u, 0u, 224u, + 215u, 27u, 212u, 79u, + 163u, 230u, 97u, 125u, + 3u, 125u, 1u, 124u, + 231u, 184u, 84u, 44u, + 255u, 178u, 149u, 120u, + 197u, 192u, 201u, 117u, + 189u, 157u, 187u, 136u, + 139u, 25u, 210u, 75u, + 74u, 155u, 148u, 95u, + 44u, 88u, 109u, 48u, + 144u, 225u, 99u, 81u, + 168u, 91u, 255u, 121u, + 82u, 159u, 86u, 167u, + 163u, 232u, 196u, 149u, + 97u, 109u, 121u, 149u, + 104u, 0u, 168u, 174u, + 198u, 80u, 200u, 61u, + 159u, 146u, 255u, 215u, + 38u, 134u, 145u, 112u, + 112u, 101u, 33u, 92u, + 93u, 123u, 143u, 163u, + 123u, 102u, 165u, 1u, + 142u, 152u, 139u, 80u, + 177u, 79u, 221u, 135u, + 151u, 158u, 180u, 150u, + 168u, 154u, 137u, 84u, + 1u, 143u, 171u, 54u, + 229u, 100u, 115u, 161u, + 1u, 96u, 214u, 91u, + 118u, 137u, 85u, 151u, + 68u, 152u, 158u, 179u, + 126u, 145u, 35u, 28u, + 177u, 139u, 64u, 65u, + 132u, 132u, 172u, 121u, + 106u, 197u, 68u, 119u, + 152u, 255u, 117u, 133u, + 177u, 250u, 102u, 148u, + 98u, 205u, 114u, 163u, + 161u, 142u, 75u, 110u, + 81u, 61u, 82u, 255u, + 91u, 46u, 162u, 121u, + 136u, 53u, 24u, 99u, + 142u, 255u, 61u, 38u, + 107u, 81u, 117u, 62u, + 137u, 134u, 89u, 102u, + 138u, 163u, 102u, 134u, + 121u, 140u, 131u, 174u, + 79u, 179u, 255u, 97u, + 106u, 97u, 80u, 138u, + 140u, 104u, 134u, 153u, + 122u, 127u, 100u, 193u, + 91u, 88u, 104u, 1u, + 1u, 130u, 57u, 56u, + 122u, 118u, 207u, 102u, + 106u, 208u, 94u, 127u, + 155u, 116u, 150u, 161u, + 145u, 241u, 3u, 224u, + 143u, 221u, 132u, 77u, + 208u, 125u, 68u, 62u, + 184u, 211u, 179u, 255u, + 150u, 214u, 231u, 51u, + 137u, 177u, 137u, 255u, + 61u, 138u, 122u, 96u, + 83u, 103u, 31u, 172u, + 176u, 202u, 131u, 159u, + 114u, 187u, 159u, 182u, + 203u, 255u, 100u, 155u, + 157u, 79u, 164u, 28u, + 149u, 119u, 166u, 166u, + 84u, 126u, 170u, 121u, + 213u, 151u, 136u, 158u, + 64u, 133u, 255u, 238u, + 249u, 124u, 117u, 161u, + 198u, 0u, 171u, 247u, + 245u, 40u, 145u, 139u, + 46u, 92u, 153u, 137u, + 224u, 82u, 1u, 179u, + 113u, 149u, 153u, 236u, + 108u, 122u, 60u, 167u, + 142u, 75u, 165u, 96u, + 120u, 138u, 244u, 62u, + 255u, 142u, 182u, 133u, + 120u, 135u, 99u, 133u, + 83u, 116u, 82u, 147u, + 137u, 117u, 211u, 142u, + 188u, 131u, 210u, 255u, + 103u, 147u, 134u, 223u, + 244u, 4u, 45u, 199u, + 94u, 158u, 57u, 60u, + 96u, 129u, 114u, 24u, + 204u, 207u, 133u, 147u, + 173u, 48u, 1u, 133u, + 186u, 42u, 134u, 200u, + 117u, 57u, 92u, 170u, + 152u, 186u, 167u, 144u, + 189u, 88u, 255u, 151u, + 255u, 88u, 145u, 219u, + 127u, 101u, 163u, 159u, + 110u, 150u, 99u, 96u, + 183u, 102u, 151u, 177u, + 98u, 134u, 117u, 93u, + 118u, 116u, 238u, 191u, + 207u, 175u, 255u, 84u, + 245u, 141u, 46u, 105u, + 121u, 198u, 90u, 50u, + 192u, 164u, 195u, 74u, + 45u, 129u, 0u, 172u, + 78u, 127u, 113u, 152u, + 96u, 113u, 37u, 140u, + 81u, 33u, 178u, 152u, + 80u, 153u, 149u, 92u, + 148u, 255u, 169u, 162u, + 127u, 165u, 179u, 216u, + 146u, 132u, 101u, 255u, + 158u, 5u, 108u, 191u, + 68u, 79u, 60u, 97u, + 99u, 83u, 145u, 255u, + 123u, 155u, 72u, 206u, + 94u, 131u, 198u, 153u, + 125u, 157u, 205u, 107u, + 217u, 156u, 135u, 158u, + 198u, 40u, 184u, 136u, + 178u, 208u, 44u, 1u, + 251u, 33u, 220u, 208u, + 142u, 176u, 60u, 107u, + 67u, 130u, 28u, 172u, + 223u, 0u, 102u, 69u, + 124u, 42u, 212u, 146u, + 163u, 91u, 107u, 168u, + 45u, 1u, 134u, 243u, + 72u, 145u, 159u, 151u, + 167u, 183u, 200u, 77u, + 121u, 255u, 49u, 146u, + 141u, 162u, 95u, 139u, + 247u, 139u, 141u, 91u, + 159u, 68u, 158u, 86u, + 146u, 255u, 106u, 148u, + 141u, 159u, 159u, 19u, + 108u, 159u, 92u, 112u, + 126u, 107u, 179u, 168u, + 174u, 105u, 201u, 161u, + 158u, 79u, 60u, 109u, + 28u, 97u, 132u, 152u, + 240u, 148u, 83u, 0u, + 177u, 56u, 154u, 221u, + 40u, 143u, 129u, 140u, + 137u, 114u, 1u, 109u, + 41u, 133u, 193u, 5u, + 1u, 10u, 129u, 195u, + 146u, 185u, 102u, 206u, + 23u, 100u, 197u, 89u, + 133u, 158u, 208u, 18u, + 215u, 250u, 24u, 204u, + 64u, 28u, 83u, 51u, + 218u, 103u, 1u, 52u, + 107u, 150u, 16u, 142u, + 0u, 66u, 52u, 155u, + 133u, 94u, 153u, 67u, + 91u, 132u, 144u, 40u, + 165u, 156u, 107u, 210u, + 117u, 202u, 173u, 102u, + 106u, 218u, 100u, 94u, + 77u, 191u, 70u, 120u, + 67u, 78u, 63u, 1u, + 153u, 148u, 1u, 97u, + 147u, 87u, 234u, 112u, + 81u, 137u, 59u, 95u, + 62u, 84u, 99u, 139u, + 95u, 201u, 203u, 175u, + 88u, 33u, 191u, 57u, + 110u, 58u, 109u, 75u, + 1u, 214u, 157u, 158u, + 169u, 111u, 60u, 177u, + 168u, 189u, 54u, 1u, + 65u, 242u, 6u, 7u, + 122u, 69u, 20u, 211u, + 208u, 89u, 159u, 41u, + 149u, 84u, 44u, 189u, + 255u, 229u, 127u, 160u, + 84u, 149u, 176u, 63u, + 152u, 1u, 176u, 80u, + 174u, 131u, 182u, 57u, + 221u, 179u, 45u, 139u, + 46u, 245u, 192u, 17u, + 217u, 32u, 180u, 143u, + 62u, 96u, 214u, 101u, + 1u, 15u, 95u, 152u, + 212u, 218u, 148u, 133u, + 188u, 206u, 158u, 89u, + 112u, 113u, 1u, 115u, + 81u, 152u, 144u, 89u, + 122u, 157u, 131u, 162u, + 96u, 188u, 57u, 31u, + 124u, 126u, 210u, 174u, + 255u, 45u, 221u, 99u, + 102u, 17u, 88u, 215u, + 125u, 120u, 142u, 71u, + 146u, 152u, 86u, 93u, + 1u, 116u, 152u, 126u, + 122u, 95u, 94u, 103u, + 114u, 106u, 144u, 132u, + 141u, 96u, 153u, 148u, + 255u, 129u, 91u, 101u, + 143u, 116u, 142u, 173u, + 126u, 174u, 181u, 33u, + 69u, 159u, 142u, 37u, + 100u, 29u, 139u, 110u, + 164u, 54u, 153u, 255u, + 182u, 108u, 204u, 144u, + 41u, 1u, 148u, 67u, + 59u, 169u, 165u, 117u, + 86u, 4u, 177u, 182u, + 237u, 214u, 211u, 231u, + 184u, 48u, 133u, 202u, + 255u, 118u, 165u, 189u, + 51u, 114u, 161u, 159u, + 86u, 255u, 117u, 226u, + 80u, 229u, 133u, 109u, + 189u, 126u, 161u, 202u, + 127u, 221u, 201u, 121u, + 186u, 180u, 101u, 118u, + 255u, 58u, 77u, 205u, + 74u, 144u, 191u, 52u, + 91u, 227u, 177u, 62u, + 71u, 1u, 16u, 122u, + 106u, 42u, 212u, 63u, + 139u, 187u, 154u, 35u, + 107u, 245u, 117u, 210u, + 98u, 220u, 90u, 139u, + 121u, 126u, 73u, 171u, + 144u, 192u, 209u, 61u, + 145u, 186u, 255u, 146u, + 122u, 255u, 171u, 112u, + 198u, 208u, 112u, 167u, + 19u, 119u, 77u, 145u, + 117u, 142u, 75u, 94u, + 82u, 65u, 35u, 218u, + 235u, 252u, 179u, 152u, + 31u, 190u, 225u, 128u, + 198u, 86u, 1u, 61u, + 139u, 204u, 255u, 61u, + 50u, 143u, 151u, 83u, + 214u, 192u, 130u, 171u, + 92u, 121u, 122u, 134u, + 22u, 156u, 125u, 171u, + 13u, 153u, 102u, 90u, + 145u, 161u, 74u, 129u, + 255u, 145u, 235u, 153u, + 138u, 125u, 255u, 99u, + 77u, 86u, 165u, 53u, + 118u, 73u, 119u, 146u, + 129u, 56u, 101u, 190u, + 142u, 53u, 146u, 76u, + 145u, 131u, 179u, 57u, + 72u, 134u, 176u, 162u, + 200u, 190u, 85u, 255u, + 112u, 172u, 84u, 104u, + 0u, 154u, 171u, 90u, + 146u, 57u, 45u, 75u, + 152u, 77u, 216u, 111u, + 149u, 197u, 0u, 181u, + 66u, 110u, 95u, 148u, + 19u, 35u, 77u, 100u, + 128u, 143u, 242u, 184u, + 230u, 49u, 219u, 179u, + 62u, 55u, 49u, 174u, + 191u, 130u, 127u, 16u, + 255u, 100u, 101u, 79u, + 225u, 1u, 81u, 143u, + 145u, 156u, 108u, 162u, + 156u, 153u, 153u, 30u, + 129u, 73u, 144u, 14u, + 218u, 137u, 154u, 0u, + 208u, 87u, 87u, 10u, + 101u, 187u, 162u, 226u, + 248u, 253u, 123u, 173u, + 206u, 16u, 97u, 173u, + 130u, 86u, 183u, 53u, + 55u, 68u, 140u, 30u, + 132u, 200u, 1u, 167u, + 64u, 155u, 179u, 70u, + 72u, 207u, 1u, 102u, + 159u, 125u, 199u, 40u, + 112u, 54u, 37u, 201u, + 55u, 215u, 112u, 88u, + 125u, 255u, 183u, 15u, + 170u, 169u, 53u, 160u, + 121u, 55u, 174u, 143u, + 16u, 206u, 93u, 175u, + 146u, 73u, 226u, 61u, + 255u, 213u, 54u, 59u, + 132u, 40u, 41u, 196u, + 118u, 119u, 137u, 56u, + 178u, 97u, 227u, 255u, + 71u, 109u, 191u, 148u, + 61u, 75u, 99u, 75u, + 212u, 36u, 122u, 201u, + 42u, 101u, 1u, 149u, + 134u, 156u, 40u, 125u, + 138u, 188u, 167u, 49u, + 179u, 81u, 73u, 121u, + 13u, 199u, 67u, 198u, + 101u, 48u, 60u, 132u, + 130u, 31u, 255u, 69u, + 129u, 88u, 134u, 78u, + 159u, 117u, 59u, 191u, + 149u, 154u, 80u, 227u, + 177u, 156u, 0u, 99u, + 52u, 195u, 232u, 70u, + 101u, 234u, 103u, 165u, + 200u, 171u, 122u, 196u, + 65u, 255u, 181u, 202u, + 93u, 131u, 96u, 105u, + 164u, 0u, 189u, 244u, + 209u, 102u, 177u, 226u, + 74u, 144u, 159u, 142u, + 125u, 144u, 135u, 166u, + 154u, 178u, 97u, 184u, + 190u, 178u, 111u, 190u, + 100u, 61u, 255u, 95u, + 59u, 153u, 143u, 118u, + 188u, 19u, 132u, 163u, + 199u, 147u, 45u, 99u, + 255u, 111u, 36u, 136u, + 57u, 227u, 142u, 102u, + 175u, 142u, 124u, 154u, + 86u, 149u, 166u, 86u, + 255u, 141u, 25u, 176u, + 1u, 224u, 154u, 36u, + 105u, 114u, 159u, 55u, + 145u, 167u, 92u, 137u, + 144u, 37u, 119u, 162u, + 102u, 255u, 100u, 207u, + 79u, 82u, 77u, 118u, + 63u, 83u, 141u, 78u, + 177u, 62u, 227u, 142u, + 149u, 27u, 145u, 183u, + 45u, 140u, 58u, 156u, + 20u, 68u, 112u, 137u, + 110u, 218u, 164u, 0u, + 206u, 203u, 245u, 251u, + 170u, 131u, 99u, 239u, + 112u, 66u, 210u, 165u, + 255u, 147u, 228u, 73u, + 200u, 1u, 157u, 93u, + 107u, 48u, 82u, 139u, + 209u, 139u, 97u, 95u, + 224u, 28u, 126u, 154u, + 93u, 116u, 125u, 126u, + 152u, 125u, 102u, 251u, + 87u, 41u, 255u, 159u, + 148u, 106u, 118u, 176u, + 214u, 162u, 102u, 99u, + 189u, 1u, 58u, 235u, + 79u, 104u, 215u, 152u, + 101u, 59u, 196u, 236u, + 140u, 34u, 129u, 69u, + 146u, 113u, 123u, 94u, + 70u, 200u, 122u, 95u, + 54u, 255u, 81u, 210u, + 173u, 60u, 176u, 156u, + 123u, 170u, 108u, 22u, + 126u, 203u, 218u, 46u, + 255u, 165u, 146u, 130u, + 171u, 105u, 65u, 255u, + 38u, 138u, 174u, 36u, + 111u, 147u, 75u, 90u, + 172u, 70u, 217u, 173u, + 250u, 114u, 217u, 142u, + 143u, 15u, 32u, 154u, + 42u, 158u, 116u, 15u, + 255u, 91u, 121u, 55u, + 176u, 255u, 238u, 209u, + 131u, 43u, 43u, 138u, + 118u, 96u, 203u, 56u, + 97u, 101u, 243u, 130u, + 63u, 235u, 126u, 241u, + 255u, 89u, 177u, 147u, + 149u, 80u, 235u, 201u, + 157u, 118u, 91u, 225u, + 11u, 72u, 197u, 91u, + 58u, 156u, 142u, 74u, + 111u, 108u, 163u, 104u, + 255u, 134u, 123u, 203u, + 119u, 235u, 44u, 149u, + 235u, 156u, 255u, 239u, + 159u, 116u, 93u, 114u, + 76u, 193u, 161u, 225u, + 56u, 178u, 211u, 219u, + 45u, 118u, 255u, 155u, + 184u, 139u, 87u, 45u, + 61u, 83u, 36u, 38u, + 197u, 63u, 49u, 119u, + 1u, 109u, 94u, 147u, + 152u, 38u, 158u, 28u, + 141u, 121u, 127u, 163u, + 49u, 141u, 1u, 138u, + 101u, 103u, 156u, 145u, + 174u, 152u, 99u, 30u, + 51u, 163u, 234u, 191u, + 151u, 60u, 166u, 178u, + 140u, 170u, 53u, 130u, + 171u, 11u, 179u, 158u, + 255u, 194u, 94u, 110u, + 92u, 163u, 140u, 131u, + 227u, 138u, 144u, 217u, + 61u, 87u, 223u, 170u, + 148u, 137u, 182u, 1u, + 172u, 55u, 92u, 33u, + 93u, 3u, 151u, 174u, + 228u, 116u, 27u, 93u, + 0u, 16u, 153u, 60u, + 141u, 92u, 61u, 14u, + 198u, 109u, 106u, 85u, + 54u, 69u, 184u, 89u, + 166u, 1u, 54u, 73u, + 106u, 143u, 146u, 62u, + 139u, 85u, 109u, 188u, + 170u, 144u, 173u, 130u, + 255u, 62u, 20u, 230u, + 155u, 179u, 123u, 168u, + 103u, 106u, 156u, 184u, + 126u, 117u, 145u, 112u, + 143u, 127u, 255u, 113u, + 173u, 79u, 242u, 201u, + 222u, 135u, 0u, 50u, + 169u, 81u, 105u, 54u, + 179u, 98u, 174u, 133u, + 124u, 207u, 171u, 180u, + 215u, 140u, 163u, 210u, + 79u, 108u, 191u, 128u, + 214u, 141u, 114u, 0u, + 95u, 200u, 75u, 216u, + 99u, 159u, 72u, 1u, + 47u, 99u, 14u, 210u, + 60u, 141u, 118u, 135u, + 141u, 122u, 143u, 69u, + 146u, 193u, 100u, 243u, + 90u, 88u, 157u, 99u, + 144u, 177u, 76u, 0u, + 148u, 115u, 111u, 202u, + 129u, 126u, 99u, 150u, + 129u, 196u, 114u, 109u, + 97u, 144u, 255u, 113u, + 76u, 141u, 144u, 192u, + 79u, 117u, 130u, 98u, + 115u, 160u, 157u, 67u, + 255u, 105u, 146u, 150u, + 107u, 162u, 203u, 102u, + 85u, 198u, 173u, 177u, + 255u, 141u, 250u, 54u, + 194u, 158u, 180u, 237u, + 84u, 102u, 135u, 185u, + 101u, 1u, 160u, 242u, + 119u, 205u, 98u, 78u, + 208u, 61u, 116u, 48u, + 121u, 166u, 43u, 97u, + 81u, 111u, 89u, 1u, + 129u, 115u, 55u, 135u, + 111u, 202u, 134u, 174u, + 99u, 201u, 148u, 177u, + 236u, 1u, 99u, 91u, + 119u, 135u, 147u, 50u, + 150u, 195u, 115u, 146u, + 117u, 84u, 90u, 78u, + 51u, 185u, 139u, 82u, + 213u, 112u, 55u, 106u, + 1u, 127u, 107u, 251u, + 107u, 145u, 198u, 255u, + 160u, 72u, 167u, 157u, + 144u, 229u, 83u, 121u, + 111u, 135u, 160u, 110u, + 201u, 81u, 90u, 141u, + 124u, 1u, 199u, 183u, + 100u, 118u, 187u, 164u, + 199u, 178u, 132u, 108u, + 213u, 32u, 136u, 104u, + 95u, 1u, 156u, 74u, + 35u, 163u, 139u, 79u, + 145u, 203u, 147u, 47u, + 53u, 90u, 15u, 120u, + 72u, 154u, 123u, 1u, + 157u, 162u, 61u, 70u, + 44u, 82u, 53u, 221u, + 136u, 119u, 231u, 101u, + 108u, 114u, 107u, 172u, + 96u, 135u, 160u, 1u, + 234u, 132u, 222u, 133u, + 119u, 40u, 1u, 184u, + 172u, 188u, 130u, 208u, + 10u, 203u, 170u, 88u, + 154u, 92u, 178u, 47u, + 98u, 69u, 145u, 193u, + 61u, 110u, 77u, 171u, + 128u, 107u, 105u, 113u, + 98u, 115u, 170u, 1u, + 162u, 117u, 178u, 221u, + 81u, 173u, 135u, 120u, + 129u, 130u, 164u, 153u, + 195u, 154u, 255u, 137u, + 169u, 166u, 106u, 255u, + 176u, 109u, 147u, 156u, + 150u, 113u, 97u, 81u, + 129u, 181u, 163u, 202u, + 87u, 211u, 174u, 191u, + 87u, 141u, 53u, 29u, + 91u, 143u, 255u, 138u, + 146u, 86u, 110u, 117u, + 87u, 179u, 107u, 223u, + 62u, 159u, 100u, 171u, + 50u, 43u, 215u, 95u, + 134u, 193u, 169u, 0u, + 83u, 103u, 188u, 116u, + 157u, 136u, 139u, 30u, + 158u, 255u, 148u, 128u, + 18u, 176u, 75u, 112u, + 173u, 255u, 175u, 125u, + 167u, 24u, 118u, 151u, + 227u, 153u, 57u, 164u, + 98u, 156u, 125u, 67u, + 130u, 101u, 95u, 31u, + 231u, 241u, 99u, 184u, + 39u, 69u, 62u, 161u, + 113u, 255u, 51u, 85u, + 94u, 153u, 100u, 126u, + 42u, 90u, 139u, 255u, + 124u, 106u, 173u, 66u, + 165u, 99u, 124u, 109u, + 53u, 163u, 129u, 56u, + 206u, 184u, 255u, 195u, + 129u, 32u, 123u, 229u, + 154u, 21u, 114u, 112u, + 104u, 155u, 194u, 139u, + 169u, 152u, 156u, 120u, + 123u, 191u, 118u, 115u, + 84u, 147u, 1u, 92u, + 62u, 99u, 183u, 70u, + 218u, 59u, 104u, 1u, + 79u, 162u, 122u, 107u, + 83u, 113u, 88u, 93u, + 115u, 105u, 107u, 134u, + 255u, 180u, 117u, 131u, + 60u, 46u, 116u, 56u, + 116u, 88u, 74u, 66u, + 75u, 128u, 35u, 215u, + 70u, 255u, 174u, 102u, + 89u, 100u, 98u, 178u, + 135u, 148u, 154u, 107u, + 30u, 8u, 98u, 166u, + 170u, 102u, 150u, 1u, + 24u, 129u, 202u, 223u, + 204u, 125u, 217u, 82u, + 127u, 161u, 106u, 201u, + 178u, 155u, 101u, 255u, + 155u, 100u, 187u, 171u, + 225u, 175u, 100u, 143u, + 154u, 85u, 150u, 97u, + 142u, 147u, 52u, 168u, + 154u, 172u, 191u, 82u, + 1u, 126u, 56u, 218u, + 169u, 102u, 106u, 130u, + 120u, 181u, 195u, 11u, + 1u, 42u, 195u, 42u, + 183u, 120u, 115u, 147u, + 115u, 191u, 149u, 50u, + 255u, 125u, 69u, 146u, + 111u, 87u, 120u, 166u, + 135u, 210u, 206u, 63u, + 121u, 156u, 172u, 123u, + 102u, 79u, 89u, 94u, + 18u, 165u, 198u, 97u, + 163u, 43u, 0u, 71u, + 178u, 215u, 120u, 33u, + 238u, 176u, 191u, 245u, + 113u, 183u, 219u, 58u, + 70u, 204u, 178u, 1u, + 124u, 114u, 132u, 125u, + 111u, 0u, 145u, 168u, + 193u, 150u, 29u, 61u, + 106u, 170u, 207u, 224u, + 70u, 182u, 98u, 15u, + 154u, 216u, 0u, 97u, + 122u, 120u, 92u, 134u, + 98u, 118u, 41u, 105u, + 75u, 90u, 56u, 117u, + 164u, 147u, 136u, 104u, + 112u, 138u, 63u, 107u, + 255u, 125u, 255u, 145u, + 180u, 116u, 219u, 106u, + 191u, 142u, 76u, 86u, + 232u, 0u, 143u, 182u, + 158u, 67u, 155u, 37u, + 183u, 99u, 88u, 94u, + 165u, 65u, 97u, 166u, + 118u, 115u, 144u, 146u, + 164u, 1u, 148u, 143u, + 73u, 180u, 222u, 227u, + 118u, 86u, 0u, 91u, + 176u, 160u, 245u, 71u, + 250u, 56u, 214u, 69u, + 153u, 179u, 168u, 158u, + 162u, 68u, 125u, 134u, + 136u, 111u, 87u, 199u, + 165u, 124u, 76u, 1u, + 180u, 171u, 255u, 179u, + 110u, 48u, 226u, 1u, + 245u, 114u, 155u, 26u, + 144u, 133u, 183u, 222u, + 126u, 29u, 123u, 58u, + 53u, 59u, 27u, 1u, + 101u, 155u, 196u, 22u, + 158u, 253u, 154u, 130u, + 147u, 176u, 153u, 186u, + 147u, 122u, 99u, 106u, + 200u, 105u, 1u, 150u, + 198u, 111u, 81u, 76u, + 37u, 123u, 141u, 194u, + 169u, 100u, 121u, 99u, + 135u, 125u, 171u, 115u, + 144u, 172u, 1u, 162u, + 77u, 143u, 82u, 66u, + 181u, 163u, 185u, 131u, + 212u, 172u, 255u, 212u, + 230u, 85u, 115u, 127u, + 155u, 150u, 186u, 207u, + 121u, 154u, 141u, 224u, + 94u, 108u, 83u, 136u, + 126u, 167u, 176u, 1u, + 163u, 122u, 138u, 96u, + 177u, 151u, 146u, 189u, + 255u, 66u, 230u, 85u, + 49u, 101u, 77u, 160u, + 174u, 152u, 133u, 165u, + 140u, 98u, 109u, 80u, + 148u, 199u, 146u, 151u, + 210u, 255u, 168u, 68u, + 1u, 107u, 43u, 177u, + 63u, 72u, 117u, 118u, + 174u, 174u, 69u, 143u, + 233u, 79u, 192u, 96u, + 181u, 1u, 123u, 84u, + 179u, 244u, 92u, 174u, + 127u, 147u, 225u, 68u, + 160u, 139u, 164u, 184u, + 232u, 246u, 241u, 96u, + 52u, 135u, 211u, 58u, + 184u, 189u, 137u, 96u, + 191u, 69u, 255u, 183u, + 255u, 72u, 194u, 111u, + 78u, 137u, 161u, 126u, + 116u, 116u, 140u, 58u, + 134u, 107u, 83u, 16u, + 80u, 81u, 159u, 153u, + 255u, 136u, 147u, 179u, + 86u, 179u, 70u, 109u, + 132u, 169u, 119u, 76u, + 85u, 221u, 77u, 168u, + 115u, 160u, 87u, 140u, + 148u, 255u, 96u, 50u, + 223u, 107u, 196u, 154u, + 173u, 96u, 124u, 16u, + 205u, 1u, 110u, 119u, + 203u, 201u, 215u, 44u, + 150u, 129u, 104u, 97u, + 145u, 252u, 236u, 109u, + 23u, 131u, 118u, 1u, + 197u, 139u, 173u, 99u, + 205u, 175u, 151u, 146u, + 114u, 134u, 1u, 197u, + 92u, 117u, 164u, 162u, + 203u, 128u, 117u, 97u, + 118u, 37u, 171u, 88u, + 39u, 136u, 188u, 126u, + 71u, 122u, 23u, 226u, + 255u, 209u, 72u, 105u, + 120u, 96u, 148u, 162u, + 105u, 255u, 235u, 217u, + 86u, 194u, 140u, 163u, + 211u, 159u, 28u, 109u, + 224u, 56u, 216u, 41u, + 255u, 139u, 113u, 117u, + 123u, 50u, 41u, 202u, + 118u, 176u, 138u, 87u, + 142u, 126u, 221u, 140u, + 179u, 148u, 138u, 0u, + 120u, 88u, 162u, 20u, + 80u, 170u, 151u, 112u, + 191u, 65u, 182u, 159u, + 164u, 215u, 47u, 208u, + 220u, 162u, 91u, 177u, + 63u, 226u, 1u, 205u, + 5u, 175u, 100u, 90u, + 67u, 255u, 217u, 130u, + 175u, 126u, 250u, 251u, + 85u, 37u, 40u, 182u, + 252u, 22u, 114u, 107u, + 163u, 148u, 254u, 56u, + 153u, 76u, 0u, 205u, + 176u, 122u, 154u, 64u, + 86u, 102u, 176u, 114u, + 31u, 181u, 115u, 68u, + 52u, 37u, 71u, 166u, + 105u, 93u, 69u, 164u, + 175u, 35u, 68u, 1u, + 12u, 132u, 179u, 97u, + 106u, 255u, 133u, 235u, + 126u, 108u, 172u, 117u, + 118u, 29u, 171u, 202u, + 159u, 191u, 209u, 81u, + 181u, 181u, 244u, 178u, + 153u, 47u, 177u, 130u, + 136u, 100u, 189u, 1u, + 112u, 157u, 165u, 162u, + 61u, 190u, 254u, 58u, + 72u, 127u, 255u, 235u, + 174u, 28u, 134u, 91u, + 242u, 57u, 138u, 192u, + 119u, 200u, 43u, 255u, + 76u, 130u, 183u, 149u, + 175u, 71u, 83u, 76u, + 114u, 70u, 118u, 255u, + 4u, 177u, 196u, 50u, + 134u, 186u, 104u, 180u, + 93u, 8u, 185u, 117u, + 62u, 49u, 144u, 101u, + 149u, 97u, 169u, 1u, + 65u, 178u, 72u, 96u, + 78u, 202u, 149u, 55u, + 68u, 119u, 177u, 171u, + 30u, 141u, 243u, 66u, + 140u, 123u, 231u, 115u, + 179u, 57u, 255u, 110u, + 131u, 77u, 191u, 212u, + 255u, 156u, 141u, 135u, + 89u, 100u, 179u, 95u, + 100u, 187u, 143u, 52u, + 61u, 163u, 200u, 143u, + 196u, 121u, 115u, 121u, + 72u, 231u, 213u, 174u, + 255u, 168u, 164u, 50u, + 124u, 30u, 216u, 105u, + 8u, 53u, 37u, 42u, + 11u, 83u, 181u, 191u, + 255u, 98u, 34u, 81u, + 72u, 157u, 49u, 101u, + 80u, 205u, 135u, 1u, + 198u, 206u, 161u, 93u, + 129u, 125u, 145u, 206u, + 127u, 108u, 189u, 148u, + 111u, 114u, 28u, 33u, + 108u, 161u, 88u, 149u, + 40u, 255u, 132u, 62u, + 90u, 215u, 128u, 77u, + 159u, 173u, 111u, 126u, + 107u, 51u, 73u, 143u, + 178u, 189u, 58u, 255u, + 255u, 24u, 179u, 76u, + 113u, 106u, 75u, 182u, + 125u, 144u, 154u, 104u, + 134u, 132u, 206u, 76u, + 146u, 207u, 167u, 100u, + 232u, 54u, 184u, 135u, + 147u, 44u, 84u, 77u, + 195u, 255u, 231u, 223u, + 100u, 141u, 149u, 136u, + 104u, 204u, 199u, 144u, + 121u, 132u, 46u, 206u, + 12u, 255u, 217u, 75u, + 134u, 41u, 137u, 28u, + 114u, 133u, 74u, 222u, + 102u, 255u, 209u, 22u, + 250u, 125u, 187u, 128u, + 87u, 158u, 112u, 103u, + 159u, 98u, 245u, 57u, + 108u, 184u, 136u, 127u, + 113u, 74u, 1u, 153u, + 255u, 145u, 180u, 100u, + 161u, 204u, 126u, 60u, + 199u, 222u, 49u, 99u, + 55u, 132u, 88u, 114u, + 114u, 217u, 99u, 157u, + 139u, 113u, 219u, 93u, + 110u, 85u, 123u, 101u, + 152u, 76u, 0u, 65u, + 195u, 219u, 141u, 114u, + 104u, 127u, 110u, 104u, + 123u, 140u, 60u, 66u, + 97u, 58u, 255u, 129u, + 141u, 232u, 163u, 161u, + 198u, 130u, 121u, 214u, + 11u, 14u, 202u, 178u, + 215u, 91u, 110u, 1u, + 186u, 75u, 89u, 74u, + 40u, 255u, 43u, 245u, + 229u, 123u, 38u, 99u, + 41u, 131u, 137u, 181u, + 109u, 143u, 153u, 131u, + 115u, 151u, 109u, 49u, + 215u, 216u, 255u, 107u, + 134u, 83u, 164u, 104u, + 46u, 87u, 45u, 234u, + 180u, 164u, 47u, 199u, + 1u, 35u, 234u, 133u, + 156u, 196u, 159u, 9u, + 29u, 84u, 223u, 127u, + 1u, 143u, 144u, 110u, + 65u, 124u, 233u, 210u, + 115u, 97u, 111u, 36u, + 242u, 255u, 87u, 84u, + 210u, 134u, 170u, 27u, + 255u, 134u, 60u, 158u, + 168u, 50u, 149u, 209u, + 255u, 193u, 83u, 65u, + 113u, 97u, 175u, 20u, + 72u, 94u, 213u, 87u, + 237u, 157u, 117u, 123u, + 116u, 191u, 95u, 118u, + 106u, 94u, 112u, 178u, + 1u, 136u, 179u, 102u, + 83u, 233u, 69u, 173u, + 91u, 148u, 171u, 106u, + 114u, 112u, 184u, 99u, + 194u, 255u, 131u, 133u, + 125u, 185u, 211u, 133u, + 93u, 141u, 211u, 182u, + 9u, 111u, 115u, 114u, + 134u, 1u, 157u, 143u, + 108u, 63u, 49u, 126u, + 246u, 151u, 197u, 139u, + 95u, 92u, 1u, 193u, + 156u, 124u, 105u, 91u, + 122u, 140u, 130u, 166u, + 107u, 151u, 150u, 147u, + 1u, 114u, 154u, 82u, + 96u, 101u, 156u, 66u, + 184u, 24u, 25u, 157u, + 161u, 71u, 155u, 220u, + 127u, 138u, 97u, 155u, + 98u, 99u, 67u, 70u, + 140u, 100u, 1u, 91u, + 141u, 88u, 177u, 135u, + 198u, 94u, 26u, 198u, + 58u, 158u, 52u, 217u, + 105u, 174u, 255u, 92u, + 113u, 82u, 138u, 201u, + 236u, 176u, 175u, 74u, + 161u, 196u, 64u, 99u, + 58u, 176u, 1u, 65u, + 115u, 207u, 26u, 146u, + 214u, 255u, 47u, 210u, + 143u, 57u, 215u, 212u, + 97u, 146u, 129u, 75u, + 175u, 119u, 32u, 144u, + 222u, 112u, 184u, 102u, + 66u, 177u, 78u, 17u, + 0u, 122u, 177u, 106u, + 204u, 12u, 0u, 17u, + 103u, 228u, 118u, 242u, + 173u, 224u, 75u, 65u, + 97u, 107u, 187u, 147u, + 83u, 151u, 108u, 1u, + 156u, 112u, 182u, 132u, + 251u, 72u, 114u, 117u, + 77u, 119u, 98u, 137u, + 42u, 124u, 145u, 171u, + 218u, 85u, 229u, 132u, + 255u, 123u, 3u, 14u, + 126u, 111u, 106u, 157u, + 85u, 103u, 197u, 87u, + 158u, 131u, 139u, 152u, + 46u, 144u, 167u, 139u, + 103u, 163u, 1u, 214u, + 146u, 164u, 78u, 132u, + 96u, 144u, 145u, 255u, + 112u, 144u, 107u, 73u, + 152u, 120u, 117u, 95u, + 80u, 198u, 54u, 74u, + 204u, 82u, 102u, 196u, + 28u, 50u, 169u, 158u, + 1u, 137u, 120u, 43u, + 1u, 173u, 170u, 70u, + 157u, 152u, 140u, 45u, + 176u, 165u, 71u, 156u, + 125u, 63u, 123u, 91u, + 136u, 186u, 168u, 215u, + 86u, 148u, 82u, 73u, + 91u, 69u, 120u, 79u, + 184u, 255u, 64u, 188u, + 203u, 35u, 221u, 72u, + 153u, 0u, 201u, 170u, + 142u, 136u, 227u, 65u, + 245u, 111u, 111u, 118u, + 144u, 243u, 1u, 187u, + 71u, 234u, 31u, 122u, + 150u, 82u, 130u, 64u, + 115u, 6u, 249u, 188u, + 86u, 136u, 170u, 119u, + 98u, 76u, 255u, 144u, + 74u, 17u, 81u, 152u, + 133u, 10u, 13u, 58u, + 95u, 75u, 189u, 96u, + 139u, 142u, 128u, 120u, + 1u, 117u, 139u, 95u, + 177u, 90u, 167u, 94u, + 160u, 126u, 121u, 1u, + 110u, 130u, 75u, 107u, + 142u, 226u, 153u, 35u, + 110u, 121u, 142u, 120u, + 210u, 186u, 207u, 91u, + 91u, 141u, 43u, 1u, + 185u, 149u, 92u, 106u, + 93u, 153u, 87u, 135u, + 197u, 157u, 0u, 200u, + 85u, 155u, 157u, 204u, + 139u, 61u, 137u, 45u, + 86u, 62u, 148u, 224u, + 182u, 192u, 136u, 255u, + 128u, 87u, 88u, 80u, + 122u, 98u, 96u, 164u, + 180u, 103u, 192u, 170u, + 84u, 185u, 8u, 159u, + 110u, 146u, 151u, 182u, + 113u, 0u, 74u, 138u, + 164u, 147u, 158u, 176u, + 208u, 147u, 171u, 166u, + 114u, 206u, 17u, 50u, + 78u, 71u, 111u, 255u, + 80u, 108u, 153u, 145u, + 142u, 236u, 188u, 54u, + 27u, 127u, 192u, 77u, + 159u, 67u, 212u, 151u, + 239u, 31u, 168u, 255u, + 112u, 99u, 106u, 190u, + 96u, 166u, 46u, 145u, + 79u, 132u, 160u, 107u, + 136u, 123u, 255u, 93u, + 139u, 97u, 95u, 154u, + 144u, 138u, 121u, 136u, + 1u, 139u, 109u, 183u, + 62u, 186u, 124u, 109u, + 100u, 10u, 99u, 219u, + 159u, 96u, 204u, 111u, + 1u, 136u, 136u, 74u, + 155u, 205u, 27u, 138u, + 176u, 140u, 235u, 1u, + 162u, 84u, 174u, 184u, + 151u, 71u, 163u, 110u, + 187u, 65u, 95u, 168u, + 87u, 159u, 1u, 108u, + 134u, 150u, 38u, 90u, + 65u, 75u, 0u, 208u, + 113u, 173u, 198u, 136u, + 154u, 191u, 52u, 100u, + 255u, 212u, 201u, 170u, + 89u, 53u, 104u, 167u, + 33u, 80u, 141u, 119u, + 35u, 206u, 122u, 107u, + 116u, 118u, 255u, 79u, + 212u, 173u, 160u, 86u, + 184u, 108u, 69u, 78u, + 146u, 1u, 166u, 177u, + 105u, 31u, 202u, 71u, + 136u, 203u, 53u, 37u, + 183u, 79u, 155u, 2u, + 178u, 83u, 147u, 59u, + 207u, 162u, 121u, 98u, + 61u, 99u, 165u, 88u, + 219u, 110u, 1u, 64u, + 139u, 128u, 102u, 130u, + 108u, 206u, 123u, 129u, + 195u, 181u, 179u, 148u, + 255u, 73u, 150u, 185u, + 114u, 88u, 125u, 199u, + 111u, 44u, 100u, 255u, + 220u, 188u, 65u, 79u, + 106u, 104u, 49u, 121u, + 186u, 189u, 74u, 81u, + 65u, 142u, 194u, 255u, + 148u, 126u, 202u, 89u, + 96u, 149u, 223u, 126u, + 144u, 104u, 86u, 209u, + 65u, 255u, 164u, 72u, + 117u, 148u, 191u, 131u, + 91u, 72u, 114u, 118u, + 0u, 70u, 98u, 48u, + 171u, 65u, 211u, 199u, + 76u, 255u, 235u, 67u, + 138u, 133u, 190u, 109u, + 175u, 165u, 175u, 255u, + 146u, 216u, 51u, 178u, + 156u, 30u, 174u, 181u, + 156u, 124u, 181u, 52u, + 29u, 115u, 138u, 184u, + 59u, 153u, 128u, 200u, + 89u, 184u, 116u, 255u, + 125u, 172u, 219u, 101u, + 11u, 176u, 109u, 255u, + 52u, 118u, 246u, 115u, + 163u, 168u, 97u, 193u, + 118u, 31u, 59u, 124u, + 138u, 76u, 226u, 255u, + 224u, 88u, 74u, 155u, + 88u, 166u, 52u, 153u, + 148u, 94u, 102u, 146u, + 36u, 102u, 83u, 222u, + 74u, 255u, 151u, 250u, + 211u, 131u, 105u, 108u, + 161u, 138u, 115u, 73u, + 122u, 25u, 145u, 119u, + 1u, 38u, 71u, 1u, + 165u, 106u, 86u, 135u, + 190u, 137u, 87u, 140u, + 66u, 135u, 120u, 91u, + 38u, 112u, 213u, 46u, + 132u, 84u, 195u, 96u, + 165u, 219u, 255u, 218u, + 149u, 86u, 75u, 115u, + 74u, 227u, 145u, 208u, + 73u, 60u, 94u, 175u, + 1u, 166u, 158u, 75u, + 117u, 84u, 1u, 128u, + 104u, 51u, 86u, 216u, + 161u, 155u, 135u, 104u, + 147u, 170u, 98u, 125u, + 166u, 214u, 198u, 134u, + 153u, 104u, 72u, 255u, + 137u, 138u, 72u, 77u, + 5u, 155u, 12u, 169u, + 128u, 122u, 195u, 63u, + 152u, 106u, 89u, 110u, + 19u, 102u, 145u, 90u, + 99u, 27u, 91u, 1u, + 41u, 218u, 87u, 198u, + 107u, 217u, 66u, 104u, + 99u, 50u, 159u, 97u, + 138u, 112u, 55u, 1u, + 150u, 1u, 176u, 81u, + 197u, 67u, 120u, 115u, + 85u, 158u, 123u, 35u, + 194u, 114u, 229u, 186u, + 30u, 51u, 1u, 123u, + 5u, 67u, 128u, 103u, + 106u, 112u, 138u, 115u, + 108u, 187u, 145u, 199u, + 255u, 154u, 46u, 22u, + 136u, 117u, 11u, 169u, + 148u, 113u, 156u, 126u, + 130u, 89u, 140u, 105u, + 125u, 91u, 116u, 138u, + 124u, 112u, 255u, 232u, + 163u, 52u, 168u, 165u, + 89u, 140u, 119u, 163u, + 125u, 93u, 117u, 142u, + 16u, 164u, 95u, 170u, + 0u, 131u, 68u, 172u, + 180u, 241u, 158u, 168u, + 104u, 255u, 32u, 88u, + 121u, 93u, 97u, 132u, + 135u, 112u, 46u, 70u, + 142u, 140u, 134u, 102u, + 217u, 153u, 222u, 155u, + 67u, 93u, 106u, 98u, + 100u, 23u, 152u, 173u, + 210u, 171u, 255u, 120u, + 151u, 99u, 155u, 72u, + 143u, 94u, 98u, 102u, + 1u, 178u, 125u, 90u, + 84u, 157u, 81u, 112u, + 193u, 140u, 197u, 95u, + 136u, 24u, 110u, 123u, + 105u, 169u, 73u, 161u, + 5u, 153u, 255u, 79u, + 76u, 240u, 82u, 27u, + 239u, 246u, 205u, 255u, + 37u, 159u, 118u, 217u, + 111u, 138u, 54u, 197u, + 201u, 161u, 214u, 67u, + 90u, 238u, 107u, 155u, + 35u, 1u, 97u, 217u, + 71u, 43u, 179u, 148u, + 1u, 192u, 125u, 65u, + 126u, 102u, 102u, 93u, + 128u, 142u, 115u, 55u, + 100u, 166u, 121u, 131u, + 69u, 159u, 75u, 109u, + 133u, 255u, 99u, 134u, + 96u, 66u, 135u, 14u, + 89u, 13u, 80u, 214u, + 24u, 169u, 119u, 145u, + 204u, 255u, 136u, 73u, + 131u, 86u, 156u, 180u, + 25u, 120u, 93u, 91u, + 98u, 130u, 67u, 159u, + 129u, 214u, 139u, 70u, + 213u, 119u, 1u, 181u, + 164u, 98u, 30u, 102u, + 78u, 138u, 108u, 223u, + 121u, 217u, 133u, 255u, + 113u, 59u, 159u, 188u, + 151u, 158u, 102u, 95u, + 249u, 125u, 163u, 64u, + 156u, 107u, 132u, 106u, + 188u, 125u, 182u, 5u, + 172u, 151u, 99u, 255u, + 139u, 67u, 213u, 139u, + 22u, 113u, 239u, 0u, + 68u, 60u, 189u, 4u, + 37u, 214u, 112u, 136u, + 166u, 193u, 12u, 166u, + 7u, 239u, 127u, 181u, + 212u, 36u, 19u, 189u, + 1u, 179u, 236u, 95u, + 134u, 140u, 22u, 183u, + 104u, 186u, 74u, 255u, + 7u, 13u, 140u, 158u, + 2u, 212u, 80u, 114u, + 60u, 7u, 138u, 241u, + 133u, 97u, 167u, 178u, + 163u, 174u, 120u, 144u, + 108u, 255u, 95u, 144u, + 124u, 219u, 1u, 17u, + 220u, 145u, 103u, 79u, + 112u, 145u, 22u, 164u, + 75u, 162u, 102u, 243u, + 72u, 43u, 104u, 236u, + 117u, 155u, 121u, 195u, + 187u, 107u, 135u, 77u, + 58u, 152u, 1u, 121u, + 107u, 169u, 191u, 5u, + 169u, 76u, 186u, 151u, + 181u, 255u, 96u, 171u, + 184u, 165u, 117u, 118u, + 112u, 179u, 214u, 73u, + 31u, 206u, 111u, 127u, + 148u, 57u, 149u, 143u, + 0u, 12u, 151u, 93u, + 150u, 163u, 159u, 140u, + 1u, 131u, 159u, 74u, + 198u, 61u, 114u, 163u, + 109u, 169u, 173u, 118u, + 134u, 211u, 112u, 137u, + 177u, 118u, 102u, 91u, + 104u, 154u, 174u, 114u, + 70u, 80u, 0u, 155u, + 162u, 65u, 254u, 242u, + 4u, 162u, 44u, 177u, + 1u, 86u, 221u, 238u, + 131u, 160u, 230u, 138u, + 218u, 154u, 152u, 47u, + 48u, 40u, 100u, 139u, + 111u, 129u, 108u, 134u, + 146u, 118u, 58u, 255u, + 100u, 89u, 116u, 157u, + 199u, 70u, 146u, 129u, + 160u, 221u, 168u, 42u, + 255u, 78u, 185u, 94u, + 82u, 161u, 116u, 215u, + 82u, 56u, 46u, 104u, + 3u, 189u, 255u, 247u, + 115u, 132u, 122u, 201u, + 201u, 40u, 232u, 33u, + 181u, 48u, 140u, 104u, + 122u, 124u, 62u, 112u, + 143u, 255u, 66u, 80u, + 142u, 85u, 187u, 88u, + 150u, 147u, 170u, 130u, + 1u, 96u, 170u, 111u, + 129u, 156u, 71u, 171u, + 125u, 207u, 135u, 82u, + 106u, 152u, 63u, 104u, + 229u, 170u, 147u, 200u, + 59u, 141u, 1u, 219u, + 137u, 78u, 19u, 64u, + 165u, 79u, 111u, 255u, + 23u, 30u, 109u, 145u, + 109u, 167u, 100u, 147u, + 70u, 164u, 179u, 84u, + 1u, 69u, 184u, 142u, + 134u, 72u, 128u, 181u, + 116u, 94u, 245u, 115u, + 90u, 153u, 107u, 149u, + 139u, 66u, 111u, 145u, + 130u, 112u, 161u, 110u, + 167u, 115u, 97u, 255u, + 162u, 70u, 255u, 168u, + 137u, 179u, 174u, 67u, + 249u, 253u, 67u, 126u, + 230u, 227u, 246u, 240u, + 32u, 157u, 159u, 50u, + 147u, 154u, 75u, 28u, + 83u, 186u, 111u, 101u, + 203u, 1u, 156u, 159u, + 112u, 236u, 68u, 216u, + 102u, 155u, 167u, 139u, + 142u, 100u, 1u, 163u, + 80u, 82u, 107u, 143u, + 1u, 85u, 151u, 221u, + 181u, 182u, 160u, 29u, + 124u, 17u, 133u, 211u, + 116u, 188u, 138u, 123u, + 125u, 255u, 135u, 122u, + 145u, 60u, 146u, 186u, + 111u, 165u, 113u, 188u, + 146u, 229u, 201u, 111u, + 59u, 115u, 62u, 255u, + 41u, 137u, 150u, 111u, + 99u, 123u, 230u, 172u, + 207u, 134u, 177u, 58u, + 139u, 120u, 144u, 94u, + 134u, 170u, 173u, 69u, + 255u, 112u, 154u, 152u, + 153u, 159u, 139u, 41u, + 220u, 255u, 189u, 170u, + 174u, 199u, 140u, 40u, + 179u, 177u, 209u, 196u, + 193u, 201u, 179u, 41u, + 115u, 60u, 144u, 159u, + 123u, 191u, 116u, 96u, + 1u, 171u, 163u, 142u, + 136u, 197u, 127u, 45u, + 150u, 1u, 246u, 139u, + 88u, 35u, 191u, 187u, + 244u, 157u, 24u, 66u, + 66u, 124u, 59u, 143u, + 242u, 173u, 173u, 142u, + 127u, 200u, 163u, 245u, + 177u, 111u, 104u, 229u, + 98u, 38u, 1u, 166u, + 159u, 138u, 138u, 135u, + 91u, 162u, 82u, 150u, + 146u, 155u, 136u, 231u, + 89u, 111u, 255u, 40u, + 121u, 175u, 142u, 255u, + 71u, 3u, 183u, 138u, + 84u, 102u, 133u, 89u, + 222u, 186u, 82u, 213u, + 37u, 158u, 215u, 211u, + 48u, 46u, 87u, 1u, + 217u, 148u, 196u, 160u, + 154u, 183u, 12u, 115u, + 122u, 98u, 131u, 213u, + 169u, 105u, 105u, 142u, + 0u, 250u, 227u, 121u, + 153u, 130u, 220u, 98u, + 160u, 141u, 217u, 81u, + 60u, 155u, 1u, 69u, + 59u, 48u, 158u, 73u, + 177u, 111u, 186u, 184u, + 158u, 150u, 99u, 152u, + 125u, 110u, 115u, 157u, + 124u, 120u, 194u, 151u, + 121u, 255u, 149u, 172u, + 180u, 188u, 129u, 134u, + 154u, 1u, 122u, 152u, + 139u, 37u, 152u, 197u, + 193u, 70u, 175u, 97u, + 147u, 203u, 1u, 79u, + 133u, 158u, 115u, 68u, + 160u, 120u, 72u, 114u, + 54u, 128u, 233u, 142u, + 167u, 178u, 164u, 106u, + 224u, 134u, 192u, 131u, + 0u, 12u, 173u, 114u, + 255u, 159u, 83u, 140u, + 112u, 4u, 1u, 100u, + 109u, 130u, 170u, 73u, + 176u, 141u, 66u, 208u, + 139u, 115u, 117u, 146u, + 78u, 27u, 103u, 156u, + 1u, 52u, 51u, 112u, + 203u, 176u, 127u, 152u, + 17u, 182u, 143u, 251u, + 190u, 126u, 248u, 140u, + 135u, 120u, 229u, 255u, + 220u, 226u, 194u, 211u, + 49u, 227u, 134u, 93u, + 236u, 119u, 172u, 46u, + 155u, 254u, 165u, 161u, + 68u, 249u, 0u, 200u, + 31u, 250u, 174u, 35u, + 113u, 187u, 173u, 157u, + 148u, 114u, 42u, 129u, + 162u, 140u, 133u, 162u, + 108u, 59u, 77u, 255u, + 84u, 121u, 83u, 129u, + 155u, 154u, 115u, 162u, + 173u, 150u, 99u, 146u, + 89u, 67u, 255u, 65u, + 169u, 107u, 146u, 77u, + 118u, 157u, 140u, 200u, + 68u, 61u, 187u, 93u, + 73u, 0u, 57u, 122u, + 91u, 163u, 42u, 142u, + 88u, 199u, 82u, 173u, + 115u, 212u, 151u, 1u, + 86u, 164u, 115u, 108u, + 174u, 216u, 101u, 164u, + 147u, 147u, 59u, 129u, + 1u, 155u, 140u, 131u, + 205u, 158u, 122u, 78u, + 90u, 120u, 105u, 212u, + 106u, 203u, 207u, 8u, + 88u, 65u, 170u, 233u, + 1u, 90u, 162u, 81u, + 112u, 106u, 202u, 1u, + 106u, 124u, 125u, 96u, + 102u, 207u, 58u, 64u, + 151u, 221u, 164u, 197u, + 176u, 177u, 233u, 96u, + 59u, 60u, 244u, 168u, + 6u, 170u, 213u, 1u, + 246u, 38u, 49u, 145u, + 178u, 54u, 204u, 139u, + 114u, 1u, 39u, 199u, + 138u, 130u, 163u, 127u, + 187u, 129u, 85u, 92u, + 73u, 201u, 98u, 255u, + 149u, 100u, 118u, 64u, + 139u, 212u, 200u, 156u, + 163u, 50u, 48u, 84u, + 106u, 255u, 155u, 136u, + 199u, 179u, 220u, 221u, + 163u, 36u, 178u, 130u, + 170u, 123u, 116u, 149u, + 0u, 138u, 122u, 135u, + 202u, 116u, 193u, 102u, + 51u, 124u, 151u, 127u, + 153u, 161u, 46u, 221u, + 134u, 116u, 48u, 194u, + 104u, 5u, 147u, 255u, + 92u, 50u, 73u, 90u, + 150u, 220u, 175u, 57u, + 126u, 23u, 0u, 204u, + 4u, 163u, 75u, 227u, + 203u, 247u, 124u, 183u, + 63u, 107u, 249u, 215u, + 210u, 173u, 209u, 157u, + 152u, 204u, 166u, 252u, + 230u, 188u, 187u, 161u, + 1u, 89u, 189u, 3u, + 135u, 212u, 150u, 158u, + 216u, 165u, 241u, 61u, + 144u, 209u, 178u, 1u, + 98u, 66u, 114u, 147u, + 57u, 141u, 158u, 155u, + 134u, 147u, 110u, 1u, + 57u, 146u, 167u, 169u, + 147u, 138u, 89u, 117u, + 0u, 178u, 72u, 211u, + 129u, 75u, 188u, 99u, + 152u, 72u, 184u, 139u, + 75u, 61u, 165u, 196u, + 14u, 15u, 168u, 61u, + 108u, 65u, 100u, 50u, + 130u, 134u, 1u, 150u, + 157u, 188u, 29u, 87u, + 162u, 142u, 193u, 49u, + 141u, 118u, 193u, 98u, + 183u, 149u, 132u, 136u, + 108u, 199u, 255u, 251u, + 255u, 84u, 80u, 110u, + 41u, 139u, 107u, 208u, + 130u, 230u, 150u, 145u, + 59u, 38u, 108u, 86u, + 20u, 130u, 50u, 110u, + 29u, 78u, 150u, 48u, + 102u, 148u, 129u, 26u, + 253u, 48u, 255u, 114u, + 126u, 165u, 230u, 179u, + 105u, 39u, 59u, 140u, + 38u, 0u, 192u, 158u, + 100u, 217u, 97u, 139u, + 172u, 85u, 112u, 33u, + 233u, 43u, 56u, 255u, + 146u, 253u, 132u, 204u, + 241u, 115u, 78u, 190u, + 75u, 55u, 40u, 222u, + 62u, 255u, 215u, 208u, + 17u, 80u, 64u, 122u, + 92u, 159u, 134u, 104u, + 61u, 143u, 168u, 178u, + 123u, 110u, 190u, 20u, + 154u, 244u, 175u, 216u, + 121u, 96u, 107u, 1u, + 117u, 144u, 201u, 149u, + 190u, 196u, 138u, 174u, + 1u, 135u, 107u, 160u, + 216u, 16u, 107u, 203u, + 122u, 161u, 14u, 120u, + 100u, 116u, 96u, 37u, + 141u, 215u, 149u, 100u, + 133u, 0u, 82u, 103u, + 77u, 116u, 94u, 93u, + 200u, 180u, 120u, 175u, + 0u, 99u, 89u, 76u, + 188u, 91u, 89u, 63u, + 154u, 77u, 123u, 237u, + 75u, 145u, 152u, 102u, + 1u, 91u, 124u, 101u, + 203u, 160u, 48u, 116u, + 46u, 93u, 214u, 240u, + 126u, 83u, 197u, 114u, + 1u, 89u, 206u, 211u, + 139u, 97u, 45u, 82u, + 194u, 140u, 218u, 120u, + 199u, 1u, 167u, 162u, + 152u, 195u, 178u, 171u, + 115u, 102u, 87u, 110u, + 73u, 125u, 91u, 92u, + 71u, 1u, 160u, 163u, + 82u, 86u, 111u, 140u, + 238u, 229u, 198u, 107u, + 111u, 148u, 108u, 88u, + 180u, 142u, 102u, 114u, + 119u, 239u, 151u, 255u, + 182u, 223u, 207u, 155u, + 52u, 135u, 127u, 125u, + 68u, 130u, 210u, 1u, + 158u, 120u, 144u, 131u, + 27u, 63u, 189u, 25u, + 202u, 69u, 0u, 133u, + 67u, 228u, 97u, 73u, + 87u, 100u, 74u, 76u, + 31u, 204u, 213u, 69u, + 82u, 244u, 255u, 113u, + 130u, 118u, 116u, 215u, + 133u, 247u, 229u, 144u, + 24u, 150u, 118u, 22u, + 206u, 190u, 117u, 173u, + 71u, 160u, 72u, 184u, + 141u, 89u, 124u, 121u, + 87u, 74u, 255u, 110u, + 99u, 161u, 151u, 96u, + 169u, 107u, 145u, 115u, + 255u, 186u, 55u, 96u, + 132u, 89u, 170u, 127u, + 69u, 202u, 140u, 19u, + 213u, 196u, 86u, 1u, + 158u, 189u, 38u, 200u, + 179u, 83u, 125u, 50u, + 82u, 156u, 157u, 61u, + 141u, 180u, 147u, 177u, + 204u, 42u, 255u, 120u, + 33u, 202u, 96u, 124u, + 121u, 255u, 27u, 132u, + 116u, 169u, 49u, 129u, + 128u, 126u, 45u, 159u, + 18u, 198u, 89u, 150u, + 104u, 240u, 110u, 80u, + 112u, 59u, 94u, 74u, + 154u, 1u, 77u, 67u, + 184u, 177u, 110u, 204u, + 178u, 184u, 120u, 184u, + 184u, 255u, 113u, 86u, + 107u, 159u, 138u, 139u, + 90u, 29u, 113u, 116u, + 120u, 245u, 78u, 245u, + 170u, 150u, 131u, 38u, + 193u, 51u, 127u, 180u, + 90u, 255u, 126u, 251u, + 166u, 89u, 110u, 158u, + 92u, 92u, 200u, 145u, + 59u, 135u, 102u, 161u, + 192u, 167u, 0u, 157u, + 164u, 255u, 111u, 167u, + 234u, 71u, 107u, 185u, + 146u, 75u, 155u, 138u, + 142u, 189u, 87u, 122u, + 93u, 168u, 200u, 0u, + 144u, 160u, 124u, 165u, + 217u, 197u, 100u, 195u, + 161u, 35u, 223u, 127u, + 161u, 1u, 182u, 4u, + 172u, 127u, 177u, 115u, + 22u, 148u, 176u, 41u, + 112u, 189u, 113u, 35u, + 121u, 181u, 11u, 103u, + 194u, 197u, 142u, 86u, + 168u, 91u, 255u, 34u, + 142u, 165u, 158u, 117u, + 77u, 206u, 255u, 176u, + 175u, 86u, 109u, 190u, + 136u, 155u, 192u, 159u, + 88u, 174u, 96u, 99u, + 103u, 126u, 151u, 188u, + 169u, 189u, 117u, 151u, + 117u, 102u, 120u, 115u, + 131u, 0u, 115u, 203u, + 115u, 93u, 156u, 125u, + 255u, 141u, 175u, 39u, + 112u, 130u, 68u, 113u, + 151u, 68u, 106u, 8u, + 164u, 149u, 105u, 95u, + 127u, 195u, 127u, 93u, + 1u, 220u, 130u, 81u, + 90u, 159u, 207u, 104u, + 108u, 243u, 92u, 255u, + 45u, 225u, 111u, 138u, + 162u, 170u, 143u, 155u, + 100u, 168u, 142u, 201u, + 81u, 242u, 126u, 102u, + 222u, 90u, 237u, 118u, + 81u, 217u, 96u, 255u, + 254u, 75u, 111u, 20u, + 38u, 230u, 161u, 60u, + 194u, 179u, 37u, 156u, + 101u, 106u, 238u, 142u, + 113u, 33u, 53u, 255u, + 187u, 119u, 47u, 123u, + 65u, 243u, 134u, 101u, + 66u, 23u, 157u, 27u, + 76u, 131u, 213u, 255u, + 152u, 130u, 1u, 189u, + 87u, 150u, 182u, 118u, + 112u, 215u, 203u, 130u, + 58u, 43u, 114u, 201u, + 157u, 81u, 33u, 145u, + 166u, 255u, 223u, 168u, + 120u, 11u, 161u, 125u, + 123u, 148u, 135u, 180u, + 79u, 139u, 151u, 79u, + 132u, 255u, 49u, 24u, + 65u, 127u, 153u, 241u, + 178u, 168u, 162u, 116u, + 134u, 124u, 63u, 167u, + 75u, 150u, 139u, 38u, + 177u, 97u, 146u, 132u, + 23u, 141u, 255u, 29u, + 15u, 129u, 13u, 127u, + 3u, 172u, 1u, 85u, + 170u, 100u, 129u, 40u, + 174u, 203u, 116u, 209u, + 218u, 22u, 240u, 159u, + 30u, 44u, 95u, 0u, + 245u, 94u, 231u, 226u, + 220u, 106u, 126u, 54u, + 229u, 175u, 152u, 99u, + 67u, 126u, 201u, 88u, + 166u, 171u, 149u, 107u, + 18u, 106u, 1u, 227u, + 143u, 83u, 127u, 169u, + 81u, 113u, 74u, 195u, + 126u, 54u, 39u, 117u, + 72u, 49u, 0u, 52u, + 255u, 132u, 81u, 174u, + 203u, 117u, 242u, 154u, + 155u, 152u, 197u, 4u, + 163u, 100u, 111u, 169u, + 87u, 123u, 53u, 189u, + 207u, 205u, 103u, 255u, + 78u, 144u, 74u, 179u, + 194u, 161u, 91u, 111u, + 141u, 63u, 211u, 109u, + 90u, 163u, 144u, 77u, + 117u, 255u, 186u, 123u, + 106u, 191u, 127u, 103u, + 168u, 108u, 79u, 236u, + 116u, 20u, 207u, 34u, + 155u, 255u, 34u, 219u, + 206u, 143u, 52u, 124u, + 129u, 158u, 103u, 154u, + 117u, 116u, 150u, 61u, + 66u, 111u, 200u, 132u, + 118u, 114u, 255u, 26u, + 69u, 43u, 95u, 163u, + 69u, 71u, 153u, 22u, + 50u, 205u, 165u, 11u, + 240u, 112u, 81u, 0u, + 98u, 216u, 168u, 36u, + 198u, 130u, 182u, 106u, + 228u, 169u, 1u, 100u, + 124u, 205u, 74u, 136u, + 120u, 82u, 175u, 210u, + 76u, 215u, 151u, 95u, + 203u, 117u, 123u, 73u, + 52u, 135u, 146u, 1u, + 57u, 133u, 145u, 174u, + 119u, 247u, 65u, 75u, + 46u, 197u, 77u, 8u, + 143u, 150u, 119u, 1u, + 120u, 72u, 177u, 158u, + 114u, 48u, 164u, 159u, + 198u, 129u, 0u, 226u, + 120u, 219u, 152u, 123u, + 53u, 161u, 1u, 128u, + 161u, 180u, 69u, 193u, + 132u, 97u, 116u, 112u, + 57u, 210u, 54u, 135u, + 120u, 173u, 11u, 254u, + 4u, 116u, 144u, 57u, + 112u, 196u, 47u, 163u, + 102u, 213u, 255u, 201u, + 61u, 73u, 86u, 84u, + 181u, 66u, 124u, 50u, + 96u, 255u, 64u, 102u, + 125u, 125u, 97u, 111u, + 227u, 92u, 222u, 159u, + 199u, 255u, 199u, 99u, + 150u, 61u, 127u, 210u, + 164u, 178u, 123u, 63u, + 116u, 189u, 114u, 93u, + 255u, 70u, 156u, 27u, + 148u, 145u, 114u, 127u, + 200u, 157u, 130u, 55u, + 193u, 209u, 167u, 158u, + 58u, 87u, 162u, 122u, + 132u, 105u, 192u, 81u, + 1u, 82u, 140u, 170u, + 69u, 53u, 65u, 208u, + 58u, 255u, 127u, 5u, + 98u, 125u, 228u, 155u, + 71u, 35u, 181u, 45u, + 103u, 100u, 100u, 165u, + 68u, 122u, 135u, 83u, + 200u, 204u, 109u, 186u, + 1u, 156u, 150u, 113u, + 71u, 94u, 41u, 0u, + 117u, 45u, 112u, 145u, + 50u, 134u, 117u, 172u, + 158u, 121u, 160u, 123u, + 183u, 45u, 156u, 73u, + 170u, 181u, 226u, 86u, + 175u, 255u, 141u, 91u, + 158u, 45u, 220u, 32u, + 203u, 73u, 132u, 170u, + 152u, 255u, 154u, 178u, + 142u, 164u, 161u, 75u, + 116u, 114u, 83u, 119u, + 74u, 230u, 205u, 221u, + 0u, 89u, 215u, 54u, + 134u, 62u, 164u, 191u, + 169u, 23u, 186u, 137u, + 124u, 133u, 175u, 114u, + 105u, 114u, 47u, 255u, + 170u, 11u, 117u, 25u, + 222u, 183u, 218u, 187u, + 59u, 179u, 164u, 140u, + 100u, 175u, 159u, 85u, + 178u, 132u, 50u, 84u, + 111u, 130u, 183u, 1u, + 209u, 55u, 123u, 149u, + 148u, 93u, 255u, 161u, + 213u, 251u, 96u, 192u, + 73u, 98u, 100u, 63u, + 218u, 171u, 185u, 35u, + 129u, 255u, 120u, 113u, + 86u, 170u, 129u, 94u, + 92u, 89u, 168u, 94u, + 147u, 103u, 105u, 167u, + 159u, 120u, 90u, 160u, + 190u, 169u, 142u, 174u, + 255u, 119u, 89u, 78u, + 147u, 193u, 151u, 84u, + 136u, 140u, 107u, 81u, + 67u, 97u, 157u, 71u, + 248u, 255u, 10u, 253u, + 162u, 105u, 106u, 100u, + 132u, 175u, 89u, 156u, + 208u, 167u, 194u, 141u, + 97u, 29u, 123u, 255u, + 99u, 82u, 115u, 173u, + 101u, 76u, 163u, 124u, + 120u, 173u, 70u, 141u, + 129u, 255u, 118u, 119u, + 181u, 137u, 79u, 86u, + 46u, 183u, 149u, 175u, + 183u, 60u, 165u, 182u, + 1u, 131u, 209u, 170u, + 6u, 255u, 90u, 176u, + 208u, 193u, 239u, 73u, + 114u, 73u, 129u, 142u, + 140u, 90u, 46u, 249u, + 21u, 68u, 51u, 102u, + 255u, 77u, 139u, 136u, + 92u, 67u, 105u, 162u, + 107u, 46u, 138u, 147u, + 60u, 194u, 175u, 97u, + 168u, 202u, 109u, 1u, + 159u, 117u, 141u, 98u, + 116u, 145u, 95u, 84u, + 225u, 75u, 107u, 248u, + 110u, 225u, 176u, 223u, + 81u, 217u, 138u, 255u, + 78u, 170u, 101u, 60u, + 112u, 255u, 36u, 124u, + 199u, 149u, 183u, 136u, + 131u, 214u, 200u, 110u, + 147u, 164u, 88u, 65u, + 251u, 56u, 134u, 101u, + 104u, 110u, 69u, 1u, + 41u, 104u, 84u, 71u, + 209u, 157u, 82u, 67u, + 250u, 31u, 233u, 93u, + 98u, 102u, 182u, 108u, + 66u, 66u, 126u, 234u, + 145u, 99u, 97u, 0u, + 173u, 229u, 177u, 0u, + 170u, 129u, 68u, 114u, + 28u, 130u, 102u, 69u, + 191u, 133u, 114u, 56u, + 40u, 73u, 101u, 155u, + 120u, 75u, 137u, 113u, + 143u, 146u, 1u, 152u, + 106u, 162u, 55u, 139u, + 81u, 150u, 142u, 191u, + 101u, 165u, 99u, 148u, + 99u, 70u, 118u, 63u, + 130u, 81u, 255u, 101u, + 47u, 130u, 112u, 86u, + 80u, 76u, 175u, 1u, + 176u, 134u, 137u, 143u, + 245u, 94u, 120u, 124u, + 99u, 80u, 93u, 159u, + 106u, 97u, 34u, 135u, + 75u, 98u, 1u, 153u, + 100u, 222u, 101u, 58u, + 61u, 101u, 69u, 156u, + 47u, 226u, 114u, 136u, + 151u, 25u, 89u, 139u, + 163u, 0u, 76u, 99u, + 14u, 238u, 147u, 1u, + 195u, 88u, 208u, 121u, + 55u, 132u, 186u, 124u, + 163u, 87u, 6u, 115u, + 141u, 65u, 66u, 99u, + 163u, 179u, 123u, 57u, + 160u, 255u, 69u, 84u, + 76u, 133u, 86u, 235u, + 255u, 97u, 75u, 59u, + 11u, 140u, 187u, 31u, + 161u, 89u, 133u, 55u, + 135u, 109u, 159u, 157u, + 135u, 65u, 147u, 197u, + 225u, 0u, 143u, 200u, + 137u, 137u, 137u, 54u, + 138u, 87u, 17u, 38u, + 188u, 146u, 193u, 193u, + 131u, 150u, 170u, 158u, + 171u, 170u, 72u, 170u, + 177u, 1u, 230u, 144u, + 58u, 210u, 165u, 105u, + 169u, 147u, 191u, 37u, + 255u, 164u, 125u, 119u, + 62u, 142u, 250u, 181u, + 154u, 255u, 126u, 78u, + 181u, 92u, 97u, 179u, + 191u, 141u, 180u, 190u, + 63u, 199u, 16u, 194u, + 170u, 50u, 5u, 166u, + 212u, 142u, 157u, 135u, + 72u, 255u, 140u, 169u, + 170u, 212u, 118u, 55u, + 55u, 180u, 218u, 23u, + 125u, 149u, 67u, 83u, + 163u, 201u, 1u, 223u, + 191u, 32u, 167u, 154u, + 184u, 155u, 186u, 208u, + 103u, 35u, 63u, 255u, + 7u, 97u, 237u, 58u, + 83u, 172u, 210u, 44u, + 174u, 63u, 65u, 133u, + 110u, 170u, 98u, 190u, + 74u, 98u, 100u, 140u, + 0u, 162u, 98u, 55u, + 1u, 105u, 218u, 131u, + 108u, 144u, 130u, 160u, + 41u, 117u, 58u, 126u, + 95u, 193u, 94u, 73u, + 84u, 106u, 141u, 109u, + 127u, 194u, 108u, 255u, + 252u, 162u, 136u, 115u, + 13u, 102u, 145u, 227u, + 85u, 105u, 68u, 117u, + 201u, 169u, 84u, 1u, + 66u, 145u, 106u, 28u, + 60u, 172u, 65u, 132u, + 175u, 110u, 197u, 132u, + 241u, 1u, 84u, 138u, + 39u, 97u, 159u, 107u, + 135u, 252u, 180u, 165u, + 174u, 110u, 56u, 197u, + 131u, 230u, 170u, 66u, + 151u, 72u, 62u, 57u, + 1u, 157u, 108u, 158u, + 146u, 125u, 222u, 118u, + 123u, 125u, 164u, 168u, + 1u, 161u, 217u, 116u, + 161u, 11u, 100u, 194u, + 112u, 118u, 225u, 153u, + 14u, 192u, 99u, 58u, + 72u, 62u, 88u, 134u, + 150u, 255u, 224u, 42u, + 180u, 90u, 85u, 205u, + 143u, 6u, 215u, 119u, + 142u, 218u, 152u, 61u, + 224u, 254u, 255u, 104u, + 98u, 145u, 240u, 115u, + 141u, 129u, 255u, 85u, + 110u, 220u, 61u, 221u, + 88u, 228u, 82u, 43u, + 173u, 233u, 37u, 139u, + 8u, 255u, 127u, 208u, + 246u, 97u, 100u, 85u, + 96u, 2u, 161u, 145u, + 225u, 85u, 109u, 1u, + 152u, 214u, 113u, 182u, + 179u, 78u, 146u, 87u, + 25u, 131u, 202u, 87u, + 211u, 57u, 235u, 128u, + 39u, 1u, 47u, 245u, + 89u, 101u, 178u, 222u, + 145u, 172u, 236u, 115u, + 145u, 117u, 118u, 152u, + 99u, 145u, 98u, 255u, + 174u, 29u, 149u, 75u, + 28u, 171u, 138u, 64u, + 86u, 151u, 85u, 218u, + 218u, 17u, 199u, 88u, + 202u, 133u, 125u, 167u, + 255u, 74u, 115u, 164u, + 93u, 138u, 1u, 247u, + 111u, 112u, 89u, 154u, + 160u, 84u, 118u, 109u, + 163u, 172u, 241u, 45u, + 117u, 170u, 46u, 97u, + 131u, 239u, 190u, 49u, + 104u, 179u, 86u, 69u, + 1u, 195u, 113u, 74u, + 1u, 93u, 86u, 137u, + 55u, 189u, 116u, 96u, + 119u, 70u, 39u, 144u, + 40u, 187u, 110u, 147u, + 96u, 168u, 140u, 128u, + 255u, 148u, 89u, 147u, + 58u, 208u, 167u, 155u, + 201u, 192u, 187u, 147u, + 109u, 45u, 198u, 243u, + 134u, 164u, 85u, 225u, + 157u, 126u, 70u, 113u, + 98u, 255u, 79u, 74u, + 86u, 216u, 126u, 163u, + 255u, 189u, 185u, 42u, + 156u, 77u, 59u, 100u, + 133u, 124u, 80u, 157u, + 112u, 149u, 109u, 116u, + 0u, 214u, 100u, 120u, + 123u, 133u, 55u, 135u, + 111u, 157u, 239u, 128u, + 130u, 117u, 166u, 77u, + 144u, 89u, 120u, 80u, + 1u, 183u, 125u, 74u, + 125u, 179u, 47u, 143u, + 204u, 56u, 203u, 215u, + 191u, 111u, 76u, 214u, + 208u, 141u, 40u, 255u, + 36u, 163u, 232u, 132u, + 29u, 146u, 23u, 155u, + 107u, 213u, 255u, 159u, + 165u, 118u, 210u, 228u, + 56u, 179u, 156u, 111u, + 79u, 128u, 0u, 159u, + 97u, 124u, 204u, 160u, + 253u, 128u, 85u, 140u, + 163u, 113u, 68u, 223u, + 132u, 31u, 109u, 200u, + 175u, 207u, 107u, 201u, + 54u, 255u, 50u, 160u, + 95u, 149u, 127u, 122u, + 70u, 164u, 127u, 156u, + 85u, 175u, 69u, 46u, + 134u, 137u, 0u, 139u, + 133u, 159u, 193u, 138u, + 136u, 98u, 91u, 0u, + 114u, 53u, 2u, 124u, + 24u, 196u, 135u, 131u, + 220u, 194u, 17u, 192u, + 193u, 177u, 144u, 100u, + 93u, 154u, 162u, 61u, + 150u, 108u, 0u, 117u, + 87u, 90u, 109u, 107u, + 58u, 160u, 79u, 165u, + 155u, 100u, 70u, 203u, + 138u, 122u, 143u, 133u, + 128u, 0u, 31u, 218u, + 128u, 214u, 84u, 168u, + 74u, 100u, 252u, 165u, + 171u, 144u, 118u, 0u, + 99u, 203u, 159u, 159u, + 204u, 74u, 220u, 129u, + 72u, 70u, 94u, 97u, + 59u, 242u, 157u, 229u, + 159u, 255u, 56u, 60u, + 251u, 255u, 214u, 130u, + 138u, 142u, 81u, 111u, + 42u, 124u, 150u, 96u, + 128u, 137u, 99u, 111u, + 202u, 254u, 9u, 198u, + 121u, 104u, 180u, 30u, + 178u, 124u, 234u, 232u, + 176u, 91u, 255u, 222u, + 141u, 164u, 195u, 109u, + 221u, 38u, 177u, 130u, + 117u, 240u, 1u, 197u, + 105u, 211u, 197u, 48u, + 132u, 182u, 58u, 37u, + 149u, 162u, 124u, 3u, + 194u, 67u, 134u, 1u, + 50u, 132u, 40u, 187u, + 73u, 78u, 110u, 168u, + 182u, 145u, 168u, 134u, + 100u, 179u, 213u, 1u, + 164u, 203u, 70u, 190u, + 50u, 108u, 192u, 139u, + 87u, 94u, 87u, 183u, + 210u, 69u, 81u, 102u, + 84u, 1u, 176u, 103u, + 25u, 104u, 8u, 45u, + 64u, 125u, 1u, 130u, + 136u, 139u, 122u, 104u, + 86u, 185u, 94u, 203u, + 255u, 142u, 188u, 180u, + 135u, 218u, 189u, 71u, + 190u, 130u, 195u, 218u, + 24u, 103u, 100u, 127u, + 104u, 65u, 48u, 50u, + 255u, 138u, 2u, 78u, + 37u, 146u, 137u, 63u, + 149u, 67u, 207u, 163u, + 145u, 127u, 107u, 1u, + 148u, 112u, 28u, 145u, + 112u, 123u, 90u, 105u, + 162u, 110u, 159u, 241u, + 119u, 238u, 23u, 94u, + 131u, 85u, 121u, 85u, + 1u, 100u, 135u, 150u, + 142u, 23u, 32u, 232u, + 108u, 70u, 116u, 42u, + 91u, 140u, 144u, 181u, + 188u, 216u, 126u, 146u, + 18u, 99u, 132u, 255u, + 194u, 148u, 163u, 129u, + 100u, 175u, 66u, 105u, + 104u, 73u, 255u, 66u, + 144u, 103u, 245u, 77u, + 85u, 184u, 183u, 41u, + 168u, 196u, 37u, 110u, + 80u, 200u, 175u, 48u, + 98u, 128u, 1u, 119u, + 199u, 117u, 245u, 65u, + 77u, 1u, 121u, 133u, + 81u, 127u, 143u, 138u, + 151u, 99u, 128u, 44u, + 46u, 5u, 148u, 76u, + 1u, 36u, 147u, 195u, + 151u, 114u, 90u, 42u, + 78u, 187u, 47u, 201u, + 117u, 84u, 166u, 78u, + 117u, 128u, 122u, 159u, + 174u, 195u, 124u, 255u, + 159u, 115u, 184u, 124u, + 104u, 45u, 1u, 112u, + 109u, 110u, 113u, 177u, + 91u, 189u, 109u, 182u, + 108u, 202u, 202u, 79u, + 55u, 204u, 71u, 120u, + 255u, 193u, 217u, 89u, + 143u, 95u, 72u, 188u, + 89u, 169u, 87u, 120u, + 127u, 113u, 105u, 37u, + 198u, 108u, 109u, 181u, + 1u, 137u, 234u, 132u, + 215u, 144u, 144u, 216u, + 70u, 151u, 255u, 156u, + 98u, 173u, 148u, 140u, + 213u, 115u, 89u, 37u, + 117u, 156u, 54u, 129u, + 165u, 119u, 201u, 130u, + 85u, 1u, 26u, 73u, + 237u, 155u, 100u, 101u, + 142u, 89u, 197u, 37u, + 159u, 255u, 122u, 186u, + 109u, 177u, 146u, 157u, + 105u, 46u, 127u, 248u, + 43u, 73u, 79u, 135u, + 156u, 95u, 79u, 0u, + 243u, 217u, 160u, 237u, + 111u, 227u, 42u, 46u, + 86u, 42u, 29u, 23u, + 116u, 17u, 34u, 191u, + 150u, 178u, 1u, 134u, + 91u, 132u, 205u, 222u, + 168u, 140u, 157u, 101u, + 255u, 53u, 93u, 93u, + 97u, 25u, 47u, 82u, + 192u, 162u, 144u, 198u, + 170u, 130u, 246u, 210u, + 123u, 175u, 108u, 199u, + 152u, 119u, 95u, 222u, + 37u, 47u, 255u, 230u, + 160u, 95u, 131u, 3u, + 137u, 255u, 208u, 55u, + 200u, 127u, 114u, 125u, + 50u, 237u, 30u, 165u, + 139u, 176u, 196u, 167u, + 131u, 139u, 177u, 148u, + 36u, 252u, 234u, 78u, + 52u, 163u, 213u, 168u, + 0u, 68u, 76u, 226u, + 179u, 93u, 190u, 134u, + 181u, 87u, 119u, 166u, + 255u, 255u, 190u, 56u, + 137u, 182u, 94u, 95u, + 18u, 26u, 92u, 109u, + 0u, 164u, 54u, 54u, + 222u, 255u, 119u, 1u, + 79u, 44u, 155u, 224u, + 161u, 154u, 133u, 82u, + 111u, 69u, 149u, 0u, + 154u, 155u, 112u, 59u, + 116u, 182u, 101u, 160u, + 126u, 78u, 89u, 77u, + 165u, 149u, 204u, 255u, + 225u, 167u, 103u, 181u, + 35u, 169u, 119u, 176u, + 131u, 143u, 179u, 164u, + 0u, 123u, 89u, 68u, + 155u, 65u, 92u, 176u, + 209u, 224u, 226u, 137u, + 0u, 70u, 63u, 172u, + 117u, 235u, 209u, 142u, + 77u, 181u, 98u, 69u, + 43u, 171u, 236u, 59u, + 227u, 152u, 109u, 1u, + 84u, 86u, 84u, 134u, + 163u, 86u, 163u, 62u, + 145u, 16u, 106u, 144u, + 136u, 84u, 175u, 51u, + 39u, 12u, 135u, 1u, + 136u, 152u, 93u, 212u, + 213u, 103u, 61u, 86u, + 156u, 167u, 79u, 154u, + 137u, 0u, 106u, 175u, + 201u, 142u, 140u, 98u, + 147u, 183u, 133u, 148u, + 123u, 158u, 91u, 145u, + 162u, 195u, 196u, 107u, + 70u, 1u, 118u, 131u, + 51u, 106u, 102u, 164u, + 205u, 77u, 190u, 1u, + 191u, 46u, 58u, 62u, + 82u, 154u, 78u, 120u, + 102u, 232u, 112u, 87u, + 222u, 203u, 81u, 38u, + 115u, 64u, 20u, 94u, + 119u, 123u, 122u, 68u, + 0u, 126u, 164u, 171u, + 26u, 132u, 54u, 138u, + 185u, 180u, 83u, 121u, + 179u, 137u, 110u, 237u, + 1u, 140u, 144u, 76u, + 120u, 175u, 157u, 22u, + 128u, 158u, 199u, 177u, + 103u, 78u, 118u, 183u, + 1u, 81u, 148u, 138u, + 218u, 93u, 152u, 1u, + 165u, 139u, 71u, 98u, + 28u, 194u, 226u, 14u, + 152u, 46u, 83u, 71u, + 143u, 115u, 138u, 98u, + 142u, 180u, 167u, 201u, + 150u, 98u, 165u, 136u, + 16u, 1u, 10u, 156u, + 158u, 216u, 80u, 82u, + 70u, 223u, 85u, 199u, + 54u, 67u, 1u, 120u, + 38u, 194u, 151u, 148u, + 57u, 124u, 203u, 30u, + 2u, 89u, 79u, 65u, + 160u, 138u, 219u, 197u, + 3u, 4u, 0u, 145u, + 108u, 7u, 112u, 83u, + 138u, 123u, 123u, 255u, + 217u, 62u, 177u, 172u, + 137u, 130u, 183u, 88u, + 214u, 78u, 120u, 162u, + 88u, 140u, 123u, 255u, + 161u, 71u, 78u, 190u, + 220u, 111u, 146u, 150u, + 204u, 194u, 184u, 72u, + 185u, 173u, 177u, 255u, + 48u, 106u, 213u, 168u, + 16u, 180u, 113u, 58u, + 24u, 181u, 55u, 190u, + 85u, 164u, 149u, 255u, + 186u, 140u, 161u, 101u, + 51u, 109u, 124u, 177u, + 184u, 120u, 141u, 125u, + 203u, 172u, 150u, 146u, + 255u, 178u, 131u, 99u, + 178u, 138u, 107u, 153u, + 255u, 154u, 196u, 27u, + 132u, 166u, 206u, 163u, + 251u, 162u, 89u, 146u, + 49u, 186u, 208u, 121u, + 75u, 113u, 123u, 64u, + 98u, 139u, 108u, 90u, + 76u, 152u, 150u, 190u, + 145u, 1u, 81u, 166u, + 76u, 137u, 114u, 214u, + 173u, 78u, 186u, 116u, + 50u, 1u, 214u, 91u, + 216u, 162u, 58u, 176u, + 96u, 137u, 142u, 140u, + 147u, 66u, 137u, 81u, + 1u, 63u, 96u, 84u, + 136u, 116u, 202u, 167u, + 139u, 241u, 255u, 173u, + 173u, 200u, 107u, 45u, + 125u, 117u, 49u, 83u, + 76u, 98u, 127u, 146u, + 85u, 93u, 35u, 171u, + 152u, 75u, 123u, 210u, + 1u, 127u, 85u, 114u, + 115u, 157u, 221u, 157u, + 121u, 91u, 68u, 130u, + 208u, 129u, 153u, 34u, + 158u, 94u, 235u, 143u, + 255u, 147u, 133u, 109u, + 152u, 68u, 172u, 86u, + 90u, 238u, 196u, 74u, + 57u, 197u, 150u, 1u, + 243u, 78u, 125u, 99u, + 89u, 86u, 101u, 162u, + 118u, 144u, 81u, 132u, + 72u, 231u, 179u, 75u, + 145u, 208u, 43u, 1u, + 80u, 93u, 94u, 154u, + 255u, 62u, 200u, 74u, + 97u, 106u, 106u, 137u, + 137u, 142u, 75u, 168u, + 119u, 163u, 111u, 174u, + 114u, 132u, 74u, 0u, + 75u, 112u, 147u, 144u, + 62u, 152u, 57u, 78u, + 134u, 107u, 128u, 213u, + 84u, 92u, 66u, 71u, + 187u, 167u, 85u, 255u, + 106u, 117u, 131u, 109u, + 70u, 170u, 118u, 42u, + 120u, 153u, 233u, 84u, + 159u, 135u, 58u, 67u, + 132u, 99u, 206u, 255u, + 97u, 212u, 255u, 118u, + 72u, 104u, 151u, 98u, + 61u, 106u, 129u, 65u, + 178u, 17u, 156u, 136u, + 255u, 138u, 156u, 50u, + 127u, 141u, 67u, 88u, + 98u, 164u, 120u, 61u, + 80u, 137u, 84u, 76u, + 78u, 215u, 116u, 203u, + 215u, 133u, 58u, 0u, + 155u, 241u, 89u, 13u, + 254u, 193u, 142u, 113u, + 189u, 42u, 119u, 195u, + 62u, 12u, 171u, 1u, + 112u, 30u, 91u, 53u, + 58u, 88u, 127u, 131u, + 88u, 104u, 29u, 41u, + 231u, 7u, 76u, 1u, + 62u, 119u, 135u, 66u, + 196u, 191u, 42u, 115u, + 142u, 151u, 46u, 211u, + 157u, 74u, 51u, 230u, + 24u, 62u, 138u, 241u, + 85u, 255u, 185u, 104u, + 71u, 81u, 120u, 150u, + 1u, 219u, 116u, 78u, + 71u, 172u, 74u, 117u, + 103u, 138u, 152u, 71u, + 185u, 35u, 203u, 153u, + 213u, 1u, 57u, 174u, + 152u, 163u, 202u, 204u, + 147u, 141u, 131u, 139u, + 197u, 142u, 186u, 64u, + 105u, 26u, 1u, 156u, + 93u, 175u, 67u, 68u, + 70u, 181u, 210u, 185u, + 109u, 49u, 165u, 1u, + 181u, 71u, 209u, 35u, + 80u, 165u, 226u, 74u, + 110u, 168u, 24u, 177u, + 106u, 105u, 132u, 154u, + 112u, 180u, 0u, 104u, + 196u, 56u, 39u, 66u, + 80u, 48u, 120u, 166u, + 128u, 72u, 235u, 237u, + 228u, 83u, 255u, 249u, + 88u, 235u, 146u, 149u, + 84u, 97u, 47u, 142u, + 32u, 201u, 108u, 176u, + 200u, 43u, 217u, 175u, + 160u, 177u, 205u, 123u, + 255u, 130u, 49u, 234u, + 231u, 88u, 66u, 81u, + 10u, 55u, 35u, 163u, + 255u, 170u, 107u, 84u, + 126u, 180u, 108u, 77u, + 94u, 119u, 96u, 71u, + 137u, 158u, 221u, 0u, + 129u, 46u, 68u, 104u, + 98u, 31u, 70u, 212u, + 172u, 77u, 127u, 59u, + 127u, 86u, 134u, 102u, + 229u, 195u, 172u, 1u, + 146u, 106u, 186u, 161u, + 6u, 155u, 143u, 173u, + 162u, 181u, 223u, 92u, + 113u, 93u, 149u, 221u, + 135u, 255u, 62u, 202u, + 70u, 236u, 135u, 1u, + 158u, 219u, 164u, 42u, + 229u, 30u, 90u, 102u, + 196u, 125u, 241u, 245u, + 30u, 210u, 185u, 255u, + 97u, 139u, 59u, 78u, + 130u, 139u, 131u, 217u, + 135u, 215u, 105u, 183u, + 155u, 96u, 24u, 114u, + 99u, 143u, 2u, 1u, + 52u, 96u, 197u, 222u, + 72u, 126u, 83u, 190u, + 58u, 162u, 145u, 144u, + 241u, 109u, 216u, 205u, + 47u, 72u, 77u, 208u, + 115u, 1u, 69u, 33u, + 144u, 124u, 124u, 169u, + 140u, 215u, 160u, 255u, + 206u, 94u, 26u, 150u, + 40u, 87u, 100u, 133u, + 45u, 102u, 166u, 182u, + 94u, 1u, 110u, 249u, + 202u, 188u, 144u, 183u, + 251u, 39u, 117u, 80u, + 112u, 171u, 152u, 253u, + 69u, 175u, 98u, 49u, + 135u, 159u, 157u, 102u, + 192u, 247u, 255u, 153u, + 233u, 101u, 247u, 24u, + 63u, 93u, 1u, 125u, + 228u, 160u, 148u, 202u, + 161u, 185u, 139u, 144u, + 189u, 150u, 174u, 143u, + 144u, 98u, 146u, 107u, + 165u, 255u, 109u, 110u, + 38u, 100u, 77u, 79u, + 117u, 85u, 247u, 43u, + 132u, 151u, 16u, 23u, + 8u, 124u, 157u, 0u, + 65u, 30u, 41u, 84u, + 109u, 57u, 104u, 76u, + 157u, 82u, 100u, 96u, + 157u, 173u, 21u, 51u, + 109u, 157u, 1u, 127u, + 60u, 200u, 56u, 110u, + 205u, 81u, 255u, 153u, + 120u, 179u, 175u, 154u, + 148u, 163u, 163u, 112u, + 196u, 123u, 218u, 84u, + 91u, 63u, 187u, 132u, + 83u, 76u, 158u, 33u, + 122u, 171u, 255u, 36u, + 181u, 255u, 215u, 112u, + 140u, 102u, 84u, 174u, + 232u, 43u, 75u, 242u, + 229u, 64u, 40u, 76u, + 89u, 116u, 115u, 6u, + 210u, 96u, 110u, 255u, + 198u, 173u, 173u, 110u, + 118u, 54u, 118u, 112u, + 255u, 131u, 137u, 118u, + 191u, 144u, 148u, 236u, + 145u, 221u, 120u, 105u, + 118u, 106u, 196u, 86u, + 91u, 134u, 119u, 229u, + 174u, 58u, 154u, 87u, + 144u, 87u, 155u, 51u, + 150u, 119u, 162u, 255u, + 227u, 191u, 197u, 255u, + 230u, 248u, 131u, 11u, + 106u, 47u, 40u, 36u, + 229u, 194u, 89u, 14u, + 25u, 75u, 50u, 59u, + 255u, 77u, 122u, 123u, + 233u, 155u, 20u, 26u, + 44u, 83u, 92u, 94u, + 99u, 185u, 79u, 75u, + 58u, 136u, 255u, 158u, + 243u, 144u, 72u, 107u, + 112u, 115u, 71u, 184u, + 162u, 149u, 87u, 193u, + 106u, 149u, 118u, 111u, + 163u, 162u, 16u, 191u, + 181u, 1u, 91u, 51u, + 172u, 125u, 179u, 216u, + 93u, 118u, 169u, 85u, + 155u, 178u, 146u, 93u, + 205u, 195u, 216u, 1u, + 147u, 132u, 123u, 166u, + 102u, 193u, 122u, 161u, + 143u, 60u, 159u, 207u, + 105u, 1u, 165u, 114u, + 123u, 136u, 142u, 79u, + 255u, 154u, 42u, 30u, + 78u, 186u, 127u, 160u, + 130u, 155u, 41u, 172u, + 79u, 113u, 2u, 118u, + 255u, 28u, 158u, 133u, + 92u, 200u, 120u, 48u, + 182u, 163u, 179u, 97u, + 117u, 83u, 224u, 255u, + 74u, 115u, 160u, 95u, + 90u, 179u, 106u, 71u, + 214u, 207u, 154u, 79u, + 0u, 111u, 73u, 129u, + 117u, 164u, 211u, 142u, + 87u, 211u, 59u, 24u, + 108u, 208u, 103u, 217u, + 94u, 80u, 153u, 233u, + 131u, 172u, 31u, 108u, + 1u, 123u, 191u, 127u, + 250u, 162u, 109u, 56u, + 141u, 49u, 111u, 223u, + 74u, 66u, 27u, 153u, + 175u, 147u, 0u, 226u, + 126u, 252u, 111u, 201u, + 132u, 138u, 172u, 101u, + 75u, 202u, 0u, 91u, + 3u, 181u, 157u, 80u, + 115u, 159u, 185u, 161u, + 181u, 23u, 128u, 114u, + 106u, 255u, 50u, 172u, + 69u, 3u, 138u, 154u, + 113u, 148u, 122u, 26u, + 122u, 72u, 47u, 163u, + 180u, 170u, 162u, 220u, + 63u, 135u, 96u, 23u, + 33u, 255u, 1u, 192u, + 121u, 93u, 140u, 61u, + 56u, 29u, 125u, 55u, + 90u, 68u, 255u, 138u, + 162u, 99u, 94u, 180u, + 198u, 128u, 140u, 22u, + 66u, 101u, 73u, 133u, + 255u, 210u, 141u, 181u, + 208u, 63u, 148u, 164u, + 99u, 60u, 209u, 65u, + 1u, 48u, 191u, 104u, + 185u, 107u, 124u, 92u, + 150u, 127u, 144u, 91u, + 102u, 218u, 84u, 182u, + 151u, 20u, 114u, 1u, + 115u, 58u, 133u, 208u, + 131u, 19u, 82u, 117u, + 154u, 127u, 207u, 82u, + 134u, 156u, 103u, 195u, + 92u, 255u, 175u, 165u, + 97u, 104u, 87u, 100u, + 154u, 140u, 208u, 206u, + 209u, 141u, 102u, 201u, + 149u, 1u, 184u, 216u, + 120u, 102u, 89u, 88u, + 180u, 90u, 119u, 213u, + 155u, 115u, 112u, 117u, + 102u, 202u, 110u, 127u, + 164u, 53u, 0u, 151u, + 174u, 126u, 133u, 135u, + 102u, 188u, 167u, 128u, + 196u, 141u, 81u, 169u, + 79u, 232u, 255u, 202u, + 73u, 195u, 178u, 165u, + 225u, 100u, 86u, 4u, + 29u, 143u, 28u, 12u, + 199u, 255u, 204u, 215u, + 1u, 180u, 118u, 128u, + 46u, 121u, 140u, 83u, + 161u, 93u, 157u, 118u, + 180u, 226u, 18u, 229u, + 127u, 133u, 52u, 82u, + 70u, 204u, 54u, 235u, + 235u, 143u, 74u, 147u, + 82u, 4u, 51u, 255u, + 145u, 134u, 143u, 255u, + 104u, 116u, 113u, 89u, + 66u, 118u, 92u, 112u, + 134u, 191u, 170u, 96u, + 183u, 137u, 79u, 146u, + 57u, 232u, 175u, 142u, + 215u, 95u, 59u, 183u, + 1u, 147u, 189u, 100u, + 181u, 255u, 198u, 58u, + 130u, 221u, 141u, 127u, + 204u, 103u, 112u, 175u, + 147u, 88u, 70u, 82u, + 167u, 85u, 242u, 51u, + 84u, 47u, 115u, 104u, + 168u, 183u, 32u, 187u, + 0u, 227u, 35u, 152u, + 128u, 255u, 62u, 94u, + 126u, 140u, 84u, 69u, + 81u, 55u, 104u, 71u, + 114u, 155u, 163u, 163u, + 99u, 137u, 120u, 64u, + 209u, 178u, 52u, 118u, + 103u, 153u, 98u, 85u, + 86u, 118u, 0u, 115u, + 163u, 204u, 132u, 91u, + 255u, 166u, 151u, 160u, + 96u, 187u, 113u, 133u, + 107u, 80u, 165u, 143u, + 150u, 80u, 136u, 168u, + 45u, 64u, 207u, 80u, + 255u, 95u, 100u, 152u, + 133u, 220u, 227u, 63u, + 155u, 113u, 119u, 96u, + 65u, 151u, 139u, 37u, + 204u, 174u, 92u, 116u, + 58u, 152u, 186u, 255u, + 77u, 127u, 98u, 15u, + 54u, 101u, 156u, 109u, + 224u, 152u, 92u, 143u, + 67u, 255u, 28u, 208u, + 96u, 172u, 110u, 147u, + 177u, 92u, 135u, 57u, + 130u, 60u, 55u, 1u, + 27u, 92u, 83u, 217u, + 86u, 126u, 235u, 116u, + 154u, 1u, 177u, 107u, + 145u, 218u, 157u, 156u, + 218u, 127u, 77u, 29u, + 199u, 56u, 170u, 155u, + 168u, 77u, 194u, 74u, + 143u, 65u, 161u, 110u, + 150u, 255u, 84u, 48u, + 148u, 32u, 156u, 138u, + 192u, 149u, 255u, 151u, + 156u, 23u, 202u, 97u, + 164u, 8u, 141u, 232u, + 16u, 88u, 43u, 54u, + 37u, 147u, 62u, 61u, + 204u, 159u, 129u, 1u, + 162u, 90u, 86u, 66u, + 128u, 174u, 33u, 143u, + 255u, 148u, 144u, 191u, + 143u, 96u, 75u, 66u, + 247u, 199u, 68u, 87u, + 148u, 231u, 204u, 146u, + 74u, 100u, 141u, 95u, + 114u, 109u, 143u, 167u, + 172u, 106u, 255u, 150u, + 87u, 148u, 72u, 156u, + 153u, 218u, 73u, 32u, + 59u, 61u, 88u, 65u, + 80u, 1u, 231u, 16u, + 210u, 106u, 123u, 41u, + 209u, 171u, 159u, 81u, + 103u, 156u, 116u, 173u, + 46u, 81u, 1u, 176u, + 83u, 199u, 124u, 128u, + 95u, 69u, 121u, 11u, + 136u, 105u, 23u, 183u, + 124u, 187u, 250u, 255u, + 240u, 160u, 200u, 121u, + 190u, 179u, 128u, 178u, + 68u, 84u, 255u, 135u, + 145u, 88u, 175u, 173u, + 3u, 83u, 15u, 188u, + 72u, 106u, 192u, 171u, + 142u, 144u, 99u, 134u, + 255u, 113u, 183u, 139u, + 74u, 87u, 48u, 112u, + 103u, 48u, 47u, 137u, + 136u, 157u, 123u, 213u, + 170u, 0u, 55u, 106u, + 128u, 123u, 87u, 191u, + 98u, 100u, 137u, 235u, + 191u, 137u, 122u, 120u, + 88u, 78u, 255u, 198u, + 167u, 145u, 194u, 173u, + 78u, 140u, 132u, 43u, + 154u, 83u, 255u, 59u, + 166u, 47u, 199u, 254u, + 169u, 55u, 79u, 126u, + 130u, 86u, 111u, 255u, + 131u, 108u, 113u, 126u, + 152u, 205u, 155u, 27u, + 156u, 72u, 136u, 170u, + 93u, 224u, 173u, 37u, + 140u, 230u, 87u, 158u, + 157u, 255u, 210u, 127u, + 112u, 89u, 16u, 106u, + 138u, 38u, 133u, 202u, + 84u, 104u, 97u, 73u, + 126u, 255u, 173u, 112u, + 80u, 93u, 129u, 170u, + 160u, 192u, 139u, 134u, + 187u, 113u, 147u, 95u, + 161u, 148u, 0u, 202u, + 136u, 81u, 1u, 163u, + 119u, 111u, 68u, 45u, + 80u, 210u, 140u, 196u, + 26u, 117u, 152u, 76u, + 73u, 16u, 102u, 135u, + 46u, 179u, 59u, 255u, + 68u, 96u, 101u, 131u, + 218u, 100u, 72u, 76u, + 108u, 241u, 122u, 161u, + 187u, 147u, 106u, 176u, + 132u, 121u, 151u, 167u, + 135u, 1u, 160u, 152u, + 239u, 71u, 171u, 180u, + 207u, 94u, 131u, 77u, + 54u, 193u, 55u, 10u, + 31u, 95u, 109u, 0u, + 101u, 181u, 145u, 80u, + 111u, 122u, 86u, 1u, + 137u, 68u, 163u, 148u, + 173u, 15u, 175u, 171u, + 92u, 175u, 69u, 35u, + 183u, 139u, 255u, 178u, + 92u, 181u, 18u, 94u, + 24u, 77u, 237u, 22u, + 135u, 72u, 187u, 94u, + 115u, 142u, 116u, 95u, + 158u, 138u, 147u, 125u, + 255u, 174u, 107u, 164u, + 149u, 87u, 101u, 129u, + 79u, 161u, 255u, 81u, + 26u, 61u, 90u, 119u, + 113u, 183u, 138u, 206u, + 146u, 69u, 189u, 225u, + 1u, 147u, 2u, 129u, + 170u, 180u, 214u, 169u, + 193u, 47u, 174u, 95u, + 191u, 1u, 117u, 94u, + 203u, 56u, 102u, 155u, + 133u, 151u, 138u, 107u, + 89u, 210u, 222u, 92u, + 112u, 133u, 129u, 138u, + 154u, 102u, 1u, 138u, + 87u, 173u, 92u, 137u, + 159u, 167u, 153u, 187u, + 255u, 51u, 216u, 96u, + 84u, 40u, 76u, 142u, + 158u, 150u, 146u, 70u, + 139u, 147u, 185u, 55u, + 134u, 42u, 193u, 146u, + 163u, 65u, 68u, 113u, + 119u, 150u, 152u, 104u, + 255u, 120u, 151u, 65u, + 184u, 38u, 1u, 163u, + 124u, 113u, 210u, 69u, + 174u, 125u, 158u, 114u, + 208u, 25u, 114u, 191u, + 142u, 19u, 171u, 255u, + 41u, 179u, 23u, 200u, + 99u, 46u, 179u, 128u, + 209u, 244u, 236u, 114u, + 126u, 190u, 100u, 141u, + 118u, 179u, 53u, 100u, + 108u, 16u, 255u, 81u, + 164u, 97u, 160u, 232u, + 91u, 46u, 106u, 72u, + 150u, 143u, 172u, 104u, + 135u, 115u, 127u, 1u, + 182u, 85u, 153u, 82u, + 205u, 53u, 255u, 252u, + 127u, 9u, 117u, 203u, + 185u, 210u, 150u, 193u, + 144u, 129u, 8u, 94u, + 107u, 66u, 142u, 175u, + 62u, 111u, 168u, 1u, + 139u, 198u, 144u, 79u, + 71u, 79u, 170u, 195u, + 155u, 100u, 70u, 154u, + 91u, 1u, 38u, 205u, + 56u, 180u, 142u, 140u, + 167u, 114u, 172u, 141u, + 105u, 115u, 174u, 227u, + 88u, 48u, 202u, 0u, + 148u, 175u, 95u, 125u, + 124u, 198u, 194u, 152u, + 124u, 199u, 59u, 148u, + 102u, 97u, 142u, 218u, + 188u, 155u, 126u, 229u, + 97u, 255u, 103u, 35u, + 135u, 132u, 150u, 111u, + 195u, 146u, 156u, 66u, + 149u, 132u, 131u, 146u, + 69u, 136u, 0u, 162u, + 44u, 189u, 131u, 138u, + 69u, 210u, 148u, 198u, + 111u, 200u, 77u, 242u, + 255u, 78u, 96u, 111u, + 166u, 201u, 184u, 225u, + 126u, 101u, 29u, 147u, + 162u, 162u, 169u, 120u, + 143u, 1u, 255u, 63u, + 246u, 133u, 191u, 124u, + 118u, 129u, 71u, 61u, + 37u, 92u, 212u, 123u, + 255u, 205u, 104u, 137u, + 195u, 142u, 141u, 54u, + 159u, 183u, 129u, 119u, + 117u, 239u, 141u, 16u, + 88u, 135u, 255u, 96u, + 102u, 165u, 61u, 242u, + 149u, 69u, 214u, 145u, + 78u, 84u, 166u, 155u, + 255u, 36u, 255u, 211u, + 242u, 52u, 249u, 86u, + 80u, 54u, 88u, 192u, + 255u, 236u, 157u, 143u, + 125u, 180u, 243u, 9u, + 98u, 112u, 183u, 184u, + 70u, 96u, 124u, 91u, + 213u, 255u, 147u, 181u, + 131u, 148u, 143u, 99u, + 105u, 156u, 121u, 137u, + 125u, 145u, 134u, 255u, + 154u, 105u, 104u, 155u, + 82u, 188u, 121u, 176u, + 67u, 37u, 117u, 61u, + 138u, 0u, 164u, 89u, + 229u, 161u, 114u, 91u, + 104u, 148u, 115u, 246u, + 255u, 211u, 190u, 75u, + 236u, 56u, 128u, 184u, + 129u, 208u, 187u, 189u, + 7u, 188u, 187u, 88u, + 1u, 167u, 131u, 165u, + 219u, 162u, 59u, 83u, + 154u, 62u, 89u, 111u, + 197u, 102u, 216u, 98u, + 130u, 163u, 137u, 139u, + 96u, 161u, 153u, 186u, + 161u, 79u, 168u, 90u, + 74u, 186u, 255u, 198u, + 144u, 162u, 178u, 146u, + 98u, 117u, 126u, 65u, + 121u, 156u, 150u, 152u, + 85u, 15u, 255u, 19u, + 127u, 148u, 172u, 169u, + 160u, 64u, 224u, 230u, + 73u, 1u, 137u, 179u, + 142u, 115u, 50u, 139u, + 82u, 116u, 71u, 88u, + 157u, 217u, 215u, 255u, + 16u, 6u, 100u, 115u, + 111u, 118u, 58u, 102u, + 196u, 11u, 143u, 182u, + 14u, 112u, 49u, 72u, + 1u, 52u, 111u, 156u, + 156u, 68u, 197u, 4u, + 159u, 101u, 135u, 182u, + 127u, 255u, 124u, 53u, + 144u, 147u, 140u, 139u, + 125u, 171u, 100u, 113u, + 20u, 112u, 77u, 126u, + 151u, 185u, 156u, 210u, + 169u, 239u, 109u, 100u, + 85u, 156u, 1u, 76u, + 182u, 154u, 188u, 201u, + 28u, 215u, 119u, 151u, + 198u, 1u, 201u, 170u, + 180u, 78u, 171u, 148u, + 72u, 172u, 129u, 55u, + 215u, 118u, 239u, 70u, + 85u, 99u, 244u, 20u, + 255u, 125u, 13u, 135u, + 122u, 84u, 117u, 100u, + 1u, 148u, 155u, 127u, + 165u, 151u, 55u, 189u, + 23u, 169u, 118u, 189u, + 112u, 111u, 48u, 105u, + 39u, 154u, 112u, 146u, + 138u, 130u, 168u, 156u, + 134u, 1u, 133u, 172u, + 255u, 135u, 91u, 147u, + 148u, 83u, 127u, 185u, + 67u, 111u, 121u, 165u, + 163u, 98u, 169u, 132u, + 45u, 96u, 68u, 137u, + 92u, 187u, 167u, 136u, + 73u, 62u, 92u, 106u, + 155u, 145u, 0u, 212u, + 152u, 62u, 122u, 153u, + 145u, 152u, 255u, 103u, + 127u, 130u, 136u, 152u, + 127u, 143u, 118u, 124u, + 214u, 178u, 178u, 174u, + 255u, 210u, 177u, 199u, + 8u, 96u, 170u, 164u, + 207u, 141u, 79u, 95u, + 86u, 0u, 141u, 37u, + 74u, 57u, 123u, 36u, + 54u, 200u, 79u, 86u, + 185u, 155u, 140u, 69u, + 151u, 134u, 137u, 253u, + 118u, 58u, 167u, 114u, + 94u, 132u, 255u, 159u, + 230u, 77u, 104u, 159u, + 161u, 50u, 188u, 168u, + 127u, 127u, 154u, 255u, + 72u, 117u, 164u, 100u, + 233u, 245u, 65u, 33u, + 151u, 56u, 106u, 54u, + 147u, 124u, 114u, 199u, + 60u, 182u, 44u, 193u, + 1u, 181u, 110u, 166u, + 147u, 78u, 141u, 75u, + 155u, 68u, 234u, 103u, + 188u, 223u, 43u, 155u, + 77u, 203u, 206u, 1u, + 186u, 62u, 240u, 120u, + 81u, 140u, 87u, 98u, + 242u, 212u, 102u, 255u, + 228u, 177u, 223u, 111u, + 169u, 212u, 140u, 255u, + 129u, 73u, 97u, 144u, + 170u, 142u, 198u, 164u, + 101u, 123u, 179u, 123u, + 130u, 129u, 117u, 102u, + 102u, 187u, 197u, 149u, + 179u, 165u, 127u, 83u, + 15u, 124u, 0u, 198u, + 156u, 49u, 61u, 163u, + 1u, 224u, 143u, 164u, + 18u, 92u, 75u, 216u, + 134u, 189u, 104u, 118u, + 133u, 99u, 149u, 132u, + 138u, 249u, 1u, 197u, + 108u, 163u, 158u, 92u, + 194u, 143u, 75u, 49u, + 96u, 251u, 43u, 109u, + 185u, 188u, 247u, 46u, + 97u, 162u, 227u, 101u, + 114u, 1u, 119u, 197u, + 255u, 52u, 200u, 115u, + 133u, 127u, 123u, 180u, + 126u, 92u, 111u, 138u, + 69u, 192u, 113u, 221u, + 255u, 25u, 247u, 179u, + 188u, 39u, 108u, 177u, + 234u, 211u, 140u, 162u, + 113u, 196u, 22u, 120u, + 200u, 209u, 65u, 151u, + 204u, 194u, 37u, 168u, + 161u, 148u, 1u, 26u, + 86u, 51u, 71u, 194u, + 60u, 187u, 80u, 250u, + 101u, 101u, 149u, 137u, + 163u, 159u, 134u, 107u, + 100u, 255u, 200u, 112u, + 255u, 221u, 82u, 182u, + 114u, 165u, 149u, 75u, + 235u, 61u, 57u, 66u, + 155u, 133u, 36u, 66u, + 125u, 61u, 13u, 86u, + 128u, 119u, 146u, 119u, + 142u, 179u, 217u, 71u, + 102u, 35u, 255u, 128u, + 22u, 168u, 50u, 183u, + 102u, 185u, 199u, 16u, + 40u, 179u, 178u, 137u, + 1u, 163u, 122u, 98u, + 81u, 102u, 96u, 176u, + 120u, 163u, 0u, 79u, + 54u, 123u, 89u, 136u, + 86u, 89u, 151u, 30u, + 147u, 162u, 187u, 126u, + 126u, 197u, 37u, 112u, + 124u, 12u, 195u, 249u, + 192u, 197u, 58u, 255u, + 92u, 139u, 120u, 174u, + 1u, 151u, 140u, 83u, + 86u, 151u, 124u, 177u, + 90u, 189u, 165u, 119u, + 136u, 133u, 98u, 98u, + 180u, 116u, 110u, 91u, + 80u, 97u, 133u, 231u, + 89u, 1u, 142u, 198u, + 170u, 128u, 199u, 132u, + 209u, 140u, 124u, 101u, + 255u, 125u, 109u, 186u, + 90u, 83u, 127u, 172u, + 133u, 160u, 166u, 1u, + 115u, 115u, 60u, 47u, + 153u, 139u, 160u, 7u, + 89u, 171u, 112u, 121u, + 155u, 203u, 212u, 9u, + 120u, 29u, 222u, 98u, + 161u, 87u, 114u, 1u, + 70u, 166u, 166u, 104u, + 82u, 122u, 200u, 119u, + 155u, 90u, 128u, 234u, + 151u, 175u, 99u, 46u, + 211u, 69u, 255u, 163u, + 0u, 162u, 134u, 63u, + 136u, 39u, 168u, 113u, + 156u, 103u, 133u, 132u, + 100u, 109u, 127u, 229u, + 141u, 109u, 133u, 222u, + 82u, 172u, 140u, 80u, + 255u, 234u, 160u, 79u, + 159u, 47u, 254u, 144u, + 102u, 165u, 107u, 64u, + 133u, 198u, 147u, 165u, + 137u, 165u, 159u, 142u, + 105u, 193u, 1u, 108u, + 218u, 102u, 175u, 94u, + 181u, 205u, 65u, 88u, + 167u, 176u, 89u, 69u, + 1u, 102u, 109u, 195u, + 134u, 61u, 118u, 126u, + 154u, 73u, 73u, 128u, + 129u, 139u, 69u, 104u, + 204u, 255u, 211u, 118u, + 92u, 186u, 182u, 31u, + 79u, 86u, 9u, 132u, + 193u, 125u, 175u, 85u, + 55u, 202u, 1u, 130u, + 87u, 62u, 160u, 255u, + 197u, 197u, 239u, 117u, + 71u, 70u, 169u, 162u, + 200u, 168u, 12u, 114u, + 105u, 94u, 139u, 61u, + 81u, 117u, 137u, 1u, + 127u, 129u, 155u, 95u, + 144u, 183u, 121u, 89u, + 185u, 17u, 208u, 0u, + 162u, 74u, 206u, 89u, + 96u, 205u, 116u, 173u, + 123u, 78u, 107u, 151u, + 213u, 241u, 255u, 58u, + 49u, 221u, 201u, 146u, + 195u, 44u, 179u, 207u, + 106u, 145u, 146u, 162u, + 86u, 121u, 168u, 185u, + 140u, 102u, 142u, 116u, + 10u, 146u, 126u, 90u, + 94u, 54u, 43u, 1u, + 166u, 169u, 138u, 216u, + 47u, 131u, 82u, 68u, + 0u, 11u, 217u, 214u, + 87u, 109u, 237u, 231u, + 1u, 36u, 11u, 236u, + 77u, 68u, 122u, 191u, + 109u, 126u, 165u, 134u, + 226u, 165u, 85u, 121u, + 136u, 157u, 110u, 136u, + 167u, 149u, 62u, 161u, + 176u, 255u, 105u, 61u, + 100u, 221u, 151u, 129u, + 233u, 33u, 105u, 206u, + 165u, 75u, 0u, 115u, + 156u, 113u, 151u, 133u, + 216u, 115u, 189u, 29u, + 23u, 70u, 92u, 55u, + 54u, 1u, 116u, 183u, + 78u, 226u, 70u, 88u, + 148u, 169u, 133u, 69u, + 196u, 169u, 140u, 99u, + 57u, 58u, 111u, 67u, + 103u, 136u, 165u, 6u, + 181u, 187u, 1u, 184u, + 214u, 71u, 105u, 107u, + 0u, 184u, 192u, 124u, + 55u, 73u, 175u, 127u, + 51u, 93u, 193u, 129u, + 95u, 246u, 40u, 85u, + 151u, 152u, 104u, 160u, + 149u, 67u, 119u, 87u, + 110u, 30u, 158u, 255u, + 81u, 57u, 87u, 201u, + 56u, 135u, 131u, 48u, + 159u, 51u, 79u, 80u, + 124u, 213u, 1u, 65u, + 141u, 229u, 105u, 245u, + 157u, 234u, 232u, 53u, + 255u, 135u, 70u, 197u, + 69u, 215u, 141u, 149u, + 146u, 250u, 195u, 63u, + 204u, 90u, 238u, 194u, + 90u, 51u, 255u, 60u, + 253u, 147u, 74u, 150u, + 117u, 183u, 110u, 131u, + 64u, 184u, 125u, 84u, + 204u, 169u, 116u, 96u, + 83u, 108u, 255u, 203u, + 117u, 178u, 95u, 112u, + 131u, 238u, 174u, 107u, + 255u, 166u, 195u, 170u, + 108u, 97u, 152u, 140u, + 161u, 138u, 111u, 140u, + 111u, 131u, 148u, 132u, + 112u, 173u, 116u, 131u, + 129u, 123u, 255u, 95u, + 0u, 129u, 227u, 133u, + 102u, 112u, 218u, 65u, + 49u, 176u, 161u, 115u, + 94u, 93u, 26u, 139u, + 79u, 119u, 125u, 145u, + 225u, 63u, 179u, 102u, + 15u, 122u, 167u, 72u, + 192u, 1u, 160u, 94u, + 164u, 159u, 130u, 224u, + 112u, 13u, 255u, 142u, + 137u, 37u, 46u, 130u, + 92u, 185u, 156u, 174u, + 222u, 155u, 134u, 136u, + 181u, 231u, 211u, 195u, + 150u, 78u, 147u, 255u, + 157u, 100u, 211u, 114u, + 110u, 9u, 0u, 105u, + 230u, 155u, 78u, 197u, + 157u, 56u, 195u, 132u, + 142u, 44u, 172u, 166u, + 85u, 36u, 158u, 151u, + 103u, 77u, 151u, 108u, + 154u, 153u, 109u, 101u, + 176u, 191u, 0u, 20u, + 220u, 175u, 185u, 10u, + 255u, 143u, 167u, 241u, + 24u, 151u, 61u, 248u, + 110u, 120u, 139u, 30u, + 169u, 227u, 191u, 140u, + 203u, 87u, 187u, 189u, + 30u, 255u, 84u, 42u, + 95u, 173u, 132u, 216u, + 195u, 159u, 193u, 255u, + 162u, 125u, 20u, 130u, + 136u, 82u, 186u, 207u, + 160u, 125u, 116u, 111u, + 117u, 228u, 108u, 1u, + 43u, 139u, 75u, 113u, + 238u, 125u, 3u, 140u, + 61u, 46u, 6u, 109u, + 193u, 78u, 78u, 100u, + 145u, 108u, 205u, 176u, + 72u, 99u, 55u, 104u, + 185u, 117u, 0u, 66u, + 147u, 149u, 41u, 190u, + 144u, 123u, 202u, 181u, + 57u, 154u, 74u, 63u, + 126u, 67u, 242u, 255u, + 111u, 175u, 155u, 56u, + 206u, 134u, 158u, 246u, + 83u, 34u, 197u, 89u, + 96u, 89u, 1u, 119u, + 132u, 181u, 0u, 83u, + 110u, 188u, 128u, 157u, + 112u, 203u, 64u, 173u, + 113u, 159u, 159u, 92u, + 139u, 247u, 71u, 210u, + 127u, 159u, 153u, 0u, + 193u, 132u, 188u, 19u, + 161u, 114u, 142u, 193u, + 255u, 173u, 176u, 141u, + 157u, 138u, 99u, 121u, + 160u, 140u, 126u, 144u, + 120u, 93u, 100u, 114u, + 125u, 156u, 28u, 115u, + 31u, 149u, 175u, 59u, + 208u, 109u, 105u, 125u, + 24u, 78u, 143u, 255u, + 202u, 134u, 65u, 40u, + 91u, 145u, 146u, 180u, + 92u, 154u, 246u, 207u, + 174u, 128u, 162u, 255u, + 155u, 19u, 85u, 90u, + 143u, 27u, 158u, 129u, + 98u, 210u, 128u, 56u, + 208u, 150u, 85u, 1u, + 179u, 197u, 246u, 190u, + 138u, 62u, 222u, 32u, + 74u, 92u, 52u, 219u, + 165u, 194u, 255u, 112u, + 91u, 160u, 52u, 66u, + 110u, 215u, 66u, 64u, + 173u, 108u, 159u, 164u, + 126u, 139u, 255u, 111u, + 207u, 125u, 191u, 222u, + 102u, 235u, 159u, 53u, + 71u, 23u, 135u, 1u, + 93u, 94u, 113u, 149u, + 0u, 241u, 91u, 221u, + 138u, 74u, 241u, 95u, + 114u, 197u, 112u, 111u, + 150u, 51u, 163u, 219u, + 108u, 27u, 189u, 99u, + 30u, 108u, 37u, 121u, + 122u, 160u, 148u, 190u, + 162u, 141u, 0u, 115u, + 157u, 65u, 165u, 166u, + 88u, 125u, 126u, 115u, + 82u, 30u, 135u, 61u, + 255u, 201u, 178u, 208u, + 200u, 103u, 175u, 135u, + 116u, 188u, 80u, 99u, + 87u, 239u, 151u, 112u, + 235u, 53u, 162u, 1u, + 140u, 107u, 173u, 148u, + 202u, 194u, 56u, 136u, + 1u, 122u, 125u, 128u, + 24u, 197u, 94u, 91u, + 121u, 94u, 194u, 41u, + 105u, 192u, 1u, 103u, + 221u, 88u, 171u, 146u, + 87u, 93u, 89u, 229u, + 108u, 168u, 175u, 189u, + 255u, 106u, 144u, 179u, + 39u, 106u, 134u, 202u, + 100u, 133u, 38u, 36u, + 101u, 98u, 3u, 101u, + 116u, 112u, 145u, 133u, + 102u, 82u, 158u, 120u, + 249u, 178u, 55u, 1u, + 202u, 187u, 174u, 119u, + 91u, 87u, 93u, 111u, + 195u, 119u, 161u, 143u, + 184u, 1u, 113u, 200u, + 173u, 212u, 192u, 108u, + 243u, 209u, 130u, 255u, + 132u, 34u, 207u, 173u, + 48u, 78u, 98u, 26u, + 162u, 99u, 142u, 159u, + 168u, 127u, 0u, 159u, + 125u, 156u, 120u, 144u, + 151u, 16u, 159u, 143u, + 135u, 143u, 75u, 87u, + 148u, 101u, 228u, 232u, + 132u, 147u, 208u, 66u, + 1u, 100u, 189u, 192u, + 57u, 204u, 149u, 167u, + 170u, 69u, 196u, 235u, + 255u, 211u, 211u, 190u, + 178u, 84u, 50u, 223u, + 141u, 1u, 99u, 189u, + 21u, 41u, 79u, 89u, + 109u, 17u, 185u, 242u, + 221u, 120u, 115u, 97u, + 107u, 100u, 1u, 91u, + 109u, 155u, 156u, 105u, + 89u, 86u, 151u, 166u, + 86u, 93u, 141u, 197u, + 144u, 28u, 126u, 192u, + 74u, 74u, 104u, 113u, + 155u, 106u, 54u, 77u, + 1u, 52u, 226u, 187u, + 136u, 153u, 170u, 222u, + 84u, 153u, 85u, 117u, + 161u, 144u, 147u, 94u, + 187u, 125u, 255u, 104u, + 112u, 134u, 41u, 72u, + 155u, 119u, 128u, 125u, + 186u, 93u, 151u, 255u, + 84u, 119u, 192u, 206u, + 29u, 94u, 82u, 202u, + 121u, 255u, 187u, 164u, + 145u, 242u, 174u, 41u, + 233u, 247u, 146u, 205u, + 154u, 193u, 133u, 149u, + 153u, 231u, 118u, 241u, + 255u, 108u, 22u, 124u, + 14u, 140u, 11u, 102u, + 103u, 81u, 170u, 233u, + 102u, 113u, 171u, 75u, + 133u, 57u, 180u, 132u, + 98u, 255u, 183u, 116u, + 33u, 131u, 63u, 96u, + 123u, 176u, 82u, 255u, + 97u, 73u, 139u, 144u, + 98u, 255u, 32u, 200u, + 162u, 87u, 83u, 255u, + 87u, 88u, 81u, 189u, + 55u, 113u, 137u, 132u, + 218u, 97u, 153u, 177u, + 184u, 167u, 108u, 255u, + 135u, 158u, 164u, 147u, + 207u, 197u, 140u, 91u, + 48u, 134u, 160u, 200u, + 109u, 82u, 45u, 255u, + 134u, 245u, 101u, 238u, + 79u, 50u, 160u, 167u, + 164u, 168u, 236u, 231u, + 136u, 255u, 73u, 91u, + 105u, 78u, 185u, 58u, + 129u, 131u, 63u, 156u, + 83u, 35u, 109u, 129u, + 107u, 1u, 97u, 140u, + 144u, 148u, 22u, 140u, + 15u, 113u, 225u, 133u, + 119u, 139u, 32u, 153u, + 63u, 140u, 167u, 117u, + 122u, 91u, 159u, 146u, + 255u, 161u, 43u, 144u, + 71u, 63u, 161u, 127u, + 114u, 122u, 89u, 111u, + 141u, 152u, 237u, 174u, + 48u, 255u, 129u, 136u, + 73u, 137u, 125u, 150u, + 173u, 194u, 255u, 207u, + 140u, 137u, 100u, 155u, + 89u, 105u, 181u, 176u, + 121u, 151u, 104u, 88u, + 11u, 154u, 31u, 255u, + 50u, 138u, 84u, 155u, + 138u, 63u, 82u, 192u, + 74u, 42u, 116u, 83u, + 36u, 219u, 76u, 136u, + 203u, 116u, 247u, 121u, + 132u, 218u, 130u, 167u, + 90u, 203u, 1u, 199u, + 250u, 118u, 138u, 45u, + 232u, 82u, 39u, 255u, + 255u, 197u, 151u, 11u, + 117u, 14u, 83u, 209u, + 143u, 151u, 110u, 99u, + 39u, 131u, 119u, 142u, + 206u, 123u, 68u, 77u, + 1u, 41u, 175u, 178u, + 1u, 134u, 56u, 185u, + 127u, 113u, 140u, 148u, + 114u, 212u, 153u, 134u, + 53u, 68u, 228u, 180u, + 84u, 94u, 1u, 176u, + 38u, 190u, 32u, 180u, + 124u, 82u, 132u, 175u, + 199u, 139u, 3u, 63u, + 83u, 43u, 102u, 115u, + 49u, 60u, 255u, 10u, + 5u, 146u, 248u, 65u, + 200u, 179u, 82u, 33u, + 93u, 113u, 146u, 156u, + 122u, 78u, 1u, 167u, + 25u, 72u, 117u, 210u, + 155u, 166u, 127u, 167u, + 203u, 125u, 52u, 1u, + 107u, 245u, 88u, 174u, + 47u, 28u, 95u, 82u, + 36u, 150u, 103u, 240u, + 110u, 124u, 128u, 170u, + 255u, 153u, 131u, 154u, + 139u, 96u, 59u, 108u, + 62u, 135u, 87u, 120u, + 56u, 154u, 136u, 28u, + 119u, 141u, 209u, 88u, + 202u, 87u, 47u, 167u, + 1u, 113u, 234u, 62u, + 98u, 72u, 130u, 47u, + 92u, 98u, 63u, 148u, + 1u, 125u, 39u, 93u, + 225u, 30u, 114u, 7u, + 46u, 76u, 91u, 99u, + 147u, 58u, 208u, 1u, + 161u, 146u, 144u, 98u, + 121u, 75u, 78u, 101u, + 39u, 203u, 169u, 123u, + 156u, 185u, 151u, 179u, + 1u, 61u, 238u, 155u, + 76u, 109u, 37u, 63u, + 97u, 1u, 166u, 149u, + 92u, 173u, 66u, 46u, + 85u, 199u, 156u, 134u, + 167u, 159u, 75u, 3u, + 215u, 1u, 140u, 222u, + 112u, 2u, 137u, 35u, + 125u, 208u, 85u, 220u, + 242u, 235u, 125u, 83u, + 155u, 235u, 255u, 41u, + 88u, 232u, 71u, 119u, + 128u, 102u, 126u, 114u, + 102u, 76u, 155u, 115u, + 113u, 89u, 162u, 160u, + 114u, 148u, 255u, 112u, + 95u, 119u, 79u, 93u, + 1u, 225u, 167u, 228u, + 93u, 97u, 177u, 108u, + 231u, 92u, 71u, 188u, + 253u, 151u, 195u, 1u, + 158u, 213u, 157u, 90u, + 96u, 92u, 0u, 138u, + 113u, 252u, 56u, 104u, + 104u, 101u, 131u, 142u, + 26u, 81u, 129u, 34u, + 212u, 123u, 209u, 145u, + 149u, 125u, 172u, 174u, + 97u, 149u, 215u, 73u, + 176u, 198u, 1u, 173u, + 210u, 190u, 248u, 1u, + 149u, 136u, 126u, 85u, + 125u, 117u, 117u, 190u, + 157u, 244u, 86u, 147u, + 127u, 255u, 77u, 151u, + 80u, 169u, 163u, 151u, + 162u, 245u, 145u, 90u, + 130u, 249u, 202u, 0u, + 87u, 169u, 195u, 252u, + 40u, 86u, 112u, 122u, + 108u, 255u, 254u, 147u, + 254u, 49u, 160u, 90u, + 50u, 221u, 218u, 127u, + 51u, 137u, 63u, 133u, + 74u, 175u, 127u, 183u, + 83u, 243u, 0u, 161u, + 148u, 150u, 143u, 134u, + 235u, 121u, 62u, 42u, + 127u, 173u, 255u, 77u, + 59u, 63u, 61u, 150u, + 81u, 203u, 177u, 213u, + 198u, 112u, 242u, 185u, + 90u, 255u, 212u, 108u, + 152u, 151u, 151u, 160u, + 62u, 119u, 225u, 10u, + 76u, 70u, 94u, 1u, + 128u, 183u, 197u, 202u, + 152u, 174u, 61u, 133u, + 255u, 160u, 213u, 164u, + 122u, 116u, 104u, 124u, + 74u, 72u, 43u, 112u, + 138u, 134u, 39u, 80u, + 165u, 117u, 0u, 143u, + 198u, 74u, 127u, 44u, + 197u, 234u, 104u, 126u, + 90u, 214u, 176u, 47u, + 160u, 97u, 173u, 255u, + 23u, 102u, 97u, 67u, + 41u, 129u, 169u, 174u, + 208u, 136u, 63u, 145u, + 32u, 107u, 34u, 192u, + 196u, 153u, 10u, 1u, + 51u, 231u, 161u, 126u, + 193u, 255u, 112u, 166u, + 1u, 1u, 123u, 107u, + 86u, 75u, 27u, 52u, + 130u, 134u, 151u, 118u, + 218u, 28u, 86u, 130u, + 255u, 70u, 117u, 130u, + 162u, 177u, 111u, 130u, + 147u, 117u, 161u, 213u, + 118u, 251u, 179u, 123u, + 107u, 255u, 78u, 91u, + 158u, 112u, 167u, 90u, + 34u, 82u, 30u, 204u, + 76u, 131u, 110u, 130u, + 87u, 168u, 208u, 191u, + 169u, 7u, 209u, 63u, + 89u, 150u, 255u, 79u, + 78u, 123u, 110u, 136u, + 99u, 191u, 41u, 181u, + 0u, 222u, 40u, 172u, + 114u, 121u, 93u, 138u, + 46u, 116u, 158u, 165u, + 139u, 153u, 123u, 40u, + 190u, 197u, 61u, 190u, + 133u, 198u, 141u, 103u, + 98u, 123u, 167u, 0u, + 53u, 141u, 121u, 183u, + 209u, 187u, 145u, 101u, + 193u, 255u, 149u, 62u, + 113u, 177u, 136u, 15u, + 171u, 128u, 196u, 139u, + 121u, 179u, 255u, 132u, + 38u, 193u, 146u, 113u, + 133u, 147u, 113u, 169u, + 172u, 185u, 124u, 143u, + 68u, 103u, 255u, 161u, + 81u, 144u, 199u, 85u, + 110u, 154u, 59u, 183u, + 114u, 59u, 100u, 175u, + 130u, 123u, 1u, 181u, + 64u, 31u, 174u, 98u, + 131u, 166u, 42u, 232u, + 135u, 178u, 159u, 184u, + 87u, 149u, 160u, 176u, + 47u, 203u, 38u, 123u, + 79u, 0u, 138u, 99u, + 133u, 110u, 85u, 99u, + 22u, 163u, 148u, 77u, + 255u, 157u, 34u, 138u, + 47u, 105u, 116u, 229u, + 14u, 115u, 44u, 80u, + 117u, 109u, 48u, 212u, + 69u, 146u, 117u, 1u, + 243u, 207u, 39u, 244u, + 122u, 104u, 69u, 1u, + 81u, 128u, 220u, 94u, + 145u, 148u, 106u, 107u, + 188u, 222u, 151u, 35u, + 70u, 161u, 117u, 1u, + 216u, 219u, 150u, 4u, + 226u, 87u, 146u, 111u, + 187u, 119u, 209u, 41u, + 233u, 128u, 151u, 136u, + 82u, 78u, 150u, 53u, + 100u, 130u, 90u, 155u, + 153u, 141u, 126u, 255u, + 86u, 109u, 98u, 99u, + 155u, 230u, 117u, 149u, + 82u, 0u, 109u, 136u, + 77u, 115u, 121u, 56u, + 69u, 154u, 251u, 137u, + 166u, 255u, 41u, 74u, + 160u, 92u, 71u, 186u, + 114u, 32u, 233u, 110u, + 131u, 66u, 121u, 156u, + 94u, 111u, 161u, 131u, + 167u, 209u, 0u, 112u, + 19u, 158u, 91u, 88u, + 175u, 57u, 170u, 119u, + 217u, 1u, 134u, 106u, + 50u, 97u, 234u, 67u, + 250u, 7u, 97u, 144u, + 89u, 133u, 163u, 112u, + 210u, 53u, 47u, 161u, + 160u, 84u, 75u, 1u, + 150u, 200u, 63u, 50u, + 138u, 120u, 80u, 232u, + 1u, 116u, 24u, 108u, + 152u, 128u, 202u, 7u, + 90u, 91u, 160u, 178u, + 164u, 186u, 186u, 94u, + 134u, 118u, 189u, 119u, + 255u, 146u, 97u, 106u, + 134u, 82u, 133u, 169u, + 129u, 128u, 45u, 55u, + 143u, 165u, 255u, 192u, + 69u, 124u, 25u, 147u, + 187u, 213u, 112u, 115u, + 163u, 161u, 102u, 208u, + 92u, 230u, 86u, 178u, + 110u, 158u, 129u, 127u, + 1u, 157u, 127u, 137u, + 81u, 255u, 23u, 151u, + 44u, 175u, 79u, 52u, + 229u, 175u, 98u, 87u, + 130u, 143u, 218u, 176u, + 147u, 155u, 181u, 195u, + 135u, 87u, 187u, 88u, + 71u, 255u, 164u, 133u, + 162u, 39u, 208u, 67u, + 178u, 33u, 197u, 133u, + 255u, 52u, 211u, 17u, + 125u, 54u, 20u, 188u, + 122u, 235u, 179u, 101u, + 193u, 163u, 255u, 57u, + 219u, 209u, 85u, 150u, + 251u, 96u, 131u, 193u, + 52u, 15u, 19u, 133u, + 141u, 193u, 255u, 89u, + 102u, 199u, 173u, 207u, + 193u, 235u, 38u, 213u, + 224u, 190u, 206u, 110u, + 188u, 107u, 141u, 134u, + 138u, 107u, 111u, 134u, + 54u, 60u, 111u, 6u, + 255u, 185u, 96u, 91u, + 159u, 134u, 104u, 161u, + 135u, 221u, 114u, 148u, + 126u, 194u, 255u, 180u, + 207u, 138u, 117u, 233u, + 93u, 170u, 112u, 132u, + 85u, 118u, 71u, 1u, + 100u, 136u, 80u, 86u, + 150u, 82u, 106u, 123u, + 29u, 182u, 49u, 181u, + 176u, 146u, 181u, 6u, + 160u, 255u, 185u, 148u, + 185u, 230u, 174u, 78u, + 115u, 144u, 98u, 95u, + 161u, 255u, 170u, 85u, + 126u, 145u, 34u, 190u, + 28u, 247u, 133u, 86u, + 150u, 83u, 255u, 90u, + 163u, 105u, 212u, 77u, + 156u, 133u, 81u, 143u, + 85u, 161u, 180u, 189u, + 114u, 212u, 72u, 165u, + 110u, 250u, 161u, 193u, + 79u, 39u, 9u, 255u, + 42u, 222u, 150u, 129u, + 60u, 167u, 143u, 60u, + 168u, 134u, 138u, 157u, + 178u, 173u, 201u, 95u, + 1u, 164u, 74u, 140u, + 47u, 27u, 47u, 159u, + 168u, 131u, 78u, 171u, + 103u, 50u, 255u, 99u, + 124u, 115u, 90u, 21u, + 185u, 145u, 139u, 133u, + 145u, 221u, 89u, 108u, + 126u, 195u, 1u, 32u, + 204u, 129u, 37u, 132u, + 1u, 129u, 70u, 160u, + 206u, 115u, 173u, 213u, + 125u, 64u, 159u, 90u, + 128u, 121u, 140u, 85u, + 130u, 119u, 238u, 243u, + 117u, 132u, 152u, 162u, + 130u, 240u, 214u, 255u, + 13u, 129u, 194u, 119u, + 69u, 169u, 129u, 85u, + 99u, 14u, 176u, 74u, + 128u, 177u, 255u, 175u, + 123u, 19u, 115u, 149u, + 82u, 136u, 179u, 53u, + 152u, 158u, 163u, 1u, + 88u, 166u, 115u, 143u, + 218u, 59u, 163u, 151u, + 153u, 140u, 144u, 183u, + 108u, 1u, 144u, 141u, + 175u, 114u, 91u, 157u, + 86u, 38u, 248u, 141u, + 123u, 125u, 146u, 1u, + 160u, 84u, 156u, 123u, + 158u, 206u, 134u, 152u, + 144u, 104u, 115u, 101u, + 137u, 71u, 131u, 172u, + 157u, 97u, 23u, 35u, + 131u, 81u, 238u, 94u, + 170u, 1u, 230u, 72u, + 106u, 131u, 157u, 100u, + 183u, 54u, 125u, 146u, + 1u, 100u, 121u, 117u, + 154u, 137u, 101u, 101u, + 71u, 73u, 154u, 174u, + 172u, 30u, 120u, 200u, + 41u, 1u, 255u, 183u, + 192u, 47u, 30u, 103u, + 152u, 128u, 150u, 74u, + 182u, 220u, 161u, 186u, + 93u, 139u, 148u, 125u, + 145u, 144u, 255u, 119u, + 155u, 64u, 177u, 155u, + 182u, 128u, 8u, 1u, + 19u, 190u, 59u, 40u, + 74u, 172u, 33u, 78u, + 136u, 79u, 255u, 155u, + 76u, 230u, 211u, 100u, + 93u, 130u, 101u, 89u, + 75u, 215u, 113u, 40u, + 211u, 111u, 117u, 0u, + 175u, 126u, 43u, 148u, + 176u, 168u, 131u, 181u, + 139u, 139u, 118u, 117u, + 223u, 135u, 223u, 191u, + 1u, 87u, 125u, 239u, + 147u, 98u, 157u, 137u, + 39u, 142u, 245u, 105u, + 77u, 164u, 101u, 140u, + 85u, 173u, 167u, 178u, + 36u, 0u, 134u, 246u, + 135u, 223u, 108u, 27u, + 72u, 60u, 184u, 195u, + 26u, 151u, 128u, 78u, + 108u, 144u, 144u, 197u, + 225u, 215u, 255u, 120u, + 162u, 66u, 143u, 53u, + 124u, 156u, 64u, 180u, + 72u, 215u, 173u, 114u, + 255u, 132u, 38u, 99u, + 110u, 67u, 159u, 97u, + 135u, 114u, 25u, 37u, + 107u, 235u, 255u, 105u, + 233u, 210u, 69u, 134u, + 129u, 255u, 185u, 47u, + 227u, 160u, 240u, 255u, + 167u, 100u, 128u, 115u, + 132u, 181u, 106u, 162u, + 55u, 213u, 108u, 213u, + 95u, 67u, 165u, 128u, + 133u, 39u, 138u, 101u, + 20u, 83u, 255u, 12u, + 1u, 171u, 106u, 218u, + 63u, 117u, 180u, 178u, + 152u, 7u, 127u, 85u, + 119u, 81u, 228u, 85u, + 255u, 103u, 97u, 94u, + 127u, 23u, 39u, 169u, + 122u, 86u, 100u, 86u, + 154u, 187u, 133u, 183u, + 168u, 164u, 106u, 126u, + 180u, 136u, 122u, 1u, + 103u, 135u, 113u, 76u, + 101u, 132u, 120u, 169u, + 91u, 44u, 111u, 38u, + 159u, 89u, 182u, 131u, + 255u, 247u, 110u, 220u, + 111u, 195u, 206u, 65u, + 209u, 130u, 117u, 113u, + 156u, 38u, 124u, 103u, + 148u, 255u, 120u, 115u, + 181u, 66u, 140u, 70u, + 97u, 137u, 118u, 164u, + 189u, 108u, 192u, 64u, + 148u, 255u, 89u, 135u, + 196u, 228u, 183u, 92u, + 138u, 149u, 170u, 116u, + 110u, 107u, 200u, 161u, + 172u, 46u, 164u, 106u, + 73u, 22u, 255u, 199u, + 174u, 255u, 141u, 103u, + 135u, 119u, 199u, 81u, + 158u, 113u, 99u, 167u, + 89u, 123u, 196u, 138u, + 1u, 181u, 115u, 143u, + 149u, 67u, 193u, 140u, + 123u, 133u, 160u, 170u, + 222u, 87u, 55u, 197u, + 154u, 235u, 94u, 129u, + 68u, 82u, 147u, 64u, + 60u, 53u, 1u, 96u, + 97u, 82u, 73u, 208u, + 1u, 197u, 150u, 152u, + 92u, 159u, 103u, 92u, + 159u, 130u, 132u, 54u, + 143u, 71u, 163u, 134u, + 8u, 46u, 110u, 85u, + 163u, 136u, 107u, 119u, + 203u, 124u, 129u, 69u, + 62u, 94u, 1u, 195u, + 112u, 164u, 193u, 96u, + 28u, 180u, 174u, 80u, + 235u, 109u, 145u, 160u, + 1u, 96u, 183u, 209u, + 100u, 153u, 172u, 125u, + 51u, 166u, 73u, 1u, + 146u, 105u, 139u, 110u, + 145u, 35u, 170u, 147u, + 218u, 186u, 104u, 139u, + 36u, 145u, 0u, 98u, + 203u, 131u, 43u, 201u, + 87u, 212u, 97u, 116u, + 148u, 190u, 208u, 140u, + 100u, 220u, 69u, 165u, + 104u, 104u, 49u, 156u, + 1u, 207u, 106u, 148u, + 99u, 165u, 82u, 177u, + 94u, 178u, 122u, 193u, + 255u, 5u, 218u, 191u, + 26u, 5u, 97u, 208u, + 110u, 66u, 71u, 160u, + 133u, 173u, 1u, 120u, + 79u, 156u, 159u, 148u, + 100u, 68u, 110u, 125u, + 125u, 88u, 91u, 99u, + 97u, 122u, 81u, 255u, + 76u, 115u, 148u, 220u, + 60u, 114u, 187u, 121u, + 118u, 203u, 221u, 216u, + 67u, 124u, 52u, 58u, + 208u, 143u, 1u, 72u, + 111u, 56u, 248u, 155u, + 43u, 75u, 34u, 117u, + 193u, 160u, 0u, 157u, + 192u, 179u, 191u, 105u, + 131u, 48u, 50u, 25u, + 139u, 171u, 156u, 94u, + 1u, 154u, 84u, 15u, + 159u, 106u, 157u, 156u, + 148u, 107u, 172u, 111u, + 59u, 107u, 62u, 161u, + 161u, 86u, 181u, 152u, + 130u, 147u, 128u, 0u, + 188u, 124u, 50u, 121u, + 50u, 129u, 157u, 118u, + 133u, 97u, 166u, 3u, + 176u, 82u, 118u, 255u, + 118u, 170u, 109u, 181u, + 188u, 255u, 181u, 83u, + 73u, 249u, 203u, 157u, + 50u, 205u, 85u, 113u, + 126u, 226u, 187u, 253u, + 112u, 131u, 158u, 78u, + 11u, 145u, 126u, 94u, + 101u, 48u, 179u, 158u, + 1u, 182u, 93u, 181u, + 112u, 175u, 171u, 160u, + 0u, 139u, 44u, 93u, + 127u, 201u, 162u, 121u, + 95u, 78u, 127u, 157u, + 122u, 69u, 252u, 255u, + 81u, 130u, 181u, 63u, + 150u, 44u, 241u, 75u, + 125u, 163u, 100u, 115u, + 62u, 76u, 52u, 166u, + 149u, 35u, 212u, 207u, + 94u, 132u, 145u, 73u, + 176u, 112u, 1u, 105u, + 115u, 183u, 197u, 106u, + 121u, 84u, 76u, 61u, + 93u, 195u, 255u, 149u, + 175u, 143u, 50u, 112u, + 166u, 43u, 136u, 208u, + 132u, 108u, 94u, 195u, + 65u, 140u, 198u, 158u, + 95u, 194u, 255u, 109u, + 115u, 228u, 157u, 33u, + 125u, 150u, 229u, 31u, + 51u, 67u, 105u, 255u, + 108u, 120u, 32u, 215u, + 1u, 106u, 101u, 131u, + 142u, 132u, 110u, 100u, + 143u, 171u, 179u, 104u, + 89u, 169u, 129u, 131u, + 92u, 44u, 1u, 97u, + 51u, 185u, 115u, 167u, + 119u, 125u, 70u, 130u, + 45u, 98u, 174u, 227u, + 115u, 76u, 110u, 130u, + 85u, 77u, 103u, 156u, + 110u, 143u, 1u, 231u, + 189u, 214u, 177u, 99u, + 104u, 210u, 104u, 130u, + 186u, 218u, 195u, 108u, + 170u, 152u, 0u, 78u, + 34u, 145u, 145u, 174u, + 255u, 129u, 207u, 8u, + 64u, 244u, 130u, 117u, + 227u, 139u, 175u, 190u, + 72u, 193u, 252u, 164u, + 161u, 239u, 1u, 254u, + 160u, 140u, 161u, 154u, + 156u, 167u, 148u, 156u, + 200u, 210u, 57u, 82u, + 135u, 255u, 81u, 107u, + 206u, 137u, 118u, 86u, + 99u, 77u, 80u, 124u, + 114u, 68u, 34u, 188u, + 159u, 38u, 25u, 84u, + 235u, 255u, 67u, 119u, + 218u, 67u, 37u, 22u, + 107u, 154u, 47u, 148u, + 213u, 178u, 98u, 252u, + 169u, 191u, 1u, 203u, + 89u, 69u, 209u, 169u, + 122u, 60u, 59u, 227u, + 102u, 34u, 168u, 211u, + 47u, 121u, 125u, 0u, + 83u, 54u, 201u, 162u, + 102u, 205u, 135u, 34u, + 167u, 184u, 103u, 171u, + 132u, 1u, 128u, 112u, + 104u, 95u, 157u, 130u, + 108u, 177u, 190u, 115u, + 237u, 108u, 235u, 193u, + 98u, 149u, 120u, 114u, + 162u, 55u, 255u, 184u, + 66u, 49u, 146u, 95u, + 135u, 118u, 170u, 16u, + 1u, 74u, 65u, 110u, + 28u, 39u, 66u, 85u, + 160u, 52u, 109u, 54u, + 132u, 152u, 92u, 139u, + 255u, 109u, 98u, 121u, + 146u, 253u, 192u, 96u, + 52u, 128u, 93u, 57u, + 178u, 181u, 128u, 163u, + 221u, 191u, 154u, 1u, + 199u, 170u, 44u, 174u, + 35u, 115u, 104u, 89u, + 157u, 67u, 15u, 183u, + 90u, 104u, 74u, 255u, + 3u, 162u, 91u, 69u, + 218u, 231u, 124u, 87u, + 29u, 158u, 79u, 214u, + 61u, 111u, 122u, 104u, + 255u, 182u, 65u, 246u, + 159u, 176u, 181u, 144u, + 92u, 107u, 125u, 190u, + 141u, 132u, 1u, 166u, + 126u, 62u, 63u, 122u, + 159u, 169u, 176u, 20u, + 255u, 181u, 235u, 105u, + 156u, 130u, 165u, 188u, + 143u, 189u, 109u, 124u, + 186u, 117u, 137u, 151u, + 159u, 192u, 168u, 125u, + 167u, 62u, 72u, 118u, + 188u, 189u, 93u, 160u, + 130u, 40u, 179u, 255u, + 116u, 198u, 250u, 59u, + 84u, 206u, 63u, 114u, + 26u, 167u, 76u, 203u, + 72u, 226u, 0u, 151u, + 251u, 157u, 255u, 178u, + 155u, 96u, 57u, 201u, + 75u, 164u, 197u, 172u, + 177u, 151u, 60u, 133u, + 253u, 203u, 255u, 170u, + 54u, 5u, 119u, 161u, + 127u, 114u, 105u, 184u, + 155u, 64u, 241u, 184u, + 64u, 155u, 53u, 34u, + 112u, 162u, 167u, 9u, + 84u, 181u, 140u, 82u, + 98u, 179u, 84u, 255u, + 131u, 131u, 133u, 140u, + 108u, 99u, 142u, 101u, + 174u, 112u, 140u, 109u, + 121u, 129u, 149u, 255u, + 125u, 78u, 32u, 121u, + 158u, 97u, 95u, 169u, + 200u, 144u, 101u, 17u, + 26u, 255u, 155u, 197u, + 14u, 1u, 120u, 182u, + 123u, 59u, 159u, 62u, + 212u, 246u, 15u, 138u, + 244u, 61u, 121u, 79u, + 85u, 201u, 26u, 241u, + 176u, 84u, 193u, 148u, + 43u, 35u, 178u, 157u, + 255u, 202u, 158u, 93u, + 112u, 201u, 123u, 86u, + 107u, 21u, 116u, 76u, + 0u, 183u, 145u, 43u, + 187u, 94u, 162u, 162u, + 110u, 173u, 113u, 102u, + 115u, 195u, 243u, 211u, + 126u, 81u, 142u, 169u, + 159u, 150u, 1u, 152u, + 147u, 205u, 150u, 94u, + 187u, 135u, 64u, 200u, + 1u, 112u, 110u, 90u, + 81u, 119u, 4u, 233u, + 135u, 57u, 144u, 214u, + 109u, 124u, 255u, 234u, + 196u, 131u, 76u, 118u, + 124u, 200u, 116u, 68u, + 164u, 97u, 184u, 241u, + 136u, 113u, 104u, 188u, + 141u, 123u, 168u, 109u, + 192u, 1u, 89u, 78u, + 0u, 111u, 3u, 112u, + 18u, 73u, 181u, 59u, + 171u, 71u, 96u, 101u, + 79u, 103u, 106u, 185u, + 55u, 119u, 195u, 100u, + 243u, 150u, 84u, 111u, + 34u, 88u, 124u, 112u, + 134u, 86u, 0u, 63u, + 228u, 72u, 215u, 36u, + 147u, 140u, 141u, 115u, + 98u, 189u, 115u, 78u, + 103u, 149u, 183u, 1u, + 153u, 58u, 177u, 160u, + 89u, 0u, 213u, 39u, + 93u, 192u, 161u, 156u, + 247u, 169u, 95u, 66u, + 75u, 156u, 227u, 189u, + 255u, 22u, 251u, 16u, + 83u, 166u, 177u, 32u, + 216u, 51u, 126u, 96u, + 163u, 91u, 130u, 1u, + 131u, 54u, 128u, 148u, + 181u, 255u, 186u, 99u, + 221u, 23u, 13u, 156u, + 157u, 41u, 168u, 255u, + 94u, 182u, 119u, 35u, + 127u, 26u, 134u, 120u, + 68u, 11u, 80u, 164u, + 181u, 1u, 203u, 66u, + 86u, 126u, 187u, 64u, + 83u, 128u, 120u, 73u, + 81u, 205u, 225u, 180u, + 119u, 1u, 142u, 207u, + 151u, 93u, 154u, 151u, + 79u, 200u, 141u, 153u, + 146u, 183u, 140u, 32u, + 199u, 79u, 158u, 241u, + 95u, 120u, 143u, 93u, + 86u, 64u, 146u, 5u, + 255u, 90u, 197u, 170u, + 108u, 107u, 107u, 212u, + 46u, 171u, 90u, 106u, + 166u, 112u, 122u, 84u, + 101u, 46u, 255u, 124u, + 131u, 128u, 157u, 210u, + 24u, 160u, 33u, 255u, + 94u, 38u, 217u, 83u, + 51u, 34u, 116u, 150u, + 103u, 225u, 104u, 126u, + 117u, 173u, 163u, 166u, + 62u, 104u, 179u, 217u, + 129u, 104u, 255u, 155u, + 143u, 126u, 179u, 163u, + 186u, 202u, 144u, 110u, + 130u, 255u, 157u, 95u, + 132u, 144u, 121u, 47u, + 172u, 191u, 33u, 225u, + 136u, 117u, 255u, 180u, + 64u, 209u, 132u, 182u, + 176u, 131u, 129u, 119u, + 127u, 87u, 189u, 249u, + 98u, 58u, 91u, 223u, + 1u, 18u, 77u, 251u, + 152u, 119u, 184u, 59u, + 119u, 222u, 147u, 168u, + 106u, 204u, 144u, 251u, + 17u, 190u, 254u, 182u, + 58u, 255u, 35u, 140u, + 69u, 174u, 1u, 150u, + 84u, 180u, 27u, 145u, + 189u, 20u, 57u, 145u, + 52u, 106u, 133u, 179u, + 168u, 161u, 116u, 197u, + 210u, 255u, 223u, 218u, + 161u, 129u, 43u, 139u, + 95u, 177u, 71u, 102u, + 170u, 177u, 135u, 77u, + 135u, 148u, 133u, 121u, + 66u, 255u, 62u, 193u, + 102u, 147u, 207u, 121u, + 14u, 81u, 186u, 31u, + 4u, 129u, 99u, 30u, + 76u, 53u, 145u, 250u, + 163u, 111u, 90u, 1u, + 70u, 191u, 99u, 119u, + 239u, 48u, 140u, 99u, + 49u, 88u, 103u, 181u, + 242u, 255u, 98u, 5u, + 128u, 123u, 83u, 135u, + 157u, 159u, 1u, 141u, + 108u, 116u, 117u, 66u, + 214u, 234u, 106u, 209u, + 101u, 154u, 115u, 113u, + 91u, 164u, 107u, 81u, + 113u, 137u, 190u, 131u, + 66u, 90u, 73u, 255u, + 168u, 176u, 149u, 255u, + 10u, 167u, 139u, 144u, + 139u, 71u, 183u, 212u, + 70u, 186u, 94u, 121u, + 24u, 1u, 101u, 225u, + 101u, 69u, 169u, 134u, + 255u, 146u, 206u, 74u, + 91u, 55u, 80u, 205u, + 51u, 209u, 89u, 141u, + 166u, 114u, 119u, 137u, + 159u, 23u, 1u, 3u, + 51u, 156u, 134u, 184u, + 90u, 128u, 154u, 158u, + 121u, 112u, 139u, 77u, + 116u, 125u, 100u, 58u, + 255u, 127u, 67u, 154u, + 150u, 131u, 198u, 41u, + 128u, 131u, 1u, 121u, + 111u, 231u, 198u, 71u, + 216u, 212u, 165u, 172u, + 77u, 165u, 89u, 174u, + 110u, 101u, 209u, 141u, + 94u, 139u, 223u, 155u, + 78u, 124u, 1u, 159u, + 167u, 96u, 136u, 115u, + 64u, 136u, 28u, 191u, + 146u, 187u, 84u, 255u, + 239u, 129u, 166u, 141u, + 182u, 112u, 163u, 138u, + 77u, 68u, 245u, 177u, + 62u, 165u, 82u, 132u, + 48u, 255u, 158u, 43u, + 49u, 45u, 20u, 43u, + 97u, 124u, 159u, 18u, + 164u, 255u, 139u, 100u, + 131u, 197u, 102u, 217u, + 17u, 180u, 11u, 80u, + 134u, 113u, 221u, 33u, + 72u, 9u, 72u, 82u, + 208u, 209u, 65u, 1u, + 23u, 62u, 255u, 228u, + 120u, 183u, 209u, 139u, + 230u, 138u, 15u, 131u, + 185u, 222u, 16u, 140u, + 119u, 82u, 76u, 108u, + 215u, 43u, 183u, 105u, + 33u, 66u, 170u, 111u, + 165u, 84u, 0u, 193u, + 86u, 143u, 214u, 1u, + 148u, 164u, 105u, 127u, + 143u, 186u, 223u, 184u, + 97u, 75u, 192u, 213u, + 0u, 155u, 143u, 152u, + 80u, 147u, 48u, 127u, + 232u, 225u, 108u, 219u, + 152u, 174u, 126u, 87u, + 105u, 68u, 119u, 160u, + 161u, 171u, 25u, 116u, + 140u, 243u, 1u, 110u, + 20u, 153u, 49u, 176u, + 69u, 108u, 151u, 153u, + 112u, 255u, 128u, 35u, + 219u, 197u, 69u, 56u, + 137u, 49u, 113u, 112u, + 145u, 126u, 151u, 23u, + 133u, 162u, 142u, 12u, + 126u, 215u, 178u, 41u, + 1u, 75u, 102u, 116u, + 118u, 74u, 169u, 141u, + 125u, 183u, 91u, 177u, + 179u, 114u, 160u, 113u, + 142u, 128u, 1u, 83u, + 1u, 125u, 202u, 61u, + 173u, 58u, 136u, 197u, + 59u, 210u, 202u, 159u, + 117u, 189u, 162u, 212u, + 166u, 207u, 179u, 255u, + 111u, 84u, 155u, 143u, + 95u, 162u, 127u, 177u, + 115u, 156u, 174u, 106u, + 93u, 216u, 225u, 253u, + 87u, 40u, 175u, 72u, + 97u, 195u, 255u, 147u, + 160u, 142u, 133u, 195u, + 0u, 148u, 117u, 154u, + 72u, 159u, 173u, 128u, + 131u, 160u, 118u, 60u, + 47u, 195u, 41u, 213u, + 64u, 99u, 43u, 104u, + 179u, 64u, 255u, 151u, + 65u, 246u, 162u, 227u, + 108u, 65u, 120u, 92u, + 124u, 23u, 174u, 1u, + 37u, 184u, 52u, 71u, + 91u, 99u, 146u, 146u, + 76u, 89u, 119u, 66u, + 90u, 190u, 55u, 150u, + 227u, 193u, 96u, 64u, + 101u, 205u, 123u, 196u, + 38u, 11u, 50u, 1u, + 141u, 114u, 181u, 111u, + 81u, 255u, 105u, 205u, + 149u, 219u, 114u, 126u, + 122u, 129u, 64u, 120u, + 194u, 188u, 208u, 54u, + 149u, 120u, 97u, 220u, + 244u, 178u, 190u, 14u, + 103u, 1u, 15u, 121u, + 173u, 129u, 88u, 116u, + 181u, 214u, 131u, 57u, + 50u, 175u, 128u, 136u, + 138u, 1u, 83u, 109u, + 175u, 255u, 84u, 75u, + 99u, 161u, 113u, 107u, + 92u, 102u, 64u, 164u, + 71u, 82u, 119u, 235u, + 35u, 204u, 95u, 118u, + 201u, 52u, 202u, 93u, + 155u, 200u, 122u, 133u, + 249u, 57u, 1u, 201u, + 98u, 172u, 86u, 156u, + 248u, 179u, 187u, 112u, + 127u, 162u, 126u, 81u, + 255u, 95u, 100u, 56u, + 164u, 190u, 141u, 201u, + 77u, 101u, 34u, 191u, + 99u, 42u, 105u, 86u, + 116u, 219u, 255u, 94u, + 117u, 126u, 85u, 1u, + 181u, 123u, 63u, 217u, + 193u, 132u, 71u, 210u, + 141u, 126u, 169u, 45u, + 133u, 116u, 96u, 176u, + 230u, 190u, 11u, 114u, + 0u, 70u, 98u, 31u, + 112u, 111u, 85u, 124u, + 225u, 108u, 109u, 156u, + 109u, 149u, 1u, 38u, + 103u, 147u, 120u, 124u, + 54u, 178u, 43u, 130u, + 179u, 172u, 46u, 0u, + 212u, 50u, 62u, 168u, + 92u, 230u, 30u, 18u, + 157u, 15u, 205u, 50u, + 134u, 115u, 118u, 147u, + 152u, 194u, 72u, 205u, + 128u, 63u, 96u, 102u, + 84u, 86u, 87u, 1u, + 136u, 133u, 126u, 156u, + 59u, 255u, 74u, 169u, + 168u, 9u, 64u, 183u, + 215u, 116u, 238u, 82u, + 154u, 71u, 141u, 243u, + 26u, 128u, 25u, 255u, + 113u, 176u, 52u, 16u, + 131u, 190u, 47u, 203u, + 126u, 255u, 143u, 108u, + 86u, 26u, 74u, 61u, + 93u, 69u, 6u, 49u, + 129u, 169u, 248u, 184u, + 68u, 104u, 102u, 227u, + 255u, 83u, 156u, 119u, + 50u, 153u, 94u, 65u, + 147u, 163u, 86u, 191u, + 1u, 66u, 77u, 123u, + 127u, 171u, 121u, 135u, + 194u, 127u, 149u, 176u, + 98u, 195u, 147u, 43u, + 146u, 112u, 102u, 193u, + 129u, 180u, 26u, 255u, + 106u, 115u, 181u, 229u, + 158u, 203u, 139u, 24u, + 7u, 40u, 127u, 99u, + 116u, 66u, 119u, 103u, + 122u, 255u, 152u, 96u, + 196u, 144u, 147u, 133u, + 197u, 239u, 252u, 61u, + 129u, 80u, 193u, 166u, + 40u, 146u, 166u, 189u, + 1u, 161u, 74u, 27u, + 178u, 131u, 35u, 184u, + 85u, 191u, 6u, 78u, + 1u, 141u, 137u, 30u, + 89u, 228u, 143u, 142u, + 39u, 168u, 129u, 115u, + 141u, 238u, 109u, 159u, + 255u, 120u, 143u, 147u, + 137u, 133u, 79u, 62u, + 158u, 44u, 134u, 149u, + 33u, 124u, 44u, 160u, + 106u, 159u, 144u, 158u, + 150u, 255u, 122u, 155u, + 134u, 115u, 174u, 95u, + 173u, 88u, 72u, 171u, + 135u, 153u, 237u, 1u, + 138u, 60u, 206u, 194u, + 102u, 178u, 125u, 181u, + 97u, 66u, 153u, 96u, + 166u, 156u, 77u, 191u, + 110u, 255u, 240u, 181u, + 1u, 145u, 63u, 152u, + 129u, 42u, 178u, 113u, + 244u, 187u, 176u, 61u, + 232u, 118u, 38u, 233u, + 30u, 102u, 174u, 31u, + 239u, 173u, 172u, 194u, + 120u, 249u, 18u, 172u, + 34u, 255u, 86u, 59u, + 110u, 99u, 144u, 158u, + 132u, 141u, 128u, 130u, + 88u, 103u, 149u, 1u, + 195u, 222u, 159u, 48u, + 145u, 148u, 187u, 175u, + 185u, 133u, 59u, 127u, + 1u, 59u, 100u, 191u, + 69u, 177u, 51u, 127u, + 21u, 71u, 127u, 255u, + 67u, 61u, 234u, 27u, + 92u, 139u, 26u, 167u, + 184u, 154u, 94u, 112u, + 85u, 115u, 237u, 149u, + 26u, 127u, 182u, 126u, + 249u, 124u, 158u, 203u, + 63u, 255u, 88u, 201u, + 123u, 174u, 1u, 106u, + 139u, 151u, 133u, 120u, + 84u, 200u, 31u, 138u, + 170u, 102u, 14u, 53u, + 177u, 46u, 98u, 24u, + 41u, 19u, 86u, 120u, + 188u, 255u, 174u, 148u, + 214u, 92u, 71u, 56u, + 139u, 170u, 162u, 125u, + 116u, 131u, 85u, 168u, + 255u, 161u, 140u, 112u, + 86u, 41u, 82u, 199u, + 141u, 137u, 116u, 134u, + 102u, 142u, 72u, 139u, + 177u, 114u, 191u, 41u, + 1u, 52u, 103u, 107u, + 87u, 171u, 45u, 121u, + 168u, 52u, 110u, 1u, + 187u, 228u, 82u, 54u, + 107u, 22u, 57u, 166u, + 99u, 218u, 107u, 24u, + 188u, 250u, 176u, 118u, + 123u, 156u, 139u, 200u, + 1u, 163u, 83u, 161u, + 131u, 156u, 61u, 109u, + 168u, 148u, 93u, 92u, + 117u, 161u, 157u, 45u, + 61u, 1u, 161u, 188u, + 210u, 100u, 142u, 102u, + 122u, 25u, 65u, 233u, + 1u, 194u, 82u, 62u, + 151u, 149u, 207u, 92u, + 109u, 248u, 202u, 196u, + 175u, 85u, 225u, 109u, + 150u, 121u, 65u, 203u, + 38u, 124u, 1u, 142u, + 95u, 123u, 234u, 142u, + 165u, 107u, 209u, 153u, + 1u, 105u, 245u, 80u, + 242u, 185u, 107u, 208u, + 193u, 13u, 69u, 48u, + 91u, 163u, 137u, 102u, + 170u, 77u, 0u, 175u, + 39u, 74u, 99u, 116u, + 171u, 84u, 1u, 83u, + 53u, 33u, 195u, 182u, + 166u, 151u, 177u, 144u, + 98u, 244u, 29u, 109u, + 167u, 145u, 113u, 198u, + 160u, 79u, 165u, 113u, + 255u, 99u, 69u, 103u, + 138u, 39u, 149u, 131u, + 52u, 95u, 169u, 178u, + 118u, 15u, 159u, 197u, + 63u, 125u, 156u, 255u, + 188u, 138u, 164u, 97u, + 208u, 81u, 48u, 106u, + 87u, 1u, 61u, 206u, + 105u, 152u, 133u, 104u, + 29u, 221u, 132u, 223u, + 80u, 119u, 87u, 135u, + 148u, 255u, 122u, 219u, + 114u, 141u, 166u, 23u, + 64u, 147u, 47u, 153u, + 250u, 177u, 1u, 44u, + 238u, 35u, 248u, 146u, + 5u, 110u, 81u, 97u, + 56u, 247u, 72u, 23u, + 101u, 92u, 145u, 8u, + 156u, 141u, 92u, 187u, + 110u, 110u, 255u, 78u, + 127u, 31u, 52u, 74u, + 46u, 173u, 62u, 84u, + 84u, 135u, 170u, 215u, + 31u, 79u, 165u, 144u, + 119u, 1u, 7u, 111u, + 154u, 111u, 83u, 156u, + 185u, 93u, 20u, 192u, + 243u, 204u, 255u, 64u, + 37u, 92u, 43u, 85u, + 160u, 89u, 123u, 0u, + 126u, 158u, 93u, 140u, + 133u, 151u, 180u, 98u, + 46u, 112u, 213u, 193u, + 179u, 174u, 167u, 220u, + 255u, 219u, 60u, 150u, + 46u, 253u, 185u, 197u, + 51u, 158u, 208u, 58u, + 154u, 103u, 217u, 244u, + 135u, 255u, 193u, 118u, + 78u, 78u, 139u, 180u, + 68u, 203u, 165u, 100u, + 81u, 149u, 49u, 125u, + 46u, 160u, 120u, 56u, + 156u, 238u, 255u, 143u, + 71u, 60u, 151u, 62u, + 18u, 102u, 18u, 62u, + 62u, 93u, 54u, 255u, + 102u, 210u, 137u, 90u, + 109u, 162u, 191u, 69u, + 109u, 157u, 150u, 255u, + 110u, 105u, 200u, 159u, + 109u, 120u, 96u, 169u, + 81u, 148u, 136u, 219u, + 107u, 95u, 245u, 128u, + 139u, 202u, 141u, 142u, + 156u, 241u, 74u, 91u, + 45u, 136u, 255u, 105u, + 82u, 52u, 173u, 158u, + 43u, 63u, 151u, 161u, + 198u, 129u, 125u, 92u, + 255u, 139u, 159u, 120u, + 133u, 223u, 114u, 195u, + 141u, 114u, 190u, 188u, + 255u, 105u, 194u, 109u, + 163u, 255u, 249u, 83u, + 128u, 156u, 138u, 99u, + 120u, 189u, 158u, 255u, + 165u, 128u, 183u, 193u, + 38u, 122u, 127u, 132u, + 60u, 77u, 105u, 92u, + 220u, 75u, 128u, 23u, + 1u, 134u, 133u, 182u, + 82u, 222u, 144u, 169u, + 201u, 118u, 96u, 88u, + 95u, 54u, 168u, 73u, + 141u, 44u, 82u, 78u, + 218u, 157u, 107u, 255u, + 255u, 46u, 64u, 174u, + 53u, 87u, 43u, 138u, + 135u, 27u, 123u, 106u, + 132u, 136u, 225u, 69u, + 194u, 102u, 234u, 123u, + 255u, 134u, 83u, 112u, + 177u, 151u, 133u, 170u, + 125u, 165u, 223u, 126u, + 12u, 164u, 122u, 213u, + 94u, 102u, 245u, 164u, + 240u, 192u, 150u, 99u, + 191u, 1u, 126u, 195u, + 59u, 109u, 116u, 174u, + 110u, 156u, 124u, 152u, + 43u, 130u, 152u, 131u, + 199u, 195u, 147u, 1u, + 156u, 255u, 128u, 140u, + 185u, 99u, 153u, 51u, + 137u, 99u, 59u, 140u, + 123u, 126u, 93u, 104u, + 1u, 229u, 52u, 135u, + 172u, 56u, 131u, 149u, + 173u, 235u, 197u, 111u, + 214u, 204u, 79u, 178u, + 118u, 255u, 90u, 204u, + 179u, 89u, 94u, 117u, + 132u, 119u, 126u, 194u, + 183u, 89u, 93u, 159u, + 114u, 167u, 130u, 91u, + 59u, 70u, 106u, 38u, + 186u, 170u, 100u, 96u, + 228u, 47u, 1u, 117u, + 194u, 158u, 209u, 71u, + 125u, 105u, 199u, 74u, + 157u, 142u, 143u, 132u, + 163u, 62u, 255u, 250u, + 103u, 255u, 120u, 144u, + 119u, 131u, 159u, 87u, + 206u, 179u, 174u, 198u, + 152u, 118u, 98u, 134u, + 144u, 89u, 115u, 162u, + 26u, 123u, 125u, 177u, + 176u, 75u, 120u, 234u, + 3u, 109u, 255u, 186u, + 105u, 194u, 115u, 117u, + 149u, 215u, 195u, 104u, + 191u, 77u, 61u, 1u, + 57u, 25u, 132u, 170u, + 80u, 217u, 185u, 28u, + 234u, 213u, 167u, 64u, + 136u, 89u, 135u, 138u, + 15u, 1u, 105u, 187u, + 161u, 75u, 128u, 178u, + 45u, 163u, 115u, 132u, + 158u, 129u, 134u, 36u, + 87u, 105u, 255u, 242u, + 217u, 96u, 181u, 79u, + 89u, 125u, 194u, 3u, + 121u, 136u, 123u, 139u, + 136u, 192u, 199u, 255u, + 193u, 83u, 153u, 160u, + 39u, 176u, 186u, 182u, + 179u, 107u, 255u, 183u, + 92u, 0u, 81u, 184u, + 212u, 205u, 156u, 123u, + 207u, 198u, 83u, 122u, + 31u, 140u, 183u, 131u, + 51u, 1u, 188u, 96u, + 188u, 163u, 142u, 147u, + 217u, 167u, 172u, 177u, + 150u, 118u, 132u, 173u, + 92u, 159u, 255u, 115u, + 120u, 105u, 3u, 255u, + 150u, 250u, 133u, 110u, + 85u, 47u, 82u, 82u, + 59u, 130u, 20u, 237u, + 68u, 143u, 171u, 169u, + 102u, 16u, 1u, 107u, + 149u, 126u, 42u, 174u, + 179u, 244u, 201u, 122u, + 117u, 3u, 145u, 193u, + 136u, 29u, 245u, 189u, + 220u, 161u, 85u, 1u, + 136u, 212u, 130u, 185u, + 115u, 1u, 94u, 189u, + 95u, 159u, 61u, 92u, + 130u, 109u, 125u, 156u, + 146u, 136u, 146u, 131u, + 196u, 105u, 144u, 140u, + 15u, 61u, 27u, 171u, + 255u, 174u, 70u, 143u, + 175u, 55u, 232u, 63u, + 101u, 148u, 186u, 120u, + 156u, 58u, 222u, 155u, + 14u, 0u, 160u, 124u, + 133u, 122u, 63u, 167u, + 180u, 152u, 85u, 191u, + 87u, 255u, 156u, 158u, + 97u, 121u, 80u, 112u, + 10u, 231u, 163u, 102u, + 153u, 157u, 131u, 148u, + 76u, 85u, 83u, 152u, + 107u, 74u, 121u, 255u, + 166u, 151u, 163u, 53u, + 255u, 50u, 141u, 169u, + 207u, 137u, 142u, 121u, + 126u, 122u, 198u, 114u, + 169u, 132u, 102u, 90u, + 146u, 204u, 232u, 174u, + 255u, 104u, 225u, 229u, + 181u, 71u, 156u, 69u, + 2u, 144u, 196u, 160u, + 136u, 175u, 148u, 135u, + 130u, 70u, 158u, 142u, + 153u, 198u, 115u, 171u, + 1u, 226u, 134u, 148u, + 63u, 148u, 95u, 115u, + 1u, 194u, 92u, 88u, + 74u, 165u, 100u, 191u, + 78u, 100u, 127u, 155u, + 181u, 140u, 138u, 0u, + 167u, 140u, 196u, 48u, + 94u, 214u, 155u, 119u, + 202u, 2u, 87u, 211u, + 159u, 134u, 67u, 55u, + 182u, 146u, 129u, 166u, + 176u, 215u, 67u, 255u, + 150u, 185u, 250u, 63u, + 255u, 137u, 175u, 31u, + 142u, 174u, 58u, 190u, + 162u, 132u, 152u, 104u, + 94u, 99u, 206u, 119u, + 213u, 23u, 183u, 118u, + 168u, 238u, 133u, 202u, + 134u, 119u, 88u, 191u, + 85u, 31u, 129u, 1u, + 249u, 165u, 183u, 109u, + 106u, 91u, 88u, 171u, + 191u, 90u, 255u, 135u, + 209u, 109u, 177u, 188u, + 171u, 145u, 76u, 219u, + 0u, 174u, 75u, 83u, + 160u, 169u, 111u, 95u, + 48u, 121u, 145u, 171u, + 136u, 37u, 123u, 117u, + 120u, 167u, 100u, 169u, + 255u, 139u, 227u, 131u, + 49u, 140u, 125u, 152u, + 41u, 62u, 85u, 201u, + 70u, 171u, 41u, 104u, + 151u, 69u, 173u, 113u, + 89u, 83u, 1u, 70u, + 97u, 92u, 255u, 87u, + 186u, 59u, 138u, 204u, + 163u, 147u, 201u, 221u, + 240u, 198u, 88u, 28u, + 212u, 74u, 61u, 115u, + 164u, 174u, 82u, 226u, + 60u, 0u, 196u, 132u, + 137u, 125u, 56u, 189u, + 114u, 1u, 41u, 229u, + 71u, 164u, 78u, 128u, + 29u, 162u, 153u, 152u, + 191u, 238u, 52u, 86u, + 127u, 117u, 73u, 202u, + 120u, 44u, 103u, 255u, + 170u, 145u, 112u, 130u, + 251u, 101u, 79u, 66u, + 216u, 140u, 146u, 175u, + 172u, 126u, 81u, 124u, + 42u, 40u, 127u, 65u, + 124u, 137u, 0u, 87u, + 154u, 127u, 156u, 132u, + 144u, 186u, 144u, 184u, + 93u, 118u, 139u, 122u, + 1u, 123u, 120u, 88u, + 28u, 193u, 138u, 179u, + 174u, 10u, 229u, 175u, + 127u, 131u, 103u, 255u, + 215u, 134u, 32u, 80u, + 79u, 139u, 85u, 159u, + 173u, 103u, 255u, 154u, + 180u, 44u, 133u, 44u, + 163u, 89u, 49u, 131u, + 177u, 128u, 116u, 164u, + 96u, 0u, 137u, 195u, + 69u, 118u, 143u, 115u, + 185u, 86u, 45u, 90u, + 120u, 166u, 255u, 17u, + 86u, 95u, 116u, 161u, + 77u, 135u, 176u, 99u, + 72u, 15u, 103u, 95u, + 172u, 195u, 155u, 155u, + 164u, 108u, 65u, 159u, + 56u, 132u, 75u, 156u, + 255u, 241u, 255u, 80u, + 173u, 1u, 32u, 94u, + 81u, 110u, 84u, 170u, + 85u, 192u, 118u, 102u, + 38u, 179u, 224u, 164u, + 142u, 191u, 106u, 194u, + 1u, 160u, 197u, 89u, + 255u, 118u, 231u, 120u, + 131u, 61u, 203u, 238u, + 216u, 255u, 132u, 117u, + 159u, 201u, 75u, 229u, + 152u, 61u, 233u, 195u, + 221u, 104u, 78u, 255u, + 172u, 43u, 135u, 189u, + 114u, 162u, 151u, 190u, + 1u, 185u, 162u, 200u, + 132u, 136u, 181u, 31u, + 159u, 114u, 143u, 155u, + 170u, 76u, 122u, 118u, + 141u, 89u, 218u, 255u, + 142u, 79u, 129u, 92u, + 70u, 130u, 107u, 95u, + 78u, 111u, 1u, 109u, + 24u, 157u, 127u, 74u, + 238u, 125u, 231u, 83u, + 177u, 153u, 169u, 90u, + 150u, 41u, 163u, 8u, + 193u, 107u, 115u, 39u, + 138u, 39u, 0u, 136u, + 57u, 188u, 134u, 236u, + 196u, 220u, 9u, 255u, + 201u, 171u, 100u, 157u, + 29u, 199u, 191u, 36u, + 26u, 145u, 37u, 90u, + 158u, 190u, 108u, 212u, + 63u, 120u, 136u, 12u, + 168u, 152u, 1u, 236u, + 130u, 175u, 115u, 102u, + 177u, 157u, 22u, 75u, + 249u, 137u, 87u, 110u, + 255u, 157u, 145u, 112u, + 141u, 142u, 62u, 155u, + 148u, 1u, 158u, 196u, + 187u, 239u, 50u, 156u, + 125u, 85u, 136u, 40u, + 232u, 66u, 103u, 160u, + 76u, 177u, 1u, 90u, + 119u, 94u, 135u, 128u, + 147u, 167u, 211u, 71u, + 185u, 123u, 243u, 146u, + 75u, 168u, 206u, 98u, + 227u, 162u, 255u, 103u, + 194u, 71u, 205u, 70u, + 67u, 140u, 153u, 164u, + 182u, 181u, 139u, 3u, + 1u, 215u, 38u, 95u, + 186u, 83u, 55u, 83u, + 33u, 122u, 120u, 125u, + 109u, 154u, 169u, 255u, + 184u, 130u, 84u, 150u, + 12u, 131u, 150u, 106u, + 193u, 177u, 255u, 219u, + 218u, 106u, 64u, 158u, + 143u, 68u, 59u, 218u, + 67u, 67u, 192u, 66u, + 224u, 225u, 76u, 15u, + 148u, 213u, 108u, 255u, + 87u, 138u, 111u, 58u, + 158u, 150u, 163u, 172u, + 255u, 167u, 194u, 174u, + 126u, 173u, 178u, 133u, + 106u, 61u, 108u, 247u, + 50u, 72u, 98u, 127u, + 129u, 190u, 112u, 98u, + 196u, 144u, 110u, 140u, + 69u, 64u, 161u, 107u, + 143u, 190u, 1u, 182u, + 66u, 164u, 104u, 86u, + 207u, 106u, 145u, 110u, + 104u, 255u, 44u, 46u, + 68u, 130u, 29u, 109u, + 134u, 126u, 67u, 99u, + 117u, 156u, 140u, 144u, + 139u, 103u, 95u, 221u, + 0u, 123u, 64u, 181u, + 197u, 107u, 153u, 100u, + 185u, 148u, 89u, 255u, + 137u, 117u, 142u, 156u, + 129u, 144u, 147u, 178u, + 100u, 116u, 107u, 129u, + 255u, 134u, 70u, 118u, + 69u, 11u, 88u, 44u, + 224u, 238u, 136u, 107u, + 238u, 138u, 140u, 1u, + 146u, 237u, 197u, 196u, + 90u, 52u, 81u, 83u, + 153u, 239u, 106u, 242u, + 87u, 124u, 136u, 63u, + 136u, 122u, 45u, 117u, + 139u, 73u, 131u, 1u, + 122u, 54u, 100u, 70u, + 153u, 152u, 137u, 111u, + 126u, 255u, 61u, 179u, + 61u, 170u, 158u, 124u, + 76u, 112u, 61u, 55u, + 110u, 244u, 129u, 119u, + 120u, 64u, 139u, 99u, + 6u, 58u, 177u, 64u, + 86u, 23u, 84u, 255u, + 105u, 132u, 0u, 71u, + 200u, 126u, 188u, 90u, + 64u, 187u, 106u, 92u, + 232u, 120u, 23u, 125u, + 101u, 211u, 99u, 80u, + 87u, 86u, 175u, 1u, + 154u, 111u, 89u, 103u, + 27u, 99u, 85u, 185u, + 131u, 83u, 165u, 255u, + 60u, 154u, 49u, 196u, + 115u, 113u, 104u, 219u, + 73u, 163u, 183u, 78u, + 65u, 186u, 68u, 168u, + 51u, 228u, 62u, 73u, + 255u, 111u, 137u, 143u, + 191u, 151u, 111u, 156u, + 115u, 180u, 82u, 108u, + 121u, 255u, 132u, 212u, + 126u, 34u, 80u, 147u, + 12u, 78u, 84u, 129u, + 187u, 29u, 130u, 99u, + 26u, 209u, 0u, 42u, + 60u, 114u, 4u, 84u, + 197u, 80u, 130u, 104u, + 128u, 156u, 209u, 210u, + 219u, 1u, 47u, 185u, + 155u, 203u, 88u, 160u, + 104u, 202u, 168u, 174u, + 144u, 146u, 88u, 68u, + 125u, 187u, 165u, 102u, + 154u, 121u, 107u, 90u, + 255u, 145u, 49u, 169u, + 71u, 124u, 162u, 188u, + 108u, 110u, 165u, 147u, + 131u, 116u, 163u, 119u, + 178u, 133u, 102u, 0u, + 255u, 147u, 132u, 153u, + 177u, 145u, 149u, 116u, + 180u, 144u, 184u, 149u, + 46u, 169u, 165u, 156u, + 103u, 171u, 89u, 73u, + 255u, 146u, 194u, 68u, + 54u, 215u, 234u, 29u, + 116u, 81u, 57u, 171u, + 63u, 36u, 55u, 133u, + 112u, 69u, 130u, 179u, + 186u, 173u, 104u, 35u, + 144u, 86u, 156u, 255u, + 134u, 163u, 169u, 87u, + 255u, 155u, 103u, 168u, + 86u, 154u, 207u, 180u, + 191u, 84u, 89u, 33u, + 97u, 216u, 116u, 65u, + 141u, 117u, 209u, 77u, + 172u, 175u, 121u, 142u, + 127u, 39u, 112u, 255u, + 84u, 73u, 124u, 89u, + 174u, 158u, 101u, 139u, + 18u, 113u, 141u, 152u, + 255u, 229u, 117u, 165u, + 48u, 245u, 152u, 80u, + 227u, 185u, 106u, 141u, + 56u, 72u, 91u, 72u, + 63u, 101u, 0u, 126u, + 64u, 58u, 158u, 164u, + 139u, 220u, 104u, 71u, + 231u, 182u, 157u, 132u, + 221u, 255u, 101u, 103u, + 145u, 81u, 1u, 47u, + 4u, 122u, 197u, 113u, + 119u, 107u, 17u, 230u, + 103u, 151u, 228u, 175u, + 190u, 72u, 190u, 99u, + 68u, 97u, 98u, 71u, + 121u, 203u, 193u, 89u, + 255u, 162u, 93u, 37u, + 109u, 155u, 113u, 184u, + 101u, 112u, 55u, 65u, + 100u, 129u, 177u, 80u, + 159u, 1u, 184u, 144u, + 212u, 117u, 204u, 118u, + 176u, 89u, 15u, 140u, + 157u, 245u, 164u, 8u, + 255u, 245u, 216u, 176u, + 103u, 119u, 111u, 123u, + 114u, 170u, 177u, 111u, + 100u, 146u, 109u, 89u, + 186u, 150u, 103u, 1u, + 163u, 185u, 162u, 174u, + 70u, 162u, 124u, 117u, + 98u, 81u, 99u, 1u, + 74u, 194u, 117u, 190u, + 142u, 214u, 175u, 129u, + 131u, 151u, 65u, 43u, + 132u, 185u, 95u, 224u, + 78u, 44u, 95u, 255u, + 177u, 99u, 155u, 182u, + 77u, 150u, 37u, 252u, + 109u, 74u, 171u, 133u, + 156u, 1u, 144u, 151u, + 191u, 188u, 152u, 77u, + 101u, 197u, 225u, 35u, + 159u, 80u, 180u, 234u, + 132u, 51u, 255u, 147u, + 164u, 57u, 138u, 180u, + 122u, 161u, 127u, 92u, + 192u, 61u, 192u, 62u, + 255u, 138u, 87u, 109u, + 241u, 242u, 212u, 144u, + 193u, 235u, 74u, 28u, + 255u, 166u, 48u, 156u, + 103u, 137u, 28u, 221u, + 87u, 38u, 10u, 83u, + 85u, 210u, 255u, 128u, + 46u, 111u, 133u, 135u, + 38u, 168u, 208u, 92u, + 1u, 102u, 115u, 202u, + 147u, 80u, 57u, 201u, + 54u, 24u, 126u, 217u, + 232u, 93u, 98u, 89u, + 199u, 136u, 192u, 127u, + 183u, 36u, 38u, 129u, + 149u, 157u, 255u, 180u, + 146u, 109u, 7u, 127u, + 104u, 145u, 188u, 190u, + 104u, 255u, 164u, 76u, + 103u, 46u, 158u, 144u, + 80u, 62u, 146u, 135u, + 105u, 255u, 147u, 96u, + 95u, 84u, 24u, 122u, + 240u, 116u, 62u, 205u, + 176u, 200u, 155u, 161u, + 60u, 195u, 126u, 168u, + 160u, 83u, 153u, 73u, + 255u, 196u, 214u, 233u, + 121u, 95u, 82u, 184u, + 183u, 110u, 85u, 137u, + 59u, 144u, 46u, 47u, + 82u, 49u, 154u, 77u, + 255u, 164u, 91u, 162u, + 86u, 123u, 194u, 86u, + 209u, 60u, 255u, 141u, + 160u, 146u, 122u, 1u, + 108u, 221u, 107u, 153u, + 105u, 90u, 149u, 180u, + 82u, 169u, 252u, 223u, + 134u, 227u, 148u, 128u, + 9u, 224u, 138u, 0u, + 130u, 255u, 169u, 88u, + 94u, 218u, 70u, 108u, + 187u, 42u, 206u, 138u, + 78u, 98u, 182u, 110u, + 191u, 1u, 195u, 128u, + 23u, 132u, 87u, 136u, + 150u, 238u, 108u, 98u, + 176u, 49u, 242u, 214u, + 101u, 100u, 47u, 162u, + 19u, 73u, 10u, 164u, + 79u, 127u, 175u, 57u, + 133u, 255u, 101u, 234u, + 84u, 125u, 62u, 75u, + 117u, 136u, 130u, 65u, + 151u, 96u, 19u, 92u, + 75u, 107u, 0u, 106u, + 150u, 208u, 132u, 129u, + 128u, 146u, 95u, 108u, + 178u, 50u, 19u, 127u, + 38u, 125u, 1u, 129u, + 139u, 182u, 178u, 147u, + 69u, 130u, 125u, 74u, + 162u, 140u, 255u, 76u, + 232u, 61u, 102u, 137u, + 108u, 94u, 38u, 157u, + 58u, 166u, 159u, 165u, + 91u, 189u, 146u, 136u, + 42u, 177u, 1u, 163u, + 113u, 252u, 99u, 118u, + 225u, 202u, 255u, 103u, + 180u, 150u, 120u, 75u, + 159u, 88u, 155u, 152u, + 1u, 142u, 30u, 226u, + 67u, 199u, 27u, 4u, + 172u, 200u, 200u, 140u, + 107u, 90u, 247u, 85u, + 71u, 174u, 140u, 98u, + 1u, 51u, 104u, 86u, + 171u, 133u, 159u, 99u, + 120u, 154u, 153u, 167u, + 136u, 155u, 87u, 87u, + 173u, 73u, 132u, 132u, + 1u, 211u, 127u, 91u, + 216u, 45u, 223u, 50u, + 1u, 162u, 161u, 186u, + 207u, 166u, 163u, 62u, + 134u, 121u, 123u, 78u, + 187u, 93u, 178u, 137u, + 61u, 62u, 1u, 225u, + 122u, 129u, 196u, 104u, + 167u, 91u, 142u, 160u, + 126u, 105u, 16u, 137u, + 44u, 201u, 103u, 208u, + 166u, 255u, 83u, 195u, + 177u, 96u, 168u, 175u, + 26u, 164u, 114u, 200u, + 141u, 159u, 90u, 61u, + 146u, 131u, 101u, 208u, + 147u, 130u, 123u, 87u, + 115u, 151u, 1u, 121u, + 170u, 120u, 209u, 130u, + 1u, 135u, 82u, 146u, + 157u, 104u, 173u, 96u, + 150u, 93u, 49u, 102u, + 255u, 110u, 195u, 123u, + 167u, 111u, 87u, 132u, + 207u, 188u, 144u, 107u, + 179u, 97u, 155u, 114u, + 121u, 255u, 169u, 78u, + 130u, 165u, 185u, 115u, + 237u, 113u, 116u, 40u, + 131u, 59u, 228u, 220u, + 137u, 174u, 196u, 1u, + 198u, 136u, 98u, 5u, + 80u, 217u, 234u, 51u, + 154u, 184u, 147u, 2u, + 126u, 127u, 140u, 130u, + 97u, 88u, 161u, 187u, + 162u, 130u, 0u, 127u, + 118u, 100u, 174u, 180u, + 139u, 255u, 189u, 91u, + 201u, 73u, 170u, 193u, + 199u, 150u, 35u, 168u, + 176u, 102u, 1u, 116u, + 99u, 101u, 94u, 133u, + 59u, 255u, 245u, 201u, + 100u, 143u, 100u, 108u, + 90u, 229u, 132u, 114u, + 163u, 39u, 133u, 129u, + 107u, 133u, 43u, 181u, + 32u, 68u, 104u, 74u, + 145u, 135u, 1u, 143u, + 112u, 171u, 255u, 110u, + 94u, 142u, 121u, 125u, + 119u, 98u, 142u, 187u, + 1u, 120u, 157u, 123u, + 54u, 191u, 170u, 176u, + 67u, 86u, 122u, 58u, + 128u, 155u, 73u, 255u, + 67u, 231u, 42u, 165u, + 89u, 159u, 157u, 120u, + 141u, 120u, 136u, 111u, + 83u, 154u, 153u, 142u, + 130u, 170u, 255u, 18u, + 181u, 132u, 183u, 147u, + 102u, 147u, 111u, 187u, + 134u, 116u, 127u, 147u, + 147u, 124u, 255u, 174u, + 124u, 235u, 61u, 112u, + 165u, 109u, 213u, 8u, + 157u, 126u, 1u, 208u, + 121u, 90u, 121u, 120u, + 93u, 165u, 127u, 33u, + 112u, 198u, 163u, 52u, + 69u, 143u, 94u, 201u, + 113u, 149u, 1u, 160u, + 157u, 132u, 255u, 107u, + 75u, 58u, 91u, 45u, + 159u, 163u, 168u, 127u, + 134u, 135u, 132u, 151u, + 177u, 97u, 26u, 172u, + 92u, 170u, 60u, 96u, + 72u, 115u, 73u, 85u, + 113u, 143u, 255u, 104u, + 117u, 157u, 106u, 170u, + 214u, 191u, 152u, 79u, + 112u, 72u, 199u, 218u, + 1u, 88u, 182u, 146u, + 207u, 157u, 142u, 44u, + 150u, 121u, 143u, 83u, + 67u, 152u, 125u, 0u, + 120u, 121u, 157u, 132u, + 229u, 85u, 39u, 152u, + 1u, 141u, 155u, 91u, + 241u, 150u, 61u, 133u, + 153u, 107u, 144u, 105u, + 141u, 68u, 157u, 232u, + 155u, 97u, 126u, 158u, + 159u, 153u, 150u, 235u, + 255u, 222u, 107u, 107u, + 148u, 119u, 255u, 92u, + 108u, 116u, 215u, 50u, + 95u, 83u, 149u, 102u, + 97u, 112u, 174u, 95u, + 225u, 166u, 112u, 156u, + 137u, 132u, 135u, 236u, + 210u, 169u, 152u, 210u, + 164u, 1u, 250u, 165u, + 136u, 211u, 26u, 123u, + 145u, 226u, 66u, 18u, + 1u, 114u, 70u, 70u, + 40u, 58u, 106u, 159u, + 125u, 136u, 151u, 138u, + 19u, 138u, 95u, 93u, + 141u, 80u, 143u, 141u, + 145u, 123u, 219u, 255u, + 200u, 131u, 122u, 84u, + 83u, 166u, 156u, 118u, + 114u, 168u, 1u, 118u, + 159u, 189u, 128u, 191u, + 73u, 165u, 53u, 164u, + 103u, 189u, 216u, 236u, + 72u, 200u, 220u, 203u, + 15u, 119u, 255u, 158u, + 206u, 161u, 122u, 190u, + 38u, 254u, 133u, 13u, + 7u, 1u, 99u, 176u, + 199u, 88u, 118u, 232u, + 87u, 166u, 174u, 158u, + 42u, 189u, 125u, 70u, + 39u, 110u, 162u, 168u, + 193u, 255u, 199u, 129u, + 127u, 170u, 0u, 162u, + 154u, 214u, 59u, 136u, + 69u, 147u, 109u, 193u, + 3u, 121u, 134u, 114u, + 151u, 121u, 180u, 102u, + 188u, 201u, 131u, 75u, + 0u, 120u, 84u, 93u, + 139u, 172u, 64u, 84u, + 255u, 118u, 101u, 145u, + 137u, 252u, 159u, 248u, + 115u, 121u, 193u, 142u, + 143u, 106u, 123u, 77u, + 59u, 36u, 185u, 117u, + 192u, 94u, 130u, 205u, + 198u, 245u, 64u, 255u, + 50u, 104u, 174u, 40u, + 139u, 140u, 94u, 152u, + 166u, 118u, 101u, 182u, + 142u, 81u, 191u, 142u, + 153u, 214u, 255u, 125u, + 145u, 212u, 157u, 169u, + 161u, 172u, 67u, 124u, + 233u, 111u, 186u, 111u, + 80u, 77u, 255u, 213u, + 197u, 176u, 201u, 126u, + 41u, 144u, 1u, 136u, + 108u, 170u, 165u, 144u, + 142u, 126u, 101u, 57u, + 70u, 255u, 165u, 240u, + 171u, 159u, 126u, 244u, + 44u, 177u, 145u, 159u, + 174u, 247u, 234u, 61u, + 184u, 169u, 192u, 255u, + 114u, 78u, 14u, 142u, + 68u, 88u, 124u, 163u, + 177u, 167u, 175u, 35u, + 196u, 105u, 131u, 189u, + 127u, 151u, 0u, 131u, + 123u, 112u, 124u, 9u, + 123u, 203u, 168u, 154u, + 114u, 246u, 77u, 55u, + 165u, 21u, 93u, 108u, + 239u, 147u, 72u, 131u, + 227u, 161u, 101u, 255u, + 140u, 93u, 203u, 77u, + 211u, 100u, 97u, 106u, + 1u, 173u, 177u, 71u, + 222u, 85u, 77u, 127u, + 181u, 255u, 176u, 151u, + 130u, 133u, 73u, 86u, + 162u, 94u, 195u, 195u, + 145u, 53u, 146u, 138u, + 201u, 141u, 193u, 200u, + 59u, 96u, 93u, 161u, + 143u, 188u, 186u, 134u, + 255u, 63u, 168u, 162u, + 84u, 255u, 172u, 48u, + 115u, 223u, 134u, 217u, + 90u, 45u, 34u, 194u, + 70u, 130u, 172u, 180u, + 0u, 51u, 111u, 139u, + 112u, 55u, 107u, 103u, + 179u, 181u, 185u, 30u, + 221u, 97u, 36u, 144u, + 110u, 245u, 78u, 171u, + 241u, 62u, 118u, 15u, + 41u, 0u, 205u, 255u, + 175u, 158u, 28u, 128u, + 72u, 127u, 104u, 82u, + 181u, 104u, 248u, 172u, + 97u, 82u, 184u, 153u, + 220u, 11u, 1u, 162u, + 149u, 213u, 69u, 112u, + 184u, 97u, 115u, 187u, + 165u, 165u, 193u, 54u, + 159u, 255u, 113u, 73u, + 39u, 117u, 142u, 88u, + 102u, 97u, 255u, 109u, + 119u, 110u, 87u, 158u, + 75u, 138u, 106u, 134u, + 177u, 215u, 155u, 94u, + 165u, 244u, 127u, 82u, + 46u, 191u, 83u, 179u, + 190u, 97u, 94u, 1u, + 178u, 150u, 199u, 169u, + 97u, 102u, 71u, 144u, + 255u, 169u, 78u, 164u, + 177u, 79u, 101u, 102u, + 1u, 38u, 29u, 251u, + 62u, 170u, 143u, 78u, + 90u, 129u, 177u, 88u, + 114u, 193u, 88u, 130u, + 123u, 137u, 124u, 255u, + 148u, 151u, 127u, 140u, + 214u, 132u, 103u, 120u, + 164u, 180u, 194u, 127u, + 130u, 113u, 84u, 107u, + 141u, 125u, 173u, 110u, + 73u, 101u, 120u, 101u, + 1u, 106u, 179u, 117u, + 200u, 131u, 212u, 246u, + 27u, 1u, 32u, 125u, + 126u, 228u, 109u, 211u, + 168u, 105u, 218u, 33u, + 75u, 188u, 110u, 91u, + 118u, 168u, 146u, 126u, + 64u, 89u, 115u, 123u, + 80u, 149u, 1u, 137u, + 151u, 153u, 61u, 176u, + 94u, 103u, 164u, 26u, + 115u, 152u, 246u, 255u, + 98u, 180u, 235u, 125u, + 221u, 128u, 199u, 120u, + 11u, 116u, 155u, 201u, + 158u, 50u, 124u, 208u, + 105u, 112u, 255u, 6u, + 96u, 167u, 62u, 81u, + 146u, 255u, 197u, 183u, + 112u, 144u, 168u, 140u, + 99u, 73u, 139u, 110u, + 226u, 236u, 204u, 208u, + 25u, 255u, 123u, 131u, + 144u, 197u, 80u, 147u, + 152u, 127u, 100u, 25u, + 105u, 106u, 146u, 64u, + 155u, 135u, 121u, 242u, + 49u, 137u, 67u, 32u, + 115u, 187u, 1u, 103u, + 159u, 93u, 147u, 134u, + 122u, 202u, 55u, 112u, + 107u, 150u, 149u, 117u, + 116u, 186u, 1u, 41u, + 44u, 59u, 67u, 93u, + 153u, 160u, 255u, 211u, + 204u, 178u, 212u, 161u, + 217u, 221u, 132u, 130u, + 64u, 73u, 98u, 41u, + 86u, 78u, 158u, 114u, + 91u, 92u, 97u, 100u, + 23u, 151u, 1u, 151u, + 102u, 67u, 245u, 87u, + 208u, 208u, 160u, 1u, + 79u, 140u, 127u, 49u, + 91u, 177u, 146u, 113u, + 119u, 161u, 149u, 134u, + 150u, 160u, 73u, 162u, + 153u, 95u, 106u, 255u, + 213u, 139u, 0u, 161u, + 176u, 92u, 16u, 82u, + 109u, 29u, 136u, 232u, + 145u, 117u, 76u, 78u, + 148u, 255u, 182u, 124u, + 151u, 85u, 1u, 143u, + 137u, 143u, 124u, 187u, + 159u, 116u, 122u, 78u, + 99u, 135u, 168u, 179u, + 170u, 169u, 223u, 184u, + 189u, 170u, 100u, 189u, + 84u, 77u, 255u, 174u, + 108u, 171u, 138u, 188u, + 175u, 113u, 149u, 28u, + 224u, 156u, 166u, 255u, + 120u, 181u, 206u, 160u, + 78u, 219u, 70u, 162u, + 109u, 164u, 112u, 227u, + 155u, 158u, 228u, 92u, + 24u, 102u, 255u, 122u, + 187u, 46u, 115u, 47u, + 148u, 207u, 136u, 101u, + 166u, 121u, 188u, 67u, + 128u, 35u, 1u, 89u, + 149u, 149u, 176u, 245u, + 202u, 185u, 98u, 74u, + 9u, 174u, 130u, 255u, + 175u, 116u, 158u, 210u, + 117u, 68u, 61u, 53u, + 145u, 219u, 165u, 109u, + 203u, 255u, 234u, 150u, + 104u, 177u, 189u, 189u, + 79u, 190u, 115u, 157u, + 103u, 116u, 70u, 136u, + 62u, 122u, 225u, 119u, + 1u, 44u, 121u, 133u, + 131u, 181u, 132u, 69u, + 56u, 49u, 60u, 61u, + 115u, 255u, 160u, 189u, + 30u, 95u, 230u, 181u, + 107u, 117u, 30u, 152u, + 167u, 74u, 175u, 39u, + 106u, 76u, 122u, 175u, + 162u, 171u, 116u, 117u, + 116u, 137u, 238u, 1u, + 67u, 83u, 96u, 91u, + 130u, 73u, 105u, 186u, + 213u, 255u, 197u, 106u, + 188u, 167u, 175u, 69u, + 161u, 117u, 135u, 197u, + 153u, 140u, 159u, 155u, + 92u, 209u, 103u, 255u, + 162u, 72u, 240u, 86u, + 75u, 172u, 152u, 166u, + 174u, 47u, 255u, 192u, + 144u, 141u, 118u, 155u, + 116u, 151u, 162u, 137u, + 131u, 156u, 255u, 249u, + 139u, 137u, 142u, 104u, + 25u, 139u, 37u, 180u, + 40u, 116u, 196u, 68u, + 63u, 212u, 145u, 227u, + 134u, 49u, 255u, 175u, + 88u, 121u, 174u, 133u, + 118u, 125u, 105u, 148u, + 121u, 97u, 206u, 66u, + 104u, 172u, 193u, 167u, + 192u, 147u, 92u, 125u, + 165u, 255u, 135u, 186u, + 87u, 78u, 226u, 174u, + 0u, 131u, 122u, 75u, + 106u, 55u, 86u, 156u, + 170u, 80u, 123u, 66u, + 109u, 136u, 154u, 119u, + 111u, 44u, 144u, 138u, + 159u, 144u, 1u, 217u, + 137u, 255u, 64u, 174u, + 179u, 30u, 205u, 137u, + 9u, 142u, 38u, 175u, + 80u, 43u, 213u, 121u, + 1u, 96u, 215u, 135u, + 246u, 90u, 217u, 84u, + 220u, 203u, 52u, 235u, + 252u, 133u, 53u, 147u, + 136u, 171u, 58u, 255u, + 255u, 69u, 82u, 128u, + 17u, 172u, 56u, 185u, + 170u, 163u, 53u, 96u, + 118u, 99u, 127u, 141u, + 167u, 56u, 137u, 88u, + 51u, 229u, 16u, 126u, + 72u, 128u, 175u, 1u, + 178u, 88u, 188u, 23u, + 148u, 78u, 169u, 70u, + 180u, 44u, 133u, 106u, + 190u, 167u, 38u, 113u, + 68u, 140u, 57u, 0u, + 188u, 3u, 137u, 146u, + 52u, 43u, 221u, 144u, + 172u, 159u, 195u, 63u, + 144u, 101u, 255u, 248u, + 119u, 169u, 100u, 159u, + 151u, 97u, 72u, 84u, + 191u, 217u, 146u, 139u, + 73u, 98u, 255u, 86u, + 147u, 132u, 185u, 110u, + 149u, 197u, 105u, 255u, + 122u, 123u, 81u, 116u, + 83u, 129u, 158u, 87u, + 198u, 129u, 145u, 84u, + 35u, 114u, 69u, 255u, + 143u, 47u, 130u, 118u, + 101u, 187u, 156u, 7u, + 225u, 30u, 177u, 91u, + 148u, 247u, 114u, 127u, + 86u, 255u, 118u, 114u, + 36u, 112u, 8u, 126u, + 132u, 108u, 163u, 42u, + 114u, 46u, 117u, 101u, + 141u, 130u, 199u, 78u, + 255u, 54u, 203u, 37u, + 139u, 167u, 138u, 109u, + 133u, 44u, 162u, 174u, + 157u, 144u, 70u, 134u, + 129u, 119u, 1u, 121u, + 209u, 129u, 70u, 178u, + 16u, 115u, 140u, 146u, + 169u, 149u, 100u, 1u, + 201u, 180u, 9u, 197u, + 229u, 133u, 127u, 116u, + 134u, 104u, 121u, 170u, + 255u, 165u, 139u, 94u, + 112u, 113u, 68u, 96u, + 180u, 83u, 235u, 78u, + 166u, 25u, 54u, 148u, + 203u, 151u, 68u, 164u, + 255u, 172u, 111u, 100u, + 114u, 65u, 253u, 137u, + 134u, 71u, 34u, 112u, + 65u, 197u, 163u, 56u, + 255u, 29u, 202u, 2u, + 165u, 106u, 113u, 88u, + 66u, 194u, 160u, 138u, + 1u, 119u, 155u, 182u, + 87u, 191u, 117u, 184u, + 102u, 165u, 171u, 137u, + 1u, 195u, 80u, 145u, + 195u, 27u, 110u, 132u, + 66u, 171u, 38u, 22u, + 160u, 236u, 182u, 173u, + 202u, 212u, 132u, 111u, + 208u, 2u, 211u, 236u, + 1u, 54u, 148u, 210u, + 71u, 36u, 65u, 211u, + 156u, 155u, 181u, 223u, + 78u, 152u, 214u, 28u, + 1u, 254u, 174u, 36u, + 103u, 138u, 156u, 255u, + 96u, 79u, 100u, 173u, + 105u, 157u, 191u, 172u, + 143u, 157u, 154u, 97u, + 160u, 182u, 123u, 129u, + 184u, 85u, 62u, 232u, + 93u, 218u, 97u, 101u, + 255u, 151u, 187u, 51u, + 185u, 191u, 126u, 255u, + 197u, 150u, 167u, 58u, + 160u, 105u, 80u, 99u, + 80u, 88u, 121u, 86u, + 219u, 43u, 35u, 218u, + 70u, 88u, 255u, 156u, + 83u, 175u, 104u, 194u, + 21u, 167u, 190u, 41u, + 35u, 36u, 1u, 119u, + 193u, 97u, 127u, 176u, + 117u, 54u, 109u, 171u, + 32u, 108u, 129u, 48u, + 122u, 140u, 170u, 60u, + 65u, 255u, 83u, 4u, + 204u, 81u, 199u, 183u, + 92u, 104u, 130u, 47u, + 41u, 107u, 128u, 1u, + 56u, 186u, 143u, 203u, + 67u, 174u, 86u, 37u, + 174u, 118u, 127u, 49u, + 154u, 102u, 211u, 201u, + 39u, 120u, 184u, 123u, + 230u, 179u, 169u, 255u, + 22u, 208u, 246u, 120u, + 130u, 220u, 229u, 187u, + 218u, 255u, 105u, 111u, + 126u, 114u, 24u, 169u, + 100u, 176u, 94u, 89u, + 167u, 167u, 175u, 120u, + 67u, 102u, 87u, 156u, + 240u, 133u, 189u, 67u, + 172u, 64u, 95u, 255u, + 149u, 174u, 140u, 102u, + 87u, 85u, 156u, 0u, + 19u, 127u, 114u, 105u, + 135u, 138u, 130u, 126u, + 54u, 115u, 116u, 241u, + 167u, 131u, 185u, 255u, + 212u, 92u, 138u, 65u, + 236u, 53u, 88u, 100u, + 65u, 154u, 98u, 122u, + 146u, 208u, 112u, 128u, + 18u, 82u, 61u, 109u, + 77u, 94u, 186u, 0u, + 255u, 45u, 153u, 137u, + 116u, 155u, 203u, 118u, + 184u, 180u, 163u, 81u, + 239u, 56u, 27u, 151u, + 158u, 145u, 162u, 221u, + 113u, 123u, 255u, 110u, + 190u, 194u, 178u, 84u, + 227u, 139u, 165u, 68u, + 117u, 57u, 84u, 126u, + 157u, 95u, 105u, 225u, + 114u, 182u, 96u, 141u, + 12u, 80u, 34u, 255u, + 158u, 153u, 200u, 66u, + 139u, 156u, 62u, 88u, + 89u, 197u, 110u, 48u, + 220u, 74u, 255u, 175u, + 130u, 153u, 142u, 132u, + 128u, 104u, 34u, 124u, + 177u, 125u, 93u, 255u, + 49u, 167u, 70u, 201u, + 209u, 108u, 173u, 137u, + 166u, 83u, 43u, 112u, + 138u, 152u, 139u, 54u, + 255u, 144u, 72u, 134u, + 236u, 107u, 89u, 228u, + 125u, 116u, 37u, 224u, + 172u, 134u, 29u, 130u, + 40u, 69u, 1u, 98u, + 90u, 183u, 83u, 250u, + 156u, 255u, 148u, 151u, + 161u, 139u, 144u, 78u, + 164u, 157u, 208u, 148u, + 220u, 145u, 131u, 143u, + 119u, 116u, 182u, 152u, + 165u, 158u, 36u, 212u, + 157u, 93u, 209u, 1u, + 28u, 255u, 102u, 125u, + 42u, 165u, 156u, 150u, + 143u, 94u, 19u, 88u, + 44u, 146u, 160u, 153u, + 132u, 41u, 144u, 141u, + 84u, 103u, 91u, 175u, + 255u, 130u, 150u, 122u, + 123u, 184u, 23u, 111u, + 104u, 216u, 155u, 242u, + 44u, 203u, 146u, 255u, + 151u, 80u, 40u, 120u, + 170u, 61u, 199u, 176u, + 202u, 125u, 114u, 102u, + 159u, 96u, 129u, 226u, + 175u, 147u, 100u, 144u, + 1u, 3u, 249u, 152u, + 255u, 28u, 213u, 124u, + 151u, 151u, 78u, 155u, + 106u, 214u, 122u, 109u, + 117u, 98u, 141u, 132u, + 68u, 79u, 47u, 0u, + 79u, 87u, 148u, 72u, + 77u, 32u, 100u, 11u, + 215u, 138u, 114u, 122u, + 72u, 255u, 26u, 94u, + 139u, 214u, 172u, 166u, + 202u, 167u, 114u, 83u, + 58u, 114u, 187u, 185u, + 142u, 248u, 133u, 188u, + 123u, 129u, 21u, 184u, + 64u, 227u, 144u, 180u, + 147u, 255u, 57u, 1u, + 121u, 166u, 223u, 127u, + 1u, 92u, 129u, 120u, + 197u, 109u, 111u, 144u, + 132u, 211u, 250u, 149u, + 148u, 83u, 231u, 255u, + 132u, 76u, 175u, 139u, + 79u, 109u, 150u, 112u, + 147u, 204u, 90u, 119u, + 225u, 151u, 173u, 72u, + 76u, 133u, 75u, 103u, + 22u, 66u, 161u, 185u, + 126u, 84u, 107u, 1u, + 136u, 169u, 63u, 126u, + 170u, 22u, 255u, 69u, + 91u, 183u, 102u, 110u, + 102u, 196u, 102u, 139u, + 121u, 121u, 104u, 169u, + 200u, 80u, 208u, 134u, + 255u, 45u, 79u, 126u, + 80u, 8u, 121u, 153u, + 162u, 153u, 27u, 143u, + 178u, 222u, 149u, 1u, + 73u, 134u, 77u, 31u, + 48u, 133u, 255u, 133u, + 154u, 67u, 42u, 114u, + 174u, 227u, 233u, 252u, + 184u, 49u, 127u, 0u, + 29u, 131u, 113u, 176u, + 149u, 117u, 214u, 39u, + 100u, 54u, 144u, 160u, + 198u, 206u, 93u, 131u, + 97u, 255u, 36u, 181u, + 5u, 116u, 96u, 205u, + 192u, 150u, 94u, 215u, + 11u, 129u, 228u, 116u, + 255u, 71u, 121u, 20u, + 57u, 92u, 123u, 63u, + 250u, 113u, 227u, 45u, + 20u, 217u, 164u, 43u, + 16u, 1u, 137u, 125u, + 29u, 39u, 61u, 37u, + 0u, 195u, 99u, 70u, + 164u, 153u, 184u, 143u, + 201u, 84u, 176u, 231u, + 82u, 19u, 141u, 139u, + 1u, 25u, 92u, 61u, + 170u, 93u, 128u, 86u, + 141u, 132u, 143u, 115u, + 105u, 1u, 127u, 76u, + 110u, 86u, 55u, 211u, + 89u, 98u, 166u, 109u, + 124u, 153u, 113u, 24u, + 88u, 84u, 114u, 15u, + 70u, 84u, 138u, 52u, + 181u, 51u, 167u, 141u, + 52u, 42u, 1u, 254u, + 71u, 1u, 213u, 222u, + 222u, 11u, 118u, 109u, + 97u, 254u, 196u, 158u, + 160u, 152u, 42u, 128u, + 129u, 1u, 222u, 127u, + 45u, 97u, 64u, 146u, + 144u, 206u, 136u, 207u, + 44u, 200u, 68u, 7u, + 98u, 214u, 118u, 112u, + 137u, 123u, 77u, 140u, + 179u, 146u, 145u, 170u, + 255u, 94u, 86u, 92u, + 183u, 99u, 149u, 9u, + 185u, 1u, 40u, 146u, + 74u, 73u, 111u, 43u, + 104u, 126u, 85u, 153u, + 164u, 141u, 189u, 28u, + 87u, 80u, 38u, 6u, + 96u, 109u, 132u, 152u, + 211u, 255u, 114u, 168u, + 89u, 123u, 206u, 82u, + 139u, 110u, 101u, 240u, + 1u, 151u, 169u, 64u, + 25u, 152u, 16u, 126u, + 147u, 170u, 171u, 76u, + 79u, 16u, 1u, 89u, + 92u, 191u, 113u, 122u, + 150u, 135u, 65u, 225u, + 120u, 151u, 187u, 104u, + 125u, 109u, 125u, 198u, + 255u, 83u, 1u, 127u, + 26u, 229u, 10u, 163u, + 41u, 162u, 106u, 85u, + 67u, 128u, 155u, 42u, + 214u, 124u, 95u, 69u, + 1u, 27u, 162u, 203u, + 106u, 0u, 96u, 117u, + 5u, 127u, 150u, 159u, + 140u, 211u, 195u, 199u, + 168u, 166u, 57u, 156u, + 88u, 146u, 88u, 87u, + 180u, 91u, 255u, 156u, + 176u, 203u, 123u, 175u, + 130u, 135u, 214u, 132u, + 131u, 110u, 47u, 97u, + 120u, 179u, 27u, 255u, + 111u, 166u, 97u, 122u, + 173u, 100u, 227u, 98u, + 137u, 1u, 163u, 50u, + 120u, 223u, 56u, 197u, + 149u, 160u, 105u, 9u, + 49u, 44u, 165u, 95u, + 255u, 175u, 108u, 78u, + 120u, 94u, 127u, 145u, + 115u, 112u, 85u, 141u, + 109u, 204u, 84u, 95u, + 39u, 100u, 225u, 1u, + 158u, 181u, 142u, 139u, + 165u, 102u, 165u, 101u, + 53u, 91u, 37u, 100u, + 197u, 88u, 130u, 146u, + 92u, 18u, 162u, 124u, + 144u, 152u, 222u, 113u, + 255u, 85u, 58u, 186u, + 178u, 184u, 57u, 200u, + 182u, 108u, 127u, 208u, + 68u, 1u, 232u, 141u, + 93u, 32u, 144u, 149u, + 139u, 192u, 153u, 214u, + 0u, 123u, 132u, 53u, + 215u, 23u, 219u, 156u, + 162u, 92u, 210u, 208u, + 30u, 96u, 77u, 169u, + 10u, 74u, 54u, 73u, + 24u, 167u, 116u, 84u, + 127u, 255u, 94u, 248u, + 53u, 1u, 202u, 188u, + 16u, 21u, 195u, 6u, + 173u, 201u, 187u, 153u, + 238u, 173u, 110u, 111u, + 200u, 239u, 35u, 166u, + 109u, 178u, 151u, 104u, + 127u, 56u, 181u, 96u, + 228u, 234u, 255u, 165u, + 137u, 85u, 255u, 236u, + 1u, 206u, 102u, 100u, + 95u, 164u, 136u, 57u, + 84u, 85u, 195u, 217u, + 66u, 161u, 126u, 106u, + 222u, 172u, 103u, 181u, + 59u, 90u, 134u, 130u, + 117u, 110u, 1u, 129u, + 10u, 66u, 146u, 12u, + 80u, 145u, 101u, 98u, + 160u, 107u, 1u, 191u, + 85u, 190u, 56u, 86u, + 12u, 113u, 100u, 255u, + 78u, 132u, 132u, 74u, + 234u, 84u, 74u, 169u, + 116u, 134u, 194u, 112u, + 102u, 80u, 130u, 133u, + 147u, 85u, 107u, 85u, + 172u, 103u, 133u, 111u, + 184u, 255u, 158u, 174u, + 130u, 209u, 138u, 146u, + 96u, 172u, 172u, 1u, + 149u, 160u, 225u, 255u, + 188u, 7u, 27u, 103u, + 169u, 177u, 78u, 200u, + 255u, 113u, 101u, 78u, + 174u, 121u, 62u, 130u, + 43u, 131u, 47u, 61u, + 210u, 37u, 142u, 126u, + 126u, 1u, 124u, 204u, + 156u, 71u, 164u, 255u, + 143u, 183u, 129u, 60u, + 155u, 191u, 43u, 104u, + 138u, 231u, 187u, 89u, + 122u, 179u, 188u, 158u, + 146u, 255u, 67u, 197u, + 132u, 65u, 206u, 90u, + 222u, 117u, 238u, 68u, + 181u, 42u, 151u, 77u, + 254u, 0u, 87u, 71u, + 77u, 163u, 183u, 237u, + 100u, 138u, 162u, 12u, + 149u, 88u, 145u, 109u, + 190u, 141u, 255u, 178u, + 110u, 121u, 179u, 255u, + 61u, 166u, 150u, 66u, + 183u, 189u, 163u, 133u, + 165u, 156u, 175u, 135u, + 206u, 86u, 102u, 124u, + 77u, 164u, 74u, 217u, + 113u, 174u, 95u, 95u, + 169u, 59u, 191u, 255u, + 255u, 161u, 195u, 206u, + 106u, 129u, 86u, 88u, + 133u, 144u, 125u, 127u, + 126u, 97u, 161u, 95u, + 86u, 120u, 126u, 210u, + 134u, 128u, 136u, 143u, + 113u, 78u, 90u, 181u, + 255u, 114u, 129u, 16u, + 90u, 113u, 86u, 173u, + 255u, 51u, 131u, 69u, + 182u, 171u, 43u, 114u, + 228u, 167u, 21u, 95u, + 78u, 106u, 34u, 128u, + 201u, 187u, 97u, 174u, + 66u, 255u, 215u, 168u, + 100u, 77u, 182u, 51u, + 163u, 106u, 159u, 1u, + 173u, 15u, 121u, 164u, + 183u, 223u, 123u, 63u, + 132u, 65u, 110u, 35u, + 172u, 60u, 195u, 186u, + 75u, 86u, 65u, 114u, + 134u, 100u, 155u, 179u, + 204u, 82u, 1u, 49u, + 139u, 255u, 57u, 182u, + 221u, 197u, 192u, 152u, + 187u, 99u, 254u, 124u, + 63u, 19u, 78u, 148u, + 19u, 156u, 145u, 216u, + 147u, 92u, 71u, 255u, + 54u, 135u, 230u, 91u, + 187u, 99u, 61u, 14u, + 85u, 52u, 59u, 171u, + 1u, 144u, 133u, 61u, + 88u, 82u, 176u, 73u, + 84u, 181u, 140u, 40u, + 96u, 62u, 155u, 167u, + 33u, 206u, 178u, 189u, + 152u, 183u, 32u, 179u, + 0u, 126u, 167u, 204u, + 160u, 152u, 119u, 120u, + 164u, 169u, 82u, 189u, + 144u, 0u, 141u, 133u, + 92u, 13u, 106u, 138u, + 1u, 90u, 44u, 148u, + 159u, 217u, 209u, 215u, + 107u, 73u, 99u, 45u, + 152u, 162u, 102u, 188u, + 87u, 0u, 155u, 238u, + 35u, 100u, 83u, 157u, + 191u, 88u, 205u, 134u, + 63u, 233u, 51u, 94u, + 67u, 255u, 127u, 136u, + 214u, 127u, 215u, 117u, + 174u, 110u, 190u, 235u, + 204u, 137u, 202u, 107u, + 137u, 240u, 68u, 24u, + 255u, 154u, 179u, 77u, + 68u, 128u, 119u, 160u, + 84u, 57u, 65u, 127u, + 181u, 183u, 255u, 111u, + 135u, 202u, 138u, 34u, + 100u, 129u, 145u, 195u, + 216u, 142u, 103u, 91u, + 127u, 72u, 189u, 137u, + 142u, 93u, 125u, 251u, + 118u, 97u, 187u, 135u, + 1u, 198u, 160u, 98u, + 219u, 137u, 204u, 255u, + 224u, 144u, 73u, 247u, + 186u, 69u, 236u, 224u, + 131u, 145u, 71u, 111u, + 174u, 90u, 39u, 140u, + 181u, 133u, 73u, 250u, + 92u, 150u, 155u, 1u, + 178u, 23u, 105u, 130u, + 18u, 180u, 127u, 140u, + 165u, 197u, 156u, 1u, + 188u, 154u, 176u, 185u, + 127u, 5u, 8u, 214u, + 69u, 186u, 63u, 100u, + 139u, 196u, 152u, 74u, + 114u, 140u, 38u, 150u, + 1u, 155u, 150u, 120u, + 161u, 154u, 185u, 140u, + 137u, 98u, 177u, 112u, + 33u, 89u, 65u, 196u, + 80u, 136u, 100u, 1u, + 139u, 182u, 179u, 73u, + 144u, 86u, 118u, 255u, + 200u, 135u, 152u, 128u, + 69u, 143u, 132u, 133u, + 103u, 65u, 169u, 132u, + 255u, 144u, 126u, 172u, + 128u, 133u, 109u, 70u, + 236u, 64u, 120u, 158u, + 63u, 106u, 47u, 83u, + 91u, 33u, 110u, 175u, + 101u, 125u, 67u, 65u, + 80u, 255u, 139u, 115u, + 25u, 93u, 84u, 113u, + 147u, 96u, 133u, 102u, + 65u, 95u, 119u, 116u, + 191u, 147u, 1u, 148u, + 133u, 204u, 62u, 149u, + 161u, 152u, 112u, 81u, + 87u, 184u, 249u, 115u, + 168u, 1u, 131u, 154u, + 203u, 68u, 249u, 197u, + 186u, 100u, 112u, 89u, + 184u, 84u, 171u, 92u, + 255u, 220u, 191u, 73u, + 11u, 159u, 75u, 120u, + 255u, 168u, 192u, 196u, + 130u, 239u, 38u, 218u, + 99u, 218u, 68u, 125u, + 189u, 104u, 223u, 79u, + 255u, 79u, 107u, 153u, + 155u, 187u, 206u, 125u, + 126u, 119u, 148u, 111u, + 73u, 19u, 194u, 242u, + 100u, 146u, 152u, 203u, + 70u, 106u, 108u, 123u, + 182u, 255u, 105u, 173u, + 168u, 178u, 155u, 153u, + 94u, 113u, 120u, 183u, + 181u, 116u, 212u, 174u, + 93u, 153u, 198u, 255u, + 49u, 225u, 203u, 64u, + 193u, 168u, 60u, 75u, + 209u, 123u, 0u, 107u, + 8u, 149u, 197u, 139u, + 92u, 153u, 143u, 76u, + 243u, 11u, 178u, 37u, + 111u, 207u, 76u, 89u, + 255u, 79u, 129u, 195u, + 148u, 194u, 124u, 109u, + 36u, 139u, 77u, 147u, + 131u, 152u, 128u, 61u, + 122u, 162u, 255u, 220u, + 148u, 149u, 101u, 195u, + 165u, 145u, 43u, 206u, + 224u, 156u, 104u, 117u, + 49u, 60u, 176u, 0u, + 101u, 41u, 68u, 162u, + 56u, 125u, 131u, 101u, + 186u, 135u, 104u, 1u, + 87u, 100u, 149u, 214u, + 105u, 200u, 208u, 162u, + 36u, 145u, 77u, 231u, + 255u, 165u, 138u, 161u, + 123u, 13u, 162u, 114u, + 178u, 103u, 255u, 105u, + 169u, 130u, 177u, 166u, + 133u, 174u, 132u, 100u, + 144u, 169u, 55u, 128u, + 181u, 4u, 150u, 130u, + 162u, 0u, 125u, 223u, + 180u, 236u, 51u, 63u, + 211u, 209u, 149u, 58u, + 152u, 242u, 167u, 192u, + 98u, 141u, 77u, 23u, + 189u, 56u, 198u, 255u, + 185u, 137u, 97u, 227u, + 160u, 112u, 112u, 79u, + 134u, 161u, 115u, 191u, + 112u, 31u, 58u, 92u, + 155u, 185u, 52u, 1u, + 149u, 138u, 145u, 44u, + 102u, 192u, 97u, 105u, + 120u, 141u, 99u, 185u, + 1u, 193u, 160u, 86u, + 143u, 184u, 142u, 211u, + 114u, 132u, 62u, 122u, + 127u, 64u, 60u, 126u, + 125u, 180u, 255u, 92u, + 139u, 126u, 35u, 1u, + 103u, 142u, 137u, 113u, + 112u, 142u, 101u, 110u, + 18u, 77u, 181u, 164u, + 155u, 78u, 255u, 65u, + 186u, 101u, 122u, 114u, + 60u, 218u, 183u, 103u, + 144u, 87u, 112u, 108u, + 165u, 199u, 229u, 135u, + 238u, 116u, 131u, 168u, + 95u, 159u, 175u, 69u, + 117u, 255u, 55u, 161u, + 154u, 104u, 228u, 163u, + 173u, 201u, 130u, 185u, + 1u, 215u, 177u, 78u, + 141u, 180u, 84u, 197u, + 222u, 197u, 169u, 1u, + 157u, 143u, 92u, 22u, + 25u, 147u, 155u, 47u, + 142u, 27u, 108u, 127u, + 76u, 179u, 182u, 115u, + 71u, 192u, 81u, 1u, + 154u, 110u, 141u, 126u, + 152u, 128u, 158u, 131u, + 81u, 178u, 134u, 135u, + 139u, 173u, 74u, 100u, + 105u, 119u, 45u, 1u, + 145u, 79u, 82u, 142u, + 30u, 177u, 99u, 76u, + 89u, 159u, 207u, 114u, + 166u, 68u, 255u, 23u, + 218u, 55u, 166u, 211u, + 151u, 161u, 150u, 113u, + 126u, 89u, 156u, 216u, + 61u, 83u, 124u, 79u, + 1u, 183u, 133u, 194u, + 75u, 126u, 90u, 255u, + 103u, 135u, 171u, 103u, + 124u, 126u, 132u, 73u, + 153u, 159u, 133u, 138u, + 97u, 176u, 187u, 155u, + 194u, 212u, 140u, 194u, + 158u, 120u, 99u, 148u, + 255u, 128u, 59u, 18u, + 36u, 131u, 107u, 138u, + 142u, 183u, 84u, 96u, + 155u, 152u, 177u, 141u, + 101u, 255u, 54u, 161u, + 216u, 44u, 45u, 128u, + 94u, 120u, 183u, 103u, + 102u, 200u, 129u, 85u, + 0u, 147u, 196u, 121u, + 95u, 62u, 111u, 46u, + 68u, 115u, 71u, 230u, + 139u, 171u, 69u, 209u, + 173u, 134u, 85u, 255u, + 104u, 117u, 103u, 198u, + 152u, 109u, 158u, 70u, + 255u, 139u, 113u, 147u, + 99u, 171u, 82u, 186u, + 89u, 36u, 122u, 90u, + 255u, 163u, 121u, 90u, + 144u, 150u, 118u, 38u, + 205u, 154u, 48u, 193u, + 103u, 119u, 112u, 162u, + 167u, 157u, 1u, 131u, + 144u, 153u, 111u, 105u, + 93u, 187u, 119u, 44u, + 224u, 104u, 153u, 127u, + 255u, 172u, 236u, 170u, + 79u, 138u, 8u, 142u, + 93u, 172u, 32u, 60u, + 93u, 159u, 170u, 204u, + 158u, 118u, 75u, 38u, + 200u, 255u, 137u, 129u, + 99u, 23u, 217u, 181u, + 70u, 86u, 0u, 55u, + 67u, 169u, 166u, 95u, + 66u, 93u, 116u, 122u, + 145u, 63u, 160u, 86u, + 57u, 120u, 163u, 132u, + 137u, 146u, 25u, 39u, + 106u, 155u, 114u, 246u, + 60u, 26u, 0u, 158u, + 209u, 148u, 55u, 64u, + 26u, 203u, 139u, 159u, + 115u, 74u, 67u, 109u, + 1u, 159u, 95u, 216u, + 87u, 33u, 147u, 113u, + 1u, 174u, 196u, 162u, + 31u, 73u, 75u, 126u, + 187u, 177u, 175u, 58u, + 255u, 166u, 87u, 45u, + 213u, 61u, 171u, 179u, + 112u, 70u, 158u, 57u, + 177u, 147u, 123u, 127u, + 135u, 108u, 1u, 115u, + 146u, 180u, 100u, 152u, + 110u, 119u, 48u, 99u, + 81u, 131u, 62u, 183u, + 1u, 22u, 175u, 91u, + 244u, 89u, 166u, 115u, + 238u, 150u, 14u, 79u, + 78u, 73u, 73u, 24u, + 127u, 94u, 140u, 136u, + 131u, 149u, 113u, 103u, + 128u, 187u, 114u, 109u, + 153u, 150u, 79u, 0u, + 129u, 67u, 192u, 188u, + 77u, 238u, 143u, 255u, + 84u, 175u, 177u, 117u, + 230u, 152u, 25u, 8u, + 102u, 167u, 212u, 149u, + 128u, 184u, 0u, 182u, + 136u, 72u, 157u, 58u, + 105u, 119u, 72u, 162u, + 117u, 77u, 0u, 196u, + 2u, 213u, 162u, 27u, + 138u, 141u, 250u, 37u, + 146u, 118u, 122u, 59u, + 116u, 102u, 166u, 235u, + 121u, 139u, 89u, 99u, + 144u, 11u, 255u, 86u, + 97u, 134u, 184u, 117u, + 105u, 232u, 129u, 255u, + 74u, 62u, 152u, 102u, + 152u, 202u, 101u, 57u, + 129u, 131u, 197u, 145u, + 164u, 52u, 187u, 109u, + 131u, 84u, 27u, 69u, + 15u, 143u, 113u, 66u, + 206u, 94u, 1u, 84u, + 0u, 145u, 9u, 158u, + 43u, 192u, 175u, 201u, + 153u, 0u, 0u, 187u, + 154u, 71u, 77u, 87u, + 67u, 70u, 250u, 97u, + 44u, 122u, 255u, 76u, + 76u, 117u, 177u, 159u, + 45u, 66u, 194u, 101u, + 85u, 104u, 131u, 199u, + 102u, 4u, 79u, 148u, + 51u, 59u, 252u, 150u, + 126u, 49u, 89u, 255u, + 133u, 165u, 85u, 150u, + 161u, 145u, 92u, 0u, + 151u, 163u, 145u, 109u, + 159u, 86u, 71u, 160u, + 189u, 140u, 159u, 117u, + 135u, 28u, 82u, 149u, + 146u, 137u, 171u, 117u, + 106u, 189u, 194u, 255u, + 165u, 146u, 133u, 145u, + 164u, 255u, 59u, 87u, + 184u, 105u, 158u, 243u, + 154u, 183u, 47u, 148u, + 201u, 75u, 106u, 116u, + 103u, 156u, 126u, 216u, + 91u, 1u, 56u, 116u, + 97u, 153u, 195u, 67u, + 89u, 49u, 102u, 70u, + 150u, 60u, 209u, 106u, + 111u, 97u, 27u, 1u, + 117u, 58u, 57u, 111u, + 106u, 157u, 203u, 203u, + 94u, 96u, 209u, 48u, + 188u, 183u, 19u, 173u, + 162u, 255u, 210u, 146u, + 32u, 108u, 137u, 113u, + 121u, 85u, 156u, 60u, + 91u, 168u, 145u, 161u, + 166u, 255u, 85u, 77u, + 4u, 158u, 58u, 62u, + 105u, 134u, 174u, 86u, + 71u, 117u, 96u, 170u, + 1u, 210u, 135u, 90u, + 87u, 202u, 95u, 183u, + 141u, 95u, 115u, 183u, + 172u, 198u, 162u, 157u, + 165u, 1u, 151u, 87u, + 124u, 80u, 189u, 173u, + 104u, 83u, 179u, 73u, + 125u, 118u, 115u, 114u, + 167u, 255u, 110u, 134u, + 4u, 127u, 84u, 188u, + 45u, 160u, 97u, 103u, + 110u, 134u, 140u, 201u, + 71u, 255u, 65u, 219u, + 57u, 83u, 162u, 140u, + 92u, 164u, 255u, 122u, + 238u, 244u, 62u, 145u, + 53u, 181u, 217u, 150u, + 158u, 215u, 153u, 129u, + 52u, 79u, 123u, 146u, + 255u, 117u, 87u, 222u, + 111u, 190u, 43u, 170u, + 172u, 189u, 217u, 6u, + 162u, 96u, 0u, 65u, + 51u, 109u, 148u, 104u, + 212u, 235u, 120u, 168u, + 255u, 187u, 166u, 63u, + 134u, 131u, 39u, 144u, + 198u, 239u, 74u, 102u, + 221u, 53u, 36u, 216u, + 147u, 90u, 255u, 90u, + 97u, 163u, 162u, 76u, + 73u, 89u, 147u, 86u, + 156u, 189u, 69u, 146u, + 79u, 88u, 194u, 123u, + 89u, 171u, 123u, 93u, + 65u, 71u, 255u, 126u, + 175u, 140u, 212u, 128u, + 90u, 65u, 149u, 115u, + 173u, 44u, 112u, 193u, + 1u, 95u, 96u, 226u, + 80u, 59u, 64u, 122u, + 37u, 129u, 1u, 130u, + 123u, 185u, 132u, 83u, + 56u, 99u, 96u, 153u, + 53u, 133u, 91u, 170u, + 131u, 115u, 141u, 200u, + 232u, 122u, 178u, 202u, + 159u, 62u, 112u, 88u, + 162u, 122u, 194u, 0u, + 120u, 106u, 181u, 151u, + 176u, 184u, 170u, 96u, + 98u, 145u, 153u, 255u, + 160u, 79u, 100u, 124u, + 128u, 129u, 133u, 134u, + 151u, 143u, 71u, 42u, + 74u, 255u, 126u, 117u, + 133u, 127u, 94u, 73u, + 104u, 184u, 81u, 213u, + 162u, 185u, 63u, 104u, + 164u, 19u, 94u, 1u, + 118u, 44u, 112u, 118u, + 134u, 182u, 208u, 132u, + 151u, 94u, 1u, 54u, + 157u, 196u, 131u, 29u, + 131u, 107u, 96u, 130u, + 110u, 30u, 24u, 143u, + 48u, 15u, 185u, 167u, + 88u, 136u, 145u, 31u, + 121u, 255u, 76u, 151u, + 183u, 162u, 125u, 157u, + 31u, 165u, 255u, 49u, + 179u, 27u, 76u, 142u, + 120u, 89u, 129u, 164u, + 22u, 255u, 186u, 12u, + 148u, 249u, 154u, 145u, + 230u, 239u, 76u, 121u, + 66u, 170u, 188u, 254u, + 156u, 138u, 173u, 112u, + 150u, 136u, 248u, 111u, + 132u, 71u, 82u, 212u, + 119u, 71u, 255u, 121u, + 144u, 129u, 134u, 164u, + 198u, 67u, 120u, 122u, + 255u, 99u, 102u, 109u, + 164u, 141u, 164u, 176u, + 158u, 114u, 195u, 57u, + 109u, 1u, 39u, 160u, + 36u, 80u, 134u, 166u, + 101u, 238u, 129u, 154u, + 157u, 81u, 103u, 248u, + 133u, 213u, 26u, 68u, + 130u, 95u, 114u, 163u, + 115u, 124u, 255u, 128u, + 129u, 189u, 204u, 1u, + 219u, 64u, 139u, 171u, + 20u, 199u, 118u, 120u, + 56u, 35u, 1u, 195u, + 115u, 150u, 111u, 109u, + 161u, 173u, 72u, 240u, + 162u, 113u, 174u, 129u, + 134u, 167u, 1u, 186u, + 218u, 84u, 136u, 159u, + 64u, 88u, 94u, 228u, + 140u, 110u, 164u, 51u, + 130u, 71u, 130u, 1u, + 212u, 179u, 44u, 55u, + 165u, 167u, 180u, 32u, + 143u, 160u, 64u, 85u, + 137u, 107u, 113u, 255u, + 108u, 113u, 128u, 141u, + 177u, 80u, 41u, 255u, + 58u, 136u, 166u, 133u, + 82u, 186u, 31u, 143u, + 130u, 255u, 228u, 216u, + 195u, 128u, 114u, 119u, + 35u, 126u, 189u, 76u, + 141u, 98u, 100u, 124u, + 52u, 101u, 185u, 165u, + 99u, 255u, 186u, 119u, + 124u, 92u, 120u, 199u, + 47u, 117u, 87u, 179u, + 188u, 134u, 248u, 80u, + 0u, 142u, 56u, 80u, + 190u, 150u, 191u, 97u, + 42u, 104u, 148u, 159u, + 121u, 255u, 139u, 204u, + 15u, 198u, 57u, 170u, + 60u, 138u, 152u, 140u, + 8u, 113u, 130u, 159u, + 188u, 172u, 106u, 3u, + 73u, 1u, 142u, 137u, + 41u, 85u, 167u, 149u, + 110u, 142u, 242u, 168u, + 77u, 247u, 110u, 178u, + 183u, 115u, 235u, 134u, + 7u, 1u, 175u, 210u, + 190u, 147u, 130u, 27u, + 224u, 51u, 79u, 26u, + 95u, 239u, 127u, 255u, + 117u, 99u, 8u, 70u, + 30u, 217u, 157u, 158u, + 46u, 246u, 200u, 142u, + 134u, 87u, 255u, 89u, + 149u, 79u, 161u, 80u, + 178u, 116u, 122u, 151u, + 178u, 89u, 180u, 255u, + 113u, 70u, 121u, 233u, + 49u, 191u, 140u, 52u, + 219u, 116u, 102u, 86u, + 78u, 144u, 81u, 118u, + 175u, 108u, 217u, 130u, + 29u, 97u, 74u, 133u, + 112u, 97u, 1u, 28u, + 121u, 10u, 56u, 174u, + 58u, 112u, 114u, 165u, + 113u, 197u, 157u, 81u, + 165u, 203u, 173u, 1u, + 121u, 76u, 174u, 42u, + 109u, 153u, 63u, 222u, + 18u, 64u, 197u, 130u, + 255u, 123u, 145u, 182u, + 255u, 188u, 162u, 212u, + 160u, 92u, 118u, 226u, + 109u, 128u, 195u, 126u, + 99u, 187u, 168u, 89u, + 52u, 204u, 1u, 170u, + 93u, 132u, 82u, 92u, + 71u, 124u, 60u, 179u, + 72u, 172u, 117u, 221u, + 92u, 149u, 255u, 202u, + 141u, 182u, 110u, 121u, + 143u, 234u, 119u, 207u, + 108u, 133u, 172u, 83u, + 174u, 162u, 127u, 100u, + 136u, 173u, 92u, 77u, + 65u, 147u, 50u, 1u, + 187u, 142u, 204u, 92u, + 113u, 182u, 190u, 105u, + 255u, 173u, 248u, 115u, + 142u, 98u, 53u, 122u, + 144u, 225u, 54u, 76u, + 119u, 174u, 104u, 129u, + 155u, 235u, 234u, 102u, + 164u, 143u, 97u, 192u, + 59u, 255u, 208u, 151u, + 138u, 69u, 255u, 59u, + 108u, 73u, 83u, 22u, + 11u, 176u, 154u, 51u, + 195u, 149u, 95u, 52u, + 131u, 88u, 158u, 138u, + 1u, 180u, 47u, 164u, + 108u, 92u, 125u, 248u, + 209u, 244u, 241u, 66u, + 30u, 208u, 104u, 113u, + 248u, 83u, 185u, 138u, + 95u, 138u, 111u, 201u, + 149u, 133u, 0u, 175u, + 101u, 1u, 89u, 15u, + 245u, 20u, 143u, 198u, + 118u, 238u, 58u, 109u, + 110u, 136u, 192u, 223u, + 142u, 123u, 142u, 103u, + 121u, 201u, 79u, 193u, + 137u, 187u, 151u, 142u, + 1u, 194u, 81u, 91u, + 166u, 170u, 187u, 164u, + 174u, 30u, 117u, 168u, + 58u, 112u, 255u, 61u, + 243u, 68u, 45u, 136u, + 116u, 181u, 255u, 185u, + 105u, 177u, 223u, 129u, + 42u, 214u, 153u, 192u, + 151u, 58u, 236u, 205u, + 1u, 164u, 102u, 105u, + 177u, 46u, 134u, 109u, + 159u, 212u, 133u, 121u, + 229u, 84u, 20u, 172u, + 171u, 88u, 129u, 129u, + 150u, 126u, 131u, 238u, + 106u, 126u, 149u, 161u, + 198u, 132u, 255u, 82u, + 102u, 147u, 236u, 185u, + 62u, 96u, 217u, 146u, + 226u, 105u, 158u, 132u, + 59u, 1u, 14u, 114u, + 131u, 1u, 146u, 153u, + 80u, 35u, 101u, 120u, + 106u, 136u, 98u, 118u, + 153u, 193u, 148u, 91u, + 70u, 255u, 32u, 244u, + 7u, 142u, 218u, 147u, + 228u, 198u, 254u, 126u, + 219u, 30u, 250u, 143u, + 202u, 63u, 36u, 163u, + 36u, 223u, 132u, 181u, + 255u, 185u, 75u, 167u, + 71u, 175u, 204u, 88u, + 125u, 224u, 36u, 157u, + 206u, 175u, 195u, 181u, + 76u, 111u, 0u, 175u, + 27u, 192u, 136u, 209u, + 231u, 123u, 231u, 143u, + 156u, 83u, 1u, 135u, + 93u, 21u, 210u, 31u, + 203u, 102u, 189u, 172u, + 70u, 103u, 56u, 105u, + 99u, 124u, 231u, 1u, + 37u, 250u, 113u, 100u, + 106u, 173u, 99u, 63u, + 84u, 184u, 107u, 140u, + 1u, 38u, 254u, 181u, + 143u, 108u, 188u, 178u, + 187u, 145u, 163u, 97u, + 149u, 47u, 149u, 151u, + 149u, 0u, 137u, 84u, + 151u, 149u, 178u, 166u, + 198u, 136u, 129u, 73u, + 155u, 33u, 93u, 78u, + 7u, 49u, 133u, 97u, + 255u, 131u, 79u, 216u, + 163u, 143u, 191u, 174u, + 211u, 190u, 189u, 116u, + 61u, 120u, 101u, 97u, + 25u, 99u, 129u, 174u, + 83u, 171u, 255u, 201u, + 180u, 1u, 198u, 45u, + 100u, 194u, 106u, 60u, + 94u, 188u, 157u, 154u, + 245u, 42u, 154u, 170u, + 255u, 186u, 138u, 62u, + 65u, 88u, 136u, 72u, + 132u, 153u, 184u, 137u, + 134u, 113u, 174u, 197u, + 12u, 155u, 1u, 197u, + 147u, 169u, 125u, 115u, + 129u, 134u, 168u, 21u, + 146u, 159u, 104u, 235u, + 41u, 122u, 159u, 125u, + 210u, 129u, 102u, 73u, + 81u, 119u, 74u, 208u, + 81u, 132u, 0u, 154u, + 1u, 97u, 155u, 102u, + 152u, 104u, 219u, 140u, + 68u, 153u, 76u, 162u, + 200u, 67u, 38u, 181u, + 255u, 134u, 144u, 129u, + 6u, 38u, 142u, 209u, + 168u, 136u, 167u, 150u, + 128u, 89u, 108u, 206u, + 195u, 52u, 118u, 0u, + 237u, 171u, 158u, 186u, + 38u, 113u, 228u, 11u, + 207u, 96u, 78u, 94u, + 100u, 1u, 90u, 180u, + 133u, 189u, 142u, 174u, + 196u, 134u, 120u, 139u, + 135u, 161u, 34u, 119u, + 122u, 126u, 103u, 159u, + 150u, 42u, 69u, 255u, + 136u, 151u, 148u, 49u, + 130u, 137u, 182u, 135u, + 132u, 146u, 80u, 151u, + 1u, 149u, 118u, 98u, + 230u, 111u, 170u, 90u, + 89u, 42u, 205u, 157u, + 169u, 66u, 67u, 0u, + 164u, 91u, 125u, 156u, + 84u, 160u, 115u, 83u, + 165u, 85u, 140u, 245u, + 97u, 68u, 96u, 93u, + 120u, 108u, 155u, 52u, + 226u, 80u, 133u, 49u, + 53u, 92u, 210u, 255u, + 117u, 1u, 175u, 97u, + 161u, 185u, 167u, 211u, + 122u, 43u, 211u, 78u, + 123u, 79u, 79u, 32u, + 32u, 255u, 94u, 217u, + 64u, 62u, 117u, 78u, + 178u, 163u, 108u, 28u, + 107u, 75u, 181u, 215u, + 111u, 86u, 251u, 255u, + 82u, 43u, 207u, 64u, + 204u, 64u, 124u, 111u, + 122u, 114u, 192u, 188u, + 191u, 169u, 144u, 142u, + 57u, 28u, 73u, 214u, + 154u, 77u, 219u, 1u, + 212u, 90u, 249u, 39u, + 40u, 87u, 42u, 164u, + 57u, 1u, 132u, 90u, + 56u, 120u, 124u, 134u, + 233u, 66u, 72u, 166u, + 224u, 55u, 148u, 74u, + 46u, 130u, 1u, 124u, + 174u, 148u, 101u, 126u, + 115u, 115u, 212u, 78u, + 154u, 248u, 58u, 198u, + 68u, 254u, 8u, 107u, + 96u, 243u, 170u, 255u, + 51u, 180u, 171u, 246u, + 125u, 0u, 138u, 174u, + 61u, 1u, 70u, 205u, + 75u, 139u, 139u, 149u, + 154u, 240u, 81u, 226u, + 209u, 255u, 236u, 159u, + 80u, 106u, 102u, 144u, + 226u, 62u, 172u, 241u, + 184u, 100u, 188u, 185u, + 158u, 150u, 104u, 80u, + 106u, 150u, 219u, 211u, + 121u, 66u, 174u, 178u, + 1u, 154u, 230u, 144u, + 250u, 255u, 151u, 131u, + 49u, 137u, 200u, 168u, + 167u, 64u, 124u, 130u, + 94u, 23u, 250u, 209u, + 48u, 58u, 98u, 207u, + 148u, 246u, 73u, 255u, + 59u, 201u, 149u, 151u, + 195u, 197u, 98u, 61u, + 0u, 110u, 92u, 174u, + 192u, 185u, 47u, 104u, + 87u, 26u, 148u, 128u, + 244u, 152u, 47u, 135u, + 255u, 130u, 169u, 83u, + 180u, 250u, 69u, 122u, + 108u, 157u, 71u, 47u, + 132u, 141u, 78u, 68u, + 104u, 119u, 59u, 104u, + 110u, 170u, 88u, 157u, + 113u, 81u, 255u, 53u, + 126u, 120u, 187u, 138u, + 255u, 90u, 186u, 132u, + 157u, 171u, 134u, 208u, + 64u, 217u, 142u, 111u, + 98u, 173u, 82u, 144u, + 58u, 33u, 166u, 62u, + 255u, 144u, 224u, 142u, + 81u, 175u, 63u, 82u, + 89u, 12u, 135u, 129u, + 219u, 190u, 255u, 97u, + 56u, 155u, 85u, 151u, + 184u, 90u, 132u, 173u, + 78u, 62u, 179u, 204u, + 166u, 178u, 140u, 50u, + 90u, 135u, 1u, 98u, + 149u, 120u, 185u, 123u, + 179u, 207u, 108u, 152u, + 35u, 185u, 113u, 92u, + 179u, 86u, 255u, 81u, + 124u, 166u, 139u, 100u, + 182u, 53u, 143u, 141u, + 73u, 114u, 152u, 96u, + 207u, 143u, 157u, 201u, + 1u, 98u, 183u, 43u, + 215u, 75u, 71u, 141u, + 121u, 185u, 71u, 130u, + 1u, 137u, 115u, 165u, + 143u, 242u, 159u, 16u, + 172u, 199u, 150u, 156u, + 135u, 54u, 132u, 122u, + 131u, 130u, 199u, 193u, + 167u, 114u, 96u, 255u, + 30u, 132u, 97u, 81u, + 81u, 202u, 1u, 11u, + 132u, 76u, 90u, 143u, + 88u, 181u, 26u, 154u, + 53u, 162u, 206u, 176u, + 32u, 55u, 158u, 124u, + 175u, 135u, 200u, 117u, + 165u, 168u, 79u, 126u, + 65u, 197u, 152u, 1u, + 96u, 174u, 163u, 132u, + 191u, 255u, 190u, 164u, + 69u, 77u, 133u, 184u, + 136u, 121u, 140u, 154u, + 63u, 4u, 78u, 126u, + 121u, 19u, 195u, 144u, + 27u, 137u, 81u, 255u, + 84u, 159u, 182u, 31u, + 75u, 255u, 151u, 198u, + 109u, 111u, 68u, 47u, + 68u, 127u, 136u, 173u, + 129u, 160u, 129u, 125u, + 135u, 225u, 27u, 17u, + 86u, 45u, 177u, 122u, + 41u, 113u, 4u, 239u, + 30u, 255u, 130u, 89u, + 145u, 133u, 210u, 140u, + 208u, 1u, 55u, 111u, + 97u, 131u, 162u, 130u, + 173u, 95u, 111u, 120u, + 141u, 189u, 195u, 177u, + 126u, 135u, 113u, 187u, + 1u, 39u, 82u, 83u, + 101u, 89u, 71u, 164u, + 177u, 168u, 92u, 56u, + 68u, 239u, 167u, 158u, + 113u, 118u, 129u, 160u, + 1u, 220u, 128u, 193u, + 1u, 179u, 86u, 92u, + 220u, 143u, 138u, 135u, + 82u, 162u, 141u, 72u, + 148u, 154u, 15u, 110u, + 139u, 96u, 137u, 193u, + 50u, 161u, 77u, 149u, + 102u, 72u, 130u, 107u, + 116u, 187u, 255u, 112u, + 61u, 201u, 71u, 126u, + 118u, 115u, 182u, 122u, + 117u, 140u, 153u, 146u, + 176u, 51u, 70u, 255u, + 146u, 29u, 1u, 34u, + 131u, 53u, 210u, 90u, + 168u, 196u, 143u, 61u, + 194u, 198u, 56u, 44u, + 152u, 148u, 112u, 151u, + 113u, 155u, 122u, 141u, + 157u, 126u, 113u, 100u, + 113u, 118u, 255u, 127u, + 97u, 193u, 118u, 84u, + 193u, 87u, 148u, 8u, + 165u, 255u, 100u, 74u, + 138u, 28u, 120u, 106u, + 121u, 129u, 190u, 144u, + 142u, 150u, 70u, 169u, + 117u, 109u, 149u, 91u, + 0u, 88u, 96u, 77u, + 165u, 98u, 166u, 74u, + 92u, 139u, 169u, 136u, + 89u, 140u, 95u, 136u, + 142u, 150u, 1u, 201u, + 0u, 56u, 92u, 151u, + 152u, 70u, 187u, 145u, + 201u, 137u, 148u, 68u, + 141u, 158u, 65u, 104u, + 161u, 237u, 172u, 108u, + 209u, 0u, 127u, 216u, + 206u, 199u, 202u, 169u, + 132u, 44u, 183u, 219u, + 106u, 53u, 40u, 100u, + 80u, 45u, 212u, 83u, + 255u, 148u, 48u, 45u, + 24u, 112u, 33u, 221u, + 166u, 1u, 140u, 183u, + 169u, 88u, 150u, 146u, + 185u, 107u, 74u, 121u, + 69u, 131u, 68u, 114u, + 49u, 202u, 89u, 126u, + 34u, 128u, 104u, 146u, + 136u, 75u, 126u, 109u, + 41u, 1u, 217u, 162u, + 203u, 182u, 153u, 190u, + 180u, 147u, 86u, 204u, + 68u, 94u, 41u, 255u, + 34u, 126u, 112u, 107u, + 255u, 53u, 167u, 97u, + 56u, 73u, 90u, 113u, + 46u, 106u, 157u, 155u, + 172u, 191u, 112u, 32u, + 91u, 214u, 179u, 255u, + 55u, 186u, 18u, 97u, + 251u, 153u, 62u, 142u, + 208u, 161u, 75u, 154u, + 161u, 34u, 129u, 133u, + 169u, 178u, 104u, 142u, + 68u, 193u, 133u, 1u, + 170u, 133u, 126u, 125u, + 201u, 120u, 156u, 0u, + 200u, 53u, 107u, 126u, + 89u, 186u, 174u, 114u, + 97u, 167u, 138u, 108u, + 103u, 28u, 1u, 175u, + 124u, 70u, 176u, 185u, + 76u, 126u, 199u, 132u, + 115u, 242u, 118u, 137u, + 59u, 192u, 94u, 199u, + 95u, 87u, 139u, 217u, + 188u, 87u, 196u, 234u, + 136u, 144u, 255u, 130u, + 130u, 49u, 80u, 230u, + 88u, 204u, 115u, 198u, + 255u, 188u, 188u, 191u, + 84u, 179u, 125u, 238u, + 0u, 102u, 157u, 174u, + 91u, 115u, 172u, 107u, + 180u, 73u, 150u, 184u, + 152u, 192u, 253u, 145u, + 1u, 84u, 199u, 253u, + 90u, 2u, 133u, 238u, + 15u, 63u, 246u, 166u, + 208u, 125u, 29u, 100u, + 118u, 211u, 1u, 203u, + 190u, 178u, 242u, 150u, + 103u, 49u, 96u, 148u, + 94u, 92u, 91u, 173u, + 117u, 223u, 180u, 17u, + 131u, 33u, 243u, 164u, + 75u, 211u, 175u, 53u, + 142u, 163u, 85u, 1u, + 44u, 158u, 88u, 55u, + 111u, 148u, 24u, 73u, + 184u, 187u, 37u, 155u, + 209u, 1u, 61u, 94u, + 240u, 122u, 190u, 73u, + 109u, 132u, 119u, 160u, + 233u, 183u, 156u, 255u, + 107u, 128u, 180u, 80u, + 84u, 47u, 255u, 235u, + 87u, 2u, 71u, 107u, + 152u, 210u, 117u, 169u, + 6u, 183u, 62u, 36u, + 148u, 154u, 146u, 142u, + 34u, 156u, 159u, 1u, + 179u, 154u, 116u, 123u, + 175u, 85u, 218u, 169u, + 142u, 223u, 3u, 89u, + 146u, 132u, 84u, 59u, + 192u, 136u, 124u, 88u, + 193u, 255u, 217u, 175u, + 167u, 164u, 120u, 108u, + 111u, 90u, 106u, 86u, + 140u, 160u, 74u, 201u, + 87u, 255u, 191u, 113u, + 171u, 255u, 176u, 130u, + 137u, 103u, 21u, 183u, + 185u, 73u, 124u, 220u, + 166u, 101u, 106u, 117u, + 46u, 30u, 169u, 1u, + 178u, 183u, 113u, 177u, + 68u, 186u, 181u, 7u, + 168u, 139u, 115u, 116u, + 154u, 147u, 148u, 255u, + 53u, 90u, 90u, 152u, + 119u, 78u, 158u, 163u, + 73u, 130u, 119u, 145u, + 28u, 147u, 136u, 147u, + 149u, 124u, 203u, 111u, + 95u, 255u, 92u, 127u, + 173u, 112u, 92u, 68u, + 131u, 206u, 87u, 129u, + 230u, 255u, 108u, 162u, + 89u, 214u, 167u, 243u, + 108u, 39u, 174u, 41u, + 159u, 223u, 251u, 111u, + 89u, 170u, 0u, 76u, + 127u, 128u, 180u, 105u, + 207u, 58u, 70u, 53u, + 210u, 0u, 189u, 123u, + 105u, 32u, 29u, 150u, + 145u, 180u, 46u, 109u, + 161u, 116u, 187u, 70u, + 119u, 171u, 192u, 121u, + 255u, 121u, 225u, 171u, + 176u, 79u, 111u, 159u, + 162u, 206u, 78u, 135u, + 149u, 162u, 133u, 87u, + 81u, 101u, 1u, 121u, + 126u, 105u, 201u, 127u, + 88u, 83u, 113u, 168u, + 0u, 140u, 82u, 159u, + 81u, 156u, 180u, 84u, + 109u, 107u, 121u, 90u, + 214u, 251u, 222u, 255u, + 182u, 119u, 154u, 167u, + 113u, 18u, 181u, 255u, + 108u, 87u, 228u, 97u, + 245u, 156u, 88u, 1u, + 255u, 202u, 164u, 70u, + 147u, 223u, 122u, 249u, + 131u, 82u, 90u, 149u, + 36u, 227u, 180u, 129u, + 155u, 192u, 122u, 98u, + 178u, 232u, 114u, 167u, + 126u, 255u, 167u, 89u, + 229u, 253u, 199u, 161u, + 154u, 100u, 241u, 69u, + 208u, 203u, 3u, 102u, + 145u, 117u, 42u, 188u, + 155u, 114u, 255u, 86u, + 178u, 248u, 117u, 138u, + 15u, 154u, 130u, 61u, + 255u, 10u, 209u, 195u, + 118u, 106u, 145u, 193u, + 129u, 64u, 243u, 96u, + 212u, 57u, 105u, 194u, + 74u, 255u, 188u, 123u, + 114u, 165u, 73u, 39u, + 88u, 181u, 208u, 58u, + 200u, 195u, 205u, 174u, + 51u, 148u, 200u, 179u, + 119u, 145u, 1u, 155u, + 255u, 128u, 78u, 104u, + 176u, 77u, 132u, 158u, + 121u, 160u, 136u, 107u, + 120u, 78u, 85u, 55u, + 12u, 59u, 105u, 21u, + 131u, 148u, 2u, 213u, + 203u, 177u, 146u, 1u, + 154u, 119u, 167u, 12u, + 111u, 59u, 173u, 28u, + 33u, 195u, 147u, 255u, + 140u, 196u, 150u, 236u, + 245u, 140u, 135u, 132u, + 21u, 159u, 87u, 225u, + 160u, 39u, 161u, 119u, + 50u, 126u, 135u, 184u, + 255u, 177u, 20u, 76u, + 109u, 116u, 181u, 21u, + 209u, 70u, 255u, 177u, + 105u, 142u, 170u, 92u, + 125u, 112u, 159u, 116u, + 112u, 153u, 7u, 17u, + 215u, 21u, 255u, 122u, + 97u, 76u, 60u, 119u, + 16u, 50u, 93u, 243u, + 255u, 110u, 64u, 127u, + 24u, 105u, 159u, 91u, + 115u, 142u, 92u, 157u, + 183u, 108u, 110u, 191u, + 203u, 166u, 78u, 162u, + 99u, 191u, 213u, 65u, + 7u, 35u, 54u, 1u, + 177u, 174u, 8u, 27u, + 154u, 127u, 124u, 91u, + 162u, 92u, 2u, 77u, + 165u, 92u, 156u, 122u, + 50u, 151u, 1u, 166u, + 177u, 34u, 86u, 255u, + 37u, 92u, 114u, 52u, + 129u, 152u, 131u, 36u, + 86u, 132u, 142u, 104u, + 133u, 137u, 116u, 112u, + 100u, 163u, 115u, 124u, + 138u, 179u, 88u, 161u, + 197u, 255u, 154u, 122u, + 217u, 62u, 66u, 108u, + 90u, 121u, 104u, 149u, + 155u, 112u, 103u, 1u, + 120u, 92u, 139u, 150u, + 136u, 127u, 164u, 208u, + 116u, 168u, 145u, 110u, + 157u, 137u, 156u, 95u, + 91u, 81u, 78u, 1u, + 108u, 116u, 88u, 153u, + 102u, 123u, 172u, 1u, + 127u, 155u, 108u, 87u, + 187u, 69u, 112u, 178u, + 1u, 164u, 33u, 253u, + 123u, 153u, 167u, 40u, + 150u, 129u, 157u, 89u, + 201u, 70u, 125u, 238u, + 132u, 166u, 19u, 126u, + 117u, 117u, 238u, 131u, + 174u, 126u, 255u, 225u, + 101u, 110u, 169u, 164u, + 173u, 94u, 191u, 255u, + 20u, 207u, 37u, 132u, + 31u, 227u, 19u, 124u, + 72u, 157u, 123u, 10u, + 234u, 47u, 200u, 216u, + 1u, 129u, 33u, 123u, + 188u, 143u, 87u, 59u, + 95u, 108u, 50u, 124u, + 93u, 86u, 125u, 178u, + 174u, 154u, 176u, 1u, + 208u, 181u, 56u, 88u, + 134u, 121u, 152u, 140u, + 159u, 177u, 147u, 156u, + 182u, 162u, 168u, 50u, + 1u, 93u, 161u, 147u, + 174u, 56u, 172u, 135u, + 113u, 207u, 73u, 145u, + 191u, 171u, 1u, 131u, + 94u, 56u, 144u, 127u, + 124u, 99u, 143u, 80u, + 124u, 156u, 140u, 127u, + 0u, 228u, 91u, 212u, + 206u, 206u, 124u, 111u, + 62u, 76u, 155u, 170u, + 190u, 72u, 184u, 11u, + 110u, 101u, 164u, 126u, + 130u, 255u, 113u, 231u, + 187u, 217u, 232u, 66u, + 151u, 120u, 91u, 164u, + 140u, 23u, 96u, 187u, + 92u, 146u, 142u, 93u, + 219u, 255u, 175u, 147u, + 121u, 154u, 146u, 73u, + 60u, 14u, 166u, 74u, + 26u, 137u, 245u, 98u, + 11u, 0u, 22u, 98u, + 33u, 127u, 161u, 13u, + 115u, 48u, 103u, 110u, + 147u, 96u, 193u, 164u, + 83u, 155u, 255u, 113u, + 49u, 203u, 61u, 81u, + 110u, 117u, 255u, 243u, + 184u, 101u, 165u, 77u, + 103u, 138u, 129u, 216u, + 59u, 133u, 185u, 151u, + 54u, 140u, 68u, 68u, + 197u, 203u, 134u, 196u, + 207u, 255u, 186u, 113u, + 241u, 161u, 207u, 109u, + 93u, 1u, 120u, 164u, + 129u, 121u, 193u, 84u, + 217u, 115u, 86u, 221u, + 135u, 189u, 198u, 73u, + 200u, 1u, 145u, 99u, + 82u, 102u, 232u, 100u, + 73u, 215u, 58u, 97u, + 198u, 175u, 174u, 76u, + 174u, 125u, 167u, 151u, + 117u, 136u, 113u, 74u, + 1u, 123u, 105u, 88u, + 67u, 52u, 56u, 66u, + 85u, 51u, 65u, 128u, + 190u, 43u, 131u, 68u, + 144u, 145u, 255u, 122u, + 116u, 139u, 63u, 100u, + 232u, 181u, 152u, 255u, + 89u, 164u, 152u, 100u, + 184u, 89u, 7u, 86u, + 91u, 121u, 103u, 165u, + 58u, 188u, 171u, 125u, + 255u, 71u, 125u, 119u, + 65u, 28u, 204u, 141u, + 58u, 255u, 85u, 202u, + 71u, 172u, 51u, 117u, + 60u, 166u, 105u, 52u, + 113u, 38u, 194u, 128u, + 112u, 183u, 39u, 79u, + 194u, 148u, 134u, 57u, + 132u, 255u, 15u, 150u, + 103u, 120u, 65u, 219u, + 164u, 86u, 67u, 123u, + 134u, 196u, 255u, 95u, + 22u, 166u, 141u, 146u, + 174u, 215u, 183u, 87u, + 163u, 168u, 93u, 255u, + 130u, 46u, 137u, 140u, + 140u, 113u, 88u, 61u, + 120u, 98u, 186u, 156u, + 58u, 73u, 189u, 109u, + 127u, 115u, 77u, 66u, + 57u, 246u, 72u, 163u, + 135u, 255u, 220u, 177u, + 1u, 86u, 12u, 37u, + 160u, 40u, 99u, 208u, + 103u, 230u, 65u, 244u, + 105u, 185u, 28u, 86u, + 173u, 154u, 189u, 127u, + 254u, 100u, 180u, 152u, + 1u, 93u, 102u, 221u, + 199u, 83u, 171u, 62u, + 116u, 151u, 60u, 157u, + 172u, 154u, 146u, 148u, + 121u, 201u, 150u, 153u, + 147u, 98u, 1u, 50u, + 135u, 113u, 152u, 159u, + 17u, 200u, 83u, 151u, + 97u, 42u, 255u, 108u, + 138u, 175u, 37u, 163u, + 121u, 109u, 245u, 157u, + 76u, 255u, 185u, 93u, + 98u, 180u, 84u, 104u, + 63u, 187u, 124u, 66u, + 41u, 132u, 213u, 145u, + 154u, 132u, 76u, 23u, + 85u, 197u, 159u, 79u, + 255u, 1u, 100u, 79u, + 131u, 80u, 168u, 90u, + 139u, 82u, 113u, 59u, + 255u, 226u, 58u, 99u, + 112u, 40u, 152u, 153u, + 146u, 94u, 23u, 255u, + 72u, 207u, 106u, 207u, + 116u, 90u, 110u, 117u, + 82u, 70u, 125u, 154u, + 255u, 85u, 134u, 28u, + 64u, 113u, 241u, 141u, + 88u, 130u, 127u, 31u, + 250u, 50u, 152u, 195u, + 163u, 102u, 83u, 133u, + 207u, 210u, 129u, 98u, + 96u, 50u, 195u, 51u, + 207u, 165u, 125u, 255u, + 255u, 251u, 240u, 135u, + 174u, 198u, 200u, 62u, + 150u, 236u, 132u, 116u, + 49u, 129u, 123u, 164u, + 232u, 156u, 1u, 205u, + 123u, 202u, 150u, 129u, + 25u, 83u, 32u, 157u, + 141u, 116u, 147u, 4u, + 63u, 69u, 172u, 31u, + 63u, 138u, 1u, 128u, + 116u, 130u, 115u, 26u, + 68u, 68u, 160u, 7u, + 74u, 119u, 97u, 111u, + 91u, 53u, 74u, 84u, + 141u, 255u, 102u, 85u, + 150u, 227u, 238u, 170u, + 119u, 100u, 1u, 85u, + 165u, 41u, 73u, 181u, + 200u, 170u, 200u, 92u, + 34u, 131u, 110u, 179u, + 123u, 132u, 108u, 137u, + 86u, 190u, 214u, 162u, + 68u, 44u, 1u, 104u, + 68u, 127u, 91u, 140u, + 169u, 202u, 170u, 131u, + 219u, 148u, 214u, 220u, + 0u, 52u, 180u, 103u, + 229u, 91u, 152u, 68u, + 172u, 92u, 157u, 155u, + 131u, 222u, 112u, 1u, + 41u, 162u, 59u, 24u, + 43u, 118u, 164u, 126u, + 83u, 187u, 20u, 38u, + 71u, 132u, 42u, 173u, + 27u, 1u, 220u, 250u, + 128u, 102u, 75u, 157u, + 21u, 163u, 119u, 155u, + 143u, 167u, 207u, 1u, + 102u, 181u, 137u, 118u, + 152u, 60u, 99u, 129u, + 112u, 88u, 184u, 130u, + 134u, 189u, 70u, 74u, + 123u, 159u, 144u, 84u, + 43u, 111u, 255u, 84u, + 97u, 177u, 251u, 222u, + 63u, 70u, 126u, 1u, + 78u, 78u, 223u, 140u, + 152u, 144u, 89u, 55u, + 175u, 144u, 74u, 176u, + 255u, 204u, 239u, 224u, + 113u, 61u, 95u, 136u, + 51u, 177u, 93u, 158u, + 122u, 87u, 207u, 122u, + 173u, 54u, 215u, 234u, + 62u, 0u, 205u, 86u, + 158u, 88u, 66u, 13u, + 150u, 150u, 118u, 106u, + 88u, 162u, 116u, 174u, + 188u, 184u, 1u, 109u, + 96u, 167u, 159u, 111u, + 74u, 172u, 141u, 118u, + 0u, 189u, 242u, 12u, + 155u, 83u, 58u, 205u, + 162u, 135u, 179u, 105u, + 119u, 105u, 108u, 201u, + 55u, 99u, 118u, 69u, + 163u, 141u, 141u, 111u, + 144u, 137u, 255u, 97u, + 255u, 229u, 133u, 126u, + 61u, 172u, 108u, 120u, + 183u, 64u, 164u, 129u, + 69u, 104u, 190u, 200u, + 185u, 247u, 119u, 214u, + 7u, 143u, 51u, 105u, + 174u, 77u, 114u, 129u, + 188u, 0u, 88u, 179u, + 91u, 0u, 185u, 103u, + 165u, 156u, 84u, 39u, + 133u, 126u, 137u, 53u, + 84u, 231u, 243u, 135u, + 61u, 159u, 65u, 82u, + 87u, 226u, 158u, 104u, + 102u, 154u, 107u, 255u, + 127u, 160u, 138u, 242u, + 107u, 123u, 181u, 255u, + 147u, 40u, 198u, 123u, + 116u, 84u, 194u, 81u, + 212u, 162u, 44u, 248u, + 183u, 86u, 115u, 8u, + 104u, 86u, 69u, 56u, + 224u, 132u, 160u, 70u, + 0u, 88u, 170u, 185u, + 255u, 85u, 203u, 196u, + 190u, 65u, 187u, 113u, + 102u, 76u, 21u, 173u, + 110u, 141u, 74u, 101u, + 112u, 125u, 162u, 137u, + 202u, 125u, 98u, 174u, + 136u, 157u, 1u, 113u, + 164u, 77u, 97u, 139u, + 159u, 50u, 192u, 1u, + 68u, 23u, 117u, 175u, + 230u, 135u, 193u, 152u, + 115u, 62u, 143u, 111u, + 147u, 211u, 191u, 124u, + 214u, 141u, 152u, 172u, + 65u, 90u, 171u, 1u, + 95u, 207u, 79u, 185u, + 162u, 1u, 186u, 140u, + 1u, 149u, 132u, 128u, + 73u, 63u, 74u, 99u, + 165u, 147u, 111u, 158u, + 185u, 195u, 39u, 74u, + 121u, 0u, 95u, 107u, + 131u, 127u, 133u, 82u, + 63u, 169u, 138u, 164u, + 148u, 102u, 197u, 67u, + 120u, 55u, 121u, 53u, + 255u, 172u, 153u, 130u, + 226u, 177u, 146u, 185u, + 149u, 34u, 162u, 150u, + 194u, 218u, 183u, 86u, + 255u, 69u, 32u, 138u, + 142u, 111u, 81u, 115u, + 161u, 1u, 67u, 191u, + 53u, 175u, 76u, 110u, + 51u, 141u, 197u, 77u, + 71u, 143u, 158u, 102u, + 179u, 162u, 121u, 114u, + 155u, 255u, 116u, 92u, + 65u, 96u, 75u, 170u, + 69u, 193u, 82u, 155u, + 100u, 84u, 178u, 177u, + 110u, 143u, 158u, 138u, + 107u, 114u, 255u, 180u, + 224u, 69u, 172u, 191u, + 155u, 181u, 164u, 76u, + 61u, 178u, 22u, 64u, + 45u, 149u, 79u, 46u, + 255u, 127u, 113u, 41u, + 142u, 55u, 124u, 178u, + 116u, 159u, 116u, 114u, + 185u, 116u, 154u, 114u, + 1u, 128u, 175u, 106u, + 55u, 75u, 162u, 90u, + 85u, 125u, 145u, 6u, + 152u, 154u, 109u, 71u, + 125u, 255u, 135u, 162u, + 144u, 152u, 162u, 195u, + 53u, 164u, 155u, 153u, + 255u, 144u, 107u, 85u, + 184u, 124u, 190u, 108u, + 147u, 87u, 139u, 104u, + 129u, 125u, 220u, 119u, + 81u, 151u, 157u, 137u, + 116u, 1u, 89u, 6u, + 152u, 130u, 125u, 196u, + 191u, 135u, 210u, 1u, + 30u, 153u, 87u, 71u, + 140u, 166u, 121u, 120u, + 230u, 77u, 75u, 229u, + 114u, 38u, 169u, 69u, + 197u, 191u, 116u, 1u, + 110u, 197u, 210u, 88u, + 163u, 141u, 63u, 112u, + 40u, 136u, 86u, 95u, + 1u, 149u, 132u, 211u, + 58u, 175u, 143u, 82u, + 218u, 246u, 203u, 214u, + 78u, 196u, 87u, 140u, + 3u, 187u, 255u, 147u, + 115u, 97u, 147u, 82u, + 80u, 48u, 155u, 122u, + 137u, 75u, 70u, 88u, + 191u, 172u, 136u, 74u, + 171u, 201u, 1u, 107u, + 180u, 170u, 97u, 183u, + 37u, 100u, 29u, 245u, + 45u, 108u, 186u, 224u, + 150u, 151u, 152u, 0u, + 151u, 131u, 63u, 187u, + 63u, 16u, 138u, 118u, + 151u, 94u, 224u, 146u, + 1u, 189u, 96u, 56u, + 107u, 196u, 171u, 162u, + 83u, 255u, 88u, 34u, + 136u, 201u, 189u, 90u, + 70u, 153u, 190u, 235u, + 255u, 35u, 93u, 118u, + 108u, 91u, 100u, 155u, + 110u, 78u, 214u, 58u, + 175u, 190u, 183u, 131u, + 124u, 85u, 146u, 255u, + 102u, 168u, 80u, 155u, + 112u, 129u, 117u, 215u, + 126u, 199u, 150u, 32u, + 69u, 232u, 114u, 46u, + 204u, 145u, 255u, 61u, + 129u, 151u, 87u, 210u, + 125u, 113u, 176u, 187u, + 102u, 149u, 152u, 133u, + 132u, 149u, 85u, 102u, + 101u, 111u, 152u, 90u, + 131u, 255u, 78u, 107u, + 132u, 108u, 96u, 116u, + 160u, 148u, 89u, 19u, + 80u, 192u, 135u, 0u, + 213u, 107u, 194u, 156u, + 147u, 67u, 170u, 56u, + 99u, 137u, 167u, 255u, + 229u, 168u, 87u, 107u, + 112u, 110u, 202u, 174u, + 92u, 108u, 121u, 178u, + 143u, 200u, 241u, 200u, + 69u, 127u, 255u, 179u, + 107u, 161u, 59u, 135u, + 110u, 194u, 101u, 111u, + 200u, 255u, 63u, 193u, + 169u, 218u, 41u, 252u, + 142u, 208u, 155u, 114u, + 131u, 131u, 110u, 215u, + 84u, 171u, 161u, 217u, + 148u, 185u, 179u, 49u, + 255u, 156u, 236u, 183u, + 156u, 1u, 173u, 119u, + 170u, 101u, 113u, 121u, + 167u, 181u, 135u, 130u, + 105u, 58u, 196u, 36u, + 41u, 142u, 35u, 168u, + 144u, 255u, 20u, 85u, + 103u, 138u, 114u, 186u, + 19u, 118u, 63u, 92u, + 99u, 189u, 168u, 68u, + 165u, 61u, 11u, 159u, + 159u, 114u, 152u, 89u, + 95u, 101u, 1u, 43u, + 104u, 132u, 19u, 155u, + 255u, 100u, 89u, 230u, + 87u, 93u, 159u, 154u, + 132u, 37u, 48u, 247u, + 118u, 120u, 22u, 60u, + 104u, 251u, 136u, 125u, + 158u, 115u, 106u, 75u, + 1u, 120u, 60u, 119u, + 162u, 172u, 221u, 100u, + 186u, 163u, 182u, 183u, + 193u, 158u, 173u, 201u, + 43u, 1u, 141u, 78u, + 92u, 189u, 118u, 43u, + 172u, 255u, 98u, 177u, + 77u, 51u, 84u, 164u, + 102u, 175u, 125u, 173u, + 155u, 113u, 212u, 96u, + 179u, 106u, 55u, 101u, + 54u, 243u, 191u, 152u, + 255u, 133u, 125u, 97u, + 188u, 154u, 102u, 79u, + 180u, 60u, 130u, 119u, + 56u, 135u, 25u, 138u, + 144u, 67u, 136u, 1u, + 75u, 159u, 157u, 174u, + 180u, 134u, 98u, 255u, + 48u, 41u, 237u, 171u, + 145u, 105u, 125u, 24u, + 121u, 208u, 136u, 113u, + 106u, 246u, 150u, 132u, + 48u, 91u, 124u, 255u, + 118u, 167u, 125u, 101u, + 158u, 1u, 237u, 54u, + 101u, 27u, 137u, 85u, + 77u, 156u, 153u, 102u, + 205u, 216u, 114u, 73u, + 51u, 213u, 158u, 149u, + 112u, 232u, 132u, 141u, + 164u, 217u, 82u, 179u, + 50u, 187u, 1u, 94u, + 127u, 131u, 126u, 103u, + 107u, 127u, 255u, 178u, + 104u, 135u, 105u, 112u, + 169u, 120u, 93u, 56u, + 171u, 86u, 184u, 1u, + 205u, 41u, 133u, 128u, + 122u, 235u, 195u, 153u, + 120u, 159u, 91u, 95u, + 159u, 152u, 135u, 94u, + 132u, 93u, 89u, 183u, + 0u, 64u, 150u, 91u, + 114u, 101u, 199u, 69u, + 255u, 186u, 194u, 99u, + 184u, 124u, 80u, 191u, + 101u, 81u, 138u, 140u, + 126u, 133u, 90u, 115u, + 85u, 163u, 93u, 125u, + 102u, 242u, 255u, 97u, + 85u, 146u, 55u, 61u, + 150u, 211u, 61u, 150u, + 171u, 91u, 169u, 121u, + 171u, 255u, 172u, 136u, + 156u, 161u, 35u, 172u, + 125u, 253u, 61u, 56u, + 225u, 221u, 1u, 41u, + 168u, 162u, 200u, 75u, + 149u, 237u, 242u, 171u, + 166u, 31u, 186u, 194u, + 170u, 1u, 112u, 231u, + 58u, 114u, 174u, 29u, + 112u, 128u, 174u, 226u, + 105u, 119u, 150u, 134u, + 184u, 241u, 138u, 157u, + 75u, 169u, 73u, 0u, + 61u, 142u, 44u, 142u, + 121u, 180u, 40u, 85u, + 55u, 112u, 1u, 184u, + 131u, 118u, 150u, 92u, + 129u, 177u, 105u, 130u, + 159u, 127u, 162u, 95u, + 82u, 122u, 255u, 168u, + 146u, 18u, 149u, 66u, + 224u, 98u, 231u, 119u, + 182u, 26u, 80u, 91u, + 154u, 82u, 55u, 210u, + 1u, 77u, 153u, 119u, + 131u, 171u, 98u, 50u, + 116u, 71u, 178u, 149u, + 194u, 106u, 121u, 84u, + 1u, 31u, 138u, 117u, + 231u, 165u, 73u, 52u, + 228u, 139u, 129u, 77u, + 106u, 150u, 126u, 103u, + 210u, 158u, 100u, 138u, + 68u, 93u, 150u, 114u, + 131u, 158u, 1u, 147u, + 95u, 1u, 226u, 109u, + 180u, 199u, 87u, 88u, + 190u, 224u, 98u, 232u, + 105u, 93u, 103u, 229u, + 226u, 137u, 95u, 48u, + 59u, 70u, 115u, 95u, + 1u, 51u, 162u, 123u, + 74u, 130u, 165u, 164u, + 168u, 122u, 236u, 255u, + 84u, 122u, 189u, 32u, + 114u, 241u, 255u, 175u, + 170u, 210u, 23u, 15u, + 0u, 36u, 144u, 23u, + 97u, 204u, 93u, 135u, + 130u, 123u, 56u, 164u, + 156u, 189u, 28u, 32u, + 136u, 122u, 0u, 176u, + 25u, 81u, 135u, 128u, + 184u, 140u, 65u, 17u, + 62u, 179u, 181u, 214u, + 119u, 98u, 185u, 180u, + 134u, 135u, 169u, 104u, + 136u, 188u, 113u, 98u, + 187u, 255u, 155u, 19u, + 85u, 134u, 132u, 174u, + 255u, 219u, 111u, 99u, + 205u, 216u, 168u, 101u, + 144u, 198u, 219u, 15u, + 1u, 116u, 138u, 224u, + 161u, 146u, 217u, 93u, + 161u, 212u, 189u, 54u, + 104u, 99u, 135u, 194u, + 81u, 163u, 191u, 178u, + 164u, 140u, 33u, 155u, + 195u, 65u, 144u, 53u, + 230u, 34u, 0u, 180u, + 141u, 131u, 25u, 79u, + 129u, 255u, 43u, 74u, + 137u, 203u, 20u, 17u, + 175u, 235u, 21u, 148u, + 177u, 74u, 196u, 101u, + 39u, 136u, 1u, 155u, + 35u, 128u, 82u, 128u, + 120u, 152u, 111u, 78u, + 100u, 69u, 86u, 158u, + 149u, 94u, 255u, 47u, + 97u, 131u, 66u, 191u, + 195u, 109u, 120u, 80u, + 15u, 211u, 37u, 8u, + 63u, 82u, 47u, 221u, + 84u, 115u, 113u, 115u, + 213u, 255u, 102u, 107u, + 80u, 56u, 255u, 215u, + 155u, 120u, 190u, 179u, + 126u, 86u, 205u, 162u, + 77u, 61u, 43u, 135u, + 171u, 106u, 164u, 61u, + 164u, 159u, 167u, 50u, + 61u, 173u, 119u, 98u, + 96u, 76u, 161u, 0u, + 145u, 1u, 175u, 52u, + 97u, 155u, 14u, 122u, + 43u, 178u, 190u, 17u, + 148u, 190u, 146u, 62u, + 110u, 208u, 210u, 169u, + 92u, 255u, 202u, 187u, + 169u, 91u, 33u, 166u, + 114u, 188u, 130u, 134u, + 136u, 93u, 64u, 87u, + 13u, 142u, 187u, 14u, + 202u, 115u, 49u, 161u, + 112u, 79u, 191u, 1u, + 143u, 179u, 53u, 88u, + 162u, 91u, 142u, 154u, + 114u, 63u, 30u, 159u, + 125u, 255u, 160u, 157u, + 225u, 57u, 244u, 82u, + 143u, 56u, 63u, 210u, + 166u, 112u, 76u, 165u, + 134u, 239u, 85u, 1u, + 152u, 78u, 201u, 245u, + 45u, 88u, 1u, 156u, + 89u, 22u, 202u, 140u, + 144u, 223u, 209u, 147u, + 191u, 162u, 187u, 115u, + 216u, 180u, 119u, 91u, + 101u, 26u, 172u, 255u, + 107u, 64u, 59u, 112u, + 199u, 255u, 84u, 112u, + 141u, 160u, 167u, 119u, + 128u, 215u, 27u, 34u, + 208u, 10u, 198u, 147u, + 125u, 130u, 1u, 73u, + 36u, 167u, 149u, 186u, + 127u, 138u, 62u, 78u, + 133u, 185u, 227u, 140u, + 118u, 0u, 134u, 43u, + 167u, 116u, 208u, 233u, + 69u, 40u, 147u, 164u, + 99u, 181u, 65u, 164u, + 155u, 21u, 255u, 201u, + 15u, 127u, 108u, 61u, + 147u, 115u, 57u, 255u, + 229u, 165u, 8u, 35u, + 182u, 115u, 207u, 71u, + 107u, 64u, 255u, 80u, + 48u, 177u, 126u, 172u, + 85u, 196u, 84u, 167u, + 36u, 65u, 149u, 129u, + 106u, 196u, 125u, 128u, + 83u, 71u, 253u, 213u, + 1u, 90u, 42u, 104u, + 111u, 102u, 133u, 94u, + 84u, 117u, 181u, 76u, + 100u, 129u, 255u, 124u, + 252u, 167u, 123u, 193u, + 15u, 92u, 47u, 1u, + 180u, 189u, 168u, 55u, + 136u, 206u, 53u, 90u, + 91u, 105u, 29u, 177u, + 162u, 171u, 146u, 175u, + 1u, 161u, 108u, 120u, + 143u, 141u, 131u, 125u, + 146u, 93u, 186u, 117u, + 118u, 202u, 240u, 39u, + 44u, 209u, 82u, 1u, + 8u, 140u, 167u, 58u, + 56u, 78u, 119u, 164u, + 114u, 144u, 114u, 123u, + 128u, 144u, 99u, 72u, + 58u, 174u, 57u, 146u, + 124u, 255u, 119u, 83u, + 63u, 106u, 82u, 119u, + 115u, 165u, 248u, 255u, + 200u, 107u, 178u, 148u, + 87u, 201u, 135u, 201u, + 138u, 102u, 126u, 86u, + 137u, 41u, 148u, 255u, + 128u, 129u, 164u, 54u, + 174u, 131u, 157u, 181u, + 233u, 54u, 212u, 135u, + 176u, 137u, 198u, 164u, + 43u, 165u, 129u, 99u, + 117u, 255u, 169u, 103u, + 189u, 170u, 94u, 197u, + 157u, 167u, 30u, 138u, + 97u, 215u, 54u, 69u, + 122u, 195u, 255u, 83u, + 244u, 106u, 110u, 183u, + 161u, 1u, 103u, 79u, + 148u, 229u, 89u, 27u, + 113u, 42u, 206u, 205u, + 80u, 90u, 78u, 77u, + 223u, 32u, 196u, 177u, + 180u, 180u, 138u, 200u, + 181u, 52u, 133u, 255u, + 190u, 38u, 175u, 253u, + 26u, 157u, 255u, 1u, + 142u, 21u, 153u, 121u, + 97u, 231u, 150u, 90u, + 58u, 88u, 154u, 127u, + 124u, 115u, 62u, 120u, + 124u, 173u, 171u, 67u, + 0u, 109u, 155u, 71u, + 142u, 144u, 143u, 187u, + 126u, 73u, 78u, 255u, + 99u, 96u, 146u, 120u, + 142u, 106u, 68u, 125u, + 122u, 151u, 60u, 210u, + 76u, 190u, 142u, 184u, + 212u, 255u, 116u, 161u, + 240u, 102u, 193u, 36u, + 145u, 49u, 132u, 190u, + 1u, 118u, 120u, 183u, + 69u, 78u, 69u, 143u, + 151u, 146u, 143u, 164u, + 154u, 1u, 107u, 96u, + 122u, 205u, 200u, 77u, + 104u, 113u, 134u, 21u, + 38u, 146u, 80u, 187u, + 222u, 207u, 146u, 255u, + 71u, 206u, 59u, 108u, + 80u, 47u, 250u, 59u, + 176u, 160u, 141u, 111u, + 215u, 117u, 143u, 115u, + 88u, 162u, 255u, 27u, + 130u, 114u, 38u, 136u, + 108u, 150u, 125u, 109u, + 116u, 1u, 161u, 158u, + 86u, 136u, 110u, 203u, + 110u, 104u, 135u, 177u, + 53u, 135u, 69u, 83u, + 156u, 52u, 255u, 80u, + 157u, 194u, 194u, 134u, + 91u, 128u, 110u, 157u, + 125u, 121u, 132u, 160u, + 223u, 91u, 198u, 54u, + 35u, 0u, 121u, 56u, + 142u, 145u, 170u, 74u, + 138u, 111u, 132u, 82u, + 141u, 110u, 200u, 149u, + 51u, 147u, 103u, 134u, + 165u, 49u, 27u, 255u, + 59u, 231u, 177u, 110u, + 98u, 50u, 149u, 255u, + 141u, 93u, 137u, 194u, + 130u, 165u, 128u, 140u, + 182u, 172u, 131u, 48u, + 176u, 139u, 217u, 161u, + 135u, 164u, 218u, 125u, + 127u, 255u, 210u, 181u, + 48u, 132u, 95u, 92u, + 241u, 83u, 160u, 211u, + 146u, 141u, 112u, 255u, + 119u, 73u, 149u, 38u, + 77u, 171u, 220u, 158u, + 132u, 196u, 206u, 103u, + 153u, 48u, 116u, 61u, + 156u, 164u, 160u, 207u, + 255u, 112u, 11u, 204u, + 158u, 224u, 179u, 177u, + 139u, 133u, 146u, 175u, + 244u, 125u, 241u, 93u, + 1u, 39u, 138u, 252u, + 221u, 32u, 104u, 75u, + 168u, 38u, 213u, 176u, + 165u, 210u, 205u, 6u, + 227u, 205u, 1u, 58u, + 158u, 130u, 119u, 110u, + 109u, 195u, 108u, 255u, + 103u, 32u, 132u, 140u, + 127u, 85u, 174u, 209u, + 41u, 0u, 148u, 209u, + 96u, 66u, 166u, 189u, + 181u, 169u, 220u, 93u, + 157u, 152u, 164u, 54u, + 119u, 192u, 58u, 108u, + 159u, 150u, 106u, 160u, + 1u, 169u, 64u, 131u, + 77u, 156u, 69u, 83u, + 172u, 169u, 79u, 28u, + 161u, 109u, 175u, 186u, + 223u, 79u, 1u, 34u, + 210u, 86u, 125u, 55u, + 51u, 188u, 115u, 1u, + 239u, 129u, 251u, 160u, + 195u, 214u, 89u, 249u, + 160u, 203u, 106u, 111u, + 142u, 141u, 201u, 84u, + 122u, 86u, 107u, 79u, + 113u, 145u, 162u, 140u, + 134u, 0u, 160u, 131u, + 213u, 15u, 181u, 238u, + 179u, 1u, 62u, 213u, + 133u, 129u, 204u, 206u, + 172u, 104u, 138u, 135u, + 133u, 225u, 64u, 87u, + 88u, 164u, 144u, 255u, + 86u, 76u, 103u, 83u, + 193u, 100u, 204u, 100u, + 196u, 156u, 92u, 154u, + 198u, 255u, 195u, 214u, + 181u, 76u, 84u, 25u, + 69u, 47u, 105u, 88u, + 76u, 177u, 58u, 181u, + 157u, 106u, 130u, 97u, + 173u, 193u, 118u, 81u, + 154u, 57u, 1u, 212u, + 153u, 184u, 157u, 160u, + 149u, 121u, 164u, 255u, + 122u, 59u, 143u, 131u, + 171u, 129u, 134u, 54u, + 110u, 119u, 145u, 188u, + 217u, 169u, 145u, 145u, + 117u, 216u, 255u, 118u, + 209u, 234u, 59u, 204u, + 111u, 136u, 255u, 134u, + 129u, 78u, 113u, 127u, + 117u, 128u, 123u, 178u, + 175u, 196u, 176u, 60u, + 87u, 62u, 129u, 140u, + 81u, 69u, 182u, 11u, + 201u, 227u, 82u, 126u, + 151u, 194u, 192u, 1u, + 88u, 88u, 112u, 214u, + 131u, 175u, 152u, 1u, + 94u, 120u, 116u, 5u, + 162u, 119u, 161u, 227u, + 72u, 120u, 74u, 220u, + 55u, 255u, 208u, 142u, + 176u, 93u, 124u, 159u, + 59u, 123u, 212u, 170u, + 73u, 103u, 96u, 255u, + 112u, 216u, 103u, 121u, + 120u, 127u, 125u, 134u, + 181u, 137u, 157u, 142u, + 88u, 150u, 255u, 128u, + 105u, 227u, 70u, 10u, + 53u, 61u, 208u, 173u, + 196u, 126u, 38u, 94u, + 24u, 109u, 115u, 140u, + 1u, 64u, 117u, 105u, + 139u, 134u, 189u, 185u, + 205u, 130u, 250u, 87u, + 143u, 83u, 247u, 81u, + 180u, 76u, 178u, 136u, + 1u, 124u, 149u, 209u, + 89u, 140u, 182u, 65u, + 127u, 24u, 50u, 192u, + 61u, 109u, 129u, 81u, + 223u, 255u, 26u, 49u, + 149u, 217u, 125u, 67u, + 148u, 165u, 113u, 136u, + 104u, 190u, 191u, 162u, + 206u, 108u, 136u, 188u, + 1u, 117u, 208u, 123u, + 98u, 72u, 140u, 124u, + 172u, 171u, 105u, 106u, + 81u, 136u, 137u, 88u, + 1u, 239u, 93u, 82u, + 91u, 185u, 191u, 97u, + 181u, 65u, 163u, 147u, + 43u, 152u, 208u, 89u, + 154u, 158u, 0u, 125u, + 66u, 200u, 102u, 73u, + 108u, 205u, 129u, 145u, + 1u, 122u, 127u, 152u, + 182u, 143u, 57u, 193u, + 57u, 247u, 38u, 1u, + 234u, 9u, 95u, 73u, + 118u, 232u, 66u, 20u, + 152u, 1u, 34u, 67u, + 100u, 124u, 125u, 69u, + 149u, 0u, 94u, 144u, + 132u, 106u, 181u, 138u, + 207u, 76u, 15u, 130u, + 170u, 254u, 97u, 186u, + 124u, 144u, 115u, 13u, + 62u, 174u, 144u, 59u, + 134u, 166u, 123u, 255u, + 66u, 179u, 137u, 125u, + 129u, 63u, 153u, 0u, + 241u, 165u, 83u, 98u, + 107u, 152u, 9u, 120u, + 163u, 65u, 123u, 170u, + 161u, 149u, 119u, 171u, + 105u, 149u, 109u, 170u, + 104u, 255u, 138u, 158u, + 12u, 131u, 135u, 95u, + 174u, 79u, 99u, 90u, + 27u, 111u, 145u, 86u, + 140u, 255u, 117u, 206u, + 170u, 142u, 97u, 70u, + 250u, 170u, 1u, 107u, + 88u, 168u, 50u, 69u, + 150u, 114u, 115u, 50u, + 171u, 108u, 40u, 12u, + 114u, 110u, 218u, 177u, + 152u, 196u, 123u, 166u, + 66u, 245u, 255u, 88u, + 237u, 1u, 103u, 84u, + 126u, 56u, 244u, 124u, + 89u, 189u, 79u, 146u, + 128u, 116u, 204u, 119u, + 70u, 250u, 225u, 185u, + 217u, 154u, 234u, 1u, + 94u, 252u, 144u, 46u, + 126u, 178u, 92u, 80u, + 128u, 142u, 86u, 255u, + 182u, 83u, 177u, 35u, + 19u, 166u, 148u, 57u, + 67u, 175u, 119u, 122u, + 56u, 255u, 197u, 182u, + 210u, 115u, 206u, 102u, + 84u, 99u, 171u, 110u, + 191u, 71u, 23u, 130u, + 252u, 69u, 213u, 41u, + 3u, 4u, 88u, 109u, + 148u, 136u, 122u, 255u, + 230u, 79u, 223u, 18u, + 111u, 149u, 163u, 149u, + 56u, 124u, 99u, 51u, + 176u, 247u, 218u, 143u, + 170u, 148u, 255u, 96u, + 255u, 202u, 75u, 93u, + 109u, 56u, 29u, 103u, + 142u, 185u, 164u, 144u, + 68u, 82u, 108u, 170u, + 53u, 192u, 83u, 86u, + 137u, 1u, 224u, 103u, + 216u, 181u, 13u, 193u, + 164u, 155u, 212u, 143u, + 132u, 143u, 220u, 126u, + 221u, 90u, 164u, 1u, + 34u, 127u, 144u, 24u, + 232u, 107u, 112u, 140u, + 211u, 193u, 7u, 158u, + 231u, 88u, 115u, 26u, + 22u, 16u, 183u, 255u, + 158u, 183u, 86u, 223u, + 157u, 183u, 154u, 155u, + 135u, 214u, 124u, 101u, + 255u, 132u, 155u, 188u, + 57u, 132u, 175u, 126u, + 118u, 1u, 71u, 119u, + 149u, 83u, 159u, 180u, + 113u, 172u, 81u, 112u, + 95u, 171u, 120u, 108u, + 63u, 117u, 172u, 41u, + 223u, 131u, 137u, 224u, + 144u, 232u, 234u, 181u, + 124u, 10u, 0u, 97u, + 166u, 194u, 120u, 224u, + 70u, 166u, 60u, 126u, + 169u, 52u, 173u, 185u, + 228u, 167u, 255u, 161u, + 144u, 143u, 187u, 16u, + 52u, 15u, 73u, 28u, + 1u, 40u, 173u, 46u, + 157u, 72u, 167u, 133u, + 27u, 98u, 169u, 1u, + 108u, 93u, 90u, 203u, + 225u, 142u, 158u, 153u, + 193u, 185u, 50u, 202u, + 117u, 119u, 181u, 222u, + 57u, 175u, 130u, 157u, + 255u, 208u, 204u, 198u, + 137u, 138u, 191u, 176u, + 67u, 163u, 177u, 52u, + 115u, 34u, 74u, 45u, + 144u, 123u, 191u, 242u, + 138u, 72u, 61u, 255u, + 153u, 97u, 122u, 118u, + 161u, 197u, 107u, 255u, + 124u, 154u, 147u, 100u, + 98u, 69u, 177u, 123u, + 138u, 179u, 85u, 80u, + 216u, 221u, 108u, 180u, + 74u, 164u, 136u, 136u, + 97u, 129u, 1u, 154u, + 3u, 111u, 1u, 118u, + 229u, 59u, 42u, 239u, + 74u, 97u, 119u, 67u, + 230u, 157u, 104u, 40u, + 238u, 224u, 195u, 255u, + 204u, 216u, 88u, 216u, + 122u, 112u, 119u, 172u, + 93u, 101u, 82u, 104u, + 48u, 102u, 191u, 255u, + 65u, 101u, 116u, 113u, + 163u, 42u, 128u, 124u, + 84u, 206u, 173u, 125u, + 143u, 44u, 204u, 91u, + 90u, 220u, 24u, 146u, + 33u, 1u, 68u, 27u, + 167u, 139u, 189u, 79u, + 32u, 255u, 164u, 178u, + 203u, 172u, 44u, 102u, + 122u, 100u, 77u, 105u, + 142u, 63u, 95u, 176u, + 155u, 238u, 69u, 94u, + 177u, 160u, 121u, 128u, + 141u, 141u, 164u, 126u, + 73u, 57u, 133u, 255u, + 44u, 217u, 64u, 189u, + 119u, 255u, 171u, 55u, + 126u, 121u, 44u, 172u, + 33u, 184u, 134u, 160u, + 88u, 69u, 111u, 26u, + 60u, 64u, 147u, 82u, + 210u, 78u, 96u, 182u, + 105u, 131u, 95u, 255u, + 147u, 128u, 240u, 165u, + 85u, 197u, 84u, 151u, + 0u, 154u, 195u, 27u, + 145u, 137u, 21u, 84u, + 206u, 127u, 144u, 48u, + 57u, 235u, 75u, 175u, + 164u, 57u, 184u, 145u, + 114u, 55u, 250u, 255u, + 173u, 131u, 230u, 255u, + 134u, 82u, 196u, 112u, + 145u, 173u, 159u, 150u, + 179u, 250u, 215u, 58u, + 176u, 91u, 159u, 55u, + 197u, 133u, 188u, 82u, + 88u, 255u, 133u, 93u, + 148u, 140u, 63u, 94u, + 145u, 132u, 85u, 128u, + 145u, 156u, 129u, 74u, + 85u, 255u, 26u, 108u, + 96u, 125u, 135u, 39u, + 92u, 124u, 107u, 96u, + 99u, 122u, 160u, 90u, + 124u, 124u, 132u, 67u, + 109u, 32u, 92u, 255u, + 207u, 18u, 215u, 171u, + 135u, 69u, 105u, 36u, + 135u, 133u, 163u, 1u, + 171u, 118u, 119u, 220u, + 234u, 133u, 145u, 128u, + 85u, 78u, 161u, 69u, + 120u, 255u, 98u, 141u, + 65u, 77u, 196u, 103u, + 106u, 161u, 145u, 135u, + 212u, 141u, 154u, 1u, + 170u, 177u, 96u, 156u, + 186u, 114u, 94u, 52u, + 51u, 116u, 47u, 199u, + 183u, 194u, 224u, 184u, + 110u, 33u, 115u, 161u, + 0u, 159u, 16u, 221u, + 8u, 137u, 128u, 255u, + 38u, 176u, 163u, 46u, + 77u, 175u, 181u, 139u, + 195u, 212u, 153u, 81u, + 188u, 191u, 189u, 150u, + 162u, 135u, 211u, 64u, + 186u, 255u, 219u, 144u, + 113u, 147u, 148u, 213u, + 1u, 163u, 130u, 47u, + 245u, 77u, 67u, 114u, + 179u, 22u, 109u, 242u, + 155u, 85u, 195u, 175u, + 200u, 151u, 147u, 53u, + 131u, 142u, 104u, 88u, + 174u, 255u, 103u, 46u, + 119u, 42u, 102u, 49u, + 255u, 112u, 178u, 153u, + 122u, 133u, 96u, 98u, + 144u, 69u, 132u, 156u, + 119u, 162u, 189u, 161u, + 159u, 144u, 129u, 202u, + 127u, 92u, 1u, 97u, + 64u, 186u, 133u, 165u, + 108u, 141u, 158u, 109u, + 144u, 183u, 144u, 122u, + 182u, 202u, 205u, 124u, + 84u, 156u, 46u, 122u, + 1u, 237u, 121u, 109u, + 77u, 126u, 161u, 34u, + 109u, 182u, 1u, 173u, + 110u, 230u, 153u, 148u, + 168u, 186u, 151u, 66u, + 208u, 101u, 130u, 193u, + 129u, 214u, 119u, 169u, + 150u, 255u, 237u, 91u, + 94u, 123u, 148u, 140u, + 219u, 175u, 239u, 138u, + 137u, 166u, 109u, 148u, + 78u, 110u, 240u, 145u, + 1u, 76u, 199u, 152u, + 97u, 201u, 238u, 182u, + 48u, 185u, 1u, 4u, + 14u, 52u, 190u, 69u, + 212u, 15u, 51u, 172u, + 108u, 216u, 96u, 58u, + 138u, 121u, 51u, 7u, + 139u, 250u, 255u, 141u, + 181u, 54u, 229u, 137u, + 65u, 194u, 93u, 97u, + 216u, 102u, 154u, 71u, + 39u, 115u, 191u, 78u, + 255u, 53u, 43u, 183u, + 189u, 229u, 166u, 185u, + 165u, 134u, 116u, 112u, + 135u, 255u, 107u, 138u, + 41u, 144u, 95u, 97u, + 255u, 41u, 181u, 165u, + 50u, 165u, 110u, 185u, + 189u, 127u, 112u, 151u, + 53u, 104u, 230u, 82u, + 185u, 167u, 141u, 108u, + 94u, 255u, 89u, 193u, + 56u, 125u, 161u, 170u, + 80u, 193u, 99u, 210u, + 109u, 53u, 219u, 90u, + 55u, 75u, 3u, 51u, + 146u, 179u, 124u, 156u, + 11u, 53u, 1u, 187u, + 255u, 97u, 195u, 159u, + 118u, 88u, 96u, 85u, + 115u, 136u, 84u, 138u, + 54u, 222u, 188u, 140u, + 179u, 165u, 143u, 192u, + 220u, 111u, 55u, 182u, + 129u, 75u, 10u, 243u, + 93u, 56u, 255u, 124u, + 255u, 177u, 247u, 87u, + 102u, 77u, 174u, 195u, + 96u, 101u, 184u, 81u, + 43u, 40u, 126u, 13u, + 139u, 84u, 123u, 164u, + 1u, 157u, 55u, 245u, + 219u, 145u, 175u, 123u, + 213u, 209u, 221u, 50u, + 167u, 53u, 151u, 118u, + 177u, 0u, 132u, 230u, + 160u, 116u, 61u, 138u, + 222u, 93u, 86u, 71u, + 125u, 120u, 35u, 143u, + 153u, 174u, 108u, 90u, + 132u, 139u, 169u, 154u, + 139u, 1u, 155u, 173u, + 178u, 151u, 255u, 77u, + 113u, 149u, 98u, 148u, + 213u, 84u, 64u, 186u, + 142u, 74u, 94u, 149u, + 189u, 1u, 88u, 87u, + 167u, 129u, 153u, 191u, + 97u, 201u, 124u, 106u, + 147u, 93u, 248u, 175u, + 219u, 84u, 64u, 6u, + 7u, 163u, 185u, 85u, + 177u, 218u, 123u, 0u, + 122u, 57u, 120u, 170u, + 109u, 140u, 115u, 129u, + 65u, 91u, 11u, 87u, + 102u, 158u, 73u, 0u, + 134u, 16u, 150u, 69u, + 168u, 255u, 127u, 198u, + 102u, 185u, 201u, 107u, + 143u, 9u, 33u, 152u, + 49u, 89u, 206u, 156u, + 25u, 92u, 196u, 116u, + 255u, 153u, 168u, 179u, + 239u, 127u, 69u, 106u, + 95u, 138u, 97u, 77u, + 61u, 69u, 113u, 128u, + 153u, 172u, 163u, 147u, + 74u, 111u, 70u, 106u, + 123u, 246u, 131u, 255u, + 169u, 153u, 206u, 251u, + 237u, 195u, 176u, 145u, + 119u, 53u, 255u, 51u, + 110u, 103u, 87u, 14u, + 32u, 226u, 2u, 14u, + 117u, 137u, 128u, 1u, + 108u, 109u, 92u, 136u, + 116u, 93u, 169u, 201u, + 123u, 37u, 118u, 145u, + 90u, 95u, 177u, 104u, + 255u, 209u, 146u, 152u, + 181u, 114u, 228u, 144u, + 136u, 147u, 110u, 13u, + 229u, 118u, 182u, 144u, + 0u, 175u, 209u, 125u, + 167u, 92u, 112u, 104u, + 108u, 64u, 184u, 255u, + 78u, 85u, 49u, 192u, + 39u, 15u, 200u, 168u, + 175u, 239u, 109u, 42u, + 127u, 98u, 171u, 191u, + 141u, 117u, 148u, 173u, + 132u, 191u, 221u, 151u, + 166u, 255u, 113u, 67u, + 134u, 177u, 131u, 88u, + 196u, 147u, 255u, 30u, + 136u, 144u, 148u, 49u, + 9u, 1u, 111u, 164u, + 70u, 53u, 145u, 97u, + 113u, 89u, 112u, 84u, + 53u, 116u, 188u, 62u, + 133u, 255u, 93u, 153u, + 152u, 158u, 255u, 60u, + 51u, 52u, 24u, 42u, + 163u, 145u, 138u, 149u, + 17u, 177u, 206u, 27u, + 6u, 211u, 205u, 237u, + 205u, 134u, 36u, 156u, + 31u, 51u, 19u, 81u, + 255u, 128u, 185u, 39u, + 119u, 149u, 105u, 240u, + 100u, 119u, 61u, 182u, + 12u, 14u, 106u, 72u, + 217u, 97u, 1u, 181u, + 168u, 71u, 198u, 251u, + 173u, 243u, 29u, 224u, + 65u, 112u, 171u, 123u, + 118u, 126u, 137u, 0u, + 126u, 134u, 109u, 255u, + 123u, 208u, 120u, 199u, + 88u, 91u, 92u, 112u, + 249u, 212u, 112u, 34u, + 96u, 79u, 162u, 255u, + 105u, 123u, 140u, 114u, + 119u, 128u, 223u, 151u, + 181u, 196u, 135u, 112u, + 212u, 39u, 156u, 138u, + 192u, 52u, 146u, 102u, + 39u, 20u, 70u, 79u, + 136u, 255u, 33u, 130u, + 94u, 1u, 122u, 96u, + 51u, 58u, 84u, 119u, + 158u, 159u, 117u, 87u, + 99u, 88u, 138u, 58u, + 136u, 144u, 90u, 222u, + 144u, 124u, 164u, 116u, + 255u, 129u, 86u, 123u, + 148u, 151u, 151u, 149u, + 109u, 1u, 225u, 124u, + 74u, 64u, 88u, 95u, + 181u, 232u, 109u, 132u, + 148u, 148u, 90u, 65u, + 140u, 255u, 152u, 185u, + 66u, 211u, 86u, 70u, + 134u, 64u, 26u, 87u, + 51u, 126u, 121u, 234u, + 113u, 115u, 30u, 255u, + 99u, 130u, 142u, 11u, + 170u, 119u, 148u, 48u, + 144u, 34u, 166u, 152u, + 52u, 202u, 203u, 140u, + 178u, 255u, 133u, 225u, + 154u, 68u, 234u, 154u, + 219u, 119u, 172u, 244u, + 184u, 110u, 233u, 135u, + 185u, 109u, 161u, 140u, + 76u, 108u, 194u, 117u, + 166u, 180u, 1u, 134u, + 106u, 182u, 31u, 15u, + 154u, 36u, 202u, 24u, + 161u, 146u, 0u, 75u, + 130u, 164u, 100u, 196u, + 165u, 138u, 20u, 43u, + 228u, 127u, 139u, 96u, + 110u, 178u, 131u, 124u, + 169u, 103u, 1u, 242u, + 107u, 90u, 217u, 202u, + 67u, 158u, 131u, 162u, + 175u, 123u, 43u, 207u, + 1u, 29u, 88u, 199u, + 92u, 180u, 51u, 124u, + 99u, 255u, 211u, 100u, + 189u, 77u, 63u, 111u, + 92u, 45u, 165u, 218u, + 169u, 154u, 107u, 47u, + 205u, 116u, 143u, 114u, + 188u, 228u, 109u, 20u, + 145u, 115u, 1u, 236u, + 231u, 92u, 50u, 176u, + 76u, 103u, 108u, 152u, + 183u, 136u, 46u, 31u, + 181u, 89u, 255u, 140u, + 147u, 35u, 74u, 155u, + 65u, 121u, 140u, 167u, + 163u, 165u, 156u, 161u, + 71u, 255u, 131u, 81u, + 150u, 111u, 161u, 220u, + 124u, 96u, 71u, 157u, + 159u, 160u, 121u, 232u, + 255u, 167u, 57u, 152u, + 90u, 103u, 125u, 149u, + 84u, 255u, 194u, 182u, + 115u, 61u, 119u, 105u, + 188u, 171u, 240u, 162u, + 56u, 145u, 188u, 255u, + 23u, 159u, 88u, 55u, + 243u, 224u, 128u, 167u, + 216u, 192u, 136u, 155u, + 113u, 128u, 144u, 108u, + 69u, 161u, 113u, 99u, + 1u, 156u, 62u, 26u, + 92u, 179u, 108u, 146u, + 93u, 84u, 165u, 139u, + 70u, 140u, 221u, 0u, + 166u, 200u, 104u, 146u, + 91u, 223u, 198u, 71u, + 18u, 150u, 98u, 128u, + 153u, 135u, 218u, 136u, + 93u, 185u, 116u, 190u, + 122u, 255u, 155u, 69u, + 83u, 93u, 149u, 221u, + 0u, 153u, 62u, 97u, + 139u, 104u, 114u, 169u, + 178u, 195u, 146u, 69u, + 149u, 167u, 15u, 175u, + 93u, 105u, 34u, 150u, + 218u, 149u, 153u, 247u, + 0u, 179u, 83u, 160u, + 200u, 102u, 163u, 165u, + 71u, 1u, 43u, 133u, + 213u, 182u, 189u, 195u, + 168u, 58u, 32u, 138u, + 145u, 173u, 177u, 163u, + 130u, 132u, 255u, 154u, + 123u, 142u, 198u, 172u, + 161u, 155u, 176u, 203u, + 66u, 178u, 83u, 0u, + 108u, 144u, 177u, 71u, + 223u, 160u, 109u, 71u, + 213u, 60u, 58u, 220u, + 148u, 64u, 160u, 144u, + 168u, 255u, 103u, 148u, + 132u, 69u, 154u, 58u, + 195u, 149u, 224u, 118u, + 148u, 238u, 56u, 29u, + 182u, 224u, 187u, 37u, + 129u, 196u, 83u, 144u, + 67u, 214u, 0u, 174u, + 97u, 47u, 53u, 145u, + 180u, 62u, 179u, 1u, + 30u, 73u, 77u, 194u, + 137u, 156u, 124u, 105u, + 109u, 56u, 84u, 255u, + 105u, 97u, 156u, 195u, + 56u, 137u, 175u, 183u, + 232u, 132u, 44u, 54u, + 144u, 138u, 69u, 142u, + 161u, 87u, 183u, 182u, + 70u, 123u, 135u, 173u, + 137u, 255u, 109u, 178u, + 24u, 252u, 252u, 147u, + 18u, 146u, 164u, 1u, + 140u, 13u, 135u, 136u, + 249u, 107u, 164u, 140u, + 98u, 158u, 123u, 127u, + 188u, 1u, 113u, 114u, + 124u, 186u, 137u, 135u, + 192u, 81u, 74u, 194u, + 100u, 91u, 218u, 123u, + 46u, 195u, 234u, 134u, + 181u, 161u, 81u, 22u, + 107u, 164u, 208u, 0u, + 143u, 133u, 112u, 115u, + 63u, 242u, 134u, 103u, + 255u, 192u, 90u, 99u, + 31u, 155u, 138u, 184u, + 83u, 1u, 185u, 38u, + 123u, 192u, 222u, 75u, + 121u, 174u, 177u, 198u, + 150u, 199u, 171u, 53u, + 137u, 36u, 248u, 192u, + 34u, 17u, 189u, 76u, + 255u, 197u, 216u, 94u, + 122u, 193u, 190u, 134u, + 113u, 146u, 64u, 195u, + 118u, 255u, 39u, 91u, + 147u, 133u, 149u, 78u, + 161u, 115u, 35u, 140u, + 126u, 167u, 223u, 255u, + 144u, 61u, 167u, 183u, + 147u, 109u, 158u, 81u, + 82u, 122u, 116u, 223u, + 173u, 102u, 168u, 67u, + 168u, 0u, 95u, 155u, + 166u, 128u, 90u, 127u, + 166u, 43u, 88u, 75u, + 76u, 209u, 0u, 66u, + 51u, 89u, 114u, 98u, + 239u, 64u, 23u, 130u, + 20u, 88u, 133u, 255u, + 48u, 170u, 139u, 123u, + 102u, 118u, 141u, 1u, + 111u, 37u, 149u, 87u, + 149u, 163u, 72u, 212u, + 87u, 97u, 246u, 156u, + 71u, 232u, 209u, 255u, + 102u, 224u, 103u, 144u, + 75u, 233u, 57u, 14u, + 255u, 194u, 215u, 117u, + 94u, 140u, 165u, 106u, + 143u, 106u, 68u, 169u, + 98u, 223u, 198u, 77u, + 99u, 117u, 123u, 1u, + 128u, 94u, 88u, 11u, + 125u, 206u, 82u, 35u, + 97u, 122u, 154u, 236u, + 132u, 117u, 113u, 128u, + 100u, 231u, 128u, 251u, + 131u, 51u, 1u, 125u, + 77u, 189u, 49u, 71u, + 207u, 1u, 77u, 64u, + 39u, 109u, 111u, 161u, + 138u, 134u, 119u, 204u, + 56u, 157u, 177u, 156u, + 173u, 140u, 255u, 20u, + 170u, 125u, 57u, 149u, + 107u, 151u, 71u, 72u, + 140u, 195u, 22u, 153u, + 1u, 107u, 149u, 191u, + 129u, 133u, 246u, 160u, + 42u, 100u, 29u, 254u, + 127u, 138u, 19u, 100u, + 153u, 107u, 98u, 66u, + 213u, 59u, 142u, 200u, + 182u, 109u, 87u, 75u, + 106u, 87u, 99u, 1u, + 89u, 142u, 132u, 127u, + 68u, 148u, 171u, 51u, + 199u, 153u, 96u, 157u, + 99u, 119u, 255u, 156u, + 37u, 137u, 255u, 91u, + 133u, 86u, 64u, 96u, + 207u, 154u, 181u, 89u, + 208u, 211u, 6u, 195u, + 74u, 164u, 1u, 142u, + 80u, 76u, 203u, 149u, + 202u, 92u, 120u, 34u, + 149u, 137u, 127u, 130u, + 164u, 129u, 144u, 255u, + 135u, 173u, 104u, 124u, + 220u, 43u, 89u, 126u, + 194u, 167u, 144u, 96u, + 102u, 181u, 130u, 204u, + 1u, 202u, 153u, 35u, + 106u, 32u, 146u, 99u, + 158u, 13u, 219u, 243u, + 110u, 139u, 190u, 204u, + 80u, 100u, 117u, 83u, + 117u, 255u, 168u, 127u, + 215u, 122u, 242u, 119u, + 157u, 192u, 119u, 93u, + 151u, 156u, 120u, 142u, + 31u, 143u, 55u, 1u, + 162u, 170u, 152u, 86u, + 249u, 66u, 138u, 112u, + 172u, 75u, 67u, 255u, + 94u, 150u, 172u, 106u, + 180u, 71u, 114u, 127u, + 4u, 155u, 255u, 66u, + 219u, 114u, 71u, 158u, + 105u, 237u, 167u, 17u, + 186u, 96u, 110u, 177u, + 119u, 129u, 76u, 200u, + 41u, 110u, 171u, 63u, + 125u, 197u, 66u, 145u, + 255u, 161u, 91u, 50u, + 63u, 139u, 125u, 153u, + 150u, 130u, 255u, 91u, + 108u, 151u, 144u, 118u, + 216u, 120u, 139u, 230u, + 134u, 213u, 84u, 161u, + 159u, 1u, 98u, 146u, + 222u, 162u, 88u, 97u, + 98u, 83u, 213u, 201u, + 215u, 98u, 255u, 92u, + 170u, 85u, 126u, 164u, + 173u, 187u, 189u, 65u, + 80u, 169u, 47u, 135u, + 177u, 177u, 145u, 151u, + 109u, 163u, 4u, 238u, + 192u, 78u, 47u, 173u, + 136u, 58u, 177u, 1u, + 113u, 81u, 46u, 178u, + 39u, 176u, 100u, 143u, + 92u, 163u, 94u, 136u, + 108u, 168u, 255u, 141u, + 181u, 74u, 125u, 255u, + 108u, 78u, 109u, 192u, + 142u, 124u, 149u, 36u, + 184u, 140u, 90u, 74u, + 108u, 116u, 97u, 70u, + 0u, 76u, 19u, 77u, + 104u, 84u, 151u, 122u, + 189u, 175u, 185u, 251u, + 131u, 169u, 255u, 230u, + 59u, 43u, 251u, 37u, + 113u, 39u, 67u, 139u, + 116u, 181u, 195u, 200u, + 157u, 151u, 141u, 148u, + 123u, 162u, 159u, 168u, + 92u, 106u, 1u, 174u, + 22u, 245u, 49u, 114u, + 107u, 142u, 76u, 145u, + 1u, 166u, 147u, 104u, + 166u, 159u, 103u, 88u, + 104u, 96u, 148u, 222u, + 134u, 138u, 133u, 156u, + 193u, 72u, 255u, 92u, + 161u, 173u, 86u, 78u, + 147u, 219u, 159u, 161u, + 1u, 195u, 113u, 201u, + 187u, 97u, 182u, 89u, + 145u, 154u, 136u, 73u, + 229u, 88u, 210u, 139u, + 11u, 102u, 118u, 60u, + 109u, 165u, 51u, 33u, + 195u, 172u, 151u, 67u, + 255u, 178u, 87u, 252u, + 153u, 1u, 158u, 123u, + 114u, 83u, 158u, 168u, + 155u, 76u, 140u, 110u, + 146u, 124u, 78u, 86u, + 79u, 134u, 70u, 125u, + 143u, 223u, 200u, 255u, + 47u, 16u, 205u, 82u, + 92u, 129u, 138u, 88u, + 96u, 134u, 1u, 124u, + 121u, 25u, 178u, 109u, + 69u, 115u, 135u, 25u, + 120u, 147u, 38u, 165u, + 5u, 159u, 201u, 97u, + 128u, 206u, 80u, 112u, + 221u, 49u, 197u, 124u, + 167u, 193u, 243u, 1u, + 228u, 53u, 206u, 155u, + 167u, 135u, 143u, 185u, + 94u, 53u, 102u, 69u, + 108u, 195u, 1u, 8u, + 132u, 73u, 126u, 244u, + 130u, 147u, 213u, 129u, + 0u, 46u, 8u, 110u, + 112u, 163u, 205u, 70u, + 162u, 118u, 68u, 145u, + 93u, 112u, 206u, 140u, + 206u, 147u, 34u, 137u, + 1u, 126u, 233u, 77u, + 94u, 24u, 129u, 236u, + 20u, 36u, 246u, 4u, + 129u, 112u, 90u, 150u, + 255u, 227u, 161u, 45u, + 65u, 149u, 33u, 98u, + 90u, 224u, 182u, 96u, + 230u, 116u, 1u, 116u, + 141u, 67u, 75u, 185u, + 106u, 81u, 229u, 148u, + 84u, 87u, 75u, 119u, + 118u, 212u, 108u, 63u, + 107u, 100u, 179u, 1u, + 139u, 200u, 232u, 255u, + 61u, 84u, 16u, 75u, + 154u, 188u, 77u, 151u, + 43u, 155u, 73u, 240u, + 176u, 1u, 116u, 202u, + 69u, 141u, 44u, 82u, + 97u, 129u, 124u, 143u, + 168u, 193u, 74u, 96u, + 122u, 131u, 124u, 110u, + 255u, 120u, 170u, 3u, + 173u, 185u, 36u, 212u, + 130u, 169u, 122u, 18u, + 54u, 143u, 109u, 185u, + 125u, 149u, 150u, 13u, + 219u, 183u, 154u, 255u, + 165u, 160u, 235u, 68u, + 46u, 115u, 7u, 118u, + 165u, 105u, 138u, 30u, + 207u, 232u, 0u, 145u, + 71u, 178u, 55u, 160u, + 119u, 76u, 207u, 144u, + 160u, 141u, 119u, 54u, + 133u, 255u, 96u, 173u, + 99u, 198u, 71u, 122u, + 201u, 110u, 68u, 87u, + 129u, 74u, 128u, 82u, + 84u, 129u, 141u, 71u, + 226u, 255u, 22u, 74u, + 27u, 61u, 96u, 249u, + 49u, 196u, 92u, 89u, + 24u, 181u, 96u, 15u, + 255u, 144u, 65u, 149u, + 212u, 150u, 142u, 51u, + 143u, 118u, 0u, 45u, + 52u, 62u, 139u, 40u, + 90u, 146u, 76u, 135u, + 82u, 158u, 236u, 254u, + 76u, 102u, 146u, 95u, + 125u, 1u, 203u, 116u, + 140u, 82u, 194u, 211u, + 159u, 106u, 90u, 140u, + 151u, 233u, 208u, 140u, + 141u, 132u, 137u, 84u, + 101u, 1u, 137u, 197u, + 0u, 120u, 88u, 196u, + 206u, 89u, 156u, 141u, + 75u, 18u, 125u, 146u, + 63u, 199u, 95u, 78u, + 168u, 114u, 148u, 104u, + 197u, 1u, 1u, 247u, + 155u, 197u, 116u, 99u, + 85u, 103u, 137u, 122u, + 255u, 91u, 105u, 13u, + 59u, 222u, 101u, 152u, + 234u, 125u, 103u, 124u, + 169u, 133u, 185u, 86u, + 146u, 135u, 137u, 84u, + 182u, 105u, 80u, 108u, + 103u, 107u, 181u, 216u, + 255u, 235u, 217u, 182u, + 233u, 73u, 207u, 84u, + 157u, 25u, 150u, 194u, + 225u, 255u, 150u, 36u, + 202u, 39u, 110u, 244u, + 243u, 106u, 177u, 206u, + 100u, 8u, 1u, 83u, + 51u, 113u, 160u, 57u, + 229u, 98u, 141u, 6u, + 71u, 97u, 139u, 172u, + 68u, 123u, 169u, 184u, + 159u, 42u, 146u, 120u, + 69u, 88u, 255u, 150u, + 104u, 214u, 78u, 212u, + 85u, 108u, 217u, 64u, + 145u, 38u, 185u, 144u, + 166u, 163u, 209u, 255u, + 139u, 187u, 204u, 113u, + 110u, 117u, 137u, 88u, + 192u, 63u, 100u, 137u, + 144u, 149u, 235u, 255u, + 140u, 168u, 135u, 37u, + 93u, 172u, 1u, 138u, + 107u, 204u, 128u, 77u, + 132u, 89u, 84u, 55u, + 78u, 225u, 97u, 187u, + 255u, 119u, 153u, 137u, + 193u, 180u, 9u, 158u, + 22u, 41u, 213u, 8u, + 207u, 1u, 37u, 129u, + 170u, 37u, 30u, 225u, + 154u, 206u, 165u, 64u, + 166u, 107u, 177u, 118u, + 116u, 127u, 1u, 122u, + 136u, 159u, 133u, 194u, + 79u, 98u, 129u, 113u, + 86u, 254u, 161u, 131u, + 159u, 242u, 190u, 176u, + 26u, 255u, 118u, 47u, + 195u, 189u, 113u, 157u, + 27u, 92u, 83u, 198u, + 76u, 116u, 255u, 118u, + 160u, 167u, 184u, 222u, + 76u, 132u, 156u, 146u, + 133u, 132u, 186u, 85u, + 159u, 108u, 162u, 144u, + 206u, 127u, 196u, 173u, + 54u, 78u, 166u, 95u, + 123u, 197u, 167u, 1u, + 121u, 80u, 248u, 138u, + 93u, 156u, 174u, 0u, + 211u, 81u, 73u, 144u, + 241u, 154u, 230u, 227u, + 103u, 199u, 253u, 8u, + 81u, 155u, 148u, 85u, + 202u, 255u, 139u, 201u, + 162u, 115u, 52u, 186u, + 255u, 206u, 161u, 103u, + 143u, 150u, 127u, 229u, + 126u, 127u, 120u, 135u, + 76u, 88u, 120u, 159u, + 50u, 31u, 0u, 71u, + 62u, 228u, 117u, 2u, + 36u, 155u, 146u, 154u, + 99u, 55u, 49u, 164u, + 97u, 177u, 140u, 75u, + 85u, 138u, 148u, 102u, + 120u, 255u, 79u, 124u, + 98u, 131u, 197u, 84u, + 151u, 70u, 119u, 188u, + 1u, 205u, 111u, 100u, + 107u, 60u, 110u, 133u, + 150u, 118u, 193u, 128u, + 213u, 158u, 24u, 84u, + 52u, 127u, 229u, 210u, + 138u, 163u, 191u, 245u, + 206u, 156u, 1u, 119u, + 167u, 131u, 174u, 151u, + 136u, 97u, 167u, 181u, + 215u, 145u, 88u, 255u, + 180u, 87u, 93u, 73u, + 147u, 120u, 175u, 189u, + 213u, 93u, 151u, 174u, + 121u, 183u, 0u, 146u, + 120u, 128u, 120u, 28u, + 151u, 157u, 115u, 83u, + 123u, 136u, 1u, 105u, + 67u, 103u, 168u, 93u, + 158u, 74u, 63u, 70u, + 97u, 171u, 135u, 172u, + 117u, 128u, 98u, 87u, + 199u, 130u, 85u, 125u, + 98u, 0u, 63u, 146u, + 126u, 78u, 120u, 255u, + 149u, 73u, 194u, 75u, + 104u, 119u, 166u, 130u, + 151u, 160u, 129u, 189u, + 125u, 137u, 218u, 154u, + 184u, 100u, 142u, 120u, + 222u, 211u, 0u, 74u, + 20u, 79u, 219u, 90u, + 17u, 240u, 234u, 197u, + 71u, 72u, 56u, 37u, + 131u, 255u, 103u, 177u, + 143u, 241u, 79u, 110u, + 105u, 136u, 66u, 1u, + 199u, 197u, 120u, 235u, + 55u, 142u, 75u, 128u, + 11u, 109u, 61u, 46u, + 172u, 202u, 150u, 191u, + 93u, 134u, 207u, 156u, + 178u, 159u, 121u, 223u, + 23u, 206u, 255u, 206u, + 125u, 123u, 142u, 159u, + 1u, 141u, 82u, 168u, + 134u, 47u, 126u, 41u, + 99u, 131u, 93u, 78u, + 1u, 65u, 68u, 93u, + 155u, 122u, 228u, 225u, + 44u, 149u, 131u, 64u, + 65u, 122u, 84u, 85u, + 1u, 77u, 129u, 98u, + 175u, 173u, 69u, 239u, + 61u, 208u, 95u, 158u, + 53u, 160u, 115u, 140u, + 95u, 68u, 175u, 115u, + 191u, 46u, 152u, 110u, + 201u, 119u, 0u, 118u, + 69u, 116u, 73u, 100u, + 170u, 49u, 224u, 166u, + 1u, 111u, 53u, 205u, + 100u, 79u, 223u, 117u, + 102u, 101u, 200u, 57u, + 167u, 201u, 200u, 209u, + 128u, 192u, 123u, 7u, + 199u, 109u, 53u, 55u, + 156u, 0u, 99u, 73u, + 140u, 176u, 165u, 232u, + 105u, 151u, 115u, 112u, + 118u, 140u, 123u, 111u, + 104u, 241u, 255u, 114u, + 0u, 166u, 160u, 79u, + 195u, 129u, 195u, 121u, + 91u, 166u, 146u, 118u, + 159u, 117u, 84u, 156u, + 144u, 147u, 70u, 26u, + 190u, 191u, 255u, 122u, + 149u, 80u, 94u, 64u, + 136u, 136u, 111u, 174u, + 160u, 162u, 175u, 93u, + 169u, 156u, 152u, 94u, + 94u, 254u, 43u, 165u, + 22u, 255u, 58u, 187u, + 103u, 22u, 141u, 156u, + 135u, 130u, 1u, 79u, + 81u, 149u, 111u, 100u, + 192u, 62u, 106u, 86u, + 146u, 161u, 155u, 133u, + 67u, 54u, 193u, 56u, + 11u, 149u, 43u, 159u, + 119u, 161u, 255u, 107u, + 239u, 134u, 232u, 180u, + 125u, 184u, 169u, 191u, + 255u, 180u, 218u, 224u, + 12u, 203u, 241u, 123u, + 201u, 194u, 83u, 167u, + 149u, 1u, 102u, 91u, + 126u, 101u, 227u, 106u, + 80u, 181u, 83u, 223u, + 169u, 207u, 181u, 169u, + 101u, 156u, 123u, 131u, + 100u, 98u, 140u, 194u, + 91u, 122u, 255u, 144u, + 93u, 37u, 143u, 159u, + 119u, 154u, 130u, 89u, + 25u, 132u, 120u, 118u, + 168u, 255u, 109u, 160u, + 41u, 194u, 255u, 96u, + 36u, 25u, 237u, 97u, + 179u, 125u, 217u, 94u, + 173u, 97u, 159u, 136u, + 165u, 88u, 169u, 105u, + 185u, 80u, 160u, 214u, + 255u, 120u, 126u, 135u, + 135u, 142u, 53u, 102u, + 112u, 65u, 201u, 83u, + 90u, 120u, 157u, 54u, + 95u, 233u, 84u, 151u, + 201u, 145u, 213u, 255u, + 144u, 166u, 101u, 130u, + 153u, 161u, 149u, 129u, + 193u, 106u, 255u, 106u, + 198u, 204u, 195u, 187u, + 146u, 42u, 120u, 123u, + 0u, 186u, 63u, 195u, + 59u, 18u, 239u, 182u, + 35u, 217u, 133u, 38u, + 112u, 2u, 37u, 231u, + 140u, 91u, 181u, 129u, + 204u, 255u, 185u, 14u, + 186u, 102u, 56u, 59u, + 52u, 50u, 86u, 255u, + 112u, 89u, 173u, 111u, + 146u, 149u, 128u, 116u, + 173u, 175u, 176u, 96u, + 103u, 139u, 52u, 151u, + 197u, 142u, 141u, 82u, + 115u, 134u, 138u, 113u, + 161u, 178u, 1u, 118u, + 203u, 53u, 183u, 111u, + 131u, 42u, 117u, 145u, + 136u, 82u, 96u, 144u, + 185u, 94u, 99u, 1u, + 195u, 208u, 31u, 146u, + 255u, 172u, 212u, 250u, + 166u, 112u, 170u, 189u, + 125u, 192u, 73u, 77u, + 200u, 91u, 126u, 163u, + 113u, 49u, 51u, 145u, + 118u, 69u, 52u, 113u, + 24u, 116u, 64u, 1u, + 73u, 165u, 159u, 64u, + 180u, 90u, 67u, 177u, + 194u, 78u, 255u, 68u, + 8u, 13u, 176u, 223u, + 89u, 254u, 106u, 7u, + 219u, 180u, 206u, 28u, + 29u, 140u, 23u, 255u, + 113u, 215u, 131u, 155u, + 120u, 182u, 68u, 182u, + 111u, 125u, 214u, 202u, + 122u, 59u, 130u, 207u, + 1u, 151u, 193u, 181u, + 69u, 82u, 65u, 98u, + 126u, 189u, 170u, 184u, + 102u, 142u, 22u, 105u, + 4u, 44u, 255u, 109u, + 229u, 105u, 12u, 183u, + 143u, 174u, 255u, 80u, + 167u, 22u, 76u, 88u, + 87u, 188u, 126u, 157u, + 166u, 144u, 255u, 150u, + 89u, 154u, 212u, 87u, + 112u, 144u, 104u, 94u, + 167u, 179u, 119u, 117u, + 100u, 80u, 89u, 23u, + 135u, 166u, 164u, 201u, + 118u, 82u, 125u, 239u, + 108u, 1u, 106u, 119u, + 108u, 90u, 87u, 95u, + 240u, 150u, 249u, 182u, + 24u, 67u, 204u, 12u, + 9u, 1u, 41u, 24u, + 255u, 169u, 140u, 200u, + 141u, 113u, 146u, 162u, + 51u, 167u, 129u, 179u, + 128u, 108u, 109u, 34u, + 147u, 50u, 102u, 186u, + 153u, 1u, 99u, 123u, + 144u, 154u, 183u, 100u, + 154u, 157u, 142u, 137u, + 62u, 1u, 38u, 168u, + 45u, 214u, 109u, 149u, + 14u, 71u, 96u, 185u, + 91u, 91u, 99u, 97u, + 188u, 149u, 103u, 235u, + 74u, 133u, 193u, 210u, + 253u, 142u, 24u, 113u, + 69u, 228u, 161u, 255u, + 193u, 156u, 119u, 171u, + 28u, 48u, 218u, 134u, + 255u, 134u, 122u, 216u, + 118u, 216u, 156u, 147u, + 67u, 5u, 139u, 245u, + 119u, 150u, 177u, 165u, + 89u, 148u, 137u, 144u, + 153u, 114u, 70u, 1u, + 97u, 202u, 81u, 79u, + 59u, 255u, 86u, 143u, + 150u, 139u, 89u, 139u, + 40u, 124u, 72u, 84u, + 42u, 85u, 70u, 74u, + 228u, 58u, 95u, 230u, + 163u, 255u, 162u, 158u, + 194u, 113u, 100u, 63u, + 151u, 113u, 129u, 155u, + 166u, 60u, 75u, 130u, + 139u, 1u, 140u, 189u, + 138u, 80u, 63u, 164u, + 115u, 131u, 132u, 195u, + 79u, 109u, 131u, 212u, + 91u, 184u, 77u, 101u, + 142u, 155u, 255u, 86u, + 45u, 107u, 199u, 70u, + 0u, 184u, 156u, 129u, + 139u, 155u, 250u, 78u, + 96u, 103u, 230u, 116u, + 84u, 121u, 70u, 234u, + 0u, 137u, 175u, 50u, + 101u, 106u, 106u, 54u, + 153u, 78u, 164u, 167u, + 100u, 86u, 8u, 160u, + 140u, 38u, 139u, 70u, + 62u, 50u, 170u, 90u, + 69u, 215u, 83u, 1u, + 108u, 139u, 151u, 88u, + 143u, 166u, 159u, 1u, + 166u, 173u, 92u, 113u, + 53u, 78u, 133u, 134u, + 114u, 43u, 185u, 60u, + 121u, 55u, 147u, 123u, + 80u, 143u, 176u, 85u, + 119u, 202u, 173u, 255u, + 166u, 63u, 173u, 134u, + 170u, 1u, 97u, 97u, + 183u, 182u, 185u, 122u, + 55u, 181u, 38u, 132u, + 132u, 106u, 50u, 68u, + 73u, 140u, 193u, 113u, + 168u, 119u, 89u, 108u, + 13u, 82u, 148u, 255u, + 150u, 145u, 177u, 0u, + 223u, 107u, 182u, 144u, + 109u, 165u, 108u, 50u, + 136u, 49u, 30u, 32u, + 84u, 158u, 88u, 1u, + 84u, 108u, 200u, 27u, + 58u, 105u, 113u, 246u, + 193u, 201u, 88u, 69u, + 68u, 61u, 92u, 7u, + 14u, 190u, 217u, 161u, + 4u, 25u, 201u, 1u, + 57u, 126u, 174u, 155u, + 224u, 58u, 255u, 69u, + 117u, 139u, 135u, 52u, + 172u, 159u, 134u, 151u, + 125u, 48u, 139u, 122u, + 120u, 255u, 119u, 46u, + 145u, 132u, 217u, 150u, + 72u, 92u, 101u, 76u, + 114u, 223u, 184u, 148u, + 70u, 158u, 76u, 144u, + 196u, 75u, 146u, 75u, + 96u, 152u, 100u, 59u, + 112u, 1u, 55u, 98u, + 158u, 141u, 163u, 140u, + 64u, 130u, 46u, 150u, + 124u, 161u, 68u, 67u, + 1u, 71u, 207u, 127u, + 126u, 166u, 1u, 214u, + 89u, 173u, 201u, 112u, + 216u, 157u, 153u, 131u, + 81u, 157u, 173u, 175u, + 110u, 159u, 119u, 130u, + 201u, 13u, 164u, 113u, + 149u, 124u, 203u, 96u, + 173u, 141u, 0u, 124u, + 85u, 55u, 150u, 119u, + 147u, 63u, 149u, 133u, + 85u, 113u, 110u, 91u, + 127u, 255u, 42u, 79u, + 34u, 136u, 64u, 64u, + 120u, 211u, 113u, 255u, + 85u, 24u, 208u, 165u, + 121u, 57u, 89u, 55u, + 255u, 152u, 178u, 211u, + 81u, 114u, 120u, 231u, + 202u, 204u, 123u, 71u, + 49u, 243u, 223u, 91u, + 84u, 114u, 200u, 159u, + 101u, 44u, 125u, 5u, + 255u, 86u, 110u, 126u, + 143u, 114u, 112u, 84u, + 208u, 236u, 158u, 82u, + 64u, 164u, 189u, 223u, + 135u, 1u, 37u, 253u, + 125u, 15u, 160u, 170u, + 174u, 204u, 141u, 10u, + 167u, 125u, 216u, 115u, + 199u, 119u, 80u, 76u, + 225u, 39u, 37u, 255u, + 10u, 85u, 70u, 206u, + 21u, 53u, 1u, 147u, + 187u, 106u, 29u, 128u, + 172u, 231u, 149u, 93u, + 210u, 119u, 130u, 69u, + 170u, 103u, 128u, 187u, + 255u, 204u, 131u, 135u, + 209u, 185u, 92u, 43u, + 149u, 66u, 117u, 91u, + 69u, 196u, 35u, 153u, + 255u, 153u, 118u, 195u, + 20u, 140u, 193u, 128u, + 106u, 73u, 113u, 4u, + 69u, 144u, 128u, 102u, + 0u, 219u, 50u, 197u, + 170u, 129u, 122u, 254u, + 246u, 189u, 47u, 43u, + 200u, 255u, 99u, 44u, + 208u, 171u, 220u, 155u, + 96u, 159u, 124u, 162u, + 112u, 101u, 193u, 176u, + 99u, 76u, 111u, 181u, + 128u, 124u, 144u, 255u, + 132u, 173u, 98u, 185u, + 255u, 158u, 181u, 142u, + 74u, 111u, 107u, 168u, + 202u, 107u, 128u, 90u, + 83u, 78u, 148u, 106u, + 255u, 228u, 146u, 72u, + 123u, 190u, 41u, 203u, + 199u, 67u, 110u, 175u, + 53u, 17u, 110u, 88u, + 148u, 132u, 81u, 49u, + 0u, 132u, 98u, 65u, + 190u, 154u, 55u, 88u, + 88u, 118u, 142u, 216u, + 26u, 92u, 85u, 105u, + 135u, 83u, 117u, 118u, + 120u, 111u, 126u, 208u, + 86u, 55u, 1u, 115u, + 77u, 82u, 255u, 91u, + 224u, 203u, 194u, 69u, + 86u, 133u, 194u, 19u, + 109u, 74u, 192u, 184u, + 126u, 143u, 159u, 148u, + 177u, 255u, 138u, 102u, + 95u, 31u, 76u, 76u, + 86u, 168u, 95u, 42u, + 199u, 171u, 171u, 198u, + 0u, 107u, 102u, 2u, + 239u, 103u, 235u, 83u, + 125u, 42u, 93u, 132u, + 175u, 134u, 173u, 56u, + 173u, 146u, 96u, 80u, + 181u, 234u, 233u, 34u, + 111u, 187u, 0u, 96u, + 188u, 29u, 32u, 45u, + 53u, 53u, 32u, 205u, + 107u, 255u, 88u, 17u, + 121u, 136u, 35u, 64u, + 120u, 145u, 166u, 193u, + 18u, 102u, 255u, 132u, + 85u, 142u, 205u, 113u, + 211u, 94u, 232u, 182u, + 180u, 67u, 163u, 140u, + 124u, 86u, 131u, 177u, + 67u, 193u, 205u, 115u, + 217u, 1u, 92u, 171u, + 1u, 146u, 89u, 217u, + 49u, 226u, 120u, 129u, + 115u, 106u, 126u, 66u, + 87u, 125u, 144u, 42u, + 181u, 76u, 163u, 32u, + 164u, 224u, 152u, 118u, + 43u, 255u, 116u, 116u, + 46u, 60u, 170u, 37u, + 204u, 169u, 44u, 68u, + 184u, 167u, 255u, 97u, + 159u, 70u, 86u, 190u, + 94u, 35u, 53u, 69u, + 130u, 119u, 197u, 175u, + 0u, 136u, 105u, 113u, + 116u, 73u, 106u, 128u, + 45u, 200u, 82u, 40u, + 255u, 199u, 89u, 112u, + 138u, 140u, 68u, 161u, + 196u, 93u, 138u, 117u, + 54u, 62u, 126u, 183u, + 46u, 252u, 155u, 97u, + 229u, 198u, 209u, 8u, + 255u, 146u, 45u, 191u, + 219u, 108u, 38u, 185u, + 0u, 190u, 186u, 165u, + 113u, 119u, 196u, 11u, + 188u, 213u, 161u, 65u, + 90u, 103u, 71u, 137u, + 98u, 106u, 191u, 118u, + 60u, 228u, 92u, 26u, + 174u, 67u, 32u, 213u, + 1u, 224u, 151u, 33u, + 184u, 117u, 64u, 0u, + 102u, 14u, 158u, 168u, + 183u, 136u, 92u, 15u, + 227u, 197u, 54u, 205u, + 125u, 108u, 151u, 166u, + 102u, 103u, 175u, 77u, + 105u, 189u, 144u, 127u, + 255u, 83u, 150u, 124u, + 42u, 233u, 152u, 7u, + 154u, 91u, 249u, 174u, + 190u, 167u, 165u, 171u, + 255u, 104u, 122u, 213u, + 143u, 175u, 178u, 107u, + 24u, 150u, 159u, 7u, + 177u, 167u, 75u, 150u, + 144u, 97u, 241u, 1u, + 154u, 105u, 223u, 86u, + 93u, 98u, 17u, 1u, + 16u, 127u, 166u, 73u, + 183u, 56u, 73u, 64u, + 157u, 166u, 163u, 68u, + 158u, 150u, 121u, 66u, + 218u, 148u, 248u, 183u, + 176u, 1u, 98u, 214u, + 179u, 87u, 181u, 214u, + 129u, 193u, 62u, 139u, + 122u, 56u, 97u, 118u, + 4u, 68u, 255u, 87u, + 62u, 134u, 37u, 255u, + 60u, 87u, 29u, 8u, + 118u, 129u, 22u, 199u, + 55u, 242u, 193u, 212u, + 170u, 217u, 92u, 102u, + 213u, 188u, 130u, 86u, + 135u, 19u, 34u, 90u, + 40u, 255u, 154u, 28u, + 151u, 156u, 145u, 113u, + 135u, 35u, 99u, 242u, + 40u, 23u, 126u, 95u, + 136u, 171u, 1u, 145u, + 100u, 116u, 142u, 37u, + 221u, 137u, 104u, 58u, + 88u, 189u, 122u, 68u, + 1u, 134u, 208u, 71u, + 1u, 132u, 28u, 79u, + 103u, 144u, 75u, 127u, + 51u, 226u, 108u, 92u, + 92u, 80u, 72u, 185u, + 98u, 136u, 255u, 211u, + 141u, 129u, 170u, 141u, + 119u, 106u, 170u, 183u, + 60u, 177u, 166u, 131u, + 255u, 160u, 210u, 128u, + 132u, 154u, 175u, 158u, + 114u, 80u, 173u, 43u, + 26u, 121u, 111u, 157u, + 107u, 134u, 187u, 66u, + 98u, 124u, 75u, 129u, + 52u, 152u, 219u, 143u, + 132u, 17u, 141u, 1u, + 227u, 97u, 212u, 238u, + 40u, 113u, 127u, 155u, + 253u, 183u, 92u, 1u, + 134u, 75u, 180u, 139u, + 190u, 222u, 117u, 85u, + 172u, 255u, 224u, 130u, + 100u, 94u, 158u, 157u, + 77u, 75u, 16u, 156u, + 229u, 139u, 175u, 255u, + 99u, 120u, 106u, 225u, + 69u, 3u, 150u, 201u, + 207u, 122u, 135u, 84u, + 125u, 153u, 153u, 206u, + 84u, 37u, 63u, 119u, + 107u, 157u, 170u, 255u, + 73u, 238u, 224u, 146u, + 213u, 31u, 133u, 71u, + 131u, 146u, 101u, 153u, + 142u, 89u, 147u, 123u, + 8u, 255u, 152u, 41u, + 175u, 106u, 33u, 225u, + 82u, 161u, 124u, 255u, + 4u, 111u, 168u, 132u, + 42u, 141u, 84u, 176u, + 150u, 141u, 93u, 8u, + 167u, 130u, 33u, 255u, + 16u, 29u, 117u, 45u, + 69u, 183u, 123u, 255u, + 96u, 69u, 239u, 255u, + 78u, 94u, 161u, 7u, + 144u, 62u, 155u, 228u, + 178u, 221u, 43u, 55u, + 145u, 141u, 159u, 89u, + 51u, 255u, 198u, 87u, + 114u, 120u, 129u, 187u, + 163u, 209u, 126u, 202u, + 73u, 127u, 101u, 199u, + 190u, 125u, 152u, 203u, + 218u, 162u, 93u, 181u, + 103u, 145u, 1u, 56u, + 222u, 196u, 211u, 197u, + 111u, 1u, 144u, 109u, + 105u, 35u, 72u, 162u, + 14u, 130u, 175u, 157u, + 112u, 175u, 83u, 222u, + 161u, 85u, 255u, 166u, + 179u, 109u, 112u, 151u, + 97u, 74u, 96u, 133u, + 67u, 70u, 91u, 161u, + 172u, 46u, 141u, 255u, + 91u, 206u, 77u, 93u, + 149u, 123u, 245u, 73u, + 121u, 245u, 215u, 166u, + 73u, 30u, 255u, 54u, + 225u, 189u, 12u, 178u, + 228u, 158u, 146u, 103u, + 33u, 166u, 1u, 122u, + 191u, 203u, 233u, 151u, + 182u, 172u, 113u, 103u, + 145u, 195u, 22u, 147u, + 192u, 50u, 96u, 116u, + 162u, 134u, 113u, 255u, + 89u, 135u, 28u, 227u, + 62u, 105u, 144u, 127u, + 255u, 98u, 147u, 135u, + 137u, 76u, 191u, 192u, + 144u, 135u, 147u, 94u, + 50u, 117u, 186u, 174u, + 255u, 188u, 177u, 158u, + 40u, 39u, 100u, 163u, + 200u, 17u, 94u, 95u, + 212u, 172u, 169u, 117u, + 130u, 147u, 1u, 172u, + 114u, 102u, 195u, 144u, + 29u, 135u, 215u, 43u, + 86u, 105u, 85u, 152u, + 255u, 132u, 91u, 73u, + 159u, 192u, 138u, 127u, + 202u, 99u, 28u, 108u, + 13u, 62u, 87u, 116u, + 205u, 199u, 183u, 158u, + 97u, 216u, 145u, 153u, + 255u, 167u, 137u, 235u, + 52u, 74u, 204u, 130u, + 203u, 85u, 200u, 178u, + 226u, 96u, 142u, 255u, + 25u, 57u, 114u, 100u, + 15u, 194u, 76u, 4u, + 112u, 177u, 68u, 160u, + 166u, 111u, 45u, 165u, + 67u, 0u, 189u, 39u, + 115u, 128u, 129u, 181u, + 110u, 90u, 142u, 113u, + 97u, 109u, 131u, 93u, + 149u, 73u, 98u, 226u, + 90u, 72u, 132u, 255u, + 139u, 70u, 69u, 204u, + 1u, 85u, 153u, 92u, + 141u, 17u, 35u, 214u, + 153u, 139u, 123u, 69u, + 222u, 89u, 141u, 111u, + 7u, 145u, 1u, 78u, + 116u, 61u, 162u, 95u, + 133u, 80u, 160u, 75u, + 189u, 105u, 161u, 0u, + 125u, 92u, 77u, 101u, + 175u, 145u, 94u, 52u, + 66u, 79u, 150u, 170u, + 125u, 45u, 77u, 152u, + 98u, 203u, 16u, 98u, + 83u, 152u, 121u, 195u, + 1u, 133u, 116u, 190u, + 51u, 175u, 102u, 130u, + 102u, 165u, 79u, 0u, + 217u, 77u, 65u, 195u, + 94u, 191u, 19u, 63u, + 130u, 235u, 1u, 58u, + 76u, 196u, 118u, 249u, + 115u, 17u, 167u, 207u, + 77u, 49u, 49u, 170u, + 210u, 153u, 124u, 160u, + 69u, 134u, 42u, 163u, + 255u, 159u, 122u, 79u, + 126u, 79u, 191u, 95u, + 216u, 175u, 184u, 1u, + 45u, 199u, 191u, 13u, + 105u, 113u, 162u, 98u, + 185u, 114u, 192u, 93u, + 0u, 240u, 85u, 133u, + 102u, 143u, 80u, 130u, + 165u, 193u, 105u, 165u, + 198u, 211u, 82u, 171u, + 85u, 108u, 67u, 237u, + 118u, 169u, 113u, 119u, + 119u, 116u, 119u, 64u, + 179u, 134u, 255u, 90u, + 176u, 156u, 103u, 147u, + 53u, 185u, 121u, 169u, + 187u, 175u, 126u, 1u, + 165u, 212u, 223u, 165u, + 67u, 107u, 129u, 106u, + 195u, 170u, 174u, 101u, + 114u, 140u, 127u, 130u, + 204u, 116u, 1u, 205u, + 197u, 69u, 178u, 117u, + 81u, 220u, 74u, 164u, + 130u, 151u, 102u, 153u, + 120u, 120u, 255u, 130u, + 95u, 21u, 160u, 48u, + 93u, 1u, 113u, 178u, + 51u, 168u, 163u, 175u, + 75u, 231u, 55u, 155u, + 127u, 1u, 225u, 118u, + 135u, 202u, 242u, 93u, + 47u, 194u, 253u, 39u, + 98u, 134u, 206u, 43u, + 158u, 105u, 81u, 54u, + 200u, 149u, 91u, 192u, + 1u, 174u, 175u, 142u, + 142u, 145u, 52u, 174u, + 47u, 168u, 128u, 35u, + 137u, 150u, 192u, 94u, + 230u, 249u, 85u, 182u, + 152u, 200u, 71u, 255u, + 168u, 154u, 114u, 97u, + 173u, 109u, 132u, 155u, + 148u, 190u, 109u, 123u, + 98u, 255u, 201u, 86u, + 84u, 128u, 68u, 74u, + 1u, 255u, 168u, 108u, + 89u, 83u, 78u, 96u, + 104u, 99u, 252u, 2u, + 31u, 11u, 66u, 223u, + 101u, 255u, 138u, 149u, + 50u, 131u, 78u, 70u, + 13u, 214u, 55u, 215u, + 207u, 255u, 175u, 114u, + 123u, 105u, 82u, 93u, + 102u, 141u, 172u, 107u, + 163u, 180u, 149u, 37u, + 135u, 181u, 167u, 163u, + 60u, 129u, 130u, 142u, + 1u, 157u, 157u, 133u, + 120u, 200u, 58u, 17u, + 67u, 250u, 122u, 148u, + 80u, 28u, 115u, 143u, + 1u, 86u, 82u, 178u, + 76u, 120u, 115u, 40u, + 76u, 152u, 106u, 235u, + 166u, 179u, 115u, 1u, + 171u, 168u, 144u, 33u, + 207u, 140u, 150u, 193u, + 95u, 181u, 154u, 174u, + 71u, 170u, 37u, 53u, + 236u, 170u, 171u, 118u, + 128u, 235u, 132u, 255u, + 108u, 126u, 40u, 238u, + 220u, 173u, 182u, 255u, + 208u, 154u, 200u, 90u, + 9u, 179u, 189u, 156u, + 7u, 176u, 95u, 66u, + 74u, 231u, 65u, 188u, + 41u, 109u, 193u, 97u, + 177u, 1u, 128u, 72u, + 100u, 106u, 112u, 162u, + 146u, 106u, 193u, 179u, + 240u, 200u, 0u, 97u, + 167u, 162u, 50u, 70u, + 85u, 185u, 95u, 67u, + 174u, 168u, 117u, 58u, + 178u, 70u, 101u, 196u, + 106u, 255u, 5u, 241u, + 120u, 1u, 84u, 162u, + 115u, 133u, 141u, 179u, + 59u, 109u, 131u, 114u, + 142u, 231u, 71u, 113u, + 94u, 101u, 150u, 183u, + 233u, 90u, 154u, 131u, + 173u, 144u, 1u, 94u, + 100u, 84u, 100u, 45u, + 84u, 145u, 73u, 141u, + 77u, 101u, 128u, 61u, + 255u, 110u, 128u, 46u, + 130u, 207u, 95u, 119u, + 184u, 145u, 255u, 220u, + 167u, 107u, 78u, 175u, + 101u, 120u, 127u, 171u, + 209u, 111u, 88u, 127u, + 232u, 146u, 109u, 1u, + 185u, 229u, 176u, 238u, + 46u, 199u, 58u, 88u, + 117u, 88u, 74u, 2u, + 163u, 177u, 217u, 74u, + 102u, 242u, 136u, 58u, + 161u, 189u, 255u, 16u, + 78u, 81u, 118u, 190u, + 184u, 255u, 94u, 174u, + 187u, 139u, 33u, 178u, + 10u, 192u, 109u, 148u, + 101u, 118u, 102u, 28u, + 106u, 99u, 177u, 1u, + 130u, 116u, 152u, 173u, + 104u, 125u, 86u, 8u, + 196u, 174u, 253u, 47u, + 177u, 82u, 241u, 111u, + 112u, 79u, 44u, 129u, + 1u, 151u, 122u, 178u, + 103u, 136u, 16u, 25u, + 255u, 117u, 148u, 118u, + 225u, 118u, 64u, 185u, + 98u, 215u, 138u, 131u, + 124u, 100u, 141u, 100u, + 138u, 158u, 228u, 162u, + 91u, 144u, 16u, 171u, + 1u, 103u, 153u, 161u, + 72u, 137u, 203u, 105u, + 94u, 146u, 224u, 126u, + 251u, 90u, 92u, 162u, + 126u, 170u, 111u, 173u, + 162u, 200u, 38u, 1u, + 84u, 178u, 179u, 87u, + 161u, 155u, 177u, 96u, + 138u, 145u, 88u, 185u, + 0u, 206u, 104u, 88u, + 212u, 12u, 70u, 96u, + 75u, 159u, 255u, 181u, + 85u, 143u, 174u, 91u, + 148u, 209u, 103u, 228u, + 81u, 1u, 216u, 183u, + 143u, 46u, 86u, 119u, + 182u, 84u, 120u, 155u, + 99u, 206u, 128u, 137u, + 199u, 44u, 104u, 28u, + 100u, 54u, 44u, 255u, + 83u, 151u, 31u, 213u, + 8u, 219u, 179u, 116u, + 112u, 93u, 169u, 246u, + 141u, 255u, 202u, 129u, + 141u, 173u, 49u, 127u, + 94u, 253u, 15u, 57u, + 23u, 170u, 91u, 48u, + 1u, 139u, 131u, 98u, + 60u, 106u, 62u, 115u, + 130u, 122u, 24u, 222u, + 115u, 129u, 85u, 183u, + 156u, 103u, 0u, 236u, + 87u, 195u, 75u, 150u, + 113u, 120u, 156u, 69u, + 65u, 52u, 201u, 132u, + 1u, 102u, 69u, 218u, + 130u, 95u, 143u, 209u, + 165u, 136u, 146u, 66u, + 221u, 186u, 127u, 255u, + 246u, 68u, 132u, 229u, + 75u, 138u, 123u, 191u, + 62u, 236u, 232u, 149u, + 56u, 133u, 61u, 95u, + 15u, 205u, 153u, 88u, + 111u, 104u, 110u, 117u, + 1u, 130u, 56u, 248u, + 122u, 159u, 255u, 215u, + 79u, 125u, 141u, 114u, + 87u, 108u, 150u, 65u, + 177u, 142u, 155u, 174u, + 117u, 80u, 126u, 75u, + 137u, 123u, 1u, 236u, + 51u, 203u, 254u, 166u, + 227u, 150u, 91u, 157u, + 165u, 137u, 1u, 89u, + 166u, 170u, 47u, 60u, + 108u, 223u, 38u, 25u, + 96u, 171u, 48u, 82u, + 208u, 111u, 169u, 79u, + 9u, 10u, 95u, 119u, + 255u, 99u, 95u, 143u, + 46u, 148u, 203u, 137u, + 127u, 143u, 142u, 120u, + 132u, 126u, 77u, 171u, + 81u, 73u, 1u, 124u, + 145u, 76u, 228u, 129u, + 248u, 137u, 244u, 166u, + 26u, 216u, 101u, 149u, + 230u, 60u, 119u, 139u, + 213u, 138u, 188u, 1u, + 55u, 171u, 114u, 44u, + 37u, 146u, 93u, 83u, + 79u, 61u, 141u, 255u, + 101u, 29u, 153u, 67u, + 179u, 209u, 68u, 97u, + 120u, 0u, 41u, 143u, + 160u, 191u, 148u, 77u, + 152u, 198u, 155u, 90u, + 127u, 32u, 1u, 225u, + 164u, 167u, 230u, 120u, + 119u, 155u, 19u, 15u, + 97u, 151u, 226u, 55u, + 201u, 26u, 130u, 129u, + 251u, 1u, 202u, 235u, + 33u, 87u, 152u, 156u, + 198u, 133u, 77u, 81u, + 71u, 134u, 42u, 242u, + 171u, 176u, 38u, 93u, + 162u, 51u, 74u, 63u, + 121u, 0u, 34u, 241u, + 48u, 108u, 154u, 0u, + 152u, 185u, 104u, 140u, + 180u, 159u, 169u, 205u, + 116u, 157u, 109u, 179u, + 160u, 124u, 129u, 158u, + 92u, 123u, 107u, 66u, + 128u, 100u, 223u, 193u, + 1u, 105u, 215u, 131u, + 120u, 209u, 101u, 142u, + 75u, 219u, 167u, 75u, + 92u, 112u, 15u, 76u, + 1u, 17u, 140u, 243u, + 167u, 13u, 65u, 87u, + 91u, 190u, 209u, 189u, + 211u, 164u, 108u, 0u, + 132u, 68u, 184u, 214u, + 184u, 115u, 128u, 105u, + 184u, 122u, 129u, 0u, + 124u, 233u, 35u, 114u, + 175u, 229u, 119u, 72u, + 146u, 46u, 178u, 153u, + 164u, 135u, 77u, 69u, + 112u, 72u, 59u, 255u, + 138u, 148u, 89u, 140u, + 36u, 210u, 107u, 60u, + 0u, 147u, 4u, 89u, + 176u, 193u, 35u, 116u, + 188u, 27u, 38u, 165u, + 170u, 132u, 181u, 130u, + 48u, 69u, 107u, 113u, + 144u, 156u, 108u, 1u, + 54u, 176u, 138u, 94u, + 122u, 0u, 121u, 145u, + 62u, 181u, 172u, 173u, + 116u, 162u, 100u, 62u, + 184u, 165u, 154u, 21u, + 255u, 91u, 139u, 171u, + 178u, 33u, 42u, 135u, + 119u, 139u, 111u, 115u, + 112u, 72u, 217u, 100u, + 64u, 46u, 95u, 0u, + 214u, 203u, 195u, 209u, + 107u, 175u, 28u, 46u, + 153u, 196u, 33u, 165u, + 112u, 255u, 178u, 200u, + 169u, 151u, 127u, 55u, + 44u, 2u, 163u, 127u, + 126u, 141u, 128u, 182u, + 250u, 166u, 142u, 57u, + 102u, 0u, 127u, 148u, + 104u, 66u, 102u, 64u, + 181u, 177u, 156u, 179u, + 130u, 120u, 173u, 125u, + 110u, 156u, 187u, 109u, + 204u, 170u, 117u, 65u, + 43u, 185u, 201u, 1u, + 176u, 239u, 161u, 130u, + 232u, 1u, 159u, 186u, + 167u, 137u, 197u, 95u, + 233u, 163u, 109u, 129u, + 255u, 30u, 198u, 107u, + 60u, 61u, 57u, 103u, + 153u, 142u, 168u, 47u, + 148u, 47u, 233u, 59u, + 162u, 239u, 212u, 130u, + 115u, 105u, 19u, 198u, + 107u, 14u, 172u, 255u, + 109u, 118u, 204u, 134u, + 46u, 72u, 149u, 140u, + 107u, 170u, 39u, 46u, + 110u, 186u, 107u, 67u, + 100u, 255u, 67u, 79u, + 249u, 26u, 149u, 77u, + 108u, 157u, 1u, 11u, + 61u, 32u, 126u, 198u, + 107u, 97u, 236u, 132u, + 92u, 151u, 44u, 130u, + 151u, 1u, 128u, 100u, + 175u, 112u, 111u, 132u, + 174u, 156u, 140u, 225u, + 157u, 255u, 128u, 123u, + 136u, 130u, 171u, 138u, + 170u, 58u, 78u, 102u, + 122u, 130u, 62u, 179u, + 23u, 41u, 202u, 39u, + 82u, 99u, 175u, 19u, + 176u, 227u, 109u, 40u, + 177u, 1u, 86u, 51u, + 59u, 80u, 135u, 227u, + 135u, 135u, 83u, 139u, + 255u, 169u, 112u, 128u, + 84u, 186u, 118u, 188u, + 39u, 39u, 70u, 161u, + 64u, 185u, 71u, 214u, + 91u, 121u, 228u, 81u, + 61u, 255u, 235u, 139u, + 173u, 149u, 20u, 191u, + 184u, 153u, 158u, 178u, + 211u, 255u, 107u, 226u, + 115u, 94u, 174u, 30u, + 106u, 114u, 52u, 155u, + 89u, 116u, 142u, 202u, + 4u, 1u, 244u, 112u, + 115u, 79u, 10u, 131u, + 255u, 207u, 136u, 56u, + 162u, 94u, 162u, 194u, + 184u, 76u, 68u, 115u, + 20u, 198u, 134u, 165u, + 155u, 210u, 50u, 200u, + 74u, 122u, 232u, 255u, + 251u, 121u, 173u, 75u, + 93u, 159u, 128u, 128u, + 14u, 210u, 123u, 97u, + 255u, 136u, 149u, 82u, + 159u, 148u, 199u, 196u, + 188u, 37u, 36u, 182u, + 242u, 32u, 134u, 156u, + 31u, 240u, 81u, 76u, + 96u, 40u, 246u, 69u, + 238u, 118u, 63u, 0u, + 151u, 183u, 65u, 225u, + 100u, 156u, 90u, 65u, + 69u, 47u, 97u, 155u, + 134u, 135u, 1u, 99u, + 83u, 168u, 74u, 138u, + 96u, 199u, 133u, 151u, + 105u, 83u, 162u, 148u, + 212u, 44u, 150u, 255u, + 107u, 166u, 193u, 140u, + 194u, 255u, 162u, 81u, + 179u, 184u, 49u, 138u, + 110u, 161u, 114u, 98u, + 243u, 69u, 130u, 111u, + 193u, 172u, 186u, 255u, + 107u, 56u, 61u, 88u, + 130u, 106u, 235u, 71u, + 80u, 120u, 115u, 227u, + 178u, 243u, 27u, 255u, + 222u, 151u, 95u, 147u, + 160u, 77u, 88u, 162u, + 1u, 185u, 98u, 136u, + 55u, 153u, 205u, 67u, + 102u, 119u, 147u, 111u, + 222u, 45u, 64u, 162u, + 104u, 14u, 32u, 194u, + 140u, 131u, 209u, 0u, + 248u, 192u, 189u, 131u, + 142u, 68u, 201u, 44u, + 91u, 18u, 51u, 90u, + 142u, 104u, 236u, 50u, + 151u, 205u, 149u, 94u, + 178u, 195u, 242u, 1u, + 85u, 184u, 95u, 138u, + 64u, 156u, 78u, 114u, + 130u, 134u, 114u, 132u, + 83u, 70u, 119u, 255u, + 68u, 156u, 122u, 144u, + 149u, 216u, 94u, 1u, + 105u, 248u, 137u, 93u, + 61u, 81u, 48u, 103u, + 132u, 121u, 61u, 224u, + 69u, 13u, 200u, 219u, + 151u, 162u, 255u, 180u, + 171u, 51u, 193u, 153u, + 159u, 56u, 181u, 67u, + 47u, 38u, 67u, 221u, + 32u, 185u, 217u, 100u, + 103u, 235u, 125u, 255u, + 90u, 122u, 180u, 82u, + 216u, 245u, 255u, 19u, + 179u, 163u, 87u, 97u, + 72u, 167u, 141u, 191u, + 13u, 78u, 150u, 122u, + 147u, 23u, 0u, 196u, + 87u, 192u, 183u, 132u, + 115u, 58u, 19u, 88u, + 158u, 152u, 130u, 41u, + 169u, 185u, 58u, 136u, + 148u, 177u, 78u, 101u, + 140u, 195u, 255u, 70u, + 69u, 255u, 153u, 164u, + 220u, 128u, 87u, 166u, + 175u, 79u, 201u, 210u, + 176u, 108u, 79u, 142u, + 115u, 52u, 118u, 76u, + 112u, 160u, 230u, 172u, + 119u, 43u, 104u, 141u, + 1u, 35u, 157u, 167u, + 188u, 89u, 253u, 199u, + 117u, 0u, 164u, 201u, + 199u, 6u, 95u, 154u, + 104u, 119u, 124u, 136u, + 165u, 119u, 170u, 117u, + 117u, 118u, 143u, 170u, + 183u, 92u, 187u, 125u, + 25u, 0u, 157u, 71u, + 152u, 160u, 1u, 221u, + 198u, 76u, 159u, 139u, + 28u, 236u, 219u, 191u, + 115u, 59u, 95u, 157u, + 112u, 203u, 255u, 192u, + 147u, 167u, 92u, 103u, + 137u, 105u, 166u, 64u, + 49u, 94u, 177u, 250u, + 150u, 107u, 153u, 138u, + 110u, 83u, 255u, 182u, + 136u, 139u, 111u, 127u, + 118u, 64u, 155u, 74u, + 85u, 138u, 133u, 255u, + 138u, 201u, 244u, 119u, + 106u, 0u, 81u, 205u, + 188u, 155u, 49u, 161u, + 174u, 144u, 205u, 196u, + 168u, 130u, 123u, 92u, + 102u, 170u, 122u, 1u, + 121u, 149u, 68u, 107u, + 0u, 237u, 249u, 149u, + 187u, 49u, 203u, 27u, + 225u, 122u, 118u, 50u, + 216u, 128u, 71u, 92u, + 146u, 171u, 154u, 205u, + 153u, 238u, 111u, 183u, + 44u, 255u, 142u, 163u, + 214u, 242u, 180u, 1u, + 100u, 156u, 5u, 55u, + 248u, 212u, 114u, 188u, + 99u, 1u, 37u, 21u, + 116u, 149u, 69u, 206u, + 118u, 71u, 139u, 1u, + 109u, 205u, 165u, 181u, + 191u, 91u, 79u, 204u, + 42u, 123u, 156u, 134u, + 98u, 124u, 56u, 56u, + 144u, 131u, 193u, 240u, + 153u, 127u, 128u, 114u, + 103u, 75u, 156u, 255u, + 111u, 142u, 160u, 186u, + 124u, 121u, 12u, 31u, + 166u, 19u, 102u, 157u, + 169u, 100u, 143u, 255u, + 75u, 130u, 137u, 191u, + 88u, 187u, 112u, 94u, + 143u, 142u, 166u, 126u, + 155u, 178u, 1u, 110u, + 131u, 110u, 159u, 255u, + 217u, 205u, 55u, 87u, + 222u, 138u, 248u, 221u, + 49u, 178u, 196u, 205u, + 218u, 174u, 218u, 62u, + 142u, 85u, 85u, 99u, + 77u, 104u, 196u, 128u, + 205u, 66u, 255u, 142u, + 99u, 124u, 145u, 93u, + 113u, 71u, 235u, 115u, + 119u, 152u, 98u, 255u, + 117u, 118u, 177u, 155u, + 72u, 171u, 124u, 167u, + 151u, 73u, 233u, 154u, + 106u, 167u, 213u, 130u, + 173u, 67u, 1u, 236u, + 51u, 40u, 138u, 11u, + 59u, 72u, 193u, 82u, + 194u, 182u, 181u, 109u, + 97u, 117u, 1u, 123u, + 119u, 85u, 112u, 158u, + 202u, 255u, 214u, 192u, + 140u, 133u, 123u, 125u, + 92u, 88u, 125u, 153u, + 208u, 140u, 248u, 12u, + 200u, 15u, 252u, 198u, + 255u, 114u, 112u, 11u, + 95u, 21u, 197u, 140u, + 156u, 255u, 144u, 25u, + 145u, 242u, 74u, 104u, + 88u, 28u, 173u, 134u, + 115u, 67u, 130u, 125u, + 57u, 139u, 100u, 119u, + 134u, 161u, 46u, 142u, + 119u, 151u, 139u, 158u, + 121u, 183u, 1u, 113u, + 176u, 177u, 152u, 163u, + 102u, 161u, 141u, 246u, + 135u, 1u, 194u, 205u, + 62u, 189u, 141u, 130u, + 154u, 143u, 1u, 92u, + 172u, 230u, 167u, 179u, + 35u, 183u, 144u, 211u, + 185u, 127u, 32u, 188u, + 163u, 30u, 248u, 97u, + 166u, 98u, 172u, 127u, + 177u, 190u, 255u, 123u, + 237u, 153u, 135u, 126u, + 114u, 167u, 87u, 40u, + 136u, 148u, 170u, 255u, + 107u, 225u, 84u, 117u, + 86u, 152u, 251u, 67u, + 64u, 41u, 90u, 1u, + 146u, 162u, 255u, 170u, + 26u, 44u, 92u, 50u, + 189u, 94u, 21u, 175u, + 212u, 59u, 212u, 69u, + 86u, 125u, 1u, 147u, + 134u, 145u, 60u, 178u, + 124u, 201u, 134u, 46u, + 86u, 115u, 120u, 61u, + 237u, 212u, 155u, 240u, + 51u, 64u, 182u, 123u, + 178u, 1u, 14u, 95u, + 229u, 227u, 208u, 17u, + 255u, 57u, 87u, 138u, + 61u, 120u, 119u, 176u, + 85u, 110u, 120u, 116u, + 137u, 152u, 148u, 81u, + 240u, 147u, 126u, 255u, + 124u, 144u, 116u, 151u, + 13u, 7u, 127u, 57u, + 202u, 190u, 154u, 1u, + 121u, 67u, 55u, 127u, + 126u, 186u, 87u, 173u, + 187u, 81u, 21u, 85u, + 55u, 82u, 189u, 29u, + 225u, 255u, 124u, 75u, + 54u, 126u, 60u, 125u, + 102u, 78u, 100u, 131u, + 238u, 180u, 145u, 111u, + 108u, 138u, 1u, 171u, + 110u, 172u, 47u, 57u, + 128u, 172u, 97u, 77u, + 102u, 154u, 138u, 174u, + 106u, 159u, 34u, 37u, + 198u, 199u, 190u, 104u, + 176u, 90u, 78u, 0u, + 133u, 56u, 205u, 251u, + 77u, 93u, 118u, 108u, + 32u, 86u, 255u, 55u, + 135u, 163u, 183u, 176u, + 193u, 183u, 48u, 178u, + 32u, 1u, 191u, 5u, + 204u, 113u, 76u, 139u, + 161u, 192u, 182u, 57u, + 122u, 103u, 112u, 136u, + 121u, 39u, 151u, 18u, + 108u, 191u, 110u, 139u, + 240u, 195u, 1u, 140u, + 216u, 204u, 156u, 138u, + 255u, 95u, 157u, 201u, + 117u, 131u, 125u, 169u, + 77u, 162u, 75u, 62u, + 140u, 163u, 143u, 131u, + 1u, 112u, 91u, 60u, + 53u, 81u, 83u, 123u, + 117u, 161u, 99u, 74u, + 54u, 199u, 151u, 134u, + 221u, 220u, 118u, 141u, + 255u, 153u, 167u, 210u, + 187u, 90u, 179u, 35u, + 83u, 166u, 101u, 221u, + 69u, 100u, 180u, 139u, + 106u, 26u, 220u, 108u, + 137u, 88u, 95u, 255u, + 134u, 88u, 32u, 141u, + 59u, 112u, 115u, 43u, + 161u, 232u, 64u, 78u, + 8u, 255u, 89u, 250u, + 155u, 176u, 115u, 192u, + 186u, 144u, 198u, 171u, + 54u, 255u, 170u, 153u, + 173u, 171u, 156u, 13u, + 31u, 170u, 109u, 168u, + 125u, 140u, 175u, 84u, + 110u, 74u, 1u, 83u, + 174u, 161u, 146u, 120u, + 142u, 90u, 124u, 133u, + 132u, 52u, 114u, 165u, + 110u, 167u, 141u, 134u, + 149u, 255u, 95u, 130u, + 0u, 176u, 66u, 210u, + 48u, 159u, 171u, 25u, + 146u, 119u, 144u, 137u, + 107u, 141u, 163u, 156u, + 193u, 159u, 72u, 174u, + 211u, 30u, 135u, 89u, + 174u, 162u, 56u, 81u, + 152u, 138u, 51u, 1u, + 159u, 255u, 57u, 42u, + 125u, 161u, 90u, 54u, + 153u, 163u, 124u, 124u, + 47u, 41u, 167u, 144u, + 148u, 87u, 244u, 1u, + 196u, 210u, 122u, 14u, + 212u, 137u, 49u, 103u, + 206u, 156u, 65u, 38u, + 156u, 62u, 255u, 97u, + 67u, 88u, 180u, 17u, + 161u, 253u, 58u, 139u, + 204u, 78u, 164u, 93u, + 190u, 255u, 206u, 182u, + 5u, 106u, 155u, 255u, + 189u, 37u, 115u, 106u, + 40u, 177u, 127u, 44u, + 167u, 145u, 143u, 119u, + 108u, 160u, 164u, 118u, + 219u, 140u, 140u, 90u, + 84u, 53u, 1u, 155u, + 154u, 208u, 138u, 149u, + 136u, 71u, 229u, 162u, + 255u, 110u, 92u, 126u, + 205u, 101u, 229u, 199u, + 243u, 191u, 62u, 125u, + 241u, 115u, 35u, 88u, + 115u, 178u, 168u, 0u, + 237u, 84u, 192u, 165u, + 55u, 226u, 231u, 174u, + 159u, 120u, 255u, 66u, + 108u, 83u, 91u, 218u, + 236u, 107u, 150u, 117u, + 109u, 104u, 101u, 101u, + 73u, 185u, 207u, 141u, + 156u, 114u, 120u, 1u, + 126u, 61u, 172u, 53u, + 60u, 255u, 245u, 254u, + 162u, 108u, 89u, 48u, + 108u, 123u, 204u, 182u, + 212u, 72u, 59u, 226u, + 213u, 39u, 213u, 103u, + 29u, 71u, 219u, 107u, + 157u, 86u, 188u, 130u, + 255u, 110u, 110u, 224u, + 102u, 210u, 63u, 170u, + 209u, 166u, 105u, 6u, + 132u, 231u, 83u, 163u, + 211u, 244u, 255u, 157u, + 147u, 97u, 54u, 140u, + 85u, 174u, 164u, 63u, + 155u, 162u, 119u, 98u, + 83u, 31u, 1u, 108u, + 89u, 255u, 97u, 161u, + 91u, 133u, 125u, 175u, + 89u, 78u, 35u, 160u, + 91u, 31u, 91u, 146u, + 143u, 101u, 255u, 198u, + 64u, 100u, 59u, 76u, + 66u, 184u, 151u, 150u, + 128u, 151u, 182u, 143u, + 65u, 67u, 173u, 1u, + 210u, 116u, 105u, 137u, + 210u, 59u, 90u, 191u, + 101u, 142u, 167u, 91u, + 140u, 217u, 171u, 146u, + 72u, 136u, 153u, 104u, + 199u, 137u, 141u, 99u, + 1u, 164u, 142u, 196u, + 135u, 144u, 188u, 127u, + 146u, 254u, 184u, 234u, + 183u, 142u, 173u, 69u, + 149u, 255u, 214u, 139u, + 59u, 105u, 211u, 84u, + 56u, 68u, 208u, 49u, + 134u, 139u, 137u, 76u, + 47u, 100u, 75u, 255u, + 208u, 214u, 161u, 160u, + 30u, 103u, 154u, 107u, + 255u, 58u, 130u, 60u, + 128u, 59u, 210u, 165u, + 184u, 96u, 203u, 174u, + 189u, 165u, 255u, 157u, + 30u, 108u, 167u, 163u, + 80u, 217u, 180u, 73u, + 173u, 0u, 106u, 229u, + 43u, 132u, 154u, 180u, + 79u, 191u, 110u, 74u, + 102u, 157u, 58u, 129u, + 203u, 129u, 63u, 236u, + 115u, 1u, 85u, 70u, + 161u, 104u, 176u, 91u, + 117u, 124u, 70u, 237u, + 4u, 79u, 102u, 170u, + 191u, 156u, 141u, 99u, + 215u, 229u, 1u, 158u, + 199u, 103u, 31u, 100u, + 0u, 159u, 72u, 188u, + 77u, 167u, 102u, 137u, + 100u, 249u, 227u, 113u, + 81u, 213u, 130u, 112u, + 105u, 248u, 77u, 62u, + 39u, 201u, 91u, 150u, + 165u, 129u, 140u, 228u, + 122u, 156u, 0u, 239u, + 237u, 122u, 213u, 46u, + 42u, 128u, 1u, 17u, + 45u, 120u, 202u, 66u, + 136u, 123u, 96u, 109u, + 129u, 210u, 173u, 1u, + 112u, 163u, 168u, 122u, + 93u, 94u, 151u, 56u, + 52u, 111u, 255u, 209u, + 166u, 153u, 108u, 1u, + 125u, 119u, 202u, 146u, + 158u, 111u, 76u, 36u, + 44u, 62u, 85u, 195u, + 105u, 152u, 120u, 176u, + 126u, 85u, 147u, 1u, + 75u, 110u, 160u, 170u, + 180u, 132u, 172u, 97u, + 197u, 105u, 95u, 152u, + 124u, 68u, 127u, 227u, + 135u, 1u, 99u, 62u, + 90u, 151u, 101u, 80u, + 125u, 114u, 149u, 107u, + 92u, 170u, 233u, 150u, + 255u, 143u, 85u, 112u, + 100u, 154u, 170u, 215u, + 122u, 1u, 180u, 179u, + 101u, 75u, 49u, 162u, + 63u, 96u, 56u, 102u, + 154u, 107u, 211u, 56u, + 255u, 154u, 100u, 178u, + 52u, 147u, 201u, 116u, + 222u, 148u, 126u, 31u, + 48u, 112u, 213u, 130u, + 83u, 134u, 134u, 62u, + 10u, 193u, 62u, 1u, + 151u, 75u, 76u, 130u, + 109u, 42u, 222u, 113u, + 213u, 96u, 137u, 212u, + 64u, 19u, 146u, 49u, + 255u, 81u, 193u, 126u, + 236u, 154u, 180u, 172u, + 131u, 61u, 86u, 153u, + 165u, 81u, 114u, 109u, + 139u, 168u, 73u, 42u, + 255u, 85u, 173u, 86u, + 91u, 131u, 133u, 255u, + 76u, 177u, 106u, 210u, + 128u, 204u, 135u, 180u, + 29u, 225u, 151u, 176u, + 106u, 75u, 210u, 143u, + 142u, 144u, 142u, 56u, + 135u, 180u, 71u, 161u, + 140u, 255u, 101u, 69u, + 13u, 113u, 196u, 128u, + 225u, 22u, 139u, 64u, + 182u, 127u, 20u, 169u, + 63u, 211u, 0u, 118u, + 104u, 158u, 114u, 129u, + 158u, 87u, 175u, 77u, + 182u, 255u, 79u, 150u, + 197u, 137u, 85u, 143u, + 122u, 4u, 59u, 157u, + 108u, 85u, 34u, 222u, + 95u, 142u, 185u, 88u, + 151u, 0u, 82u, 197u, + 117u, 157u, 247u, 189u, + 151u, 58u, 100u, 166u, + 208u, 173u, 130u, 100u, + 255u, 103u, 138u, 35u, + 168u, 176u, 68u, 15u, + 209u, 98u, 133u, 113u, + 227u, 196u, 252u, 172u, + 121u, 1u, 52u, 188u, + 85u, 227u, 172u, 1u, + 106u, 224u, 195u, 14u, + 58u, 165u, 173u, 24u, + 149u, 122u, 96u, 105u, + 139u, 149u, 191u, 85u, + 54u, 81u, 145u, 165u, + 76u, 166u, 129u, 255u, + 61u, 186u, 60u, 105u, + 255u, 32u, 58u, 46u, + 218u, 5u, 87u, 222u, + 46u, 165u, 214u, 45u, + 226u, 42u, 235u, 223u, + 184u, 222u, 158u, 110u, + 71u, 156u, 55u, 98u, + 156u, 196u, 92u, 171u, + 73u, 144u, 255u, 88u, + 103u, 35u, 154u, 234u, + 177u, 78u, 1u, 33u, + 67u, 231u, 149u, 54u, + 132u, 128u, 141u, 226u, + 99u, 184u, 139u, 79u, + 142u, 168u, 147u, 82u, + 120u, 121u, 111u, 202u, + 1u, 176u, 106u, 128u, + 231u, 138u, 157u, 162u, + 27u, 210u, 181u, 50u, + 116u, 128u, 113u, 21u, + 96u, 165u, 255u, 88u, + 127u, 85u, 173u, 56u, + 120u, 115u, 145u, 116u, + 141u, 109u, 96u, 137u, + 99u, 88u, 1u, 201u, + 136u, 57u, 103u, 109u, + 133u, 164u, 104u, 173u, + 127u, 178u, 152u, 100u, + 1u, 101u, 133u, 115u, + 81u, 151u, 109u, 152u, + 186u, 128u, 153u, 79u, + 175u, 255u, 91u, 141u, + 143u, 136u, 76u, 128u, + 157u, 41u, 163u, 12u, + 126u, 83u, 102u, 122u, + 45u, 163u, 127u, 143u, + 57u, 255u, 142u, 87u, + 192u, 132u, 255u, 138u, + 93u, 143u, 71u, 79u, + 84u, 58u, 182u, 86u, + 48u, 200u, 176u, 147u, + 111u, 221u, 173u, 43u, + 97u, 234u, 75u, 255u, + 185u, 112u, 11u, 114u, + 53u, 109u, 193u, 105u, + 194u, 176u, 81u, 189u, + 103u, 65u, 82u, 222u, + 140u, 199u, 146u, 192u, + 131u, 123u, 255u, 50u, + 86u, 25u, 168u, 134u, + 234u, 60u, 62u, 56u, + 169u, 173u, 79u, 112u, + 45u, 172u, 1u, 131u, + 80u, 15u, 201u, 93u, + 145u, 143u, 151u, 169u, + 74u, 36u, 190u, 58u, + 205u, 97u, 1u, 90u, + 140u, 131u, 128u, 106u, + 114u, 170u, 17u, 69u, + 133u, 159u, 151u, 117u, + 78u, 170u, 25u, 255u, + 163u, 161u, 146u, 85u, + 130u, 100u, 181u, 0u, + 50u, 134u, 120u, 130u, + 205u, 159u, 41u, 27u, + 51u, 134u, 201u, 139u, + 96u, 79u, 105u, 71u, + 151u, 177u, 156u, 139u, + 157u, 187u, 1u, 181u, + 159u, 179u, 159u, 120u, + 178u, 160u, 115u, 82u, + 131u, 130u, 104u, 0u, + 114u, 105u, 41u, 76u, + 125u, 162u, 135u, 105u, + 194u, 140u, 139u, 121u, + 213u, 161u, 151u, 0u, + 24u, 120u, 229u, 241u, + 160u, 95u, 255u, 76u, + 114u, 38u, 70u, 9u, + 14u, 217u, 140u, 52u, + 235u, 136u, 89u, 89u, + 255u, 82u, 150u, 158u, + 47u, 91u, 124u, 106u, + 173u, 173u, 50u, 185u, + 88u, 221u, 199u, 36u, + 150u, 115u, 52u, 112u, + 216u, 159u, 235u, 139u, + 101u, 217u, 198u, 255u, + 91u, 157u, 129u, 167u, + 16u, 107u, 64u, 171u, + 47u, 226u, 124u, 1u, + 171u, 87u, 163u, 125u, + 218u, 126u, 87u, 214u, + 109u, 136u, 102u, 11u, + 28u, 194u, 103u, 99u, + 146u, 210u, 128u, 255u, + 36u, 212u, 174u, 45u, + 107u, 193u, 129u, 53u, + 15u, 190u, 104u, 108u, + 246u, 161u, 93u, 215u, + 1u, 117u, 116u, 159u, + 204u, 97u, 237u, 162u, + 147u, 168u, 139u, 1u, + 108u, 170u, 126u, 160u, + 119u, 176u, 10u, 90u, + 128u, 86u, 175u, 95u, + 19u, 112u, 58u, 51u, + 146u, 155u, 104u, 134u, + 129u, 255u, 163u, 105u, + 21u, 199u, 85u, 149u, + 107u, 168u, 1u, 163u, + 46u, 62u, 148u, 153u, + 210u, 92u, 154u, 77u, + 184u, 111u, 118u, 226u, + 139u, 30u, 113u, 145u, + 255u, 153u, 198u, 95u, + 154u, 94u, 46u, 201u, + 193u, 136u, 228u, 111u, + 85u, 52u, 1u, 156u, + 181u, 58u, 76u, 184u, + 180u, 75u, 231u, 1u, + 115u, 221u, 1u, 91u, + 131u, 79u, 155u, 38u, + 141u, 187u, 193u, 74u, + 85u, 155u, 103u, 169u, + 162u, 59u, 68u, 153u, + 171u, 77u, 223u, 207u, + 201u, 81u, 122u, 28u, + 255u, 171u, 61u, 66u, + 6u, 82u, 28u, 121u, + 38u, 169u, 242u, 108u, + 145u, 221u, 180u, 126u, + 18u, 97u, 75u, 255u, + 169u, 104u, 143u, 138u, + 170u, 198u, 135u, 148u, + 157u, 110u, 193u, 220u, + 121u, 127u, 255u, 147u, + 35u, 200u, 200u, 122u, + 204u, 147u, 232u, 96u, + 143u, 137u, 149u, 214u, + 68u, 151u, 1u, 181u, + 118u, 135u, 101u, 1u, + 126u, 96u, 103u, 123u, + 158u, 141u, 106u, 130u, + 97u, 200u, 130u, 255u, + 221u, 19u, 133u, 107u, + 255u, 18u, 77u, 187u, + 97u, 171u, 96u, 225u, + 63u, 153u, 175u, 214u, + 161u, 104u, 86u, 255u, + 179u, 160u, 97u, 126u, + 74u, 122u, 118u, 100u, + 150u, 220u, 39u, 140u, + 252u, 144u, 188u, 106u, + 71u, 64u, 27u, 98u, + 74u, 141u, 180u, 26u, + 211u, 255u, 136u, 164u, + 69u, 175u, 121u, 1u, + 189u, 134u, 91u, 40u, + 160u, 109u, 137u, 246u, + 54u, 61u, 234u, 229u, + 95u, 122u, 1u, 40u, + 132u, 143u, 192u, 119u, + 155u, 150u, 89u, 60u, + 91u, 112u, 101u, 209u, + 135u, 244u, 127u, 65u, + 98u, 185u, 56u, 204u, + 90u, 87u, 122u, 97u, + 68u, 53u, 255u, 57u, + 158u, 255u, 177u, 196u, + 198u, 168u, 213u, 109u, + 215u, 89u, 83u, 133u, + 123u, 189u, 54u, 112u, + 255u, 167u, 208u, 99u, + 49u, 95u, 65u, 116u, + 104u, 167u, 111u, 136u, + 179u, 184u, 193u, 47u, + 66u, 109u, 68u, 158u, + 220u, 63u, 115u, 144u, + 150u, 188u, 169u, 144u, + 254u, 161u, 0u, 111u, + 107u, 86u, 175u, 119u, + 83u, 164u, 74u, 97u, + 131u, 142u, 151u, 107u, + 255u, 141u, 106u, 142u, + 88u, 169u, 108u, 135u, + 50u, 144u, 14u, 1u, + 44u, 64u, 44u, 39u, + 211u, 103u, 250u, 118u, + 0u, 96u, 127u, 157u, + 59u, 107u, 110u, 77u, + 156u, 11u, 106u, 194u, + 30u, 60u, 220u, 169u, + 222u, 57u, 255u, 147u, + 78u, 66u, 220u, 207u, + 119u, 110u, 212u, 102u, + 137u, 148u, 95u, 76u, + 142u, 152u, 112u, 236u, + 255u, 105u, 228u, 98u, + 86u, 26u, 140u, 215u, + 73u, 152u, 235u, 168u, + 46u, 129u, 167u, 95u, + 36u, 55u, 180u, 85u, + 163u, 255u, 135u, 155u, + 210u, 214u, 166u, 125u, + 136u, 165u, 44u, 98u, + 180u, 64u, 162u, 95u, + 142u, 255u, 102u, 71u, + 115u, 138u, 84u, 120u, + 230u, 109u, 159u, 98u, + 143u, 1u, 42u, 134u, + 84u, 95u, 149u, 191u, + 178u, 120u, 158u, 81u, + 17u, 193u, 32u, 255u, + 124u, 124u, 199u, 52u, + 120u, 49u, 179u, 57u, + 189u, 72u, 78u, 165u, + 150u, 68u, 40u, 255u, + 171u, 1u, 55u, 34u, + 224u, 218u, 159u, 187u, + 243u, 145u, 24u, 226u, + 255u, 219u, 87u, 5u, + 81u, 86u, 209u, 162u, + 181u, 69u, 135u, 127u, + 211u, 25u, 251u, 187u, + 189u, 218u, 94u, 1u, + 88u, 56u, 118u, 12u, + 144u, 66u, 111u, 99u, + 122u, 113u, 54u, 202u, + 21u, 31u, 73u, 69u, + 88u, 139u, 109u, 187u, + 76u, 68u, 106u, 207u, + 35u, 255u, 139u, 109u, + 79u, 101u, 105u, 88u, + 171u, 162u, 143u, 68u, + 118u, 138u, 188u, 47u, + 172u, 94u, 1u, 243u, + 250u, 211u, 0u, 219u, + 170u, 3u, 35u, 158u, + 119u, 91u, 124u, 106u, + 246u, 82u, 112u, 207u, + 180u, 105u, 152u, 95u, + 67u, 151u, 175u, 102u, + 163u, 106u, 176u, 125u, + 38u, 0u, 156u, 108u, + 158u, 170u, 132u, 184u, + 133u, 192u, 103u, 118u, + 24u, 107u, 123u, 1u, + 137u, 168u, 179u, 209u, + 153u, 164u, 16u, 112u, + 197u, 69u, 169u, 96u, + 67u, 213u, 227u, 142u, + 164u, 131u, 83u, 255u, + 128u, 148u, 137u, 144u, + 194u, 194u, 209u, 49u, + 88u, 136u, 0u, 138u, + 106u, 193u, 97u, 174u, + 107u, 169u, 172u, 107u, + 194u, 49u, 255u, 37u, + 135u, 56u, 207u, 32u, + 111u, 181u, 126u, 93u, + 75u, 222u, 70u, 189u, + 64u, 151u, 164u, 129u, + 161u, 104u, 119u, 104u, + 12u, 179u, 69u, 255u, + 170u, 173u, 255u, 210u, + 169u, 88u, 99u, 54u, + 52u, 42u, 108u, 98u, + 113u, 99u, 79u, 142u, + 138u, 255u, 239u, 87u, + 109u, 153u, 122u, 116u, + 185u, 170u, 88u, 216u, + 129u, 124u, 57u, 245u, + 147u, 255u, 193u, 133u, + 234u, 38u, 130u, 96u, + 60u, 150u, 90u, 213u, + 84u, 46u, 87u, 96u, + 113u, 105u, 94u, 220u, + 173u, 75u, 129u, 80u, + 196u, 192u, 63u, 82u, + 96u, 193u, 1u, 215u, + 148u, 140u, 187u, 137u, + 89u, 151u, 37u, 1u, + 152u, 81u, 98u, 46u, + 191u, 145u, 13u, 65u, + 43u, 186u, 1u, 134u, + 155u, 72u, 185u, 123u, + 133u, 166u, 115u, 50u, + 176u, 28u, 173u, 163u, + 114u, 1u, 175u, 132u, + 132u, 85u, 168u, 215u, + 210u, 182u, 190u, 108u, + 144u, 161u, 166u, 99u, + 238u, 207u, 144u, 15u, + 247u, 219u, 255u, 119u, + 78u, 119u, 115u, 235u, + 69u, 192u, 184u, 102u, + 83u, 61u, 54u, 100u, + 160u, 1u, 65u, 141u, + 159u, 188u, 163u, 52u, + 21u, 51u, 38u, 130u, + 21u, 95u, 110u, 138u, + 144u, 71u, 158u, 255u, + 132u, 82u, 173u, 40u, + 234u, 156u, 234u, 140u, + 106u, 114u, 249u, 52u, + 146u, 159u, 77u, 88u, + 34u, 172u, 148u, 149u, + 255u, 136u, 137u, 35u, + 183u, 61u, 198u, 101u, + 163u, 255u, 155u, 76u, + 252u, 212u, 152u, 157u, + 105u, 185u, 85u, 64u, + 1u, 96u, 181u, 132u, + 123u, 44u, 139u, 215u, + 137u, 123u, 174u, 185u, + 152u, 144u, 88u, 160u, + 47u, 202u, 115u, 235u, + 154u, 101u, 158u, 57u, + 34u, 221u, 134u, 135u, + 221u, 0u, 196u, 112u, + 127u, 52u, 69u, 143u, + 144u, 111u, 120u, 151u, + 58u, 133u, 51u, 93u, + 255u, 186u, 168u, 68u, + 117u, 85u, 155u, 115u, + 150u, 98u, 51u, 178u, + 18u, 87u, 121u, 105u, + 100u, 190u, 1u, 158u, + 188u, 156u, 44u, 0u, + 217u, 96u, 232u, 80u, + 78u, 127u, 83u, 53u, + 98u, 104u, 108u, 73u, + 140u, 42u, 140u, 114u, + 58u, 138u, 149u, 123u, + 1u, 83u, 107u, 171u, + 128u, 148u, 68u, 126u, + 67u, 55u, 194u, 186u, + 130u, 106u, 218u, 66u, + 170u, 151u, 255u, 119u, + 175u, 206u, 147u, 146u, + 123u, 145u, 1u, 145u, + 118u, 86u, 119u, 198u, + 118u, 70u, 38u, 115u, + 62u, 145u, 111u, 170u, + 73u, 59u, 142u, 146u, + 106u, 241u, 44u, 33u, + 196u, 95u, 122u, 120u, + 170u, 44u, 0u, 98u, + 126u, 104u, 129u, 108u, + 113u, 165u, 136u, 101u, + 72u, 117u, 105u, 148u, + 108u, 27u, 0u, 97u, + 255u, 111u, 175u, 95u, + 140u, 63u, 23u, 78u, + 95u, 184u, 133u, 76u, + 172u, 149u, 110u, 113u, + 39u, 88u, 156u, 200u, + 37u, 18u, 132u, 89u, + 130u, 69u, 246u, 13u, + 51u, 1u, 158u, 246u, + 46u, 107u, 101u, 142u, + 151u, 153u, 106u, 73u, + 167u, 177u, 48u, 82u, + 17u, 117u, 1u, 126u, + 247u, 124u, 54u, 177u, + 192u, 153u, 164u, 255u, + 132u, 105u, 139u, 86u, + 173u, 108u, 204u, 109u, + 84u, 67u, 122u, 166u, + 97u, 160u, 199u, 120u, + 71u, 156u, 86u, 255u, + 129u, 250u, 85u, 121u, + 165u, 203u, 210u, 142u, + 151u, 31u, 114u, 172u, + 194u, 148u, 193u, 84u, + 109u, 0u, 115u, 178u, + 66u, 255u, 113u, 101u, + 179u, 103u, 176u, 99u, + 133u, 188u, 126u, 89u, + 116u, 58u, 54u, 159u, + 100u, 141u, 156u, 118u, + 89u, 153u, 68u, 32u, + 176u, 152u, 1u, 160u, + 146u, 121u, 175u, 102u, + 117u, 236u, 223u, 14u, + 90u, 49u, 3u, 40u, + 41u, 113u, 52u, 172u, + 134u, 0u, 163u, 80u, + 129u, 127u, 255u, 197u, + 74u, 32u, 167u, 75u, + 137u, 71u, 94u, 113u, + 43u, 241u, 172u, 37u, + 69u, 148u, 108u, 90u, + 117u, 129u, 138u, 121u, + 97u, 99u, 170u, 152u, + 110u, 122u, 58u, 255u, + 127u, 149u, 138u, 161u, + 88u, 152u, 207u, 109u, + 172u, 168u, 126u, 109u, + 149u, 255u, 142u, 158u, + 244u, 125u, 92u, 142u, + 95u, 255u, 108u, 42u, + 138u, 175u, 77u, 77u, + 138u, 164u, 139u, 52u, + 124u, 255u, 236u, 217u, + 18u, 89u, 179u, 71u, + 134u, 187u, 188u, 235u, + 137u, 35u, 196u, 15u, + 169u, 50u, 189u, 29u, + 14u, 97u, 45u, 124u, + 255u, 156u, 123u, 119u, + 148u, 7u, 229u, 91u, + 87u, 1u, 89u, 185u, + 99u, 187u, 122u, 168u, + 160u, 118u, 214u, 113u, + 136u, 183u, 101u, 93u, + 40u, 255u, 71u, 248u, + 197u, 105u, 122u, 25u, + 143u, 194u, 103u, 38u, + 178u, 156u, 177u, 238u, + 154u, 187u, 154u, 95u, + 217u, 64u, 255u, 102u, + 130u, 64u, 85u, 53u, + 102u, 96u, 105u, 186u, + 155u, 169u, 118u, 156u, + 11u, 120u, 124u, 59u, + 200u, 121u, 139u, 158u, + 137u, 139u, 255u, 173u, + 154u, 103u, 165u, 40u, + 193u, 111u, 143u, 158u, + 71u, 162u, 13u, 174u, + 133u, 247u, 1u, 138u, + 96u, 154u, 86u, 198u, + 77u, 222u, 1u, 122u, + 80u, 170u, 206u, 165u, + 167u, 157u, 151u, 109u, + 157u, 104u, 82u, 170u, + 163u, 99u, 123u, 120u, + 183u, 161u, 135u, 141u, + 1u, 187u, 73u, 99u, + 75u, 233u, 48u, 161u, + 101u, 13u, 135u, 51u, + 255u, 37u, 237u, 162u, + 92u, 43u, 95u, 231u, + 184u, 145u, 39u, 205u, + 113u, 100u, 15u, 75u, + 129u, 115u, 162u, 163u, + 89u, 223u, 1u, 199u, + 115u, 124u, 201u, 156u, + 190u, 98u, 9u, 209u, + 1u, 237u, 135u, 186u, + 144u, 226u, 129u, 8u, + 42u, 202u, 56u, 181u, + 37u, 170u, 114u, 94u, + 99u, 143u, 124u, 72u, + 190u, 133u, 1u, 232u, + 154u, 172u, 137u, 153u, + 86u, 99u, 101u, 172u, + 153u, 57u, 255u, 195u, + 91u, 71u, 172u, 133u, + 167u, 116u, 161u, 163u, + 246u, 255u, 173u, 85u, + 171u, 167u, 131u, 196u, + 158u, 28u, 94u, 86u, + 59u, 95u, 186u, 41u, + 165u, 166u, 126u, 133u, + 80u, 255u, 139u, 173u, + 129u, 186u, 91u, 70u, + 215u, 147u, 116u, 115u, + 117u, 105u, 128u, 140u, + 255u, 165u, 110u, 207u, + 118u, 122u, 189u, 142u, + 173u, 136u, 208u, 161u, + 14u, 103u, 42u, 87u, + 143u, 195u, 133u, 160u, + 47u, 186u, 255u, 192u, + 1u, 126u, 79u, 177u, + 85u, 77u, 81u, 3u, + 185u, 189u, 15u, 44u, + 121u, 167u, 74u, 118u, + 180u, 145u, 129u, 124u, + 82u, 126u, 12u, 26u, + 255u, 245u, 63u, 159u, + 136u, 235u, 240u, 151u, + 134u, 110u, 255u, 151u, + 70u, 68u, 117u, 146u, + 206u, 169u, 163u, 206u, + 132u, 70u, 170u, 193u, + 119u, 125u, 92u, 92u, + 184u, 46u, 179u, 56u, + 1u, 181u, 45u, 75u, + 125u, 127u, 130u, 8u, + 146u, 185u, 127u, 120u, + 122u, 150u, 194u, 150u, + 166u, 213u, 154u, 243u, + 131u, 255u, 224u, 151u, + 95u, 61u, 173u, 145u, + 94u, 189u, 112u, 216u, + 114u, 255u, 146u, 195u, + 222u, 84u, 110u, 58u, + 202u, 148u, 133u, 35u, + 58u, 56u, 0u, 29u, + 90u, 124u, 187u, 89u, + 144u, 5u, 217u, 241u, + 65u, 27u, 223u, 1u, + 168u, 196u, 242u, 178u, + 52u, 99u, 142u, 34u, + 15u, 62u, 103u, 19u, + 118u, 70u, 1u, 46u, + 180u, 146u, 175u, 55u, + 43u, 163u, 96u, 78u, + 65u, 85u, 90u, 123u, + 106u, 50u, 83u, 130u, + 1u, 48u, 33u, 80u, + 172u, 180u, 107u, 253u, + 214u, 3u, 90u, 74u, + 66u, 27u, 16u, 131u, + 35u, 89u, 124u, 125u, + 138u, 43u, 114u, 123u, + 129u, 255u, 105u, 64u, + 71u, 26u, 46u, 183u, + 66u, 46u, 87u, 254u, + 2u, 201u, 209u, 154u, + 255u, 140u, 172u, 11u, + 151u, 215u, 146u, 77u, + 151u, 82u, 255u, 139u, + 83u, 78u, 100u, 162u, + 216u, 64u, 105u, 174u, + 202u, 100u, 252u, 152u, + 125u, 54u, 130u, 34u, + 92u, 173u, 0u, 167u, + 152u, 113u, 117u, 132u, + 108u, 160u, 1u, 146u, + 56u, 200u, 50u, 171u, + 175u, 45u, 70u, 85u, + 148u, 172u, 136u, 86u, + 118u, 23u, 59u, 50u, + 163u, 208u, 115u, 145u, + 59u, 196u, 104u, 194u, + 251u, 74u, 178u, 0u, + 91u, 252u, 22u, 199u, + 68u, 190u, 216u, 189u, + 131u, 80u, 1u, 216u, + 107u, 213u, 51u, 127u, + 124u, 155u, 123u, 136u, + 233u, 190u, 255u, 91u, + 176u, 179u, 114u, 141u, + 110u, 130u, 171u, 156u, + 116u, 99u, 122u, 140u, + 95u, 83u, 104u, 131u, + 53u, 178u, 147u, 136u, + 107u, 243u, 85u, 255u, + 176u, 199u, 134u, 120u, + 140u, 147u, 95u, 122u, + 63u, 1u, 160u, 125u, + 198u, 70u, 255u, 131u, + 107u, 200u, 196u, 188u, + 1u, 64u, 220u, 121u, + 145u, 63u, 207u, 146u, + 213u, 18u, 182u, 255u, + 12u, 73u, 235u, 181u, + 61u, 202u, 130u, 164u, + 255u, 147u, 129u, 137u, + 118u, 74u, 61u, 217u, + 129u, 161u, 141u, 190u, + 97u, 30u, 0u, 177u, + 123u, 57u, 97u, 178u, + 158u, 154u, 157u, 202u, + 69u, 107u, 60u, 210u, + 1u, 138u, 122u, 72u, + 113u, 143u, 38u, 118u, + 144u, 121u, 136u, 139u, + 70u, 124u, 122u, 127u, + 167u, 121u, 119u, 158u, + 99u, 186u, 183u, 137u, + 189u, 116u, 1u, 153u, + 127u, 178u, 116u, 251u, + 178u, 142u, 176u, 194u, + 63u, 136u, 85u, 195u, + 118u, 157u, 255u, 41u, + 242u, 255u, 62u, 163u, + 135u, 98u, 120u, 99u, + 145u, 110u, 147u, 169u, + 162u, 101u, 85u, 94u, + 121u, 157u, 84u, 129u, + 204u, 100u, 80u, 147u, + 85u, 255u, 223u, 34u, + 153u, 238u, 17u, 81u, + 85u, 255u, 114u, 69u, + 227u, 196u, 180u, 216u, + 232u, 189u, 159u, 89u, + 72u, 108u, 37u, 169u, + 147u, 106u, 167u, 255u, + 169u, 96u, 123u, 171u, + 111u, 116u, 144u, 130u, + 182u, 143u, 174u, 105u, + 21u, 38u, 163u, 255u, + 122u, 85u, 74u, 225u, + 76u, 61u, 108u, 185u, + 143u, 169u, 78u, 192u, + 94u, 131u, 139u, 237u, + 82u, 84u, 197u, 70u, + 166u, 213u, 165u, 187u, + 255u, 172u, 61u, 7u, + 194u, 102u, 153u, 164u, + 174u, 148u, 134u, 1u, + 31u, 132u, 87u, 83u, + 140u, 227u, 155u, 111u, + 103u, 145u, 97u, 102u, + 91u, 152u, 115u, 74u, + 185u, 175u, 131u, 68u, + 129u, 214u, 125u, 255u, + 255u, 194u, 163u, 173u, + 161u, 74u, 46u, 211u, + 139u, 10u, 180u, 56u, + 145u, 111u, 130u, 198u, + 43u, 204u, 157u, 63u, + 96u, 4u, 120u, 133u, + 123u, 255u, 13u, 244u, + 139u, 79u, 125u, 142u, + 1u, 117u, 163u, 111u, + 137u, 141u, 169u, 137u, + 148u, 145u, 39u, 122u, + 46u, 83u, 107u, 58u, + 57u, 78u, 255u, 233u, + 155u, 140u, 11u, 198u, + 101u, 158u, 181u, 193u, + 150u, 111u, 93u, 106u, + 153u, 197u, 172u, 104u, + 151u, 244u, 140u, 55u, + 17u, 255u, 126u, 150u, + 69u, 233u, 126u, 131u, + 195u, 168u, 189u, 99u, + 188u, 53u, 1u, 191u, + 37u, 142u, 112u, 206u, + 83u, 176u, 185u, 170u, + 255u, 68u, 25u, 105u, + 86u, 61u, 17u, 160u, + 119u, 83u, 113u, 31u, + 92u, 209u, 90u, 114u, + 120u, 131u, 248u, 126u, + 82u, 151u, 46u, 111u, + 83u, 147u, 115u, 1u, + 144u, 57u, 72u, 91u, + 195u, 120u, 123u, 154u, + 112u, 66u, 195u, 255u, + 118u, 101u, 35u, 144u, + 164u, 222u, 124u, 37u, + 77u, 200u, 60u, 213u, + 250u, 33u, 124u, 79u, + 66u, 109u, 193u, 118u, + 255u, 91u, 134u, 196u, + 1u, 89u, 69u, 157u, + 85u, 110u, 162u, 75u, + 31u, 97u, 106u, 159u, + 252u, 96u, 175u, 153u, + 233u, 43u, 176u, 85u, + 1u, 35u, 38u, 175u, + 232u, 216u, 142u, 134u, + 155u, 111u, 180u, 34u, + 101u, 220u, 75u, 73u, + 207u, 194u, 114u, 84u, + 71u, 135u, 77u, 67u, + 59u, 179u, 1u, 208u, + 206u, 148u, 140u, 147u, + 163u, 0u, 151u, 178u, + 204u, 227u, 107u, 121u, + 79u, 223u, 199u, 166u, + 172u, 166u, 149u, 192u, + 36u, 95u, 255u, 150u, + 244u, 228u, 102u, 118u, + 105u, 205u, 80u, 64u, + 155u, 144u, 245u, 156u, + 0u, 50u, 131u, 193u, + 79u, 186u, 197u, 228u, + 22u, 154u, 192u, 141u, + 121u, 39u, 195u, 123u, + 154u, 255u, 79u, 118u, + 84u, 59u, 134u, 124u, + 94u, 99u, 89u, 94u, + 73u, 74u, 191u, 118u, + 29u, 212u, 0u, 141u, + 145u, 158u, 135u, 43u, + 71u, 108u, 139u, 109u, + 102u, 1u, 166u, 103u, + 85u, 173u, 225u, 180u, + 191u, 188u, 252u, 96u, + 110u, 212u, 138u, 115u, + 146u, 199u, 93u, 98u, + 194u, 56u, 122u, 214u, + 130u, 86u, 178u, 87u, + 194u, 0u, 158u, 18u, + 117u, 167u, 133u, 145u, + 126u, 106u, 255u, 143u, + 184u, 165u, 161u, 114u, + 61u, 78u, 143u, 75u, + 0u, 181u, 108u, 105u, + 120u, 206u, 188u, 76u, + 238u, 178u, 7u, 185u, + 17u, 199u, 70u, 204u, + 1u, 149u, 9u, 131u, + 149u, 255u, 210u, 43u, + 153u, 140u, 124u, 133u, + 14u, 53u, 203u, 125u, + 174u, 190u, 42u, 113u, + 126u, 193u, 144u, 94u, + 87u, 72u, 191u, 87u, + 39u, 0u, 157u, 108u, + 186u, 111u, 170u, 96u, + 125u, 1u, 57u, 168u, + 141u, 52u, 131u, 175u, + 199u, 85u, 173u, 139u, + 103u, 42u, 79u, 255u, + 163u, 136u, 90u, 160u, + 216u, 155u, 70u, 118u, + 99u, 200u, 11u, 135u, + 162u, 168u, 180u, 193u, + 113u, 199u, 45u, 196u, + 207u, 88u, 183u, 176u, + 46u, 1u, 158u, 184u, + 196u, 32u, 148u, 132u, + 106u, 218u, 36u, 250u, + 215u, 67u, 1u, 155u, + 126u, 84u, 154u, 93u, + 31u, 196u, 60u, 101u, + 255u, 104u, 104u, 56u, + 95u, 139u, 154u, 138u, + 167u, 168u, 88u, 137u, + 174u, 175u, 144u, 209u, + 162u, 125u, 118u, 126u, + 74u, 130u, 16u, 106u, + 255u, 175u, 18u, 63u, + 32u, 103u, 43u, 90u, + 160u, 89u, 189u, 113u, + 138u, 99u, 66u, 98u, + 255u, 127u, 183u, 81u, + 165u, 88u, 207u, 148u, + 98u, 133u, 142u, 76u, + 1u, 176u, 67u, 207u, + 7u, 182u, 153u, 92u, + 202u, 175u, 119u, 0u, + 131u, 137u, 144u, 68u, + 184u, 79u, 20u, 101u, + 179u, 147u, 165u, 185u, + 1u, 141u, 78u, 78u, + 48u, 112u, 163u, 170u, + 88u, 138u, 146u, 83u, + 145u, 218u, 167u, 84u, + 53u, 115u, 193u, 171u, + 229u, 147u, 255u, 1u, + 160u, 143u, 115u, 73u, + 120u, 104u, 54u, 175u, + 167u, 119u, 201u, 136u, + 235u, 117u, 113u, 108u, + 130u, 124u, 113u, 84u, + 98u, 0u, 90u, 86u, + 252u, 195u, 255u, 154u, + 120u, 101u, 213u, 81u, + 47u, 78u, 195u, 71u, + 174u, 62u, 137u, 147u, + 62u, 134u, 114u, 104u, + 174u, 106u, 255u, 101u, + 70u, 143u, 193u, 161u, + 65u, 59u, 91u, 26u, + 100u, 29u, 170u, 93u, + 255u, 9u, 199u, 223u, + 134u, 183u, 16u, 183u, + 67u, 175u, 96u, 62u, + 94u, 41u, 163u, 113u, + 134u, 41u, 85u, 136u, + 131u, 166u, 124u, 97u, + 141u, 158u, 106u, 255u, + 164u, 94u, 68u, 150u, + 66u, 176u, 138u, 143u, + 98u, 140u, 89u, 191u, + 73u, 172u, 255u, 37u, + 255u, 205u, 115u, 59u, + 98u, 114u, 120u, 85u, + 239u, 111u, 120u, 128u, + 114u, 65u, 172u, 107u, + 139u, 172u, 168u, 185u, + 68u, 174u, 199u, 1u, + 179u, 173u, 75u, 145u, + 111u, 165u, 213u, 138u, + 182u, 152u, 165u, 182u, + 80u, 255u, 156u, 239u, + 81u, 127u, 48u, 35u, + 129u, 101u, 129u, 183u, + 56u, 171u, 211u, 182u, + 189u, 78u, 181u, 88u, + 7u, 68u, 163u, 93u, + 152u, 0u, 79u, 242u, + 187u, 207u, 255u, 101u, + 230u, 216u, 64u, 99u, + 165u, 157u, 120u, 126u, + 84u, 237u, 23u, 73u, + 235u, 107u, 138u, 99u, + 111u, 255u, 138u, 185u, + 101u, 178u, 151u, 124u, + 3u, 98u, 160u, 176u, + 139u, 239u, 158u, 55u, + 208u, 129u, 1u, 92u, + 81u, 184u, 144u, 202u, + 123u, 199u, 169u, 196u, + 47u, 39u, 147u, 206u, + 133u, 157u, 1u, 193u, + 105u, 132u, 248u, 131u, + 14u, 129u, 42u, 16u, + 96u, 107u, 89u, 158u, + 51u, 39u, 226u, 219u, + 53u, 70u, 133u, 18u, + 224u, 239u, 255u, 172u, + 99u, 71u, 98u, 172u, + 73u, 116u, 69u, 39u, + 134u, 140u, 92u, 75u, + 163u, 89u, 1u, 130u, + 224u, 154u, 124u, 255u, + 114u, 160u, 167u, 96u, + 140u, 87u, 134u, 97u, + 65u, 55u, 73u, 126u, + 126u, 85u, 52u, 70u, + 80u, 108u, 1u, 128u, + 104u, 62u, 95u, 150u, + 107u, 55u, 188u, 219u, + 118u, 70u, 30u, 172u, + 178u, 113u, 118u, 80u, + 60u, 86u, 1u, 122u, + 213u, 94u, 99u, 172u, + 116u, 145u, 130u, 101u, + 172u, 139u, 125u, 139u, + 180u, 150u, 1u, 177u, + 70u, 177u, 168u, 149u, + 124u, 133u, 186u, 203u, + 1u, 195u, 169u, 218u, + 131u, 252u, 92u, 78u, + 74u, 114u, 135u, 100u, + 173u, 180u, 193u, 83u, + 170u, 75u, 1u, 119u, + 68u, 146u, 112u, 75u, + 247u, 112u, 41u, 37u, + 175u, 171u, 178u, 191u, + 158u, 83u, 124u, 121u, + 131u, 95u, 255u, 182u, + 163u, 118u, 104u, 118u, + 150u, 115u, 92u, 71u, + 230u, 119u, 135u, 184u, + 1u, 25u, 137u, 84u, + 137u, 133u, 115u, 118u, + 1u, 62u, 54u, 137u, + 70u, 127u, 143u, 190u, + 165u, 123u, 124u, 179u, + 198u, 33u, 30u, 142u, + 92u, 178u, 73u, 76u, + 150u, 148u, 207u, 122u, + 88u, 83u, 153u, 104u, + 184u, 153u, 179u, 255u, + 193u, 137u, 204u, 94u, + 140u, 191u, 29u, 166u, + 145u, 133u, 88u, 130u, + 1u, 168u, 121u, 113u, + 122u, 64u, 101u, 110u, + 151u, 117u, 115u, 255u, + 160u, 80u, 197u, 94u, + 187u, 82u, 113u, 199u, + 180u, 141u, 178u, 196u, + 8u, 143u, 114u, 51u, + 122u, 169u, 225u, 137u, + 111u, 255u, 94u, 94u, + 165u, 103u, 147u, 110u, + 69u, 107u, 44u, 150u, + 141u, 17u, 66u, 195u, + 0u, 181u, 84u, 189u, + 28u, 152u, 66u, 113u, + 142u, 182u, 166u, 255u, + 84u, 133u, 118u, 135u, + 165u, 85u, 122u, 176u, + 205u, 159u, 44u, 18u, + 58u, 159u, 69u, 103u, + 181u, 234u, 70u, 208u, + 162u, 88u, 255u, 41u, + 62u, 116u, 1u, 169u, + 166u, 25u, 56u, 121u, + 140u, 73u, 152u, 175u, + 81u, 97u, 41u, 93u, + 104u, 1u, 36u, 4u, + 116u, 109u, 249u, 37u, + 202u, 118u, 125u, 25u, + 153u, 50u, 147u, 62u, + 146u, 95u, 79u, 154u, + 112u, 170u, 106u, 216u, + 120u, 135u, 161u, 111u, + 150u, 255u, 107u, 45u, + 23u, 0u, 88u, 144u, + 127u, 145u, 67u, 193u, + 116u, 109u, 83u, 128u, + 79u, 236u, 139u, 80u, + 69u, 255u, 198u, 71u, + 78u, 224u, 153u, 19u, + 163u, 125u, 59u, 175u, + 77u, 123u, 139u, 139u, + 134u, 162u, 188u, 110u, + 33u, 140u, 201u, 146u, + 152u, 208u, 172u, 151u, + 0u, 98u, 113u, 24u, + 42u, 185u, 202u, 90u, + 232u, 111u, 247u, 164u, + 131u, 206u, 120u, 108u, + 231u, 255u, 182u, 104u, + 81u, 130u, 120u, 147u, + 140u, 101u, 151u, 155u, + 133u, 131u, 110u, 94u, + 188u, 161u, 1u, 109u, + 1u, 47u, 72u, 221u, + 18u, 97u, 120u, 105u, + 187u, 200u, 103u, 47u, + 171u, 169u, 56u, 64u, + 255u, 47u, 162u, 113u, + 153u, 39u, 54u, 225u, + 72u, 170u, 168u, 116u, + 201u, 89u, 214u, 109u, + 255u, 149u, 140u, 156u, + 60u, 128u, 73u, 47u, + 139u, 98u, 112u, 96u, + 87u, 168u, 210u, 159u, + 1u, 151u, 124u, 118u, + 52u, 129u, 101u, 135u, + 95u, 89u, 116u, 87u, + 86u, 89u, 201u, 166u, + 1u, 246u, 243u, 161u, + 210u, 6u, 229u, 88u, + 129u, 120u, 99u, 86u, + 136u, 143u, 98u, 199u, + 149u, 81u, 73u, 186u, + 128u, 1u, 97u, 78u, + 71u, 151u, 140u, 66u, + 224u, 82u, 242u, 121u, + 125u, 175u, 216u, 223u, + 10u, 40u, 155u, 85u, + 158u, 164u, 70u, 1u, + 215u, 27u, 58u, 108u, + 133u, 0u, 110u, 68u, + 179u, 177u, 187u, 128u, + 3u, 27u, 23u, 154u, + 90u, 188u, 37u, 158u, + 133u, 255u, 221u, 150u, + 98u, 162u, 241u, 218u, + 63u, 185u, 198u, 107u, + 243u, 151u, 55u, 157u, + 135u, 141u, 117u, 187u, + 142u, 162u, 135u, 117u, + 195u, 203u, 88u, 153u, + 193u, 83u, 255u, 28u, + 80u, 31u, 143u, 127u, + 106u, 81u, 96u, 16u, + 175u, 255u, 141u, 4u, + 108u, 137u, 150u, 166u, + 112u, 178u, 197u, 181u, + 123u, 201u, 80u, 132u, + 124u, 40u, 255u, 117u, + 220u, 56u, 73u, 250u, + 216u, 133u, 255u, 109u, + 149u, 173u, 128u, 209u, + 26u, 97u, 72u, 108u, + 71u, 194u, 28u, 30u, + 161u, 71u, 32u, 201u, + 64u, 83u, 0u, 150u, + 90u, 121u, 154u, 160u, + 207u, 144u, 47u, 55u, + 179u, 180u, 205u, 255u, + 94u, 60u, 88u, 224u, + 12u, 196u, 82u, 23u, + 35u, 249u, 72u, 80u, + 130u, 10u, 67u, 1u, + 108u, 114u, 23u, 163u, + 219u, 209u, 34u, 177u, + 59u, 190u, 150u, 45u, + 75u, 208u, 37u, 34u, + 192u, 51u, 254u, 255u, + 161u, 76u, 120u, 84u, + 177u, 37u, 64u, 193u, + 147u, 85u, 182u, 139u, + 58u, 38u, 153u, 82u, + 156u, 87u, 166u, 76u, + 115u, 113u, 255u, 93u, + 140u, 73u, 128u, 55u, + 124u, 165u, 202u, 36u, + 255u, 83u, 101u, 121u, + 51u, 33u, 76u, 162u, + 3u, 30u, 143u, 75u, + 138u, 89u, 1u, 89u, + 175u, 68u, 192u, 101u, + 99u, 164u, 105u, 68u, + 211u, 122u, 171u, 78u, + 135u, 115u, 0u, 150u, + 148u, 110u, 109u, 85u, + 98u, 69u, 184u, 169u, + 155u, 75u, 110u, 255u, + 111u, 94u, 15u, 107u, + 62u, 62u, 41u, 113u, + 152u, 159u, 102u, 119u, + 186u, 169u, 98u, 124u, + 131u, 161u, 118u, 1u, + 101u, 168u, 132u, 142u, + 170u, 196u, 151u, 167u, + 72u, 88u, 112u, 20u, + 167u, 62u, 139u, 197u, + 127u, 134u, 147u, 237u, + 1u, 143u, 60u, 93u, + 94u, 102u, 1u, 163u, + 74u, 207u, 126u, 128u, + 159u, 150u, 23u, 147u, + 131u, 195u, 85u, 117u, + 113u, 200u, 145u, 2u, + 0u, 97u, 64u, 35u, + 106u, 162u, 140u, 140u, + 51u, 134u, 105u, 138u, + 149u, 165u, 87u, 139u, + 138u, 147u, 58u, 142u, + 122u, 194u, 41u, 255u, + 175u, 231u, 134u, 31u, + 133u, 1u, 141u, 141u, + 237u, 97u, 85u, 230u, + 174u, 191u, 87u, 138u, + 237u, 54u, 166u, 63u, + 76u, 151u, 147u, 73u, + 143u, 155u, 167u, 122u, + 147u, 127u, 193u, 113u, + 122u, 1u, 78u, 111u, + 116u, 146u, 96u, 142u, + 152u, 90u, 144u, 76u, + 107u, 255u, 77u, 102u, + 106u, 102u, 186u, 115u, + 154u, 23u, 159u, 123u, + 38u, 165u, 181u, 130u, + 187u, 130u, 76u, 1u, + 98u, 140u, 181u, 111u, + 81u, 91u, 27u, 62u, + 226u, 255u, 117u, 171u, + 10u, 90u, 75u, 205u, + 74u, 105u, 179u, 100u, + 82u, 255u, 174u, 138u, + 119u, 45u, 195u, 78u, + 86u, 124u, 121u, 216u, + 66u, 144u, 93u, 127u, + 1u, 127u, 119u, 208u, + 166u, 79u, 135u, 216u, + 143u, 228u, 176u, 156u, + 201u, 91u, 29u, 224u, + 180u, 146u, 20u, 126u, + 160u, 105u, 89u, 1u, + 192u, 69u, 230u, 100u, + 178u, 82u, 149u, 158u, + 151u, 168u, 206u, 102u, + 214u, 156u, 113u, 246u, + 154u, 212u, 255u, 163u, + 40u, 213u, 53u, 31u, + 127u, 234u, 120u, 101u, + 196u, 184u, 145u, 147u, + 84u, 138u, 141u, 146u, + 144u, 200u, 165u, 1u, + 186u, 201u, 213u, 180u, + 78u, 92u, 93u, 0u, + 102u, 71u, 145u, 176u, + 199u, 113u, 73u, 92u, + 83u, 175u, 111u, 72u, + 153u, 59u, 1u, 147u, + 65u, 169u, 112u, 82u, + 168u, 109u, 9u, 207u, + 81u, 180u, 57u, 255u, + 173u, 185u, 97u, 152u, + 142u, 122u, 148u, 70u, + 116u, 132u, 106u, 59u, + 120u, 90u, 89u, 1u, + 97u, 196u, 159u, 149u, + 229u, 206u, 76u, 135u, + 64u, 174u, 181u, 119u, + 91u, 141u, 150u, 255u, + 95u, 51u, 94u, 127u, + 241u, 97u, 137u, 55u, + 191u, 26u, 108u, 161u, + 29u, 103u, 95u, 1u, + 221u, 118u, 175u, 76u, + 116u, 204u, 73u, 116u, + 59u, 194u, 84u, 193u, + 57u, 1u, 103u, 189u, + 127u, 94u, 135u, 157u, + 78u, 106u, 94u, 167u, + 109u, 171u, 54u, 152u, + 153u, 89u, 74u, 182u, + 45u, 255u, 137u, 125u, + 142u, 96u, 81u, 56u, + 38u, 133u, 37u, 4u, + 163u, 39u, 164u, 219u, + 66u, 0u, 69u, 99u, + 69u, 196u, 95u, 92u, + 198u, 210u, 162u, 163u, + 84u, 152u, 134u, 130u, + 4u, 145u, 59u, 207u, + 80u, 1u, 154u, 174u, + 105u, 89u, 3u, 130u, + 173u, 255u, 127u, 144u, + 147u, 38u, 141u, 86u, + 110u, 92u, 103u, 54u, + 128u, 81u, 151u, 239u, + 174u, 145u, 134u, 1u, + 145u, 151u, 147u, 165u, + 68u, 165u, 74u, 161u, + 77u, 209u, 97u, 135u, + 121u, 1u, 76u, 168u, + 230u, 44u, 86u, 205u, + 149u, 158u, 74u, 106u, + 90u, 160u, 114u, 197u, + 51u, 173u, 118u, 180u, + 129u, 243u, 133u, 128u, + 20u, 108u, 125u, 106u, + 21u, 255u, 29u, 252u, + 114u, 174u, 152u, 243u, + 84u, 111u, 97u, 187u, + 183u, 8u, 140u, 52u, + 255u, 91u, 211u, 229u, + 147u, 119u, 131u, 24u, + 149u, 76u, 211u, 163u, + 170u, 148u, 1u, 130u, + 165u, 61u, 86u, 160u, + 81u, 144u, 69u, 199u, + 87u, 130u, 119u, 70u, + 168u, 145u, 64u, 79u, + 100u, 101u, 136u, 255u, + 227u, 122u, 133u, 167u, + 153u, 240u, 105u, 167u, + 20u, 85u, 1u, 166u, + 69u, 243u, 49u, 56u, + 101u, 191u, 150u, 28u, + 80u, 66u, 109u, 168u, + 1u, 200u, 65u, 107u, + 158u, 224u, 22u, 127u, + 49u, 86u, 164u, 87u, + 199u, 142u, 168u, 98u, + 152u, 174u, 83u, 117u, + 159u, 205u, 164u, 1u, + 134u, 255u, 183u, 166u, + 107u, 156u, 200u, 73u, + 222u, 212u, 125u, 122u, + 180u, 141u, 244u, 79u, + 111u, 253u, 169u, 199u, + 239u, 116u, 149u, 101u, + 127u, 152u, 220u, 255u, + 244u, 119u, 191u, 87u, + 41u, 191u, 132u, 255u, + 114u, 127u, 136u, 11u, + 69u, 82u, 157u, 84u, + 143u, 99u, 163u, 67u, + 96u, 139u, 29u, 137u, + 155u, 151u, 204u, 95u, + 0u, 90u, 138u, 150u, + 94u, 76u, 59u, 139u, + 123u, 115u, 147u, 255u, + 237u, 104u, 123u, 40u, + 24u, 141u, 122u, 71u, + 182u, 46u, 130u, 84u, + 173u, 109u, 178u, 105u, + 97u, 83u, 102u, 108u, + 149u, 37u, 113u, 96u, + 84u, 0u, 102u, 69u, + 196u, 112u, 130u, 128u, + 184u, 167u, 134u, 103u, + 1u, 137u, 121u, 53u, + 95u, 170u, 18u, 134u, + 178u, 238u, 1u, 107u, + 174u, 209u, 196u, 137u, + 238u, 145u, 90u, 112u, + 36u, 176u, 153u, 65u, + 82u, 179u, 133u, 191u, + 37u, 163u, 49u, 94u, + 0u, 130u, 109u, 220u, + 63u, 211u, 232u, 112u, + 84u, 42u, 175u, 121u, + 185u, 1u, 111u, 43u, + 160u, 144u, 51u, 132u, + 253u, 241u, 13u, 203u, + 49u, 184u, 159u, 82u, + 96u, 72u, 181u, 91u, + 50u, 134u, 188u, 235u, + 255u, 111u, 118u, 18u, + 51u, 106u, 130u, 84u, + 173u, 179u, 120u, 82u, + 64u, 122u, 1u, 155u, + 97u, 215u, 123u, 68u, + 105u, 73u, 175u, 51u, + 118u, 73u, 170u, 122u, + 131u, 93u, 99u, 129u, + 96u, 146u, 80u, 1u, + 205u, 123u, 203u, 152u, + 113u, 49u, 116u, 189u, + 193u, 146u, 255u, 174u, + 144u, 69u, 160u, 117u, + 183u, 130u, 164u, 255u, + 200u, 30u, 150u, 151u, + 85u, 132u, 97u, 47u, + 255u, 125u, 67u, 46u, + 122u, 76u, 139u, 144u, + 96u, 102u, 74u, 124u, + 133u, 123u, 58u, 78u, + 125u, 69u, 123u, 1u, + 235u, 192u, 146u, 58u, + 38u, 1u, 30u, 147u, + 123u, 137u, 200u, 7u, + 174u, 191u, 197u, 19u, + 200u, 204u, 255u, 223u, + 132u, 88u, 183u, 202u, + 149u, 116u, 250u, 172u, + 159u, 145u, 127u, 79u, + 65u, 62u, 220u, 168u, + 61u, 240u, 105u, 4u, + 232u, 68u, 175u, 94u, + 25u, 8u, 97u, 255u, + 75u, 1u, 167u, 85u, + 108u, 144u, 166u, 220u, + 159u, 149u, 103u, 189u, + 38u, 81u, 138u, 151u, + 146u, 218u, 163u, 52u, + 121u, 255u, 85u, 118u, + 149u, 143u, 99u, 124u, + 18u, 68u, 62u, 166u, + 127u, 80u, 183u, 255u, + 145u, 113u, 228u, 135u, + 171u, 191u, 144u, 185u, + 192u, 230u, 168u, 104u, + 187u, 234u, 101u, 212u, + 167u, 110u, 249u, 226u, + 189u, 94u, 255u, 238u, + 147u, 147u, 108u, 168u, + 94u, 85u, 105u, 84u, + 98u, 163u, 137u, 72u, + 59u, 255u, 131u, 226u, + 178u, 157u, 135u, 86u, + 164u, 185u, 51u, 1u, + 236u, 190u, 148u, 160u, + 124u, 115u, 124u, 147u, + 56u, 89u, 78u, 153u, + 139u, 124u, 141u, 130u, + 84u, 71u, 67u, 140u, + 140u, 88u, 195u, 94u, + 255u, 110u, 158u, 153u, + 202u, 88u, 203u, 128u, + 53u, 77u, 108u, 1u, + 112u, 246u, 201u, 69u, + 110u, 228u, 149u, 70u, + 158u, 134u, 94u, 156u, + 119u, 156u, 137u, 49u, + 132u, 255u, 175u, 63u, + 80u, 141u, 179u, 142u, + 255u, 90u, 157u, 120u, + 142u, 68u, 130u, 53u, + 158u, 108u, 153u, 77u, + 116u, 107u, 133u, 131u, + 42u, 104u, 163u, 255u, + 38u, 105u, 135u, 28u, + 81u, 189u, 132u, 165u, + 127u, 96u, 218u, 210u, + 97u, 211u, 47u, 127u, + 176u, 123u, 154u, 131u, + 84u, 149u, 174u, 133u, + 255u, 138u, 177u, 247u, + 66u, 114u, 104u, 60u, + 160u, 170u, 219u, 255u, + 126u, 154u, 105u, 84u, + 143u, 106u, 114u, 115u, + 124u, 214u, 134u, 200u, + 82u, 85u, 255u, 78u, + 250u, 22u, 106u, 116u, + 38u, 91u, 154u, 139u, + 81u, 138u, 228u, 161u, + 145u, 110u, 60u, 43u, + 203u, 46u, 107u, 255u, + 253u, 206u, 76u, 36u, + 199u, 161u, 152u, 167u, + 137u, 98u, 138u, 255u, + 212u, 59u, 99u, 135u, + 181u, 192u, 113u, 145u, + 94u, 193u, 157u, 69u, + 200u, 233u, 124u, 255u, + 24u, 137u, 111u, 142u, + 40u, 243u, 166u, 161u, + 132u, 151u, 112u, 148u, + 81u, 95u, 0u, 184u, + 135u, 43u, 102u, 200u, + 205u, 132u, 201u, 143u, + 86u, 255u, 63u, 82u, + 164u, 141u, 137u, 91u, + 166u, 20u, 163u, 149u, + 201u, 48u, 95u, 148u, + 109u, 50u, 146u, 36u, + 10u, 84u, 196u, 3u, + 31u, 1u, 76u, 149u, + 203u, 202u, 155u, 120u, + 86u, 147u, 65u, 56u, + 86u, 222u, 108u, 157u, + 1u, 75u, 79u, 131u, + 97u, 104u, 148u, 39u, + 141u, 181u, 132u, 199u, + 1u, 34u, 104u, 119u, + 137u, 163u, 171u, 59u, + 217u, 220u, 167u, 112u, + 43u, 42u, 86u, 45u, + 165u, 170u, 95u, 89u, + 218u, 128u, 51u, 107u, + 98u, 102u, 255u, 126u, + 157u, 188u, 240u, 49u, + 1u, 152u, 102u, 163u, + 73u, 136u, 166u, 140u, + 84u, 16u, 94u, 158u, + 196u, 74u, 121u, 97u, + 62u, 199u, 32u, 132u, + 255u, 140u, 137u, 158u, + 60u, 100u, 171u, 129u, + 159u, 171u, 181u, 93u, + 178u, 184u, 255u, 116u, + 122u, 84u, 46u, 94u, + 82u, 193u, 98u, 137u, + 99u, 186u, 140u, 197u, + 184u, 128u, 213u, 1u, + 108u, 35u, 243u, 145u, + 235u, 97u, 178u, 128u, + 96u, 164u, 91u, 217u, + 104u, 132u, 163u, 130u, + 16u, 110u, 136u, 97u, + 28u, 106u, 255u, 82u, + 14u, 163u, 111u, 184u, + 102u, 149u, 145u, 165u, + 119u, 59u, 0u, 187u, + 76u, 142u, 58u, 30u, + 188u, 134u, 80u, 214u, + 40u, 172u, 229u, 174u, + 216u, 99u, 157u, 122u, + 1u, 150u, 216u, 167u, + 235u, 203u, 132u, 116u, + 144u, 86u, 130u, 164u, + 126u, 43u, 255u, 120u, + 63u, 88u, 67u, 230u, + 93u, 154u, 120u, 101u, + 92u, 213u, 62u, 169u, + 0u, 167u, 77u, 107u, + 140u, 29u, 124u, 65u, + 113u, 72u, 23u, 100u, + 161u, 74u, 68u, 245u, + 91u, 177u, 126u, 119u, + 255u, 174u, 58u, 132u, + 170u, 182u, 59u, 237u, + 174u, 167u, 125u, 204u, + 171u, 185u, 67u, 22u, + 129u, 149u, 173u, 1u, + 195u, 40u, 142u, 98u, + 203u, 132u, 163u, 149u, + 166u, 88u, 101u, 119u, + 218u, 92u, 154u, 1u, + 125u, 179u, 154u, 210u, + 93u, 189u, 255u, 127u, + 97u, 50u, 149u, 119u, + 164u, 176u, 23u, 193u, + 112u, 52u, 153u, 245u, + 0u, 76u, 93u, 224u, + 192u, 134u, 101u, 202u, + 185u, 66u, 208u, 109u, + 227u, 126u, 141u, 134u, + 231u, 102u, 187u, 69u, + 77u, 200u, 233u, 68u, + 158u, 1u, 199u, 138u, + 54u, 153u, 112u, 86u, + 133u, 204u, 107u, 100u, + 165u, 157u, 57u, 255u, + 93u, 169u, 152u, 109u, + 100u, 49u, 24u, 222u, + 77u, 102u, 0u, 218u, + 132u, 16u, 179u, 98u, + 63u, 62u, 52u, 189u, + 182u, 92u, 83u, 114u, + 128u, 130u, 115u, 113u, + 180u, 194u, 218u, 255u, + 121u, 134u, 139u, 82u, + 220u, 123u, 141u, 44u, + 169u, 102u, 134u, 96u, + 111u, 121u, 133u, 195u, + 141u, 255u, 180u, 128u, + 62u, 174u, 108u, 140u, + 51u, 137u, 94u, 1u, + 205u, 196u, 168u, 178u, + 166u, 213u, 225u, 131u, + 43u, 133u, 201u, 66u, + 86u, 212u, 125u, 183u, + 132u, 152u, 152u, 115u, + 198u, 114u, 93u, 1u, + 120u, 198u, 175u, 34u, + 106u, 63u, 0u, 169u, + 193u, 112u, 237u, 156u, + 59u, 21u, 141u, 71u, + 118u, 146u, 174u, 156u, + 83u, 80u, 108u, 1u, + 129u, 88u, 50u, 198u, + 119u, 219u, 158u, 150u, + 96u, 119u, 105u, 154u, + 74u, 65u, 153u, 106u, + 119u, 203u, 141u, 119u, + 157u, 255u, 169u, 247u, + 22u, 175u, 247u, 81u, + 158u, 171u, 127u, 48u, + 152u, 197u, 80u, 32u, + 1u, 101u, 216u, 81u, + 149u, 114u, 199u, 173u, + 103u, 131u, 182u, 35u, + 131u, 255u, 138u, 152u, + 190u, 110u, 75u, 93u, + 89u, 126u, 169u, 72u, + 92u, 1u, 202u, 58u, + 184u, 207u, 59u, 103u, + 169u, 61u, 208u, 135u, + 20u, 152u, 126u, 76u, + 10u, 66u, 72u, 58u, + 145u, 195u, 134u, 87u, + 141u, 36u, 255u, 156u, + 41u, 124u, 72u, 100u, + 148u, 153u, 219u, 194u, + 1u, 105u, 201u, 105u, + 184u, 38u, 55u, 231u, + 174u, 64u, 109u, 64u, + 162u, 0u, 105u, 109u, + 135u, 127u, 129u, 77u, + 154u, 104u, 201u, 93u, + 141u, 125u, 189u, 84u, + 174u, 183u, 84u, 50u, + 1u, 166u, 195u, 136u, + 98u, 176u, 59u, 100u, + 1u, 85u, 119u, 167u, + 109u, 69u, 193u, 130u, + 109u, 169u, 57u, 96u, + 206u, 72u, 200u, 166u, + 238u, 177u, 255u, 186u, + 166u, 160u, 100u, 149u, + 148u, 214u, 17u, 125u, + 218u, 187u, 183u, 7u, + 195u, 154u, 145u, 173u, + 200u, 6u, 115u, 249u, + 46u, 49u, 121u, 166u, + 186u, 75u, 255u, 28u, + 130u, 116u, 1u, 105u, + 139u, 143u, 100u, 168u, + 176u, 165u, 161u, 112u, + 108u, 137u, 87u, 91u, + 218u, 223u, 228u, 101u, + 149u, 33u, 56u, 118u, + 158u, 113u, 122u, 162u, + 198u, 0u, 97u, 178u, + 100u, 70u, 199u, 100u, + 74u, 107u, 160u, 76u, + 249u, 223u, 28u, 241u, + 133u, 255u, 229u, 1u, + 214u, 1u, 151u, 225u, + 143u, 181u, 31u, 203u, + 121u, 63u, 58u, 112u, + 176u, 160u, 186u, 33u, + 125u, 33u, 248u, 226u, + 57u, 89u, 130u, 91u, + 0u, 157u, 195u, 94u, + 122u, 250u, 91u, 75u, + 165u, 144u, 106u, 151u, + 141u, 169u, 143u, 128u, + 158u, 91u, 1u, 142u, + 124u, 160u, 105u, 110u, + 160u, 1u, 177u, 12u, + 140u, 181u, 61u, 142u, + 76u, 171u, 158u, 110u, + 49u, 82u, 99u, 65u, + 255u, 183u, 88u, 72u, + 145u, 95u, 130u, 165u, + 125u, 198u, 36u, 18u, + 46u, 136u, 197u, 68u, + 232u, 212u, 164u, 90u, + 77u, 99u, 107u, 139u, + 131u, 0u, 78u, 199u, + 157u, 120u, 120u, 106u, + 159u, 102u, 134u, 72u, + 131u, 158u, 163u, 89u, + 74u, 143u, 255u, 99u, + 178u, 106u, 94u, 123u, + 55u, 214u, 97u, 211u, + 65u, 155u, 174u, 1u, + 171u, 125u, 164u, 159u, + 176u, 33u, 153u, 219u, + 20u, 114u, 115u, 228u, + 229u, 24u, 186u, 255u, + 54u, 184u, 95u, 23u, + 103u, 177u, 76u, 204u, + 117u, 131u, 116u, 128u, + 178u, 0u, 43u, 126u, + 143u, 225u, 193u, 142u, + 246u, 142u, 136u, 232u, + 138u, 71u, 92u, 144u, + 118u, 1u, 161u, 165u, + 1u, 126u, 133u, 154u, + 181u, 245u, 137u, 146u, + 155u, 185u, 255u, 197u, + 177u, 180u, 163u, 141u, + 41u, 98u, 164u, 122u, + 61u, 150u, 105u, 133u, + 221u, 169u, 88u, 199u, + 128u, 58u, 90u, 185u, + 46u, 243u, 92u, 1u, + 130u, 180u, 127u, 54u, + 143u, 175u, 200u, 74u, + 100u, 255u, 131u, 89u, + 120u, 194u, 225u, 71u, + 152u, 48u, 234u, 71u, + 200u, 88u, 106u, 186u, + 69u, 131u, 193u, 102u, + 138u, 84u, 115u, 95u, + 117u, 98u, 255u, 226u, + 94u, 147u, 144u, 253u, + 1u, 126u, 40u, 155u, + 104u, 39u, 88u, 197u, + 221u, 34u, 124u, 49u, + 124u, 32u, 130u, 255u, + 104u, 33u, 69u, 112u, + 52u, 94u, 192u, 98u, + 114u, 78u, 109u, 107u, + 176u, 85u, 67u, 35u, + 176u, 57u, 207u, 170u, + 1u, 180u, 92u, 180u, + 154u, 29u, 17u, 79u, + 10u, 255u, 78u, 62u, + 178u, 146u, 118u, 156u, + 206u, 45u, 105u, 42u, + 146u, 119u, 189u, 102u, + 13u, 135u, 207u, 255u, + 92u, 93u, 130u, 153u, + 176u, 66u, 100u, 168u, + 141u, 91u, 127u, 217u, + 137u, 46u, 82u, 179u, + 133u, 231u, 138u, 214u, + 1u, 80u, 111u, 133u, + 114u, 152u, 70u, 102u, + 99u, 26u, 56u, 128u, + 183u, 119u, 6u, 195u, + 74u, 1u, 132u, 208u, + 209u, 59u, 180u, 41u, + 186u, 52u, 219u, 188u, + 0u, 73u, 21u, 131u, + 212u, 194u, 168u, 43u, + 235u, 36u, 181u, 157u, + 99u, 196u, 42u, 97u, + 183u, 28u, 255u, 214u, + 126u, 136u, 181u, 103u, + 196u, 121u, 100u, 203u, + 179u, 168u, 147u, 109u, + 157u, 175u, 255u, 171u, + 227u, 99u, 143u, 186u, + 58u, 119u, 162u, 137u, + 177u, 202u, 238u, 127u, + 186u, 127u, 128u, 163u, + 194u, 74u, 82u, 157u, + 170u, 1u, 53u, 146u, + 44u, 179u, 208u, 136u, + 82u, 191u, 43u, 107u, + 121u, 255u, 178u, 106u, + 112u, 208u, 38u, 68u, + 59u, 99u, 136u, 1u, + 189u, 121u, 116u, 220u, + 105u, 202u, 191u, 143u, + 110u, 97u, 25u, 135u, + 214u, 121u, 201u, 29u, + 227u, 156u, 162u, 169u, + 165u, 110u, 148u, 165u, + 111u, 119u, 255u, 83u, + 97u, 119u, 128u, 234u, + 255u, 106u, 2u, 113u, + 146u, 143u, 66u, 156u, + 172u, 55u, 32u, 139u, + 96u, 151u, 148u, 89u, + 99u, 157u, 127u, 255u, + 153u, 107u, 237u, 127u, + 149u, 127u, 199u, 39u, + 31u, 179u, 127u, 190u, + 203u, 74u, 204u, 110u, + 110u, 200u, 126u, 113u, + 249u, 105u, 1u, 189u, + 68u, 178u, 95u, 149u, + 94u, 78u, 35u, 110u, + 135u, 153u, 82u, 101u, + 1u, 149u, 174u, 158u, + 184u, 106u, 233u, 122u, + 145u, 128u, 143u, 177u, + 69u, 189u, 189u, 115u, + 103u, 197u, 255u, 80u, + 216u, 171u, 126u, 26u, + 126u, 105u, 79u, 213u, + 255u, 140u, 75u, 166u, + 54u, 109u, 230u, 128u, + 154u, 98u, 130u, 123u, + 129u, 113u, 53u, 92u, + 192u, 137u, 208u, 1u, + 160u, 100u, 119u, 116u, + 141u, 255u, 121u, 172u, + 178u, 108u, 205u, 116u, + 125u, 125u, 143u, 139u, + 138u, 33u, 94u, 173u, + 80u, 180u, 113u, 134u, + 165u, 114u, 165u, 124u, + 156u, 111u, 125u, 132u, + 56u, 110u, 60u, 255u, + 99u, 163u, 23u, 131u, + 140u, 147u, 131u, 193u, + 36u, 94u, 73u, 60u, + 153u, 0u, 178u, 130u, + 91u, 101u, 74u, 26u, + 140u, 174u, 190u, 49u, + 190u, 255u, 174u, 109u, + 151u, 33u, 46u, 143u, + 36u, 231u, 255u, 157u, + 242u, 104u, 218u, 158u, + 92u, 15u, 176u, 23u, + 62u, 51u, 79u, 109u, + 1u, 211u, 193u, 83u, + 250u, 27u, 245u, 57u, + 187u, 170u, 216u, 213u, + 174u, 87u, 87u, 238u, + 143u, 114u, 97u, 80u, + 229u, 187u, 139u, 113u, + 1u, 123u, 190u, 128u, + 93u, 71u, 163u, 30u, + 94u, 127u, 56u, 144u, + 146u, 132u, 93u, 198u, + 75u, 155u, 135u, 40u, + 185u, 255u, 86u, 176u, + 189u, 6u, 178u, 191u, + 205u, 37u, 172u, 219u, + 1u, 107u, 43u, 105u, + 58u, 230u, 167u, 53u, + 75u, 166u, 173u, 193u, + 163u, 255u, 255u, 35u, + 120u, 221u, 68u, 25u, + 78u, 114u, 134u, 128u, + 149u, 180u, 98u, 22u, + 199u, 157u, 159u, 126u, + 36u, 1u, 132u, 173u, + 41u, 219u, 87u, 169u, + 226u, 237u, 58u, 52u, + 37u, 179u, 40u, 119u, + 192u, 164u, 15u, 116u, + 7u, 1u, 84u, 127u, + 108u, 190u, 221u, 94u, + 42u, 149u, 156u, 59u, + 168u, 175u, 152u, 126u, + 170u, 226u, 255u, 145u, + 181u, 100u, 191u, 165u, + 147u, 0u, 176u, 128u, + 149u, 107u, 111u, 87u, + 93u, 106u, 224u, 132u, + 79u, 89u, 160u, 132u, + 141u, 121u, 103u, 109u, + 51u, 173u, 111u, 82u, + 255u, 231u, 93u, 193u, + 154u, 152u, 126u, 74u, + 155u, 165u, 153u, 94u, + 132u, 192u, 120u, 0u, + 140u, 113u, 86u, 155u, + 133u, 18u, 206u, 30u, + 241u, 30u, 75u, 63u, + 86u, 154u, 198u, 255u, + 203u, 110u, 1u, 180u, + 117u, 200u, 211u, 172u, + 1u, 221u, 82u, 9u, + 115u, 115u, 148u, 89u, + 127u, 35u, 195u, 112u, + 148u, 197u, 47u, 138u, + 233u, 42u, 116u, 61u, + 141u, 122u, 33u, 165u, + 137u, 154u, 255u, 184u, + 158u, 104u, 121u, 90u, + 111u, 255u, 98u, 232u, + 147u, 145u, 166u, 180u, + 157u, 133u, 144u, 198u, + 114u, 152u, 129u, 118u, + 106u, 190u, 118u, 255u, + 150u, 45u, 57u, 38u, + 111u, 56u, 80u, 132u, + 223u, 111u, 218u, 38u, + 67u, 211u, 120u, 105u, + 209u, 194u, 110u, 101u, + 159u, 137u, 177u, 1u, + 127u, 77u, 213u, 222u, + 245u, 0u, 252u, 205u, + 67u, 13u, 200u, 36u, + 139u, 150u, 167u, 152u, + 125u, 37u, 7u, 109u, + 159u, 40u, 195u, 143u, + 0u, 57u, 140u, 228u, + 165u, 141u, 105u, 1u, + 81u, 208u, 45u, 76u, + 95u, 64u, 109u, 231u, + 114u, 38u, 152u, 186u, + 6u, 255u, 159u, 208u, + 164u, 114u, 90u, 197u, + 77u, 199u, 90u, 209u, + 127u, 176u, 135u, 173u, + 104u, 203u, 255u, 179u, + 160u, 145u, 89u, 148u, + 200u, 92u, 164u, 172u, + 102u, 119u, 27u, 204u, + 135u, 1u, 94u, 241u, + 98u, 88u, 71u, 118u, + 98u, 170u, 124u, 107u, + 132u, 189u, 1u, 143u, + 135u, 106u, 78u, 46u, + 205u, 127u, 131u, 255u, + 174u, 56u, 68u, 241u, + 32u, 103u, 169u, 106u, + 74u, 126u, 138u, 76u, + 32u, 176u, 40u, 214u, + 155u, 83u, 111u, 201u, + 196u, 155u, 84u, 207u, + 255u, 90u, 128u, 191u, + 101u, 247u, 102u, 117u, + 71u, 25u, 1u, 56u, + 129u, 130u, 213u, 96u, + 104u, 131u, 110u, 75u, + 134u, 124u, 166u, 126u, + 97u, 182u, 188u, 164u, + 180u, 106u, 1u, 144u, + 89u, 57u, 45u, 86u, + 139u, 129u, 76u, 61u, + 3u, 1u, 179u, 110u, + 184u, 185u, 135u, 100u, + 69u, 162u, 140u, 130u, + 35u, 74u, 162u, 62u, + 210u, 212u, 255u, 171u, + 128u, 111u, 58u, 191u, + 78u, 206u, 121u, 136u, + 167u, 86u, 149u, 163u, + 1u, 213u, 133u, 131u, + 190u, 44u, 168u, 11u, + 46u, 110u, 210u, 111u, + 204u, 211u, 104u, 210u, + 39u, 121u, 101u, 146u, + 154u, 56u, 144u, 171u, + 195u, 37u, 255u, 240u, + 155u, 90u, 184u, 140u, + 131u, 48u, 42u, 255u, + 172u, 61u, 164u, 66u, + 170u, 54u, 185u, 64u, + 89u, 1u, 79u, 233u, + 114u, 64u, 237u, 186u, + 206u, 126u, 229u, 143u, + 206u, 163u, 85u, 223u, + 142u, 183u, 152u, 143u, + 255u, 156u, 143u, 76u, + 90u, 103u, 171u, 109u, + 182u, 118u, 83u, 167u, + 109u, 106u, 130u, 202u, + 183u, 152u, 5u, 213u, + 234u, 109u, 63u, 255u, + 192u, 127u, 131u, 132u, + 103u, 239u, 130u, 255u, + 111u, 177u, 105u, 195u, + 166u, 35u, 179u, 201u, + 165u, 31u, 69u, 131u, + 195u, 195u, 232u, 107u, + 131u, 47u, 0u, 177u, + 91u, 156u, 170u, 56u, + 135u, 109u, 141u, 88u, + 120u, 179u, 141u, 234u, + 121u, 83u, 106u, 180u, + 93u, 136u, 255u, 77u, + 168u, 106u, 178u, 94u, + 145u, 122u, 54u, 177u, + 162u, 148u, 255u, 109u, + 156u, 39u, 123u, 76u, + 156u, 165u, 187u, 138u, + 110u, 161u, 86u, 90u, + 224u, 74u, 193u, 129u, + 142u, 115u, 15u, 165u, + 57u, 255u, 160u, 125u, + 21u, 160u, 159u, 122u, + 213u, 67u, 182u, 168u, + 100u, 133u, 114u, 122u, + 206u, 231u, 1u, 251u, + 175u, 241u, 215u, 57u, + 191u, 113u, 131u, 38u, + 181u, 164u, 104u, 82u, + 100u, 153u, 1u, 27u, + 77u, 25u, 167u, 101u, + 165u, 120u, 116u, 184u, + 142u, 145u, 129u, 49u, + 1u, 170u, 71u, 86u, + 99u, 136u, 154u, 120u, + 28u, 109u, 68u, 111u, + 42u, 255u, 117u, 147u, + 183u, 120u, 115u, 151u, + 89u, 35u, 162u, 164u, + 139u, 82u, 119u, 98u, + 95u, 255u, 202u, 102u, + 167u, 111u, 166u, 44u, + 108u, 176u, 127u, 183u, + 64u, 216u, 86u, 199u, + 255u, 153u, 241u, 145u, + 64u, 51u, 155u, 190u, + 179u, 153u, 203u, 126u, + 102u, 91u, 126u, 63u, + 165u, 161u, 158u, 138u, + 112u, 74u, 103u, 1u, + 131u, 147u, 248u, 60u, + 176u, 90u, 1u, 147u, + 53u, 178u, 68u, 108u, + 117u, 135u, 205u, 151u, + 43u, 134u, 119u, 120u, + 210u, 158u, 95u, 142u, + 101u, 147u, 78u, 87u, + 202u, 139u, 0u, 154u, + 35u, 166u, 1u, 156u, + 207u, 174u, 153u, 144u, + 106u, 111u, 167u, 29u, + 193u, 20u, 58u, 41u, + 35u, 68u, 163u, 217u, + 162u, 255u, 85u, 125u, + 90u, 130u, 98u, 144u, + 4u, 114u, 125u, 122u, + 75u, 181u, 196u, 106u, + 168u, 103u, 173u, 89u, + 138u, 116u, 158u, 161u, + 255u, 157u, 107u, 121u, + 154u, 82u, 128u, 174u, + 157u, 71u, 66u, 148u, + 34u, 151u, 1u, 241u, + 69u, 178u, 134u, 87u, + 75u, 88u, 27u, 43u, + 45u, 187u, 87u, 114u, + 141u, 103u, 91u, 23u, + 1u, 112u, 137u, 237u, + 138u, 160u, 219u, 69u, + 101u, 173u, 115u, 167u, + 170u, 85u, 71u, 94u, + 160u, 97u, 1u, 37u, + 134u, 119u, 33u, 0u, + 141u, 33u, 160u, 195u, + 131u, 139u, 116u, 164u, + 86u, 52u, 100u, 86u, + 125u, 63u, 118u, 255u, + 44u, 27u, 50u, 144u, + 226u, 0u, 117u, 168u, + 154u, 218u, 127u, 167u, + 128u, 100u, 173u, 216u, + 24u, 89u, 116u, 110u, + 184u, 109u, 93u, 49u, + 163u, 145u, 1u, 144u, + 40u, 249u, 125u, 34u, + 119u, 121u, 163u, 72u, + 70u, 142u, 131u, 255u, + 242u, 247u, 112u, 131u, + 84u, 10u, 15u, 133u, + 115u, 60u, 162u, 156u, + 112u, 234u, 241u, 105u, + 255u, 155u, 31u, 53u, + 176u, 132u, 136u, 87u, + 104u, 240u, 54u, 105u, + 74u, 129u, 255u, 149u, + 80u, 88u, 151u, 222u, + 162u, 200u, 119u, 44u, + 126u, 150u, 64u, 186u, + 95u, 121u, 133u, 255u, + 95u, 155u, 121u, 138u, + 156u, 165u, 152u, 102u, + 216u, 237u, 165u, 190u, + 93u, 47u, 136u, 99u, + 1u, 132u, 202u, 96u, + 192u, 174u, 117u, 185u, + 135u, 130u, 87u, 161u, + 202u, 123u, 60u, 95u, + 49u, 33u, 92u, 1u, + 189u, 60u, 102u, 4u, + 180u, 255u, 113u, 173u, + 69u, 165u, 143u, 53u, + 166u, 151u, 10u, 131u, + 48u, 151u, 97u, 187u, + 207u, 129u, 172u, 192u, + 255u, 185u, 108u, 138u, + 8u, 47u, 222u, 128u, + 137u, 70u, 145u, 140u, + 255u, 140u, 173u, 156u, + 99u, 151u, 79u, 95u, + 134u, 152u, 67u, 124u, + 169u, 115u, 106u, 255u, + 79u, 74u, 91u, 153u, + 185u, 153u, 102u, 140u, + 148u, 123u, 133u, 67u, + 1u, 215u, 102u, 115u, + 75u, 77u, 104u, 89u, + 69u, 88u, 117u, 185u, + 83u, 81u, 76u, 86u, + 134u, 162u, 93u, 99u, + 204u, 202u, 130u, 130u, + 25u, 105u, 102u, 170u, + 0u, 152u, 114u, 125u, + 77u, 115u, 82u, 8u, + 146u, 59u, 237u, 127u, + 137u, 96u, 0u, 178u, + 116u, 102u, 79u, 41u, + 131u, 119u, 171u, 124u, + 70u, 159u, 255u, 168u, + 100u, 177u, 161u, 158u, + 82u, 125u, 182u, 129u, + 173u, 132u, 207u, 255u, + 169u, 101u, 61u, 186u, + 17u, 109u, 186u, 233u, + 149u, 100u, 84u, 127u, + 113u, 148u, 255u, 100u, + 101u, 147u, 70u, 99u, + 154u, 143u, 14u, 201u, + 61u, 125u, 85u, 128u, + 214u, 236u, 239u, 165u, + 60u, 58u, 64u, 85u, + 161u, 96u, 236u, 84u, + 255u, 115u, 86u, 146u, + 31u, 103u, 69u, 116u, + 147u, 254u, 26u, 137u, + 101u, 172u, 60u, 255u, + 143u, 203u, 167u, 133u, + 240u, 20u, 175u, 65u, + 119u, 155u, 59u, 52u, + 11u, 143u, 138u, 211u, + 243u, 1u, 85u, 27u, + 138u, 156u, 190u, 139u, + 93u, 85u, 94u, 108u, + 146u, 90u, 172u, 23u, + 139u, 234u, 79u, 255u, + 123u, 124u, 80u, 101u, + 214u, 166u, 69u, 106u, + 107u, 177u, 51u, 135u, + 0u, 176u, 19u, 97u, + 75u, 101u, 217u, 255u, + 179u, 170u, 54u, 150u, + 235u, 101u, 71u, 156u, + 154u, 154u, 170u, 80u, + 134u, 68u, 125u, 133u, + 121u, 114u, 96u, 88u, + 177u, 206u, 220u, 134u, + 137u, 21u, 255u, 117u, + 232u, 233u, 1u, 56u, + 31u, 152u, 171u, 144u, + 25u, 75u, 215u, 132u, + 181u, 165u, 173u, 135u, + 54u, 160u, 182u, 94u, + 56u, 195u, 142u, 118u, + 125u, 131u, 175u, 1u, + 142u, 54u, 128u, 168u, + 45u, 148u, 84u, 103u, + 111u, 119u, 170u, 99u, + 122u, 115u, 69u, 157u, + 123u, 116u, 255u, 45u, + 161u, 101u, 211u, 19u, + 195u, 177u, 214u, 176u, + 138u, 5u, 105u, 72u, + 124u, 0u, 35u, 182u, + 0u, 165u, 160u, 211u, + 109u, 157u, 167u, 225u, + 202u, 76u, 118u, 200u, + 95u, 136u, 183u, 18u, + 136u, 176u, 186u, 93u, + 221u, 18u, 203u, 129u, + 25u, 20u, 255u, 45u, + 88u, 77u, 4u, 218u, + 186u, 110u, 152u, 132u, + 107u, 137u, 91u, 179u, + 1u, 113u, 118u, 103u, + 105u, 162u, 106u, 182u, + 207u, 37u, 195u, 188u, + 27u, 59u, 179u, 229u, + 138u, 0u, 171u, 216u, + 153u, 128u, 92u, 117u, + 1u, 199u, 91u, 179u, + 144u, 132u, 187u, 81u, + 153u, 114u, 119u, 212u, + 115u, 137u, 114u, 216u, + 76u, 164u, 149u, 223u, + 128u, 125u, 46u, 147u, + 147u, 203u, 139u, 141u, + 174u, 218u, 105u, 255u, + 97u, 148u, 188u, 97u, + 24u, 141u, 103u, 116u, + 184u, 121u, 53u, 255u, + 150u, 232u, 199u, 53u, + 243u, 10u, 57u, 233u, + 81u, 84u, 116u, 207u, + 79u, 65u, 151u, 0u, + 149u, 145u, 126u, 154u, + 66u, 76u, 152u, 200u, + 255u, 61u, 48u, 98u, + 214u, 219u, 244u, 151u, + 127u, 165u, 194u, 243u, + 71u, 163u, 168u, 93u, + 171u, 103u, 162u, 209u, + 255u, 56u, 66u, 243u, + 103u, 215u, 206u, 30u, + 163u, 30u, 164u, 141u, + 152u, 155u, 221u, 144u, + 178u, 155u, 63u, 102u, + 52u, 255u, 86u, 73u, + 123u, 131u, 157u, 78u, + 240u, 88u, 129u, 70u, + 79u, 255u, 88u, 29u, + 32u, 146u, 100u, 89u, + 147u, 89u, 119u, 246u, + 69u, 206u, 61u, 255u, + 91u, 26u, 131u, 202u, + 98u, 124u, 225u, 143u, + 100u, 239u, 203u, 132u, + 69u, 172u, 79u, 0u, + 120u, 75u, 177u, 127u, + 108u, 117u, 141u, 104u, + 133u, 51u, 171u, 220u, + 107u, 18u, 32u, 147u, + 131u, 39u, 173u, 33u, + 164u, 255u, 113u, 98u, + 141u, 92u, 148u, 46u, + 171u, 86u, 129u, 90u, + 42u, 157u, 174u, 99u, + 146u, 1u, 73u, 40u, + 137u, 41u, 220u, 245u, + 93u, 0u, 130u, 177u, + 130u, 235u, 181u, 221u, + 180u, 175u, 108u, 64u, + 62u, 42u, 124u, 84u, + 65u, 159u, 176u, 223u, + 30u, 36u, 153u, 120u, + 6u, 107u, 1u, 191u, + 70u, 68u, 20u, 125u, + 131u, 123u, 143u, 155u, + 116u, 194u, 143u, 99u, + 1u, 169u, 182u, 169u, + 147u, 131u, 80u, 125u, + 184u, 25u, 69u, 1u, + 130u, 162u, 100u, 10u, + 171u, 101u, 112u, 111u, + 27u, 197u, 0u, 163u, + 150u, 204u, 166u, 87u, + 132u, 102u, 21u, 188u, + 102u, 164u, 86u, 177u, + 71u, 151u, 133u, 195u, + 255u, 176u, 128u, 219u, + 134u, 121u, 142u, 87u, + 117u, 65u, 24u, 212u, + 16u, 85u, 130u, 54u, + 166u, 167u, 171u, 21u, + 1u, 116u, 105u, 115u, + 190u, 215u, 52u, 133u, + 125u, 92u, 156u, 63u, + 37u, 151u, 1u, 207u, + 110u, 92u, 117u, 104u, + 29u, 90u, 73u, 83u, + 126u, 77u, 107u, 103u, + 234u, 182u, 77u, 1u, + 109u, 103u, 73u, 65u, + 6u, 186u, 59u, 68u, + 103u, 173u, 103u, 255u, + 127u, 62u, 149u, 34u, + 38u, 108u, 164u, 141u, + 160u, 225u, 214u, 11u, + 98u, 104u, 204u, 152u, + 114u, 81u, 154u, 44u, + 159u, 79u, 160u, 1u, + 20u, 128u, 196u, 170u, + 53u, 125u, 193u, 191u, + 141u, 190u, 190u, 152u, + 237u, 1u, 255u, 48u, + 175u, 205u, 108u, 193u, + 58u, 1u, 206u, 72u, + 105u, 78u, 40u, 107u, + 98u, 130u, 60u, 82u, + 141u, 90u, 31u, 3u, + 165u, 232u, 208u, 163u, + 192u, 72u, 240u, 189u, + 247u, 249u, 125u, 191u, + 255u, 201u, 146u, 228u, + 122u, 91u, 180u, 146u, + 104u, 91u, 255u, 39u, + 101u, 105u, 248u, 165u, + 173u, 104u, 161u, 99u, + 100u, 0u, 156u, 93u, + 161u, 109u, 94u, 136u, + 121u, 239u, 51u, 105u, + 132u, 81u, 19u, 168u, + 206u, 155u, 231u, 167u, + 26u, 240u, 80u, 131u, + 125u, 86u, 222u, 161u, + 174u, 109u, 255u, 227u, + 120u, 175u, 169u, 163u, + 41u, 80u, 1u, 208u, + 164u, 177u, 128u, 216u, + 108u, 221u, 209u, 140u, + 95u, 196u, 79u, 78u, + 198u, 134u, 81u, 133u, + 205u, 140u, 34u, 1u, + 208u, 72u, 74u, 41u, + 150u, 116u, 194u, 211u, + 115u, 127u, 74u, 124u, + 197u, 173u, 243u, 148u, + 255u, 111u, 15u, 189u, + 186u, 65u, 172u, 24u, + 84u, 123u, 216u, 169u, + 193u, 108u, 74u, 103u, + 63u, 183u, 1u, 39u, + 153u, 115u, 164u, 150u, + 0u, 163u, 72u, 162u, + 101u, 87u, 128u, 190u, + 129u, 143u, 174u, 47u, + 158u, 0u, 169u, 47u, + 170u, 175u, 188u, 190u, + 86u, 114u, 181u, 107u, + 119u, 167u, 156u, 180u, + 154u, 196u, 142u, 255u, + 89u, 129u, 117u, 158u, + 188u, 160u, 133u, 124u, + 133u, 137u, 117u, 176u, + 10u, 168u, 153u, 240u, + 117u, 144u, 82u, 15u, + 242u, 67u, 68u, 77u, + 28u, 70u, 98u, 255u, + 118u, 177u, 156u, 182u, + 200u, 122u, 203u, 101u, + 135u, 154u, 80u, 118u, + 47u, 157u, 1u, 76u, + 165u, 142u, 124u, 210u, + 153u, 115u, 79u, 56u, + 140u, 182u, 238u, 88u, + 182u, 173u, 255u, 233u, + 86u, 255u, 136u, 160u, + 222u, 161u, 119u, 193u, + 67u, 85u, 213u, 160u, + 184u, 144u, 100u, 103u, + 195u, 123u, 111u, 171u, + 93u, 188u, 124u, 145u, + 63u, 62u, 148u, 0u, + 107u, 169u, 104u, 206u, + 78u, 228u, 61u, 145u, + 208u, 19u, 174u, 31u, + 67u, 255u, 24u, 49u, + 34u, 51u, 54u, 35u, + 175u, 48u, 121u, 255u, + 169u, 70u, 207u, 159u, + 59u, 137u, 93u, 143u, + 235u, 114u, 109u, 170u, + 43u, 143u, 218u, 160u, + 84u, 49u, 182u, 105u, + 254u, 175u, 142u, 188u, + 184u, 93u, 255u, 32u, + 145u, 195u, 141u, 229u, + 199u, 104u, 179u, 255u, + 59u, 133u, 164u, 193u, + 206u, 170u, 56u, 53u, + 35u, 73u, 98u, 136u, + 151u, 160u, 119u, 255u, + 92u, 121u, 162u, 82u, + 132u, 176u, 74u, 175u, + 186u, 226u, 193u, 125u, + 170u, 141u, 118u, 155u, + 183u, 52u, 113u, 192u, + 98u, 255u, 135u, 140u, + 107u, 168u, 107u, 59u, + 182u, 102u, 141u, 176u, + 96u, 107u, 173u, 211u, + 173u, 203u, 179u, 1u, + 164u, 152u, 197u, 172u, + 85u, 255u, 88u, 99u, + 144u, 66u, 67u, 222u, + 51u, 141u, 69u, 44u, + 64u, 167u, 84u, 94u, + 232u, 90u, 255u, 232u, + 83u, 138u, 146u, 64u, + 177u, 64u, 46u, 138u, + 255u, 210u, 179u, 109u, + 209u, 70u, 143u, 130u, + 190u, 201u, 151u, 236u, + 72u, 174u, 139u, 110u, + 127u, 108u, 176u, 162u, + 116u, 66u, 129u, 1u, + 86u, 153u, 168u, 212u, + 189u, 153u, 188u, 127u, + 120u, 129u, 141u, 170u, + 69u, 138u, 136u, 145u, + 104u, 176u, 149u, 255u, + 138u, 165u, 63u, 139u, + 77u, 165u, 164u, 44u, + 132u, 147u, 110u, 185u, + 142u, 131u, 142u, 119u, + 31u, 95u, 123u, 255u, + 79u, 82u, 161u, 14u, + 40u, 255u, 188u, 97u, + 156u, 223u, 98u, 207u, + 131u, 61u, 133u, 127u, + 174u, 224u, 144u, 7u, + 239u, 165u, 111u, 187u, + 176u, 76u, 87u, 104u, + 81u, 77u, 1u, 148u, + 85u, 255u, 57u, 83u, + 250u, 204u, 140u, 52u, + 105u, 193u, 144u, 188u, + 193u, 111u, 22u, 148u, + 255u, 163u, 169u, 106u, + 83u, 153u, 98u, 78u, + 66u, 152u, 212u, 69u, + 177u, 108u, 58u, 65u, + 71u, 255u, 110u, 157u, + 252u, 125u, 164u, 206u, + 165u, 164u, 177u, 108u, + 117u, 181u, 30u, 125u, + 161u, 201u, 22u, 148u, + 83u, 137u, 145u, 159u, + 182u, 92u, 206u, 255u, + 82u, 105u, 171u, 66u, + 180u, 137u, 124u, 217u, + 136u, 147u, 95u, 103u, + 1u, 4u, 177u, 122u, + 113u, 180u, 114u, 155u, + 55u, 91u, 118u, 141u, + 80u, 151u, 63u, 131u, + 59u, 91u, 173u, 104u, + 134u, 116u, 1u, 105u, + 179u, 156u, 12u, 47u, + 182u, 170u, 216u, 176u, + 1u, 44u, 46u, 123u, + 100u, 11u, 113u, 160u, + 140u, 1u, 88u, 124u, + 210u, 143u, 105u, 225u, + 61u, 123u, 122u, 53u, + 167u, 175u, 175u, 23u, + 255u, 119u, 100u, 173u, + 97u, 185u, 145u, 57u, + 187u, 165u, 62u, 165u, + 63u, 135u, 94u, 136u, + 255u, 110u, 163u, 104u, + 106u, 36u, 51u, 207u, + 105u, 104u, 154u, 160u, + 154u, 139u, 165u, 220u, + 138u, 223u, 105u, 109u, + 205u, 124u, 101u, 7u, + 72u, 24u, 107u, 170u, + 1u, 254u, 117u, 87u, + 216u, 145u, 198u, 255u, + 80u, 70u, 90u, 53u, + 144u, 31u, 207u, 88u, + 177u, 129u, 129u, 145u, + 124u, 203u, 89u, 153u, + 98u, 215u, 143u, 188u, + 221u, 132u, 191u, 205u, + 49u, 104u, 116u, 255u, + 0u, 96u, 253u, 189u, + 69u, 50u, 164u, 69u, + 36u, 170u, 227u, 236u, + 216u, 215u, 124u, 35u, + 91u, 241u, 134u, 131u, + 115u, 162u, 164u, 116u, + 255u, 162u, 56u, 134u, + 161u, 67u, 189u, 146u, + 255u, 169u, 170u, 141u, + 67u, 169u, 83u, 37u, + 120u, 185u, 178u, 153u, + 54u, 229u, 197u, 152u, + 165u, 111u, 127u, 54u, + 81u, 173u, 129u, 162u, + 1u, 131u, 91u, 92u, + 77u, 153u, 194u, 119u, + 191u, 221u, 165u, 75u, + 51u, 128u, 138u, 64u, + 225u, 186u, 114u, 255u, + 30u, 56u, 243u, 214u, + 53u, 255u, 122u, 124u, + 161u, 248u, 186u, 102u, + 151u, 118u, 51u, 141u, + 12u, 96u, 128u, 169u, + 49u, 169u, 124u, 255u, + 192u, 175u, 191u, 87u, + 158u, 47u, 90u, 106u, + 138u, 169u, 193u, 125u, + 100u, 184u, 1u, 113u, + 120u, 180u, 110u, 60u, + 70u, 168u, 214u, 127u, + 24u, 18u, 159u, 115u, + 79u, 219u, 170u, 137u, + 174u, 111u, 199u, 88u, + 146u, 255u, 154u, 98u, + 127u, 166u, 119u, 144u, + 221u, 88u, 78u, 170u, + 161u, 141u, 213u, 142u, + 145u, 68u, 1u, 183u, + 81u, 91u, 213u, 89u, + 105u, 138u, 85u, 130u, + 108u, 30u, 130u, 178u, + 206u, 100u, 0u, 105u, + 146u, 183u, 145u, 152u, + 88u, 84u, 167u, 183u, + 113u, 142u, 255u, 133u, + 125u, 94u, 166u, 179u, + 125u, 239u, 206u, 136u, + 108u, 255u, 140u, 161u, + 142u, 70u, 133u, 190u, + 166u, 157u, 118u, 164u, + 92u, 67u, 145u, 109u, + 233u, 58u, 105u, 141u, + 91u, 55u, 126u, 148u, + 206u, 141u, 255u, 128u, + 174u, 117u, 227u, 105u, + 98u, 150u, 117u, 255u, + 58u, 141u, 106u, 64u, + 149u, 104u, 149u, 74u, + 169u, 148u, 105u, 137u, + 93u, 1u, 32u, 143u, + 78u, 62u, 207u, 4u, + 238u, 193u, 51u, 192u, + 47u, 72u, 199u, 67u, + 95u, 150u, 144u, 134u, + 193u, 210u, 219u, 118u, + 161u, 115u, 110u, 12u, + 255u, 116u, 115u, 136u, + 107u, 122u, 10u, 224u, + 188u, 249u, 173u, 213u, + 157u, 122u, 255u, 115u, + 135u, 47u, 127u, 90u, + 148u, 53u, 230u, 104u, + 112u, 100u, 102u, 1u, + 75u, 175u, 174u, 76u, + 218u, 175u, 128u, 97u, + 1u, 50u, 86u, 143u, + 200u, 166u, 132u, 113u, + 104u, 115u, 103u, 170u, + 150u, 136u, 49u, 95u, + 33u, 126u, 185u, 255u, + 138u, 82u, 134u, 232u, + 173u, 135u, 216u, 237u, + 224u, 92u, 221u, 134u, + 101u, 131u, 163u, 89u, + 62u, 143u, 83u, 46u, + 1u, 105u, 142u, 192u, + 77u, 218u, 150u, 229u, + 219u, 145u, 167u, 114u, + 103u, 206u, 188u, 1u, + 122u, 22u, 130u, 135u, + 74u, 75u, 81u, 129u, + 108u, 144u, 77u, 141u, + 194u, 38u, 127u, 107u, + 140u, 133u, 0u, 149u, + 41u, 69u, 219u, 80u, + 115u, 142u, 47u, 255u, + 4u, 58u, 161u, 157u, + 156u, 126u, 155u, 153u, + 22u, 94u, 36u, 178u, + 124u, 248u, 96u, 175u, + 191u, 158u, 1u, 168u, + 79u, 144u, 195u, 164u, + 174u, 104u, 98u, 123u, + 10u, 123u, 126u, 177u, + 0u, 127u, 188u, 65u, + 109u, 136u, 167u, 121u, + 49u, 183u, 133u, 177u, + 19u, 170u, 255u, 198u, + 78u, 50u, 101u, 215u, + 3u, 94u, 216u, 146u, + 144u, 204u, 212u, 23u, + 116u, 173u, 121u, 96u, + 173u, 142u, 201u, 48u, + 100u, 246u, 36u, 65u, + 108u, 0u, 246u, 43u, + 214u, 91u, 255u, 193u, + 177u, 135u, 166u, 105u, + 146u, 157u, 144u, 59u, + 164u, 139u, 127u, 175u, + 209u, 142u, 138u, 135u, + 20u, 70u, 224u, 255u, + 174u, 82u, 126u, 181u, + 145u, 136u, 126u, 11u, + 36u, 80u, 138u, 173u, + 247u, 112u, 202u, 24u, + 156u, 1u, 167u, 210u, + 99u, 88u, 21u, 53u, + 48u, 207u, 173u, 200u, + 138u, 1u, 103u, 185u, + 116u, 104u, 181u, 162u, + 139u, 156u, 119u, 125u, + 84u, 151u, 20u, 23u, + 1u, 146u, 168u, 9u, + 159u, 178u, 19u, 138u, + 45u, 94u, 229u, 174u, + 73u, 255u, 122u, 150u, + 120u, 209u, 158u, 34u, + 138u, 118u, 96u, 104u, + 193u, 159u, 86u, 193u, + 146u, 187u, 132u, 217u, + 3u, 169u, 65u, 56u, + 35u, 83u, 81u, 98u, + 183u, 0u, 80u, 147u, + 23u, 222u, 137u, 187u, + 164u, 211u, 174u, 74u, + 30u, 0u, 239u, 92u, + 212u, 226u, 70u, 188u, + 1u, 100u, 83u, 165u, + 84u, 175u, 156u, 90u, + 119u, 199u, 111u, 230u, + 173u, 137u, 37u, 4u, + 90u, 97u, 255u, 202u, + 140u, 89u, 103u, 154u, + 151u, 159u, 152u, 172u, + 163u, 191u, 41u, 124u, + 138u, 122u, 57u, 166u, + 136u, 40u, 183u, 136u, + 156u, 175u, 180u, 67u, + 255u, 125u, 141u, 157u, + 21u, 125u, 1u, 186u, + 51u, 121u, 219u, 162u, + 178u, 61u, 99u, 187u, + 54u, 65u, 247u, 200u, + 1u, 151u, 157u, 125u, + 167u, 73u, 252u, 103u, + 115u, 134u, 201u, 177u, + 177u, 133u, 73u, 242u, + 151u, 221u, 121u, 67u, + 249u, 135u, 255u, 177u, + 21u, 28u, 200u, 118u, + 196u, 129u, 82u, 130u, + 161u, 128u, 198u, 6u, + 154u, 195u, 188u, 131u, + 113u, 61u, 8u, 170u, + 66u, 1u, 129u, 129u, + 114u, 83u, 15u, 195u, + 123u, 1u, 156u, 132u, + 77u, 101u, 146u, 74u, + 148u, 153u, 126u, 103u, + 153u, 30u, 204u, 83u, + 132u, 109u, 127u, 0u, + 95u, 104u, 95u, 230u, + 189u, 104u, 115u, 65u, + 216u, 105u, 182u, 221u, + 182u, 136u, 87u, 119u, + 155u, 163u, 57u, 118u, + 74u, 160u, 1u, 20u, + 255u, 140u, 158u, 167u, + 29u, 138u, 46u, 168u, + 214u, 111u, 145u, 208u, + 181u, 95u, 14u, 77u, + 13u, 25u, 105u, 1u, + 106u, 36u, 170u, 65u, + 102u, 237u, 165u, 131u, + 77u, 153u, 46u, 152u, + 99u, 114u, 199u, 108u, + 160u, 44u, 226u, 132u, + 60u, 148u, 189u, 104u, + 179u, 21u, 1u, 201u, + 171u, 255u, 173u, 184u, + 126u, 206u, 119u, 132u, + 155u, 94u, 147u, 124u, + 87u, 156u, 150u, 152u, + 255u, 239u, 149u, 230u, + 79u, 181u, 158u, 6u, + 179u, 201u, 108u, 223u, + 146u, 162u, 119u, 92u, + 219u, 95u, 142u, 141u, + 142u, 55u, 63u, 144u, + 42u, 76u, 233u, 85u, + 235u, 150u, 255u, 105u, + 68u, 131u, 102u, 168u, + 215u, 132u, 132u, 194u, + 107u, 150u, 139u, 115u, + 255u, 98u, 85u, 115u, + 221u, 153u, 191u, 129u, + 204u, 93u, 167u, 187u, + 1u, 98u, 249u, 166u, + 181u, 117u, 54u, 108u, + 104u, 118u, 142u, 156u, + 49u, 167u, 67u, 131u, + 183u, 161u, 0u, 214u, + 82u, 154u, 122u, 129u, + 64u, 68u, 94u, 95u, + 113u, 33u, 110u, 0u, + 177u, 160u, 123u, 94u, + 167u, 114u, 108u, 137u, + 153u, 103u, 170u, 156u, + 66u, 49u, 80u, 69u, + 159u, 153u, 194u, 101u, + 255u, 164u, 179u, 210u, + 101u, 130u, 200u, 1u, + 74u, 201u, 162u, 197u, + 244u, 184u, 54u, 160u, + 144u, 217u, 82u, 174u, + 158u, 255u, 132u, 169u, + 71u, 140u, 161u, 151u, + 149u, 155u, 103u, 145u, + 71u, 195u, 73u, 58u, + 43u, 114u, 88u, 238u, + 109u, 20u, 44u, 1u, + 123u, 134u, 169u, 141u, + 161u, 46u, 181u, 175u, + 113u, 217u, 139u, 43u, + 41u, 211u, 46u, 82u, + 203u, 95u, 152u, 197u, + 1u, 37u, 122u, 241u, + 61u, 169u, 121u, 54u, + 156u, 143u, 146u, 79u, + 50u, 114u, 123u, 96u, + 121u, 119u, 91u, 255u, + 92u, 228u, 119u, 86u, + 112u, 160u, 76u, 97u, + 68u, 88u, 195u, 99u, + 131u, 16u, 95u, 255u, + 139u, 92u, 53u, 127u, + 104u, 157u, 128u, 166u, + 236u, 141u, 77u, 137u, + 91u, 43u, 1u, 170u, + 77u, 140u, 127u, 0u, + 184u, 106u, 190u, 129u, + 29u, 175u, 178u, 165u, + 135u, 126u, 90u, 199u, + 230u, 61u, 248u, 218u, + 138u, 147u, 88u, 255u, + 61u, 3u, 74u, 119u, + 191u, 106u, 56u, 8u, + 197u, 135u, 139u, 196u, + 118u, 176u, 9u, 255u, + 174u, 94u, 200u, 152u, + 41u, 199u, 193u, 22u, + 62u, 255u, 56u, 65u, + 192u, 142u, 115u, 143u, + 51u, 79u, 163u, 154u, + 48u, 111u, 95u, 193u, + 121u, 146u, 117u, 53u, + 255u, 160u, 96u, 106u, + 43u, 86u, 31u, 89u, + 103u, 94u, 109u, 181u, + 66u, 109u, 109u, 243u, + 135u, 44u, 108u, 92u, + 247u, 222u, 23u, 199u, + 255u, 32u, 103u, 31u, + 138u, 127u, 0u, 176u, + 79u, 93u, 55u, 21u, + 174u, 57u, 254u, 37u, + 87u, 158u, 90u, 137u, + 182u, 204u, 65u, 183u, + 143u, 92u, 129u, 254u, + 255u, 145u, 126u, 105u, + 134u, 81u, 194u, 117u, + 102u, 252u, 206u, 169u, + 111u, 208u, 139u, 64u, + 94u, 104u, 106u, 220u, + 1u, 42u, 161u, 70u, + 201u, 85u, 162u, 255u, + 56u, 210u, 163u, 211u, + 205u, 169u, 154u, 170u, + 41u, 239u, 172u, 74u, + 107u, 105u, 153u, 122u, + 197u, 146u, 162u, 169u, + 60u, 134u, 143u, 181u, + 173u, 100u, 1u, 212u, + 183u, 109u, 114u, 55u, + 201u, 126u, 153u, 227u, + 153u, 222u, 146u, 93u, + 246u, 119u, 1u, 119u, + 125u, 74u, 202u, 199u, + 208u, 1u, 57u, 125u, + 14u, 105u, 103u, 50u, + 234u, 119u, 4u, 142u, + 210u, 54u, 144u, 93u, + 40u, 129u, 113u, 83u, + 120u, 79u, 134u, 8u, + 0u, 199u, 75u, 113u, + 255u, 137u, 196u, 132u, + 116u, 141u, 103u, 155u, + 158u, 128u, 164u, 111u, + 46u, 184u, 184u, 120u, + 96u, 205u, 174u, 203u, + 158u, 177u, 180u, 1u, + 119u, 52u, 108u, 188u, + 91u, 47u, 254u, 251u, + 67u, 157u, 125u, 165u, + 255u, 39u, 88u, 201u, + 173u, 121u, 159u, 168u, + 239u, 164u, 142u, 109u, + 178u, 198u, 126u, 64u, + 112u, 92u, 95u, 194u, + 71u, 124u, 89u, 60u, + 53u, 241u, 91u, 0u, + 51u, 145u, 43u, 155u, + 134u, 71u, 19u, 88u, + 34u, 119u, 166u, 0u, + 90u, 177u, 77u, 81u, + 193u, 58u, 97u, 163u, + 88u, 138u, 214u, 129u, + 92u, 165u, 79u, 1u, + 100u, 195u, 132u, 147u, + 188u, 159u, 150u, 84u, + 165u, 173u, 95u, 82u, + 232u, 198u, 112u, 178u, + 50u, 1u, 86u, 159u, + 166u, 134u, 236u, 241u, + 52u, 226u, 70u, 235u, + 198u, 165u, 28u, 244u, + 255u, 141u, 217u, 227u, + 203u, 246u, 142u, 157u, + 170u, 145u, 130u, 114u, + 158u, 112u, 153u, 104u, + 130u, 135u, 98u, 255u, + 182u, 153u, 157u, 212u, + 190u, 205u, 255u, 163u, + 221u, 174u, 205u, 98u, + 8u, 93u, 14u, 242u, + 190u, 128u, 68u, 192u, + 4u, 132u, 149u, 71u, + 1u, 101u, 167u, 114u, + 183u, 168u, 211u, 252u, + 137u, 210u, 1u, 73u, + 154u, 151u, 90u, 12u, + 50u, 209u, 195u, 203u, + 237u, 212u, 188u, 199u, + 0u, 118u, 53u, 84u, + 86u, 147u, 192u, 139u, + 90u, 95u, 96u, 188u, + 88u, 112u, 165u, 130u, + 167u, 88u, 203u, 172u, + 85u, 143u, 255u, 193u, + 100u, 85u, 171u, 118u, + 52u, 215u, 76u, 92u, + 90u, 150u, 1u, 90u, + 166u, 108u, 200u, 57u, + 186u, 124u, 143u, 20u, + 136u, 107u, 37u, 192u, + 116u, 152u, 175u, 100u, + 226u, 115u, 93u, 255u, + 106u, 157u, 182u, 233u, + 238u, 116u, 134u, 83u, + 31u, 58u, 129u, 175u, + 107u, 68u, 168u, 160u, + 79u, 141u, 105u, 63u, + 206u, 255u, 92u, 146u, + 123u, 154u, 219u, 117u, + 61u, 109u, 122u, 71u, + 145u, 123u, 153u, 157u, + 120u, 255u, 17u, 145u, + 154u, 124u, 82u, 214u, + 133u, 142u, 156u, 52u, + 255u, 227u, 11u, 115u, + 109u, 157u, 190u, 87u, + 115u, 156u, 197u, 255u, + 72u, 139u, 152u, 120u, + 121u, 239u, 80u, 3u, + 107u, 60u, 137u, 17u, + 205u, 175u, 110u, 74u, + 248u, 40u, 212u, 255u, + 73u, 197u, 20u, 140u, + 47u, 147u, 188u, 55u, + 77u, 238u, 3u, 157u, + 74u, 128u, 68u, 57u, + 155u, 212u, 140u, 92u, + 101u, 63u, 161u, 255u, + 111u, 0u, 162u, 27u, + 114u, 192u, 55u, 155u, + 167u, 64u, 111u, 106u, + 13u, 98u, 101u, 110u, + 134u, 49u, 184u, 186u, + 195u, 99u, 172u, 255u, + 1u, 88u, 117u, 77u, + 223u, 147u, 101u, 128u, + 220u, 219u, 70u, 20u, + 227u, 187u, 7u, 228u, + 51u, 46u, 64u, 9u, + 1u, 76u, 114u, 151u, + 153u, 100u, 83u, 226u, + 31u, 166u, 255u, 105u, + 136u, 110u, 125u, 208u, + 29u, 181u, 83u, 20u, + 57u, 54u, 20u, 176u, + 78u, 223u, 159u, 2u, + 255u, 85u, 113u, 204u, + 218u, 97u, 103u, 238u, + 170u, 236u, 115u, 209u, + 186u, 102u, 130u, 166u, + 111u, 134u, 126u, 189u, + 151u, 135u, 20u, 1u, + 167u, 93u, 222u, 61u, + 193u, 170u, 110u, 173u, + 150u, 211u, 255u, 138u, + 175u, 66u, 93u, 127u, + 178u, 212u, 1u, 208u, + 104u, 245u, 209u, 145u, + 193u, 145u, 64u, 190u, + 11u, 36u, 242u, 242u, + 54u, 108u, 35u, 169u, + 39u, 206u, 124u, 101u, + 142u, 126u, 97u, 73u, + 172u, 107u, 1u, 144u, + 149u, 86u, 99u, 60u, + 149u, 143u, 76u, 1u, + 123u, 175u, 245u, 24u, + 49u, 118u, 23u, 149u, + 94u, 46u, 188u, 255u, + 149u, 106u, 67u, 130u, + 147u, 163u, 71u, 54u, + 110u, 223u, 121u, 23u, + 49u, 158u, 198u, 138u, + 165u, 185u, 161u, 145u, + 149u, 86u, 67u, 39u, + 1u, 190u, 129u, 145u, + 152u, 181u, 144u, 181u, + 181u, 170u, 108u, 193u, + 236u, 119u, 180u, 255u, + 148u, 141u, 192u, 147u, + 168u, 108u, 150u, 31u, + 153u, 84u, 157u, 204u, + 140u, 101u, 176u, 158u, + 172u, 44u, 104u, 255u, + 130u, 91u, 90u, 101u, + 122u, 109u, 88u, 116u, + 96u, 151u, 102u, 131u, + 236u, 186u, 135u, 255u, + 93u, 75u, 14u, 255u, + 106u, 155u, 156u, 72u, + 195u, 73u, 159u, 75u, + 134u, 171u, 70u, 202u, + 140u, 125u, 137u, 94u, + 212u, 120u, 138u, 117u, + 151u, 255u, 218u, 119u, + 239u, 231u, 50u, 218u, + 212u, 110u, 213u, 49u, + 154u, 101u, 181u, 1u, + 136u, 185u, 148u, 53u, + 193u, 198u, 144u, 224u, + 240u, 158u, 146u, 87u, + 109u, 131u, 59u, 74u, + 100u, 158u, 95u, 109u, + 85u, 1u, 162u, 48u, + 127u, 167u, 210u, 115u, + 59u, 213u, 36u, 134u, + 71u, 166u, 105u, 255u, + 152u, 95u, 152u, 126u, + 143u, 93u, 147u, 63u, + 103u, 123u, 1u, 74u, + 8u, 135u, 122u, 61u, + 144u, 116u, 113u, 45u, + 123u, 33u, 182u, 181u, + 186u, 202u, 66u, 255u, + 55u, 106u, 166u, 245u, + 99u, 156u, 105u, 161u, + 176u, 148u, 48u, 149u, + 129u, 233u, 195u, 213u, + 200u, 60u, 32u, 187u, + 1u, 155u, 196u, 131u, + 170u, 32u, 126u, 208u, + 161u, 87u, 235u, 94u, + 1u, 78u, 172u, 123u, + 135u, 179u, 174u, 143u, + 86u, 150u, 87u, 177u, + 74u, 85u, 255u, 129u, + 41u, 24u, 134u, 180u, + 88u, 35u, 62u, 124u, + 108u, 76u, 179u, 112u, + 116u, 151u, 100u, 139u, + 143u, 140u, 151u, 142u, + 82u, 152u, 87u, 1u, + 103u, 214u, 196u, 214u, + 1u, 162u, 185u, 62u, + 221u, 177u, 140u, 238u, + 142u, 67u, 178u, 246u, + 25u, 233u, 255u, 227u, + 153u, 127u, 55u, 168u, + 132u, 74u, 164u, 196u, + 132u, 197u, 229u, 205u, + 179u, 118u, 173u, 71u, + 67u, 77u, 18u, 72u, + 102u, 135u, 124u, 93u, + 255u, 79u, 82u, 140u, + 66u, 228u, 42u, 173u, + 123u, 202u, 103u, 255u, + 65u, 51u, 185u, 107u, + 52u, 166u, 66u, 133u, + 92u, 255u, 225u, 146u, + 164u, 106u, 147u, 16u, + 195u, 150u, 147u, 163u, + 151u, 125u, 117u, 66u, + 126u, 134u, 145u, 51u, + 255u, 198u, 20u, 224u, + 70u, 227u, 116u, 151u, + 191u, 172u, 187u, 95u, + 181u, 181u, 73u, 137u, + 139u, 255u, 122u, 171u, + 121u, 173u, 67u, 181u, + 70u, 20u, 138u, 51u, + 62u, 86u, 109u, 84u, + 107u, 146u, 109u, 1u, + 74u, 140u, 7u, 93u, + 42u, 227u, 111u, 154u, + 28u, 149u, 83u, 230u, + 85u, 240u, 108u, 130u, + 80u, 54u, 255u, 94u, + 169u, 131u, 164u, 148u, + 182u, 144u, 204u, 64u, + 157u, 172u, 212u, 255u, + 197u, 81u, 78u, 194u, + 138u, 170u, 128u, 123u, + 31u, 89u, 104u, 211u, + 33u, 6u, 109u, 7u, + 227u, 116u, 6u, 113u, + 155u, 1u, 244u, 131u, + 134u, 101u, 49u, 130u, + 145u, 255u, 182u, 139u, + 83u, 161u, 175u, 183u, + 189u, 108u, 158u, 145u, + 111u, 174u, 122u, 74u, + 177u, 153u, 114u, 95u, + 96u, 195u, 170u, 202u, + 176u, 144u, 255u, 111u, + 210u, 146u, 227u, 205u, + 198u, 246u, 97u, 171u, + 143u, 188u, 181u, 131u, + 0u, 127u, 119u, 70u, + 117u, 119u, 119u, 156u, + 139u, 136u, 201u, 1u, + 213u, 176u, 142u, 32u, + 219u, 103u, 163u, 110u, + 166u, 76u, 135u, 33u, + 186u, 65u, 57u, 191u, + 115u, 146u, 112u, 58u, + 108u, 166u, 1u, 110u, + 41u, 78u, 189u, 69u, + 125u, 198u, 1u, 41u, + 22u, 179u, 180u, 103u, + 69u, 117u, 7u, 70u, + 171u, 115u, 107u, 109u, + 103u, 123u, 183u, 73u, + 66u, 255u, 121u, 225u, + 176u, 186u, 118u, 126u, + 103u, 119u, 113u, 145u, + 186u, 144u, 138u, 225u, + 0u, 71u, 90u, 129u, + 52u, 87u, 102u, 196u, + 71u, 64u, 127u, 173u, + 24u, 204u, 107u, 152u, + 24u, 100u, 176u, 255u, + 134u, 85u, 139u, 94u, + 190u, 99u, 154u, 219u, + 90u, 137u, 204u, 0u, + 231u, 114u, 63u, 127u, + 99u, 12u, 249u, 27u, + 155u, 168u, 164u, 190u, + 84u, 214u, 155u, 115u, + 122u, 163u, 109u, 228u, + 1u, 87u, 164u, 130u, + 178u, 69u, 28u, 69u, + 101u, 129u, 1u, 229u, + 122u, 50u, 237u, 27u, + 78u, 82u, 7u, 195u, + 84u, 177u, 175u, 137u, + 193u, 174u, 80u, 58u, + 255u, 78u, 84u, 224u, + 232u, 183u, 73u, 20u, + 121u, 199u, 218u, 255u, + 129u, 116u, 29u, 175u, + 189u, 116u, 126u, 180u, + 164u, 132u, 106u, 243u, + 123u, 107u, 109u, 160u, + 147u, 83u, 89u, 255u, + 249u, 100u, 68u, 114u, + 98u, 93u, 114u, 85u, + 246u, 116u, 203u, 221u, + 235u, 143u, 117u, 111u, + 0u, 60u, 172u, 92u, + 128u, 124u, 179u, 175u, + 145u, 74u, 86u, 118u, + 111u, 143u, 162u, 184u, + 0u, 144u, 128u, 4u, + 180u, 203u, 208u, 101u, + 122u, 135u, 211u, 168u, + 115u, 188u, 189u, 125u, + 1u, 15u, 176u, 98u, + 192u, 147u, 101u, 110u, + 92u, 98u, 139u, 107u, + 149u, 121u, 202u, 119u, + 126u, 116u, 96u, 120u, + 124u, 123u, 105u, 255u, + 76u, 221u, 111u, 241u, + 13u, 234u, 36u, 33u, + 121u, 85u, 56u, 204u, + 72u, 170u, 116u, 255u, + 159u, 96u, 125u, 115u, + 255u, 117u, 102u, 212u, + 140u, 107u, 102u, 100u, + 110u, 119u, 83u, 53u, + 1u, 112u, 87u, 46u, + 73u, 136u, 190u, 52u, + 116u, 162u, 173u, 145u, + 113u, 57u, 54u, 234u, + 192u, 16u, 138u, 48u, + 63u, 81u, 122u, 179u, + 126u, 227u, 199u, 165u, + 233u, 14u, 255u, 221u, + 36u, 12u, 68u, 188u, + 7u, 216u, 116u, 132u, + 255u, 192u, 79u, 87u, + 104u, 152u, 215u, 97u, + 218u, 114u, 93u, 93u, + 123u, 1u, 133u, 118u, + 165u, 140u, 115u, 121u, + 167u, 66u, 168u, 128u, + 142u, 79u, 116u, 1u, + 106u, 105u, 106u, 24u, + 81u, 145u, 53u, 147u, + 99u, 159u, 155u, 126u, + 101u, 26u, 96u, 116u, + 147u, 142u, 106u, 255u, + 140u, 77u, 88u, 134u, + 80u, 171u, 3u, 53u, + 36u, 193u, 122u, 148u, + 64u, 121u, 255u, 87u, + 101u, 19u, 90u, 235u, + 225u, 33u, 97u, 76u, + 31u, 92u, 244u, 68u, + 143u, 52u, 1u, 148u, + 221u, 156u, 223u, 162u, + 129u, 162u, 46u, 111u, + 144u, 112u, 91u, 61u, + 129u, 121u, 7u, 151u, + 135u, 115u, 186u, 102u, + 49u, 99u, 255u, 147u, + 57u, 196u, 174u, 137u, + 115u, 206u, 255u, 45u, + 133u, 84u, 90u, 187u, + 105u, 225u, 191u, 111u, + 174u, 115u, 162u, 55u, + 98u, 178u, 35u, 111u, + 100u, 156u, 141u, 95u, + 57u, 196u, 53u, 1u, + 112u, 118u, 255u, 245u, + 103u, 61u, 166u, 65u, + 185u, 98u, 172u, 112u, + 144u, 142u, 151u, 181u, + 164u, 216u, 32u, 140u, + 127u, 101u, 18u, 207u, + 14u, 84u, 255u, 167u, + 26u, 137u, 229u, 150u, + 220u, 20u, 29u, 191u, + 139u, 119u, 45u, 187u, + 99u, 85u, 25u, 193u, + 16u, 101u, 202u, 1u, + 167u, 255u, 115u, 134u, + 129u, 71u, 144u, 101u, + 108u, 124u, 131u, 116u, + 149u, 57u, 125u, 173u, + 130u, 182u, 83u, 160u, + 56u, 216u, 179u, 66u, + 149u, 85u, 0u, 108u, + 59u, 127u, 151u, 196u, + 209u, 70u, 192u, 42u, + 67u, 1u, 113u, 101u, + 234u, 141u, 238u, 85u, + 115u, 40u, 218u, 94u, + 132u, 248u, 39u, 128u, + 196u, 251u, 110u, 172u, + 100u, 151u, 36u, 255u, + 32u, 54u, 154u, 120u, + 181u, 120u, 65u, 172u, + 54u, 255u, 93u, 164u, + 192u, 130u, 102u, 181u, + 100u, 146u, 139u, 153u, + 173u, 84u, 189u, 158u, + 255u, 59u, 131u, 117u, + 109u, 131u, 255u, 51u, + 177u, 230u, 100u, 205u, + 187u, 181u, 122u, 175u, + 118u, 110u, 1u, 203u, + 132u, 123u, 160u, 137u, + 80u, 207u, 58u, 34u, + 146u, 136u, 216u, 7u, + 129u, 116u, 255u, 12u, + 49u, 184u, 39u, 168u, + 131u, 138u, 194u, 155u, + 172u, 24u, 199u, 181u, + 41u, 222u, 49u, 79u, + 144u, 119u, 140u, 46u, + 141u, 255u, 145u, 32u, + 146u, 93u, 69u, 240u, + 91u, 184u, 75u, 51u, + 136u, 95u, 165u, 65u, + 87u, 75u, 255u, 132u, + 60u, 190u, 1u, 176u, + 81u, 158u, 100u, 179u, + 49u, 195u, 57u, 183u, + 4u, 156u, 4u, 160u, + 227u, 67u, 255u, 165u, + 50u, 138u, 86u, 213u, + 185u, 23u, 93u, 174u, + 169u, 101u, 120u, 53u, + 164u, 112u, 195u, 91u, + 110u, 178u, 48u, 92u, + 111u, 210u, 196u, 77u, + 255u, 170u, 122u, 79u, + 84u, 120u, 87u, 131u, + 94u, 116u, 142u, 111u, + 143u, 143u, 93u, 210u, + 86u, 135u, 103u, 255u, + 26u, 199u, 118u, 1u, + 66u, 151u, 108u, 145u, + 106u, 144u, 55u, 112u, + 178u, 80u, 132u, 107u, + 201u, 177u, 66u, 195u, + 134u, 105u, 4u, 186u, + 227u, 172u, 78u, 123u, + 96u, 131u, 1u, 120u, + 201u, 120u, 95u, 158u, + 45u, 102u, 111u, 132u, + 150u, 61u, 195u, 85u, + 154u, 133u, 255u, 177u, + 139u, 99u, 138u, 134u, + 111u, 81u, 153u, 111u, + 255u, 165u, 51u, 183u, + 165u, 205u, 227u, 80u, + 238u, 61u, 220u, 190u, + 1u, 123u, 44u, 173u, + 219u, 21u, 221u, 163u, + 135u, 96u, 251u, 62u, + 180u, 165u, 53u, 97u, + 76u, 129u, 255u, 124u, + 156u, 167u, 89u, 129u, + 49u, 152u, 227u, 182u, + 230u, 255u, 135u, 122u, + 50u, 152u, 100u, 142u, + 215u, 122u, 186u, 208u, + 189u, 20u, 154u, 134u, + 131u, 123u, 178u, 1u, + 229u, 110u, 149u, 1u, + 106u, 184u, 49u, 112u, + 11u, 93u, 95u, 107u, + 126u, 148u, 76u, 138u, + 84u, 55u, 206u, 80u, + 118u, 132u, 8u, 145u, + 104u, 255u, 86u, 84u, + 0u, 240u, 161u, 88u, + 103u, 161u, 129u, 102u, + 44u, 173u, 243u, 136u, + 104u, 142u, 59u, 250u, + 126u, 189u, 202u, 185u, + 142u, 111u, 167u, 117u, + 183u, 150u, 179u, 161u, + 145u, 106u, 166u, 0u, + 98u, 77u, 0u, 211u, + 109u, 159u, 99u, 11u, + 140u, 105u, 132u, 50u, + 127u, 83u, 147u, 161u, + 234u, 117u, 104u, 98u, + 149u, 123u, 244u, 26u, + 46u, 160u, 189u, 117u, + 176u, 212u, 255u, 168u, + 132u, 140u, 164u, 141u, + 64u, 97u, 40u, 1u, + 100u, 159u, 166u, 97u, + 116u, 171u, 13u, 78u, + 147u, 83u, 198u, 158u, + 89u, 144u, 198u, 105u, + 68u, 151u, 170u, 86u, + 68u, 1u, 226u, 149u, + 120u, 188u, 146u, 170u, + 71u, 110u, 255u, 51u, + 158u, 148u, 169u, 229u, + 86u, 185u, 202u, 177u, + 110u, 144u, 40u, 60u, + 134u, 198u, 105u, 100u, + 122u, 107u, 53u, 142u, + 1u, 14u, 77u, 223u, + 127u, 70u, 113u, 82u, + 1u, 99u, 109u, 34u, + 214u, 151u, 59u, 142u, + 10u, 133u, 137u, 181u, + 198u, 137u, 16u, 25u, + 130u, 98u, 230u, 87u, + 173u, 255u, 126u, 94u, + 170u, 27u, 163u, 172u, + 38u, 165u, 157u, 126u, + 48u, 68u, 102u, 55u, + 127u, 166u, 1u, 255u, + 203u, 86u, 76u, 195u, + 204u, 164u, 138u, 27u, + 17u, 204u, 30u, 114u, + 255u, 158u, 53u, 175u, + 3u, 106u, 245u, 75u, + 1u, 54u, 201u, 38u, + 128u, 38u, 148u, 152u, + 171u, 153u, 91u, 186u, + 87u, 119u, 105u, 164u, + 163u, 121u, 112u, 108u, + 146u, 147u, 76u, 255u, + 87u, 164u, 157u, 81u, + 123u, 43u, 155u, 88u, + 125u, 172u, 189u, 255u, + 182u, 175u, 114u, 140u, + 153u, 64u, 161u, 85u, + 137u, 90u, 121u, 37u, + 255u, 145u, 147u, 118u, + 157u, 69u, 114u, 207u, + 7u, 160u, 208u, 90u, + 107u, 243u, 223u, 10u, + 69u, 212u, 127u, 203u, + 92u, 228u, 140u, 160u, + 212u, 82u, 10u, 185u, + 98u, 187u, 1u, 125u, + 185u, 218u, 148u, 203u, + 189u, 81u, 225u, 100u, + 131u, 1u, 243u, 170u, + 165u, 216u, 205u, 212u, + 146u, 83u, 199u, 176u, + 200u, 133u, 65u, 103u, + 65u, 255u, 160u, 106u, + 177u, 109u, 121u, 103u, + 187u, 127u, 73u, 136u, + 137u, 175u, 165u, 113u, + 49u, 151u, 192u, 70u, + 129u, 142u, 43u, 0u, + 103u, 165u, 67u, 117u, + 155u, 79u, 255u, 231u, + 120u, 162u, 167u, 119u, + 90u, 166u, 177u, 223u, + 137u, 129u, 79u, 158u, + 40u, 143u, 119u, 125u, + 168u, 175u, 137u, 116u, + 1u, 145u, 101u, 171u, + 60u, 221u, 45u, 194u, + 204u, 124u, 255u, 175u, + 177u, 58u, 140u, 98u, + 251u, 171u, 140u, 199u, + 117u, 191u, 190u, 158u, + 118u, 76u, 111u, 189u, + 145u, 0u, 159u, 46u, + 189u, 182u, 162u, 215u, + 104u, 65u, 79u, 65u, + 195u, 45u, 19u, 144u, + 110u, 242u, 215u, 140u, + 255u, 165u, 48u, 180u, + 110u, 58u, 98u, 163u, + 146u, 47u, 96u, 80u, + 1u, 165u, 146u, 72u, + 216u, 85u, 137u, 67u, + 171u, 97u, 73u, 83u, + 84u, 120u, 107u, 151u, + 239u, 255u, 196u, 65u, + 85u, 145u, 78u, 222u, + 0u, 145u, 135u, 92u, + 61u, 126u, 111u, 54u, + 179u, 188u, 143u, 154u, + 75u, 81u, 166u, 105u, + 106u, 53u, 61u, 42u, + 133u, 103u, 102u, 30u, + 172u, 255u, 160u, 61u, + 56u, 97u, 242u, 102u, + 169u, 180u, 55u, 92u, + 35u, 184u, 118u, 190u, + 198u, 169u, 92u, 130u, + 118u, 246u, 255u, 182u, + 91u, 58u, 78u, 1u, + 110u, 48u, 58u, 219u, + 81u, 179u, 104u, 116u, + 207u, 163u, 175u, 132u, + 60u, 100u, 143u, 160u, + 86u, 194u, 188u, 155u, + 1u, 52u, 139u, 79u, + 76u, 174u, 107u, 108u, + 119u, 124u, 144u, 71u, + 227u, 48u, 197u, 229u, + 205u, 146u, 100u, 255u, + 209u, 196u, 6u, 61u, + 75u, 144u, 140u, 188u, + 125u, 183u, 93u, 122u, + 81u, 120u, 173u, 116u, + 187u, 117u, 151u, 1u, + 221u, 133u, 124u, 109u, + 145u, 182u, 103u, 171u, + 91u, 198u, 109u, 74u, + 0u, 164u, 64u, 236u, + 123u, 113u, 127u, 116u, + 193u, 255u, 202u, 140u, + 155u, 144u, 197u, 169u, + 78u, 133u, 83u, 128u, + 252u, 71u, 207u, 77u, + 128u, 104u, 130u, 255u, + 139u, 127u, 137u, 127u, + 34u, 84u, 233u, 63u, + 3u, 121u, 104u, 59u, + 67u, 144u, 34u, 148u, + 108u, 1u, 147u, 228u, + 168u, 98u, 122u, 7u, + 183u, 91u, 72u, 41u, + 126u, 108u, 1u, 179u, + 82u, 200u, 86u, 42u, + 165u, 255u, 27u, 35u, + 222u, 204u, 174u, 92u, + 113u, 190u, 148u, 148u, + 137u, 42u, 114u, 156u, + 65u, 208u, 93u, 255u, + 66u, 233u, 152u, 175u, + 130u, 97u, 101u, 164u, + 195u, 63u, 162u, 147u, + 76u, 156u, 1u, 174u, + 188u, 130u, 148u, 255u, + 197u, 156u, 154u, 24u, + 74u, 97u, 190u, 173u, + 85u, 197u, 152u, 21u, + 142u, 248u, 54u, 135u, + 228u, 169u, 154u, 141u, + 41u, 123u, 135u, 131u, + 41u, 39u, 0u, 195u, + 37u, 255u, 93u, 108u, + 160u, 78u, 94u, 86u, + 43u, 139u, 144u, 134u, + 175u, 195u, 102u, 211u, + 55u, 118u, 18u, 176u, + 76u, 170u, 69u, 184u, + 0u, 101u, 33u, 163u, + 119u, 169u, 81u, 109u, + 39u, 104u, 255u, 147u, + 42u, 93u, 133u, 166u, + 190u, 122u, 101u, 140u, + 201u, 173u, 157u, 121u, + 165u, 121u, 226u, 97u, + 61u, 166u, 75u, 142u, + 154u, 108u, 115u, 255u, + 103u, 34u, 153u, 123u, + 89u, 128u, 44u, 195u, + 103u, 89u, 161u, 78u, + 89u, 202u, 85u, 43u, + 145u, 110u, 255u, 145u, + 48u, 1u, 150u, 165u, + 185u, 129u, 133u, 108u, + 135u, 178u, 128u, 103u, + 104u, 175u, 147u, 107u, + 206u, 137u, 124u, 97u, + 85u, 255u, 102u, 143u, + 128u, 101u, 104u, 164u, + 84u, 154u, 180u, 86u, + 168u, 165u, 180u, 204u, + 149u, 69u, 169u, 188u, + 42u, 56u, 164u, 97u, + 151u, 238u, 129u, 1u, + 96u, 255u, 108u, 173u, + 149u, 255u, 206u, 209u, + 5u, 69u, 128u, 69u, + 79u, 55u, 53u, 129u, + 117u, 215u, 142u, 179u, + 181u, 138u, 132u, 202u, + 1u, 62u, 132u, 216u, + 241u, 138u, 113u, 61u, + 223u, 74u, 147u, 131u, + 222u, 30u, 59u, 66u, + 92u, 98u, 108u, 255u, + 103u, 197u, 161u, 45u, + 48u, 38u, 96u, 56u, + 137u, 56u, 118u, 88u, + 60u, 115u, 0u, 61u, + 126u, 148u, 171u, 202u, + 146u, 72u, 98u, 112u, + 95u, 102u, 243u, 164u, + 163u, 253u, 171u, 0u, + 173u, 6u, 35u, 133u, + 255u, 196u, 182u, 94u, + 107u, 145u, 67u, 151u, + 99u, 69u, 125u, 147u, + 38u, 134u, 188u, 78u, + 54u, 119u, 147u, 185u, + 114u, 153u, 255u, 203u, + 145u, 174u, 120u, 207u, + 178u, 188u, 100u, 73u, + 89u, 108u, 1u, 199u, + 187u, 107u, 45u, 35u, + 81u, 173u, 83u, 133u, + 188u, 41u, 165u, 52u, + 128u, 84u, 219u, 59u, + 184u, 136u, 201u, 180u, + 61u, 44u, 186u, 55u, + 36u, 0u, 83u, 91u, + 50u, 222u, 193u, 63u, + 129u, 168u, 153u, 0u, + 60u, 157u, 160u, 107u, + 137u, 112u, 54u, 204u, + 156u, 128u, 56u, 141u, + 101u, 145u, 242u, 140u, + 25u, 90u, 255u, 131u, + 84u, 59u, 92u, 111u, + 99u, 123u, 160u, 180u, + 255u, 106u, 148u, 216u, + 62u, 44u, 123u, 47u, + 199u, 106u, 73u, 218u, + 140u, 132u, 119u, 40u, + 148u, 175u, 167u, 63u, + 51u, 178u, 255u, 116u, + 37u, 86u, 122u, 152u, + 12u, 175u, 1u, 140u, + 136u, 69u, 186u, 158u, + 138u, 192u, 128u, 109u, + 137u, 176u, 132u, 164u, + 134u, 124u, 111u, 126u, + 78u, 199u, 78u, 14u, + 175u, 251u, 234u, 107u, + 255u, 123u, 142u, 186u, + 118u, 172u, 5u, 226u, + 1u, 235u, 50u, 140u, + 91u, 27u, 235u, 156u, + 65u, 33u, 119u, 172u, + 111u, 160u, 220u, 145u, + 36u, 146u, 127u, 6u, + 196u, 255u, 120u, 155u, + 220u, 124u, 195u, 8u, + 81u, 79u, 120u, 83u, + 155u, 157u, 223u, 145u, + 182u, 137u, 1u, 148u, + 91u, 177u, 23u, 142u, + 172u, 84u, 179u, 125u, + 117u, 110u, 223u, 106u, + 255u, 108u, 70u, 211u, + 142u, 199u, 201u, 105u, + 89u, 88u, 255u, 154u, + 122u, 123u, 19u, 40u, + 145u, 75u, 119u, 209u, + 63u, 151u, 107u, 157u, + 103u, 187u, 118u, 130u, + 91u, 255u, 223u, 240u, + 72u, 14u, 112u, 159u, + 69u, 188u, 152u, 114u, + 69u, 108u, 110u, 140u, + 183u, 162u, 40u, 196u, + 110u, 169u, 109u, 178u, + 163u, 163u, 1u, 219u, + 124u, 243u, 133u, 242u, + 210u, 62u, 115u, 180u, + 119u, 6u, 255u, 202u, + 213u, 62u, 167u, 36u, + 118u, 141u, 161u, 105u, + 207u, 91u, 7u, 133u, + 132u, 188u, 94u, 246u, + 255u, 182u, 86u, 207u, + 56u, 134u, 111u, 173u, + 0u, 107u, 72u, 94u, + 26u, 120u, 169u, 17u, + 167u, 236u, 13u, 69u, + 93u, 25u, 126u, 159u, + 123u, 79u, 105u, 149u, + 25u, 151u, 0u, 126u, + 72u, 208u, 152u, 94u, + 174u, 255u, 86u, 90u, + 196u, 53u, 172u, 127u, + 59u, 122u, 135u, 70u, + 170u, 115u, 22u, 131u, + 161u, 155u, 109u, 83u, + 83u, 163u, 255u, 158u, + 205u, 168u, 149u, 158u, + 32u, 161u, 160u, 161u, + 195u, 113u, 175u, 133u, + 239u, 72u, 132u, 148u, + 0u, 100u, 132u, 137u, + 221u, 88u, 78u, 192u, + 107u, 182u, 170u, 127u, + 116u, 117u, 79u, 139u, + 70u, 255u, 92u, 241u, + 168u, 143u, 163u, 114u, + 101u, 78u, 115u, 125u, + 36u, 42u, 71u, 60u, + 0u, 52u, 44u, 86u, + 104u, 118u, 148u, 59u, + 61u, 255u, 229u, 143u, + 33u, 101u, 68u, 110u, + 69u, 117u, 87u, 119u, + 126u, 128u, 33u, 178u, + 131u, 25u, 53u, 177u, + 173u, 90u, 62u, 255u, + 14u, 169u, 82u, 128u, + 125u, 235u, 169u, 124u, + 94u, 112u, 205u, 146u, + 129u, 90u, 34u, 86u, + 42u, 42u, 110u, 77u, + 0u, 96u, 155u, 99u, + 166u, 93u, 165u, 250u, + 175u, 78u, 48u, 250u, + 160u, 168u, 122u, 175u, + 145u, 92u, 255u, 79u, + 96u, 161u, 181u, 53u, + 60u, 37u, 181u, 1u, + 84u, 140u, 86u, 116u, + 139u, 88u, 57u, 104u, + 94u, 159u, 85u, 124u, + 43u, 170u, 129u, 186u, + 57u, 1u, 42u, 186u, + 132u, 212u, 147u, 92u, + 220u, 110u, 128u, 107u, + 72u, 45u, 136u, 178u, + 1u, 53u, 70u, 127u, + 159u, 111u, 8u, 105u, + 171u, 101u, 115u, 73u, + 102u, 98u, 167u, 191u, + 150u, 195u, 255u, 133u, + 65u, 174u, 220u, 178u, + 47u, 152u, 162u, 164u, + 149u, 121u, 206u, 146u, + 181u, 108u, 92u, 255u, + 132u, 60u, 143u, 138u, + 149u, 99u, 64u, 22u, + 1u, 148u, 187u, 142u, + 64u, 167u, 172u, 65u, + 132u, 120u, 241u, 201u, + 80u, 206u, 108u, 234u, + 133u, 160u, 179u, 84u, + 255u, 154u, 92u, 143u, + 159u, 153u, 93u, 165u, + 208u, 133u, 201u, 176u, + 28u, 145u, 149u, 82u, + 195u, 191u, 135u, 200u, + 244u, 255u, 126u, 68u, + 250u, 109u, 138u, 150u, + 4u, 143u, 92u, 1u, + 162u, 166u, 91u, 43u, + 103u, 43u, 215u, 85u, + 255u, 199u, 125u, 155u, + 92u, 41u, 149u, 78u, + 210u, 231u, 80u, 172u, + 8u, 72u, 210u, 48u, + 108u, 89u, 82u, 89u, + 144u, 77u, 157u, 0u, + 178u, 126u, 81u, 89u, + 142u, 156u, 114u, 187u, + 255u, 55u, 169u, 199u, + 92u, 65u, 176u, 111u, + 57u, 204u, 149u, 4u, + 142u, 151u, 221u, 100u, + 76u, 130u, 19u, 88u, + 155u, 32u, 146u, 167u, + 82u, 172u, 151u, 93u, + 204u, 255u, 122u, 134u, + 101u, 100u, 119u, 166u, + 48u, 151u, 255u, 190u, + 237u, 106u, 81u, 171u, + 27u, 137u, 148u, 136u, + 47u, 1u, 17u, 109u, + 174u, 155u, 130u, 78u, + 109u, 216u, 108u, 104u, + 109u, 95u, 195u, 29u, + 77u, 131u, 139u, 68u, + 22u, 236u, 186u, 83u, + 195u, 185u, 176u, 125u, + 101u, 157u, 255u, 150u, + 125u, 90u, 255u, 84u, + 120u, 160u, 110u, 171u, + 74u, 163u, 189u, 221u, + 125u, 223u, 91u, 151u, + 131u, 255u, 118u, 173u, + 46u, 108u, 141u, 34u, + 96u, 72u, 81u, 184u, + 190u, 61u, 93u, 161u, + 108u, 83u, 106u, 0u, + 94u, 115u, 116u, 150u, + 83u, 74u, 90u, 161u, + 112u, 183u, 114u, 144u, + 127u, 93u, 213u, 131u, + 123u, 169u, 43u, 52u, + 100u, 188u, 141u, 138u, + 156u, 82u, 175u, 0u, + 42u, 31u, 81u, 198u, + 129u, 82u, 28u, 87u, + 180u, 116u, 1u, 152u, + 54u, 230u, 121u, 244u, + 168u, 113u, 110u, 187u, + 79u, 18u, 206u, 217u, + 155u, 103u, 147u, 255u, + 190u, 155u, 63u, 168u, + 163u, 240u, 135u, 207u, + 184u, 85u, 134u, 185u, + 27u, 92u, 207u, 110u, + 214u, 255u, 102u, 58u, + 69u, 154u, 187u, 156u, + 98u, 185u, 134u, 126u, + 122u, 127u, 133u, 121u, + 166u, 42u, 95u, 1u, + 10u, 255u, 22u, 38u, + 212u, 230u, 31u, 122u, + 31u, 90u, 49u, 45u, + 17u, 114u, 111u, 112u, + 121u, 157u, 130u, 74u, + 97u, 115u, 180u, 175u, + 217u, 187u, 158u, 130u, + 1u, 157u, 156u, 107u, + 173u, 183u, 239u, 118u, + 130u, 88u, 82u, 121u, + 93u, 131u, 252u, 255u, + 133u, 87u, 137u, 68u, + 125u, 107u, 1u, 137u, + 105u, 48u, 123u, 181u, + 65u, 160u, 60u, 101u, + 244u, 223u, 89u, 108u, + 146u, 56u, 194u, 255u, + 14u, 119u, 139u, 35u, + 93u, 148u, 128u, 142u, + 240u, 230u, 176u, 148u, + 176u, 195u, 250u, 103u, + 170u, 146u, 178u, 169u, + 132u, 103u, 189u, 229u, + 137u, 84u, 1u, 150u, + 135u, 125u, 128u, 91u, + 198u, 179u, 77u, 194u, + 73u, 142u, 118u, 87u, + 133u, 104u, 0u, 103u, + 135u, 255u, 141u, 49u, + 189u, 134u, 187u, 158u, + 79u, 89u, 126u, 126u, + 121u, 112u, 167u, 225u, + 141u, 39u, 75u, 0u, + 133u, 27u, 155u, 183u, + 197u, 198u, 112u, 121u, + 104u, 53u, 153u, 45u, + 119u, 200u, 124u, 43u, + 180u, 114u, 126u, 184u, + 125u, 91u, 79u, 255u, + 49u, 137u, 156u, 191u, + 82u, 128u, 255u, 143u, + 40u, 92u, 140u, 93u, + 136u, 144u, 149u, 181u, + 96u, 61u, 103u, 94u, + 0u, 164u, 52u, 197u, + 24u, 173u, 118u, 5u, + 138u, 151u, 218u, 211u, + 249u, 14u, 248u, 111u, + 98u, 218u, 203u, 120u, + 121u, 176u, 141u, 76u, + 16u, 126u, 236u, 165u, + 161u, 76u, 0u, 234u, + 149u, 94u, 198u, 127u, + 179u, 95u, 180u, 169u, + 113u, 143u, 186u, 135u, + 203u, 107u, 1u, 118u, + 138u, 0u, 191u, 193u, + 55u, 168u, 112u, 86u, + 194u, 211u, 51u, 62u, + 141u, 190u, 136u, 34u, + 137u, 145u, 232u, 203u, + 48u, 109u, 13u, 0u, + 200u, 126u, 165u, 60u, + 144u, 122u, 160u, 167u, + 172u, 66u, 185u, 255u, + 121u, 153u, 95u, 235u, + 248u, 190u, 197u, 160u, + 153u, 141u, 184u, 83u, + 68u, 101u, 43u, 110u, + 134u, 153u, 103u, 86u, + 1u, 160u, 207u, 157u, + 110u, 91u, 116u, 102u, + 77u, 23u, 196u, 182u, + 245u, 29u, 128u, 170u, + 112u, 115u, 98u, 0u, + 52u, 247u, 225u, 214u, + 107u, 219u, 176u, 149u, + 46u, 255u, 54u, 100u, + 87u, 153u, 123u, 42u, + 93u, 101u, 137u, 91u, + 81u, 103u, 175u, 255u, + 27u, 106u, 192u, 147u, + 201u, 163u, 47u, 130u, + 174u, 109u, 153u, 50u, + 156u, 113u, 238u, 102u, + 150u, 66u, 134u, 29u, + 1u, 178u, 128u, 116u, + 183u, 237u, 120u, 142u, + 207u, 157u, 105u, 135u, + 172u, 145u, 1u, 117u, + 74u, 154u, 100u, 106u, + 28u, 110u, 119u, 123u, + 200u, 229u, 212u, 190u, + 107u, 102u, 36u, 150u, + 161u, 236u, 203u, 255u, + 160u, 187u, 196u, 44u, + 135u, 149u, 124u, 130u, + 109u, 48u, 94u, 169u, + 93u, 125u, 154u, 122u, + 188u, 158u, 0u, 80u, + 103u, 228u, 111u, 99u, + 139u, 230u, 151u, 137u, + 102u, 90u, 98u, 103u, + 1u, 99u, 138u, 226u, + 134u, 198u, 201u, 181u, + 145u, 107u, 119u, 203u, + 80u, 0u, 207u, 166u, + 160u, 101u, 41u, 93u, + 104u, 121u, 117u, 176u, + 62u, 79u, 202u, 115u, + 235u, 210u, 175u, 200u, + 255u, 213u, 71u, 204u, + 65u, 84u, 60u, 110u, + 183u, 255u, 121u, 119u, + 228u, 181u, 105u, 33u, + 80u, 126u, 153u, 146u, + 236u, 85u, 135u, 7u, + 173u, 162u, 175u, 94u, + 168u, 100u, 82u, 0u, + 130u, 51u, 98u, 156u, + 100u, 119u, 102u, 153u, + 255u, 141u, 139u, 126u, + 106u, 211u, 128u, 102u, + 252u, 206u, 133u, 53u, + 73u, 214u, 1u, 136u, + 143u, 86u, 189u, 229u, + 50u, 175u, 166u, 156u, + 65u, 128u, 137u, 91u, + 255u, 136u, 179u, 191u, + 50u, 185u, 91u, 91u, + 157u, 36u, 104u, 85u, + 125u, 89u, 124u, 58u, + 177u, 152u, 128u, 143u, + 0u, 161u, 138u, 87u, + 128u, 125u, 103u, 12u, + 126u, 188u, 151u, 215u, + 185u, 167u, 159u, 157u, + 154u, 122u, 172u, 214u, + 193u, 108u, 179u, 176u, + 115u, 184u, 1u, 200u, + 98u, 43u, 230u, 188u, + 33u, 45u, 69u, 2u, + 115u, 253u, 100u, 221u, + 177u, 255u, 156u, 75u, + 76u, 78u, 140u, 161u, + 145u, 180u, 78u, 60u, + 78u, 98u, 98u, 191u, + 164u, 46u, 157u, 1u, + 189u, 81u, 71u, 158u, + 173u, 151u, 1u, 117u, + 102u, 105u, 153u, 63u, + 108u, 122u, 99u, 48u, + 144u, 47u, 1u, 175u, + 174u, 169u, 141u, 173u, + 181u, 127u, 102u, 127u, + 207u, 59u, 169u, 126u, + 109u, 174u, 64u, 196u, + 241u, 210u, 134u, 40u, + 0u, 153u, 54u, 58u, + 255u, 106u, 64u, 58u, + 231u, 23u, 209u, 23u, + 109u, 41u, 122u, 1u, + 122u, 184u, 152u, 184u, + 205u, 136u, 1u, 31u, + 155u, 168u, 55u, 120u, + 115u, 199u, 80u, 210u, + 89u, 1u, 226u, 131u, + 150u, 20u, 184u, 86u, + 57u, 192u, 190u, 47u, + 88u, 255u, 223u, 109u, + 185u, 205u, 228u, 113u, + 67u, 120u, 94u, 199u, + 122u, 124u, 56u, 190u, + 57u, 202u, 64u, 193u, + 174u, 8u, 182u, 31u, + 168u, 40u, 142u, 255u, + 116u, 245u, 134u, 118u, + 157u, 129u, 180u, 117u, + 113u, 102u, 140u, 109u, + 31u, 75u, 77u, 255u, + 156u, 133u, 68u, 232u, + 178u, 39u, 143u, 141u, + 181u, 92u, 173u, 53u, + 39u, 255u, 160u, 96u, + 13u, 249u, 39u, 109u, + 197u, 197u, 183u, 114u, + 150u, 158u, 149u, 29u, + 37u, 57u, 181u, 255u, + 205u, 143u, 114u, 141u, + 67u, 191u, 106u, 117u, + 239u, 170u, 204u, 31u, + 161u, 27u, 255u, 154u, + 153u, 80u, 131u, 189u, + 156u, 67u, 142u, 140u, + 112u, 197u, 181u, 177u, + 165u, 114u, 63u, 1u, + 87u, 241u, 146u, 190u, + 196u, 139u, 98u, 83u, + 174u, 137u, 90u, 112u, + 255u, 73u, 163u, 153u, + 118u, 112u, 162u, 250u, + 100u, 110u, 90u, 135u, + 94u, 182u, 184u, 145u, + 208u, 161u, 255u, 111u, + 103u, 122u, 130u, 60u, + 185u, 73u, 154u, 146u, + 255u, 39u, 138u, 100u, + 41u, 117u, 205u, 137u, + 127u, 255u, 189u, 80u, + 130u, 105u, 156u, 171u, + 77u, 120u, 153u, 140u, + 173u, 119u, 84u, 196u, + 255u, 74u, 118u, 129u, + 15u, 101u, 176u, 226u, + 211u, 105u, 138u, 138u, + 19u, 103u, 198u, 85u, + 105u, 97u, 146u, 167u, + 126u, 179u, 131u, 156u, + 102u, 169u, 130u, 110u, + 81u, 71u, 134u, 255u, + 182u, 155u, 192u, 203u, + 151u, 154u, 128u, 177u, + 200u, 131u, 142u, 103u, + 152u, 121u, 61u, 255u, + 0u, 157u, 104u, 88u, + 163u, 141u, 150u, 181u, + 88u, 100u, 207u, 197u, + 200u, 77u, 98u, 49u, + 188u, 135u, 1u, 126u, + 83u, 144u, 22u, 235u, + 193u, 225u, 117u, 102u, + 93u, 49u, 218u, 207u, + 255u, 165u, 123u, 48u, + 163u, 72u, 183u, 138u, + 137u, 189u, 162u, 122u, + 250u, 153u, 225u, 231u, + 55u, 214u, 25u, 255u, + 135u, 208u, 125u, 110u, + 156u, 120u, 213u, 76u, + 205u, 77u, 236u, 201u, + 241u, 231u, 195u, 77u, + 172u, 1u, 251u, 168u, + 116u, 105u, 243u, 126u, + 225u, 27u, 40u, 25u, + 17u, 176u, 29u, 113u, + 136u, 222u, 1u, 212u, + 89u, 204u, 47u, 74u, + 124u, 69u, 78u, 5u, + 72u, 7u, 140u, 154u, + 207u, 88u, 204u, 94u, + 1u, 235u, 123u, 28u, + 78u, 183u, 94u, 105u, + 68u, 58u, 139u, 40u, + 135u, 103u, 182u, 110u, + 98u, 255u, 84u, 147u, + 155u, 113u, 144u, 130u, + 144u, 68u, 145u, 124u, + 63u, 103u, 255u, 253u, + 224u, 165u, 145u, 144u, + 23u, 172u, 143u, 141u, + 97u, 121u, 61u, 139u, + 234u, 126u, 236u, 79u, + 91u, 130u, 165u, 237u, + 110u, 255u, 42u, 77u, + 59u, 145u, 184u, 177u, + 30u, 95u, 119u, 109u, + 114u, 121u, 1u, 180u, + 140u, 175u, 129u, 175u, + 65u, 76u, 1u, 244u, + 122u, 128u, 181u, 123u, + 80u, 112u, 164u, 169u, + 130u, 119u, 87u, 204u, + 101u, 186u, 171u, 64u, + 1u, 118u, 107u, 124u, + 121u, 170u, 95u, 174u, + 149u, 111u, 182u, 58u, + 83u, 238u, 210u, 255u, + 225u, 146u, 220u, 162u, + 103u, 148u, 166u, 68u, + 157u, 135u, 51u, 37u, + 149u, 104u, 131u, 146u, + 40u, 83u, 147u, 147u, + 255u, 139u, 240u, 74u, + 78u, 89u, 133u, 130u, + 104u, 130u, 161u, 184u, + 33u, 78u, 103u, 1u, + 198u, 243u, 171u, 188u, + 231u, 21u, 99u, 87u, + 135u, 255u, 247u, 108u, + 92u, 158u, 88u, 153u, + 173u, 164u, 230u, 119u, + 130u, 115u, 172u, 211u, + 171u, 75u, 171u, 162u, + 148u, 124u, 150u, 122u, + 140u, 177u, 102u, 185u, + 56u, 178u, 255u, 102u, + 185u, 207u, 159u, 179u, + 169u, 108u, 67u, 197u, + 211u, 89u, 69u, 121u, + 0u, 66u, 80u, 206u, + 111u, 102u, 44u, 119u, + 131u, 211u, 91u, 145u, + 125u, 186u, 64u, 126u, + 11u, 130u, 255u, 58u, + 103u, 87u, 144u, 148u, + 174u, 89u, 172u, 113u, + 166u, 244u, 32u, 128u, + 117u, 219u, 183u, 1u, + 255u, 190u, 169u, 108u, + 139u, 144u, 125u, 195u, + 91u, 134u, 123u, 147u, + 103u, 163u, 176u, 131u, + 117u, 124u, 88u, 158u, + 93u, 28u, 194u, 139u, + 89u, 182u, 255u, 79u, + 166u, 213u, 43u, 158u, + 154u, 79u, 187u, 255u, + 98u, 195u, 132u, 113u, + 131u, 40u, 116u, 163u, + 143u, 124u, 122u, 193u, + 52u, 55u, 91u, 58u, + 185u, 198u, 85u, 33u, + 93u, 180u, 170u, 139u, + 57u, 255u, 52u, 47u, + 224u, 80u, 255u, 101u, + 64u, 88u, 26u, 197u, + 8u, 160u, 248u, 64u, + 105u, 139u, 244u, 227u, + 84u, 154u, 168u, 155u, + 51u, 255u, 171u, 26u, + 18u, 146u, 128u, 175u, + 149u, 5u, 44u, 212u, + 0u, 197u, 189u, 206u, + 69u, 173u, 151u, 149u, + 64u, 167u, 119u, 109u, + 170u, 217u, 12u, 139u, + 133u, 99u, 105u, 85u, + 141u, 229u, 77u, 255u, + 6u, 74u, 167u, 88u, + 2u, 138u, 205u, 115u, + 163u, 165u, 181u, 64u, + 133u, 255u, 159u, 244u, + 147u, 36u, 178u, 133u, + 135u, 131u, 70u, 116u, + 45u, 124u, 138u, 188u, + 103u, 41u, 177u, 81u, + 147u, 116u, 141u, 119u, + 255u, 55u, 66u, 134u, + 234u, 144u, 197u, 209u, + 115u, 149u, 20u, 179u, + 252u, 127u, 175u, 157u, + 0u, 106u, 165u, 96u, + 29u, 42u, 1u, 142u, + 42u, 102u, 151u, 39u, + 153u, 225u, 85u, 61u, + 77u, 51u, 179u, 127u, + 141u, 33u, 197u, 39u, + 113u, 61u, 28u, 1u, + 191u, 62u, 93u, 194u, + 214u, 212u, 146u, 215u, + 191u, 168u, 14u, 221u, + 49u, 185u, 118u, 148u, + 123u, 181u, 104u, 171u, + 1u, 131u, 213u, 138u, + 255u, 119u, 97u, 145u, + 46u, 192u, 56u, 120u, + 192u, 75u, 83u, 188u, + 170u, 98u, 90u, 159u, + 123u, 141u, 197u, 255u, + 76u, 104u, 128u, 136u, + 76u, 134u, 195u, 148u, + 171u, 179u, 240u, 190u, + 172u, 83u, 75u, 0u, + 135u, 19u, 65u, 189u, + 156u, 210u, 129u, 29u, + 78u, 156u, 31u, 121u, + 117u, 81u, 200u, 155u, + 186u, 154u, 39u, 166u, + 101u, 111u, 115u, 124u, + 139u, 187u, 0u, 67u, + 143u, 79u, 188u, 224u, + 99u, 115u, 100u, 129u, + 196u, 198u, 183u, 88u, + 255u, 93u, 132u, 124u, + 103u, 255u, 171u, 150u, + 94u, 4u, 129u, 136u, + 140u, 176u, 136u, 206u, + 137u, 128u, 127u, 241u, + 160u, 184u, 175u, 208u, + 176u, 181u, 154u, 146u, + 163u, 0u, 184u, 71u, + 127u, 80u, 56u, 148u, + 255u, 174u, 190u, 100u, + 165u, 88u, 93u, 149u, + 167u, 103u, 185u, 144u, + 176u, 89u, 95u, 158u, + 120u, 255u, 31u, 199u, + 118u, 127u, 65u, 46u, + 169u, 202u, 108u, 1u, + 101u, 105u, 105u, 235u, + 241u, 134u, 184u, 81u, + 174u, 150u, 48u, 232u, + 176u, 77u, 176u, 93u, + 143u, 1u, 177u, 56u, + 1u, 159u, 134u, 169u, + 184u, 137u, 195u, 71u, + 141u, 180u, 220u, 165u, + 169u, 33u, 56u, 197u, + 92u, 51u, 1u, 120u, + 135u, 169u, 53u, 92u, + 133u, 106u, 85u, 140u, + 109u, 125u, 82u, 107u, + 13u, 123u, 135u, 55u, + 114u, 124u, 138u, 1u, + 59u, 182u, 93u, 106u, + 76u, 209u, 135u, 156u, + 211u, 55u, 94u, 255u, + 55u, 50u, 212u, 137u, + 164u, 134u, 185u, 33u, + 60u, 191u, 140u, 92u, + 0u, 181u, 63u, 109u, + 173u, 130u, 216u, 132u, + 141u, 174u, 132u, 152u, + 187u, 103u, 36u, 241u, + 255u, 146u, 204u, 213u, + 108u, 35u, 28u, 71u, + 125u, 134u, 207u, 150u, + 191u, 185u, 116u, 58u, + 120u, 182u, 14u, 45u, + 112u, 96u, 1u, 227u, + 91u, 29u, 194u, 123u, + 133u, 120u, 101u, 135u, + 52u, 145u, 64u, 68u, + 97u, 117u, 80u, 189u, + 90u, 140u, 90u, 140u, + 1u, 138u, 198u, 142u, + 91u, 60u, 146u, 249u, + 42u, 138u, 118u, 108u, + 255u, 17u, 95u, 98u, + 168u, 184u, 156u, 162u, + 191u, 226u, 100u, 93u, + 74u, 211u, 51u, 124u, + 42u, 148u, 166u, 0u, + 142u, 64u, 175u, 110u, + 89u, 131u, 116u, 134u, + 142u, 142u, 255u, 164u, + 23u, 224u, 189u, 219u, + 131u, 105u, 73u, 84u, + 10u, 149u, 39u, 96u, + 108u, 65u, 198u, 68u, + 1u, 114u, 103u, 173u, + 129u, 193u, 174u, 202u, + 122u, 135u, 181u, 139u, + 24u, 207u, 205u, 57u, + 182u, 136u, 105u, 183u, + 229u, 209u, 255u, 253u, + 226u, 149u, 128u, 1u, + 183u, 118u, 83u, 144u, + 198u, 110u, 54u, 193u, + 218u, 78u, 203u, 103u, + 95u, 210u, 101u, 153u, + 123u, 144u, 125u, 147u, + 255u, 188u, 157u, 148u, + 157u, 26u, 160u, 158u, + 121u, 42u, 252u, 124u, + 144u, 46u, 101u, 87u, + 165u, 154u, 57u, 111u, + 154u, 1u, 14u, 31u, + 136u, 186u, 93u, 1u, + 199u, 70u, 97u, 98u, + 73u, 120u, 151u, 170u, + 145u, 42u, 110u, 122u, + 115u, 136u, 161u, 154u, + 43u, 21u, 52u, 49u, + 108u, 116u, 197u, 189u, + 241u, 105u, 54u, 1u, + 206u, 151u, 143u, 234u, + 104u, 95u, 135u, 158u, + 189u, 183u, 217u, 197u, + 120u, 98u, 255u, 87u, + 146u, 7u, 103u, 134u, + 170u, 98u, 191u, 162u, + 62u, 239u, 132u, 239u, + 119u, 255u, 41u, 98u, + 243u, 111u, 108u, 255u, + 170u, 159u, 186u, 141u, + 11u, 108u, 129u, 63u, + 31u, 194u, 81u, 104u, + 220u, 154u, 180u, 156u, + 77u, 78u, 156u, 161u, + 146u, 28u, 189u, 144u, + 143u, 1u, 167u, 158u, + 94u, 125u, 95u, 172u, + 62u, 86u, 228u, 129u, + 159u, 155u, 135u, 85u, + 193u, 157u, 77u, 255u, + 126u, 60u, 141u, 134u, + 116u, 107u, 198u, 96u, + 195u, 255u, 46u, 160u, + 90u, 214u, 106u, 15u, + 80u, 122u, 148u, 121u, + 88u, 83u, 157u, 1u, + 103u, 165u, 111u, 83u, + 106u, 108u, 162u, 128u, + 135u, 56u, 107u, 94u, + 178u, 101u, 93u, 231u, + 68u, 142u, 183u, 132u, + 69u, 67u, 1u, 133u, + 118u, 122u, 60u, 255u, + 119u, 42u, 101u, 181u, + 88u, 8u, 173u, 105u, + 103u, 149u, 188u, 59u, + 88u, 255u, 138u, 125u, + 219u, 215u, 176u, 27u, + 121u, 203u, 28u, 123u, + 17u, 219u, 112u, 150u, + 96u, 125u, 89u, 198u, + 255u, 146u, 153u, 190u, + 140u, 77u, 193u, 86u, + 137u, 120u, 3u, 139u, + 21u, 37u, 19u, 105u, + 148u, 91u, 1u, 224u, + 137u, 151u, 213u, 40u, + 143u, 110u, 61u, 182u, + 99u, 117u, 173u, 51u, + 110u, 225u, 151u, 64u, + 188u, 165u, 17u, 244u, + 246u, 1u, 231u, 49u, + 27u, 143u, 183u, 246u, + 94u, 223u, 140u, 1u, + 135u, 71u, 78u, 169u, + 62u, 110u, 109u, 136u, + 109u, 176u, 88u, 171u, + 82u, 208u, 168u, 56u, + 1u, 53u, 49u, 172u, + 37u, 135u, 201u, 143u, + 116u, 152u, 103u, 76u, + 177u, 128u, 215u, 142u, + 1u, 90u, 148u, 50u, + 85u, 149u, 29u, 149u, + 5u, 120u, 131u, 127u, + 80u, 99u, 108u, 39u, + 255u, 160u, 116u, 162u, + 152u, 14u, 25u, 192u, + 114u, 221u, 174u, 100u, + 224u, 38u, 170u, 108u, + 185u, 195u, 198u, 195u, + 41u, 185u, 255u, 142u, + 161u, 113u, 200u, 140u, + 138u, 227u, 110u, 125u, + 127u, 151u, 156u, 255u, + 154u, 117u, 91u, 112u, + 223u, 98u, 241u, 45u, + 188u, 203u, 42u, 169u, + 149u, 142u, 1u, 214u, + 198u, 205u, 244u, 42u, + 145u, 73u, 224u, 160u, + 88u, 60u, 178u, 92u, + 84u, 173u, 112u, 169u, + 83u, 218u, 1u, 75u, + 176u, 217u, 167u, 154u, + 107u, 245u, 161u, 113u, + 255u, 121u, 100u, 154u, + 68u, 118u, 207u, 152u, + 130u, 35u, 79u, 203u, + 112u, 98u, 42u, 138u, + 205u, 91u, 187u, 1u, + 109u, 95u, 165u, 65u, + 167u, 70u, 110u, 92u, + 100u, 94u, 131u, 97u, + 86u, 185u, 199u, 16u, + 139u, 255u, 144u, 138u, + 142u, 46u, 127u, 123u, + 74u, 151u, 106u, 109u, + 123u, 145u, 88u, 86u, + 1u, 106u, 235u, 80u, + 77u, 130u, 82u, 188u, + 154u, 115u, 165u, 255u, + 152u, 31u, 163u, 128u, + 113u, 80u, 105u, 67u, + 75u, 112u, 154u, 147u, + 140u, 134u, 159u, 151u, + 162u, 144u, 135u, 95u, + 141u, 125u, 140u, 0u, + 147u, 130u, 145u, 129u, + 73u, 106u, 124u, 138u, + 180u, 255u, 169u, 87u, + 194u, 132u, 95u, 68u, + 203u, 255u, 97u, 230u, + 73u, 73u, 196u, 202u, + 23u, 137u, 142u, 149u, + 171u, 255u, 98u, 15u, + 151u, 83u, 40u, 133u, + 80u, 255u, 203u, 183u, + 165u, 217u, 194u, 181u, + 209u, 37u, 48u, 207u, + 136u, 30u, 197u, 193u, + 147u, 153u, 168u, 101u, + 40u, 39u, 31u, 30u, + 65u, 255u, 238u, 75u, + 101u, 157u, 118u, 255u, + 231u, 97u, 160u, 142u, + 184u, 124u, 161u, 99u, + 73u, 112u, 118u, 136u, + 169u, 161u, 1u, 122u, + 149u, 70u, 171u, 135u, + 121u, 107u, 87u, 91u, + 188u, 180u, 133u, 103u, + 146u, 166u, 67u, 182u, + 57u, 110u, 213u, 164u, + 218u, 192u, 173u, 161u, + 0u, 114u, 173u, 125u, + 119u, 153u, 115u, 225u, + 179u, 149u, 110u, 1u, + 241u, 30u, 47u, 129u, + 136u, 50u, 121u, 240u, + 0u, 127u, 91u, 237u, + 126u, 104u, 139u, 147u, + 97u, 133u, 158u, 119u, + 127u, 146u, 45u, 85u, + 205u, 77u, 92u, 37u, + 49u, 133u, 137u, 111u, + 197u, 128u, 34u, 159u, + 180u, 255u, 70u, 143u, + 132u, 120u, 194u, 47u, + 75u, 195u, 209u, 146u, + 48u, 72u, 133u, 127u, + 1u, 30u, 45u, 83u, + 235u, 255u, 189u, 210u, + 189u, 164u, 65u, 246u, + 75u, 92u, 191u, 95u, + 159u, 123u, 153u, 110u, + 227u, 255u, 51u, 75u, + 179u, 69u, 71u, 210u, + 102u, 82u, 196u, 183u, + 147u, 96u, 100u, 111u, + 105u, 108u, 1u, 224u, + 158u, 141u, 96u, 226u, + 73u, 138u, 141u, 127u, + 25u, 34u, 76u, 107u, + 60u, 144u, 155u, 58u, + 1u, 97u, 118u, 137u, + 83u, 60u, 189u, 99u, + 73u, 139u, 138u, 148u, + 149u, 165u, 125u, 254u, + 49u, 117u, 198u, 84u, + 130u, 103u, 192u, 159u, + 116u, 112u, 198u, 255u, + 190u, 185u, 117u, 83u, + 102u, 41u, 68u, 255u, + 128u, 204u, 237u, 168u, + 148u, 69u, 151u, 113u, + 94u, 10u, 186u, 200u, + 87u, 41u, 255u, 177u, + 227u, 213u, 211u, 161u, + 92u, 207u, 186u, 165u, + 39u, 222u, 122u, 93u, + 126u, 208u, 179u, 248u, + 152u, 1u, 165u, 176u, + 92u, 114u, 27u, 163u, + 20u, 148u, 116u, 239u, + 81u, 119u, 94u, 101u, + 108u, 140u, 175u, 0u, + 156u, 16u, 77u, 118u, + 145u, 60u, 138u, 88u, + 162u, 148u, 116u, 127u, + 42u, 145u, 255u, 117u, + 120u, 103u, 173u, 183u, + 50u, 63u, 161u, 237u, + 0u, 178u, 109u, 71u, + 26u, 128u, 147u, 102u, + 158u, 78u, 75u, 109u, + 59u, 94u, 73u, 166u, + 106u, 162u, 218u, 140u, + 145u, 58u, 104u, 184u, + 65u, 236u, 1u, 203u, + 169u, 186u, 121u, 183u, + 168u, 217u, 173u, 164u, + 5u, 64u, 107u, 127u, + 68u, 255u, 33u, 190u, + 178u, 161u, 210u, 85u, + 124u, 130u, 146u, 255u, + 226u, 105u, 136u, 136u, + 149u, 128u, 183u, 111u, + 8u, 43u, 73u, 153u, + 87u, 110u, 92u, 134u, + 93u, 76u, 1u, 134u, + 187u, 109u, 146u, 127u, + 64u, 61u, 180u, 117u, + 10u, 1u, 79u, 183u, + 43u, 170u, 246u, 75u, + 147u, 158u, 180u, 204u, + 90u, 120u, 80u, 126u, + 123u, 255u, 167u, 166u, + 154u, 82u, 112u, 83u, + 103u, 168u, 107u, 186u, + 130u, 87u, 184u, 43u, + 80u, 116u, 255u, 113u, + 147u, 143u, 37u, 240u, + 46u, 77u, 176u, 30u, + 48u, 105u, 173u, 172u, + 119u, 167u, 154u, 168u, + 141u, 51u, 166u, 63u, + 1u, 232u, 100u, 8u, + 78u, 1u, 94u, 195u, + 50u, 186u, 99u, 179u, + 95u, 132u, 115u, 111u, + 76u, 127u, 154u, 170u, + 181u, 93u, 129u, 157u, + 182u, 153u, 255u, 90u, + 45u, 152u, 112u, 198u, + 125u, 114u, 95u, 22u, + 40u, 172u, 0u, 117u, + 59u, 222u, 169u, 101u, + 111u, 82u, 137u, 207u, + 116u, 191u, 88u, 144u, + 169u, 6u, 149u, 159u, + 99u, 83u, 122u, 73u, + 0u, 165u, 129u, 113u, + 121u, 112u, 75u, 41u, + 209u, 248u, 163u, 85u, + 155u, 161u, 37u, 94u, + 221u, 225u, 43u, 186u, + 18u, 196u, 247u, 255u, + 41u, 238u, 118u, 63u, + 142u, 133u, 129u, 1u, + 113u, 202u, 97u, 184u, + 37u, 195u, 43u, 194u, + 201u, 195u, 86u, 127u, + 69u, 143u, 142u, 136u, + 210u, 76u, 64u, 165u, + 255u, 108u, 128u, 160u, + 115u, 174u, 163u, 70u, + 92u, 92u, 94u, 141u, + 228u, 106u, 28u, 1u, + 195u, 137u, 68u, 207u, + 186u, 190u, 92u, 138u, + 129u, 206u, 184u, 183u, + 196u, 147u, 119u, 112u, + 1u, 148u, 143u, 210u, + 99u, 6u, 1u, 88u, + 83u, 16u, 225u, 217u, + 105u, 142u, 108u, 57u, + 172u, 241u, 184u, 65u, + 142u, 51u, 92u, 21u, + 141u, 20u, 96u, 105u, + 124u, 181u, 67u, 104u, + 133u, 96u, 1u, 41u, + 217u, 193u, 154u, 124u, + 129u, 202u, 25u, 49u, + 76u, 158u, 66u, 255u, + 59u, 160u, 225u, 189u, + 174u, 25u, 191u, 1u, + 222u, 96u, 64u, 154u, + 171u, 144u, 154u, 100u, + 142u, 41u, 118u, 147u, + 155u, 119u, 181u, 158u, + 136u, 225u, 145u, 137u, + 236u, 186u, 154u, 199u, + 1u, 133u, 182u, 172u, + 65u, 255u, 48u, 149u, + 152u, 142u, 117u, 225u, + 190u, 88u, 109u, 130u, + 85u, 51u, 162u, 132u, + 255u, 19u, 139u, 66u, + 98u, 57u, 93u, 234u, + 82u, 151u, 166u, 53u, + 147u, 18u, 157u, 108u, + 144u, 174u, 133u, 255u, + 237u, 85u, 168u, 203u, + 156u, 130u, 207u, 122u, + 111u, 74u, 77u, 111u, + 130u, 59u, 68u, 199u, + 255u, 144u, 117u, 221u, + 134u, 60u, 138u, 88u, + 163u, 40u, 205u, 131u, + 71u, 190u, 219u, 215u, + 90u, 168u, 7u, 1u, + 148u, 73u, 133u, 166u, + 194u, 166u, 58u, 179u, + 144u, 124u, 97u, 5u, + 255u, 126u, 190u, 232u, + 84u, 124u, 176u, 80u, + 109u, 130u, 168u, 106u, + 117u, 155u, 85u, 111u, + 134u, 148u, 255u, 194u, + 60u, 18u, 86u, 212u, + 184u, 63u, 66u, 83u, + 117u, 127u, 237u, 255u, + 108u, 223u, 22u, 21u, + 173u, 223u, 96u, 170u, + 49u, 186u, 73u, 65u, + 143u, 176u, 93u, 188u, + 255u, 141u, 113u, 115u, + 88u, 155u, 113u, 124u, + 115u, 127u, 119u, 255u, + 137u, 68u, 121u, 218u, + 43u, 159u, 173u, 1u, + 89u, 225u, 159u, 171u, + 250u, 155u, 108u, 77u, + 199u, 156u, 119u, 235u, + 186u, 255u, 216u, 78u, + 197u, 2u, 24u, 228u, + 24u, 174u, 57u, 38u, + 58u, 98u, 162u, 104u, + 83u, 109u, 91u, 1u, + 152u, 131u, 129u, 120u, + 211u, 27u, 161u, 135u, + 117u, 187u, 218u, 75u, + 107u, 1u, 59u, 164u, + 135u, 237u, 92u, 98u, + 163u, 204u, 155u, 155u, + 43u, 199u, 70u, 170u, + 57u, 209u, 1u, 34u, + 131u, 71u, 151u, 102u, + 74u, 64u, 72u, 74u, + 159u, 179u, 235u, 85u, + 156u, 109u, 150u, 255u, + 127u, 39u, 185u, 237u, + 235u, 120u, 149u, 213u, + 38u, 0u, 68u, 147u, + 141u, 98u, 138u, 131u, + 165u, 141u, 110u, 79u, + 128u, 93u, 53u, 153u, + 143u, 88u, 30u, 99u, + 25u, 255u, 96u, 208u, + 182u, 10u, 85u, 88u, + 222u, 185u, 62u, 100u, + 141u, 130u, 146u, 123u, + 220u, 116u, 100u, 180u, + 127u, 1u, 113u, 85u, + 120u, 126u, 109u, 130u, + 255u, 100u, 213u, 44u, + 155u, 121u, 89u, 150u, + 186u, 135u, 113u, 58u, + 75u, 139u, 129u, 135u, + 129u, 196u, 109u, 189u, + 102u, 232u, 125u, 158u, + 170u, 144u, 158u, 130u, + 223u, 159u, 255u, 61u, + 164u, 1u, 128u, 77u, + 168u, 109u, 107u, 213u, + 137u, 239u, 172u, 243u, + 216u, 76u, 145u, 69u, + 104u, 255u, 140u, 204u, + 104u, 137u, 112u, 219u, + 140u, 123u, 202u, 157u, + 34u, 134u, 225u, 170u, + 136u, 210u, 154u, 59u, + 180u, 108u, 1u, 183u, + 152u, 136u, 196u, 112u, + 119u, 16u, 62u, 223u, + 163u, 182u, 98u, 121u, + 124u, 158u, 169u, 186u, + 72u, 130u, 91u, 7u, + 46u, 54u, 255u, 157u, + 124u, 124u, 255u, 213u, + 77u, 154u, 151u, 189u, + 63u, 108u, 203u, 225u, + 43u, 154u, 161u, 29u, + 171u, 139u, 205u, 32u, + 133u, 170u, 139u, 1u, + 24u, 66u, 76u, 184u, + 114u, 57u, 165u, 76u, + 67u, 131u, 132u, 143u, + 146u, 154u, 197u, 101u, + 75u, 117u, 159u, 201u, + 158u, 71u, 255u, 45u, + 98u, 249u, 210u, 74u, + 139u, 162u, 151u, 203u, + 182u, 255u, 189u, 96u, + 93u, 80u, 242u, 6u, + 72u, 126u, 196u, 255u, + 241u, 79u, 55u, 252u, + 144u, 120u, 74u, 175u, + 176u, 90u, 105u, 54u, + 109u, 128u, 97u, 73u, + 205u, 195u, 74u, 221u, + 34u, 99u, 139u, 92u, + 128u, 98u, 1u, 152u, + 100u, 131u, 91u, 132u, + 156u, 160u, 146u, 106u, + 200u, 109u, 1u, 132u, + 42u, 145u, 120u, 131u, + 110u, 211u, 99u, 104u, + 73u, 132u, 100u, 109u, + 0u, 118u, 123u, 114u, + 202u, 116u, 173u, 192u, + 79u, 40u, 161u, 140u, + 120u, 58u, 93u, 164u, + 123u, 113u, 220u, 130u, + 255u, 119u, 142u, 82u, + 22u, 57u, 255u, 168u, + 88u, 77u, 121u, 57u, + 31u, 139u, 179u, 89u, + 184u, 89u, 196u, 2u, + 254u, 1u, 133u, 222u, + 180u, 99u, 10u, 166u, + 104u, 200u, 127u, 25u, + 174u, 161u, 201u, 124u, + 142u, 189u, 112u, 96u, + 180u, 127u, 162u, 46u, + 1u, 156u, 158u, 121u, + 85u, 57u, 158u, 71u, + 46u, 27u, 1u, 89u, + 135u, 178u, 145u, 168u, + 70u, 200u, 135u, 42u, + 103u, 179u, 31u, 35u, + 136u, 140u, 55u, 128u, + 65u, 102u, 179u, 192u, + 232u, 140u, 96u, 108u, + 23u, 1u, 187u, 157u, + 101u, 255u, 143u, 89u, + 63u, 200u, 171u, 84u, + 144u, 173u, 116u, 163u, + 93u, 100u, 154u, 139u, + 109u, 98u, 187u, 34u, + 53u, 121u, 204u, 152u, + 226u, 1u, 135u, 141u, + 110u, 31u, 92u, 116u, + 170u, 58u, 149u, 7u, + 109u, 36u, 91u, 175u, + 97u, 130u, 127u, 47u, + 184u, 255u, 96u, 120u, + 247u, 102u, 46u, 107u, + 59u, 232u, 156u, 126u, + 167u, 179u, 31u, 1u, + 51u, 201u, 138u, 132u, + 118u, 153u, 1u, 70u, + 161u, 218u, 42u, 120u, + 108u, 185u, 203u, 201u, + 98u, 32u, 185u, 204u, + 89u, 131u, 194u, 109u, + 56u, 169u, 86u, 254u, + 96u, 36u, 215u, 255u, + 66u, 116u, 37u, 179u, + 255u, 162u, 148u, 100u, + 146u, 124u, 82u, 175u, + 110u, 159u, 100u, 138u, + 118u, 186u, 176u, 137u, + 1u, 162u, 39u, 189u, + 230u, 129u, 239u, 78u, + 208u, 110u, 194u, 212u, + 200u, 133u, 69u, 167u, + 68u, 154u, 155u, 197u, + 95u, 80u, 191u, 1u, + 175u, 144u, 108u, 70u, + 59u, 88u, 114u, 132u, + 216u, 105u, 204u, 57u, + 167u, 121u, 189u, 98u, + 154u, 206u, 74u, 255u, + 129u, 211u, 62u, 93u, + 86u, 248u, 224u, 62u, + 145u, 56u, 124u, 163u, + 180u, 122u, 0u, 81u, + 200u, 209u, 135u, 112u, + 122u, 16u, 1u, 169u, + 106u, 29u, 80u, 153u, + 138u, 201u, 163u, 92u, + 107u, 89u, 113u, 150u, + 70u, 20u, 1u, 137u, + 143u, 208u, 92u, 181u, + 59u, 75u, 137u, 144u, + 97u, 132u, 26u, 110u, + 167u, 72u, 171u, 0u, + 64u, 6u, 141u, 160u, + 84u, 139u, 168u, 21u, + 136u, 199u, 49u, 198u, + 154u, 155u, 144u, 181u, + 61u, 255u, 27u, 157u, + 105u, 127u, 108u, 134u, + 142u, 105u, 144u, 114u, + 109u, 64u, 14u, 76u, + 18u, 248u, 164u, 92u, + 128u, 220u, 114u, 1u, + 161u, 136u, 141u, 147u, + 76u, 153u, 102u, 183u, + 125u, 173u, 1u, 69u, + 90u, 82u, 76u, 76u, + 183u, 135u, 166u, 162u, + 133u, 127u, 159u, 181u, + 1u, 158u, 83u, 103u, + 95u, 39u, 152u, 84u, + 109u, 71u, 116u, 140u, + 31u, 3u, 124u, 152u, + 122u, 171u, 1u, 186u, + 178u, 211u, 156u, 112u, + 238u, 216u, 12u, 158u, + 144u, 163u, 121u, 64u, + 123u, 125u, 159u, 181u, + 94u, 129u, 210u, 71u, + 255u, 129u, 8u, 146u, + 213u, 71u, 194u, 151u, + 87u, 98u, 27u, 180u, + 193u, 174u, 84u, 193u, + 64u, 162u, 152u, 0u, + 233u, 58u, 151u, 99u, + 99u, 67u, 203u, 170u, + 68u, 115u, 1u, 128u, + 132u, 46u, 63u, 117u, + 56u, 255u, 55u, 85u, + 131u, 174u, 87u, 223u, + 43u, 136u, 109u, 174u, + 128u, 92u, 105u, 162u, + 114u, 161u, 130u, 162u, + 123u, 255u, 123u, 27u, + 87u, 121u, 85u, 143u, + 132u, 77u, 157u, 81u, + 220u, 117u, 64u, 67u, + 115u, 178u, 1u, 93u, + 121u, 124u, 123u, 66u, + 145u, 132u, 80u, 149u, + 204u, 107u, 115u, 125u, + 164u, 158u, 255u, 69u, + 154u, 106u, 61u, 134u, + 131u, 49u, 135u, 82u, + 107u, 102u, 146u, 126u, + 145u, 0u, 135u, 182u, + 240u, 154u, 167u, 82u, + 161u, 60u, 163u, 109u, + 141u, 69u, 226u, 87u, + 121u, 121u, 160u, 171u, + 99u, 127u, 175u, 130u, + 255u, 180u, 132u, 146u, + 1u, 144u, 78u, 142u, + 88u, 168u, 247u, 105u, + 158u, 121u, 146u, 119u, + 60u, 200u, 156u, 208u, + 84u, 129u, 146u, 229u, + 125u, 161u, 1u, 56u, + 155u, 179u, 61u, 221u, + 140u, 55u, 51u, 107u, + 140u, 189u, 147u, 161u, + 105u, 182u, 192u, 118u, + 1u, 205u, 105u, 126u, + 48u, 186u, 96u, 154u, + 48u, 255u, 124u, 110u, + 159u, 188u, 165u, 123u, + 155u, 75u, 159u, 128u, + 73u, 187u, 1u, 154u, + 57u, 216u, 142u, 255u, + 100u, 98u, 109u, 58u, + 138u, 206u, 109u, 68u, + 154u, 90u, 73u, 172u, + 83u, 255u, 152u, 176u, + 119u, 83u, 141u, 106u, + 149u, 184u, 226u, 51u, + 132u, 36u, 183u, 190u, + 81u, 69u, 113u, 68u, + 150u, 103u, 159u, 168u, + 99u, 127u, 94u, 255u, + 92u, 158u, 104u, 153u, + 127u, 120u, 172u, 116u, + 84u, 159u, 61u, 88u, + 0u, 131u, 162u, 99u, + 81u, 23u, 155u, 50u, + 136u, 255u, 112u, 122u, + 96u, 105u, 88u, 188u, + 142u, 70u, 132u, 151u, + 159u, 92u, 163u, 187u, + 74u, 15u, 1u, 73u, + 70u, 80u, 160u, 145u, + 99u, 40u, 78u, 67u, + 187u, 201u, 109u, 65u, + 142u, 142u, 70u, 83u, + 123u, 1u, 133u, 133u, + 187u, 181u, 78u, 20u, + 135u, 220u, 146u, 105u, + 94u, 136u, 71u, 50u, + 126u, 131u, 208u, 178u, + 71u, 1u, 170u, 55u, + 204u, 34u, 162u, 195u, + 255u, 213u, 123u, 100u, + 100u, 67u, 141u, 200u, + 139u, 110u, 166u, 47u, + 81u, 67u, 115u, 142u, + 153u, 94u, 139u, 103u, + 212u, 47u, 84u, 172u, + 133u, 102u, 168u, 136u, + 255u, 23u, 99u, 62u, + 113u, 191u, 93u, 142u, + 171u, 250u, 90u, 1u, + 161u, 114u, 95u, 221u, + 164u, 80u, 161u, 147u, + 165u, 126u, 133u, 51u, + 216u, 168u, 160u, 83u, + 85u, 176u, 102u, 0u, + 134u, 60u, 57u, 30u, + 144u, 168u, 143u, 148u, + 133u, 129u, 87u, 78u, + 164u, 124u, 168u, 66u, + 86u, 1u, 162u, 180u, + 60u, 39u, 113u, 152u, + 129u, 117u, 152u, 0u, + 171u, 215u, 132u, 213u, + 131u, 182u, 213u, 111u, + 53u, 101u, 166u, 24u, + 93u, 42u, 31u, 78u, + 123u, 17u, 39u, 148u, + 234u, 101u, 1u, 222u, + 1u, 55u, 23u, 164u, + 82u, 255u, 175u, 153u, + 99u, 213u, 232u, 196u, + 143u, 235u, 171u, 159u, + 156u, 244u, 103u, 116u, + 145u, 186u, 255u, 120u, + 46u, 64u, 119u, 84u, + 12u, 152u, 175u, 191u, + 141u, 91u, 153u, 135u, + 212u, 1u, 183u, 201u, + 238u, 114u, 77u, 188u, + 198u, 222u, 134u, 174u, + 166u, 86u, 225u, 114u, + 47u, 70u, 255u, 118u, + 136u, 82u, 219u, 144u, + 170u, 121u, 225u, 92u, + 95u, 33u, 126u, 208u, + 142u, 39u, 128u, 124u, + 102u, 144u, 214u, 81u, + 232u, 151u, 79u, 1u, + 150u, 90u, 1u, 149u, + 167u, 1u, 73u, 130u, + 75u, 135u, 141u, 39u, + 111u, 63u, 164u, 226u, + 101u, 196u, 78u, 104u, + 146u, 151u, 254u, 129u, + 10u, 1u, 98u, 112u, + 128u, 180u, 164u, 74u, + 104u, 138u, 84u, 185u, + 167u, 144u, 129u, 154u, + 86u, 197u, 211u, 1u, + 219u, 100u, 136u, 229u, + 95u, 162u, 109u, 194u, + 134u, 139u, 82u, 245u, + 155u, 215u, 24u, 1u, + 212u, 55u, 19u, 46u, + 202u, 88u, 189u, 221u, + 122u, 1u, 229u, 125u, + 226u, 134u, 124u, 127u, + 170u, 109u, 250u, 211u, + 43u, 200u, 163u, 60u, + 255u, 179u, 184u, 186u, + 46u, 136u, 163u, 106u, + 228u, 147u, 66u, 119u, + 76u, 116u, 215u, 175u, + 182u, 52u, 202u, 106u, + 196u, 125u, 30u, 145u, + 128u, 255u, 156u, 20u, + 45u, 150u, 109u, 30u, + 255u, 98u, 131u, 122u, + 225u, 192u, 81u, 154u, + 80u, 51u, 132u, 10u, + 181u, 255u, 90u, 192u, + 154u, 148u, 35u, 8u, + 14u, 124u, 34u, 165u, + 45u, 183u, 205u, 171u, + 145u, 131u, 87u, 80u, + 74u, 103u, 135u, 79u, + 157u, 136u, 56u, 124u, + 0u, 105u, 20u, 201u, + 65u, 80u, 1u, 104u, + 115u, 189u, 61u, 148u, + 114u, 136u, 86u, 141u, + 97u, 167u, 103u, 121u, + 248u, 79u, 248u, 94u, + 77u, 155u, 168u, 147u, + 99u, 243u, 210u, 109u, + 199u, 188u, 78u, 1u, + 175u, 217u, 148u, 111u, + 79u, 255u, 115u, 187u, + 150u, 17u, 185u, 105u, + 207u, 24u, 120u, 77u, + 205u, 144u, 155u, 211u, + 203u, 135u, 94u, 198u, + 129u, 175u, 70u, 87u, + 255u, 132u, 195u, 18u, + 18u, 107u, 41u, 140u, + 126u, 174u, 73u, 106u, + 128u, 137u, 112u, 80u, + 57u, 98u, 1u, 159u, + 54u, 145u, 129u, 113u, + 166u, 131u, 167u, 87u, + 95u, 212u, 153u, 150u, + 255u, 157u, 118u, 84u, + 1u, 181u, 141u, 165u, + 40u, 129u, 103u, 135u, + 104u, 192u, 71u, 206u, + 193u, 125u, 207u, 198u, + 67u, 98u, 143u, 120u, + 197u, 104u, 124u, 110u, + 100u, 135u, 208u, 104u, + 197u, 112u, 1u, 160u, + 247u, 125u, 152u, 255u, + 114u, 154u, 204u, 180u, + 85u, 200u, 144u, 106u, + 82u, 218u, 220u, 99u, + 129u, 204u, 34u, 255u, + 78u, 207u, 208u, 177u, + 254u, 99u, 81u, 167u, + 37u, 121u, 224u, 163u, + 151u, 208u, 191u, 165u, + 227u, 112u, 63u, 153u, + 78u, 229u, 173u, 86u, + 255u, 125u, 121u, 65u, + 182u, 180u, 88u, 140u, + 195u, 1u, 98u, 50u, + 180u, 190u, 19u, 91u, + 100u, 125u, 113u, 105u, + 40u, 2u, 137u, 168u, + 98u, 159u, 62u, 117u, + 59u, 134u, 208u, 123u, + 149u, 82u, 100u, 1u, + 147u, 112u, 155u, 107u, + 177u, 104u, 39u, 203u, + 255u, 195u, 168u, 69u, + 124u, 100u, 237u, 206u, + 141u, 255u, 223u, 239u, + 32u, 127u, 117u, 190u, + 167u, 126u, 91u, 118u, + 196u, 93u, 105u, 82u, + 111u, 87u, 166u, 156u, + 132u, 108u, 199u, 72u, + 254u, 227u, 50u, 153u, + 100u, 220u, 217u, 1u, + 255u, 80u, 130u, 143u, + 114u, 184u, 112u, 54u, + 147u, 14u, 83u, 103u, + 190u, 63u, 214u, 75u, + 54u, 80u, 114u, 69u, + 108u, 164u, 186u, 87u, + 193u, 212u, 153u, 1u, + 97u, 226u, 136u, 184u, + 73u, 52u, 71u, 135u, + 7u, 108u, 149u, 135u, + 65u, 106u, 67u, 52u, + 182u, 109u, 0u, 241u, + 122u, 163u, 111u, 126u, + 84u, 118u, 4u, 35u, + 154u, 186u, 141u, 1u, + 118u, 43u, 105u, 119u, + 1u, 148u, 187u, 128u, + 133u, 158u, 144u, 134u, + 12u, 84u, 189u, 105u, + 102u, 133u, 77u, 129u, + 1u, 132u, 41u, 108u, + 136u, 98u, 167u, 174u, + 120u, 113u, 130u, 111u, + 245u, 227u, 23u, 235u, + 116u, 17u, 69u, 217u, + 102u, 1u, 145u, 72u, + 33u, 148u, 189u, 141u, + 226u, 227u, 81u, 141u, + 166u, 142u, 1u, 206u, + 27u, 27u, 97u, 137u, + 23u, 135u, 56u, 174u, + 3u, 70u, 146u, 98u, + 148u, 107u, 13u, 39u, + 157u, 87u, 133u, 186u, + 133u, 169u, 211u, 27u, + 128u, 255u, 113u, 141u, + 236u, 110u, 69u, 32u, + 178u, 185u, 118u, 255u, + 175u, 24u, 125u, 122u, + 85u, 57u, 215u, 219u, + 32u, 69u, 149u, 97u, + 68u, 150u, 129u, 198u, + 87u, 102u, 1u, 96u, + 29u, 182u, 129u, 39u, + 255u, 151u, 248u, 19u, + 211u, 90u, 12u, 254u, + 248u, 92u, 193u, 244u, + 67u, 68u, 91u, 35u, + 138u, 101u, 0u, 202u, + 140u, 19u, 206u, 163u, + 37u, 160u, 121u, 214u, + 238u, 38u, 88u, 239u, + 250u, 181u, 119u, 174u, + 75u, 1u, 105u, 35u, + 87u, 21u, 178u, 138u, + 145u, 7u, 231u, 157u, + 187u, 175u, 174u, 255u, + 203u, 252u, 227u, 211u, + 254u, 151u, 161u, 156u, + 79u, 114u, 106u, 174u, + 142u, 203u, 127u, 94u, + 118u, 183u, 174u, 154u, + 197u, 101u, 97u, 110u, + 87u, 119u, 255u, 104u, + 178u, 83u, 76u, 1u, + 118u, 198u, 100u, 153u, + 62u, 108u, 91u, 114u, + 32u, 90u, 130u, 70u, + 98u, 156u, 85u, 89u, + 181u, 150u, 155u, 140u, + 180u, 168u, 1u, 153u, + 199u, 78u, 64u, 170u, + 163u, 91u, 231u, 124u, + 85u, 255u, 200u, 93u, + 119u, 105u, 107u, 80u, + 117u, 172u, 133u, 133u, + 187u, 73u, 188u, 105u, + 122u, 143u, 69u, 141u, + 217u, 91u, 216u, 41u, + 170u, 165u, 0u, 44u, + 88u, 103u, 49u, 135u, + 113u, 1u, 137u, 145u, + 91u, 137u, 103u, 86u, + 116u, 228u, 137u, 138u, + 167u, 217u, 111u, 82u, + 228u, 233u, 101u, 178u, + 161u, 218u, 145u, 201u, + 18u, 147u, 1u, 164u, + 205u, 38u, 111u, 89u, + 36u, 141u, 122u, 90u, + 56u, 182u, 224u, 56u, + 80u, 155u, 255u, 141u, + 87u, 151u, 60u, 162u, + 72u, 255u, 204u, 115u, + 112u, 16u, 114u, 93u, + 247u, 96u, 194u, 184u, + 129u, 151u, 72u, 69u, + 86u, 149u, 147u, 73u, + 226u, 102u, 60u, 123u, + 3u, 56u, 117u, 255u, + 1u, 221u, 93u, 37u, + 217u, 144u, 98u, 239u, + 131u, 116u, 184u, 168u, + 187u, 16u, 81u, 49u, + 68u, 38u, 134u, 80u, + 117u, 89u, 139u, 206u, + 104u, 126u, 122u, 107u, + 255u, 226u, 184u, 219u, + 166u, 105u, 143u, 119u, + 110u, 121u, 133u, 118u, + 94u, 1u, 125u, 114u, + 219u, 155u, 67u, 148u, + 158u, 1u, 77u, 85u, + 159u, 124u, 160u, 108u, + 58u, 122u, 175u, 175u, + 27u, 114u, 54u, 173u, + 145u, 137u, 167u, 151u, + 141u, 98u, 1u, 159u, + 76u, 109u, 109u, 107u, + 155u, 75u, 143u, 142u, + 117u, 101u, 176u, 87u, + 145u, 144u, 255u, 52u, + 130u, 137u, 128u, 121u, + 149u, 55u, 78u, 171u, + 70u, 131u, 167u, 64u, + 141u, 78u, 193u, 110u, + 91u, 131u, 1u, 165u, + 122u, 110u, 56u, 170u, + 202u, 115u, 255u, 213u, + 98u, 91u, 11u, 120u, + 126u, 163u, 185u, 131u, + 233u, 198u, 179u, 82u, + 231u, 108u, 126u, 134u, + 63u, 116u, 106u, 233u, + 139u, 94u, 159u, 176u, + 84u, 80u, 255u, 99u, + 146u, 152u, 121u, 104u, + 40u, 86u, 202u, 99u, + 255u, 182u, 143u, 99u, + 20u, 29u, 111u, 155u, + 242u, 159u, 132u, 26u, + 108u, 52u, 255u, 129u, + 93u, 162u, 85u, 171u, + 173u, 6u, 176u, 71u, + 110u, 79u, 103u, 195u, + 170u, 179u, 90u, 76u, + 59u, 121u, 109u, 106u, + 1u, 183u, 61u, 73u, + 43u, 61u, 31u, 145u, + 129u, 99u, 101u, 99u, + 144u, 137u, 133u, 81u, + 85u, 126u, 1u, 170u, + 70u, 43u, 22u, 196u, + 147u, 129u, 115u, 192u, + 34u, 155u, 232u, 228u, + 114u, 255u, 137u, 91u, + 207u, 174u, 189u, 65u, + 125u, 164u, 88u, 0u, + 98u, 38u, 41u, 97u, + 162u, 116u, 76u, 46u, + 180u, 52u, 184u, 57u, + 51u, 154u, 108u, 85u, + 54u, 175u, 122u, 145u, + 85u, 255u, 250u, 207u, + 163u, 124u, 102u, 89u, + 96u, 30u, 78u, 85u, + 223u, 41u, 173u, 93u, + 255u, 38u, 146u, 227u, + 116u, 136u, 128u, 131u, + 121u, 154u, 171u, 255u, + 99u, 63u, 202u, 147u, + 145u, 101u, 99u, 89u, + 137u, 235u, 221u, 134u, + 22u, 217u, 0u, 214u, + 147u, 22u, 115u, 179u, + 107u, 193u, 95u, 174u, + 80u, 1u, 75u, 124u, + 170u, 127u, 134u, 233u, + 125u, 117u, 59u, 179u, + 139u, 138u, 217u, 101u, + 253u, 162u, 255u, 118u, + 255u, 250u, 160u, 123u, + 213u, 215u, 179u, 169u, + 93u, 30u, 161u, 202u, + 43u, 102u, 225u, 82u, + 55u, 184u, 150u, 1u, + 116u, 133u, 42u, 76u, + 99u, 113u, 189u, 151u, + 114u, 194u, 141u, 156u, + 113u, 80u, 122u, 105u, + 170u, 81u, 167u, 139u, + 62u, 155u, 132u, 255u, + 19u, 127u, 1u, 99u, + 115u, 42u, 154u, 39u, + 199u, 105u, 139u, 70u, + 182u, 133u, 72u, 102u, + 38u, 119u, 159u, 110u, + 93u, 129u, 133u, 131u, + 108u, 197u, 104u, 37u, + 255u, 122u, 181u, 184u, + 138u, 125u, 84u, 81u, + 143u, 203u, 93u, 164u, + 115u, 81u, 1u, 143u, + 43u, 103u, 183u, 96u, + 120u, 153u, 151u, 8u, + 86u, 119u, 95u, 131u, + 56u, 255u, 121u, 136u, + 141u, 154u, 179u, 155u, + 149u, 137u, 171u, 155u, + 146u, 255u, 110u, 145u, + 132u, 78u, 61u, 113u, + 89u, 196u, 104u, 65u, + 106u, 104u, 90u, 84u, + 91u, 1u, 150u, 146u, + 124u, 141u, 148u, 136u, + 213u, 204u, 130u, 182u, + 137u, 142u, 255u, 117u, + 153u, 169u, 37u, 200u, + 74u, 88u, 75u, 100u, + 53u, 111u, 128u, 133u, + 84u, 158u, 84u, 1u, + 54u, 120u, 136u, 228u, + 197u, 234u, 21u, 114u, + 86u, 84u, 107u, 103u, + 110u, 61u, 120u, 60u, + 118u, 255u, 108u, 154u, + 108u, 171u, 111u, 40u, + 111u, 164u, 97u, 136u, + 166u, 90u, 162u, 51u, + 53u, 254u, 88u, 117u, + 43u, 116u, 89u, 138u, + 117u, 222u, 255u, 236u, + 0u, 159u, 133u, 117u, + 168u, 181u, 119u, 167u, + 155u, 139u, 103u, 170u, + 113u, 29u, 175u, 123u, + 58u, 180u, 89u, 166u, + 131u, 167u, 147u, 1u, + 209u, 195u, 109u, 126u, + 50u, 147u, 192u, 238u, + 10u, 253u, 145u, 109u, + 190u, 246u, 131u, 58u, + 154u, 110u, 28u, 92u, + 64u, 135u, 0u, 141u, + 1u, 113u, 209u, 215u, + 41u, 112u, 193u, 41u, + 203u, 115u, 171u, 103u, + 157u, 104u, 63u, 89u, + 141u, 125u, 113u, 134u, + 39u, 172u, 163u, 1u, + 95u, 167u, 202u, 40u, + 146u, 73u, 128u, 164u, + 162u, 158u, 136u, 82u, + 53u, 90u, 177u, 255u, + 170u, 171u, 199u, 177u, + 126u, 142u, 121u, 83u, + 146u, 255u, 131u, 190u, + 30u, 165u, 87u, 81u, + 209u, 117u, 195u, 236u, + 66u, 181u, 180u, 144u, + 142u, 111u, 88u, 122u, + 129u, 255u, 36u, 63u, + 129u, 167u, 76u, 210u, + 124u, 125u, 49u, 65u, + 128u, 144u, 62u, 255u, + 196u, 30u, 152u, 198u, + 24u, 107u, 170u, 142u, + 147u, 115u, 10u, 87u, + 206u, 69u, 185u, 141u, + 99u, 79u, 255u, 71u, + 177u, 175u, 20u, 212u, + 74u, 70u, 112u, 143u, + 17u, 94u, 1u, 240u, + 70u, 173u, 164u, 191u, + 151u, 140u, 172u, 73u, + 209u, 217u, 206u, 170u, + 170u, 174u, 158u, 169u, + 133u, 134u, 116u, 101u, + 144u, 160u, 142u, 255u, + 133u, 79u, 139u, 133u, + 185u, 161u, 144u, 92u, + 134u, 100u, 255u, 216u, + 58u, 151u, 167u, 212u, + 98u, 156u, 227u, 100u, + 88u, 137u, 226u, 54u, + 142u, 77u, 135u, 116u, + 150u, 96u, 196u, 126u, + 191u, 0u, 43u, 109u, + 97u, 75u, 97u, 164u, + 242u, 66u, 179u, 47u, + 107u, 135u, 99u, 205u, + 49u, 225u, 255u, 182u, + 169u, 105u, 155u, 255u, + 58u, 117u, 141u, 176u, + 10u, 181u, 99u, 113u, + 29u, 135u, 17u, 39u, + 201u, 33u, 136u, 66u, + 185u, 1u, 141u, 193u, + 193u, 246u, 49u, 243u, + 155u, 253u, 191u, 128u, + 214u, 66u, 129u, 75u, + 68u, 143u, 84u, 161u, + 59u, 255u, 64u, 127u, + 130u, 91u, 105u, 101u, + 55u, 150u, 169u, 61u, + 25u, 255u, 229u, 174u, + 237u, 186u, 148u, 131u, + 137u, 134u, 135u, 200u, + 129u, 202u, 142u, 181u, + 55u, 146u, 191u, 140u, + 98u, 10u, 58u, 57u, + 236u, 178u, 158u, 255u, + 47u, 65u, 187u, 88u, + 165u, 149u, 1u, 106u, + 39u, 238u, 125u, 134u, + 182u, 126u, 28u, 74u, + 154u, 77u, 255u, 199u, + 83u, 94u, 88u, 123u, + 181u, 127u, 176u, 135u, + 253u, 144u, 83u, 125u, + 127u, 45u, 255u, 10u, + 186u, 66u, 33u, 83u, + 206u, 143u, 184u, 185u, + 117u, 172u, 88u, 57u, + 111u, 59u, 142u, 20u, + 100u, 1u, 174u, 105u, + 99u, 111u, 120u, 159u, + 103u, 154u, 103u, 187u, + 166u, 0u, 186u, 102u, + 131u, 81u, 145u, 191u, + 151u, 206u, 217u, 104u, + 173u, 141u, 155u, 139u, + 147u, 67u, 150u, 173u, + 52u, 111u, 101u, 113u, + 1u, 189u, 146u, 118u, + 102u, 173u, 117u, 75u, + 45u, 1u, 15u, 101u, + 73u, 195u, 34u, 43u, + 160u, 157u, 82u, 118u, + 35u, 144u, 139u, 93u, + 155u, 251u, 174u, 229u, + 186u, 41u, 151u, 145u, + 231u, 76u, 63u, 255u, + 129u, 158u, 71u, 169u, + 117u, 91u, 111u, 144u, + 255u, 68u, 171u, 126u, + 20u, 79u, 182u, 44u, + 175u, 66u, 61u, 145u, + 104u, 66u, 170u, 217u, + 119u, 148u, 122u, 75u, + 255u, 148u, 110u, 137u, + 153u, 25u, 158u, 153u, + 159u, 45u, 81u, 110u, + 171u, 81u, 14u, 127u, + 138u, 106u, 94u, 255u, + 143u, 180u, 200u, 204u, + 219u, 226u, 105u, 158u, + 168u, 59u, 65u, 72u, + 101u, 44u, 211u, 96u, + 76u, 127u, 1u, 195u, + 127u, 111u, 69u, 138u, + 62u, 92u, 118u, 195u, + 179u, 227u, 143u, 255u, + 66u, 110u, 134u, 38u, + 153u, 136u, 167u, 145u, + 64u, 80u, 151u, 89u, + 145u, 131u, 163u, 167u, + 144u, 136u, 255u, 158u, + 110u, 89u, 128u, 152u, + 1u, 199u, 133u, 87u, + 61u, 106u, 158u, 222u, + 84u, 164u, 159u, 168u, + 1u, 199u, 44u, 99u, + 193u, 120u, 160u, 59u, + 157u, 170u, 120u, 136u, + 155u, 210u, 82u, 237u, + 114u, 203u, 58u, 71u, + 135u, 42u, 255u, 79u, + 125u, 139u, 77u, 134u, + 149u, 153u, 66u, 146u, + 105u, 173u, 121u, 255u, + 160u, 88u, 105u, 135u, + 99u, 58u, 106u, 121u, + 237u, 170u, 66u, 251u, + 177u, 115u, 1u, 98u, + 132u, 252u, 178u, 159u, + 11u, 71u, 59u, 115u, + 158u, 24u, 133u, 98u, + 149u, 195u, 173u, 208u, + 167u, 45u, 126u, 255u, + 88u, 94u, 105u, 154u, + 57u, 120u, 163u, 196u, + 182u, 104u, 184u, 157u, + 114u, 26u, 73u, 178u, + 255u, 122u, 129u, 50u, + 91u, 82u, 148u, 127u, + 77u, 155u, 141u, 152u, + 106u, 55u, 122u, 177u, + 171u, 154u, 185u, 98u, + 255u, 65u, 67u, 90u, + 150u, 109u, 77u, 19u, + 225u, 198u, 152u, 255u, + 37u, 147u, 167u, 205u, + 89u, 112u, 132u, 205u, + 243u, 129u, 182u, 146u, + 118u, 60u, 52u, 168u, + 63u, 178u, 55u, 50u, + 158u, 82u, 93u, 1u, + 131u, 160u, 99u, 226u, + 156u, 228u, 106u, 107u, + 150u, 106u, 100u, 210u, + 133u, 255u, 213u, 69u, + 1u, 182u, 41u, 176u, + 175u, 197u, 120u, 117u, + 141u, 56u, 93u, 100u, + 171u, 111u, 56u, 59u, + 149u, 151u, 201u, 31u, + 194u, 151u, 215u, 81u, + 79u, 69u, 108u, 183u, + 52u, 115u, 74u, 1u, + 186u, 203u, 165u, 208u, + 147u, 32u, 24u, 23u, + 162u, 86u, 173u, 72u, + 232u, 1u, 177u, 173u, + 145u, 210u, 69u, 98u, + 191u, 92u, 36u, 240u, + 69u, 46u, 255u, 81u, + 167u, 119u, 83u, 228u, + 182u, 140u, 32u, 119u, + 112u, 170u, 151u, 187u, + 255u, 190u, 113u, 8u, + 56u, 114u, 243u, 206u, + 188u, 19u, 166u, 255u, + 45u, 152u, 157u, 100u, + 149u, 22u, 181u, 59u, + 143u, 89u, 131u, 109u, + 136u, 110u, 113u, 120u, + 186u, 100u, 67u, 255u, + 57u, 88u, 189u, 189u, + 205u, 91u, 228u, 56u, + 185u, 105u, 181u, 1u, + 221u, 139u, 114u, 59u, + 143u, 111u, 168u, 120u, + 177u, 149u, 111u, 165u, + 1u, 196u, 117u, 63u, + 143u, 162u, 147u, 120u, + 156u, 127u, 153u, 61u, + 149u, 150u, 129u, 140u, + 91u, 132u, 93u, 126u, + 104u, 144u, 201u, 144u, + 157u, 151u, 95u, 94u, + 255u, 113u, 207u, 70u, + 81u, 192u, 229u, 189u, + 131u, 157u, 153u, 118u, + 67u, 75u, 255u, 58u, + 50u, 64u, 244u, 157u, + 88u, 141u, 158u, 67u, + 73u, 74u, 158u, 50u, + 181u, 135u, 216u, 0u, + 137u, 50u, 3u, 41u, + 220u, 124u, 80u, 98u, + 136u, 138u, 55u, 102u, + 125u, 169u, 1u, 170u, + 97u, 143u, 115u, 57u, + 188u, 156u, 95u, 192u, + 184u, 247u, 87u, 203u, + 84u, 1u, 54u, 144u, + 44u, 36u, 94u, 59u, + 79u, 17u, 103u, 155u, + 125u, 14u, 128u, 207u, + 56u, 41u, 137u, 1u, + 228u, 207u, 232u, 122u, + 150u, 186u, 255u, 26u, + 156u, 121u, 180u, 120u, + 171u, 125u, 154u, 189u, + 177u, 167u, 127u, 92u, + 175u, 154u, 171u, 99u, + 102u, 196u, 255u, 136u, + 233u, 199u, 164u, 115u, + 13u, 61u, 153u, 35u, + 175u, 196u, 106u, 125u, + 162u, 245u, 105u, 70u, + 173u, 119u, 165u, 255u, + 57u, 92u, 90u, 30u, + 96u, 247u, 208u, 12u, + 136u, 67u, 134u, 208u, + 128u, 104u, 108u, 196u, + 105u, 81u, 62u, 255u, + 97u, 81u, 60u, 115u, + 143u, 48u, 255u, 82u, + 177u, 205u, 194u, 63u, + 134u, 211u, 240u, 135u, + 51u, 128u, 28u, 149u, + 55u, 191u, 233u, 153u, + 86u, 132u, 31u, 134u, + 93u, 211u, 255u, 133u, + 175u, 115u, 170u, 141u, + 202u, 177u, 29u, 117u, + 98u, 133u, 23u, 2u, + 82u, 114u, 0u, 68u, + 119u, 127u, 115u, 129u, + 1u, 86u, 75u, 212u, + 37u, 126u, 207u, 62u, + 159u, 136u, 172u, 118u, + 110u, 255u, 120u, 254u, + 186u, 129u, 100u, 167u, + 252u, 5u, 180u, 146u, + 156u, 122u, 84u, 245u, + 145u, 119u, 155u, 72u, + 201u, 208u, 118u, 255u, + 49u, 159u, 30u, 191u, + 15u, 224u, 78u, 82u, + 171u, 142u, 120u, 126u, + 213u, 47u, 161u, 23u, + 89u, 132u, 255u, 123u, + 69u, 13u, 43u, 121u, + 195u, 104u, 220u, 138u, + 21u, 198u, 142u, 91u, + 117u, 189u, 180u, 163u, + 1u, 52u, 189u, 28u, + 104u, 55u, 255u, 165u, + 58u, 58u, 44u, 196u, + 230u, 210u, 78u, 124u, + 146u, 107u, 170u, 84u, + 120u, 153u, 174u, 181u, + 47u, 117u, 255u, 131u, + 139u, 132u, 103u, 67u, + 104u, 112u, 153u, 166u, + 97u, 165u, 154u, 93u, + 255u, 134u, 115u, 135u, + 45u, 83u, 198u, 122u, + 203u, 102u, 91u, 82u, + 182u, 187u, 62u, 0u, + 90u, 164u, 151u, 82u, + 195u, 135u, 202u, 74u, + 165u, 243u, 41u, 156u, + 65u, 115u, 1u, 98u, + 192u, 141u, 230u, 63u, + 140u, 161u, 217u, 152u, + 14u, 74u, 206u, 165u, + 198u, 34u, 124u, 167u, + 123u, 113u, 236u, 1u, + 82u, 112u, 121u, 65u, + 76u, 159u, 34u, 3u, + 129u, 178u, 89u, 155u, + 154u, 236u, 106u, 111u, + 1u, 140u, 1u, 143u, + 59u, 61u, 198u, 114u, + 124u, 104u, 118u, 251u, + 137u, 206u, 71u, 114u, + 1u, 62u, 122u, 131u, + 18u, 95u, 199u, 132u, + 3u, 169u, 129u, 61u, + 207u, 19u, 178u, 149u, + 109u, 192u, 155u, 140u, + 237u, 104u, 1u, 145u, + 118u, 142u, 85u, 137u, + 255u, 97u, 190u, 95u, + 51u, 143u, 193u, 106u, + 162u, 41u, 85u, 114u, + 13u, 176u, 1u, 230u, + 66u, 27u, 178u, 168u, + 230u, 129u, 106u, 165u, + 168u, 150u, 106u, 208u, + 147u, 157u, 149u, 191u, + 244u, 87u, 188u, 138u, + 149u, 154u, 130u, 194u, + 65u, 109u, 77u, 0u, + 183u, 255u, 152u, 114u, + 188u, 63u, 79u, 148u, + 173u, 180u, 174u, 231u, + 209u, 62u, 66u, 200u, + 113u, 13u, 116u, 93u, + 54u, 1u, 141u, 174u, + 163u, 198u, 73u, 215u, + 160u, 130u, 23u, 89u, + 113u, 95u, 135u, 65u, + 95u, 127u, 177u, 198u, + 118u, 255u, 179u, 115u, + 226u, 96u, 133u, 145u, + 66u, 120u, 22u, 122u, + 117u, 108u, 137u, 255u, + 157u, 188u, 220u, 121u, + 135u, 161u, 148u, 130u, + 43u, 154u, 95u, 57u, + 255u, 49u, 225u, 110u, + 100u, 223u, 146u, 79u, + 235u, 159u, 122u, 167u, + 91u, 54u, 49u, 115u, + 125u, 198u, 106u, 95u, + 20u, 116u, 131u, 178u, + 1u, 218u, 42u, 124u, + 55u, 121u, 167u, 42u, + 182u, 99u, 23u, 125u, + 113u, 69u, 181u, 1u, + 108u, 191u, 122u, 244u, + 91u, 147u, 0u, 40u, + 171u, 34u, 125u, 254u, + 58u, 156u, 129u, 109u, + 199u, 180u, 33u, 118u, + 123u, 94u, 55u, 100u, + 209u, 93u, 25u, 53u, + 101u, 176u, 85u, 38u, + 64u, 163u, 1u, 142u, + 255u, 135u, 148u, 81u, + 120u, 159u, 137u, 152u, + 159u, 117u, 80u, 94u, + 45u, 90u, 118u, 108u, + 148u, 129u, 141u, 55u, + 74u, 170u, 218u, 127u, + 145u, 182u, 119u, 142u, + 87u, 191u, 255u, 175u, + 43u, 91u, 157u, 255u, + 147u, 105u, 152u, 45u, + 41u, 114u, 183u, 69u, + 148u, 169u, 45u, 103u, + 255u, 166u, 149u, 202u, + 238u, 174u, 148u, 239u, + 185u, 143u, 216u, 138u, + 146u, 146u, 5u, 163u, + 106u, 126u, 1u, 255u, + 28u, 116u, 161u, 75u, + 58u, 194u, 126u, 162u, + 206u, 118u, 180u, 82u, + 94u, 179u, 1u, 247u, + 63u, 241u, 143u, 35u, + 131u, 69u, 32u, 188u, + 14u, 199u, 183u, 152u, + 132u, 136u, 161u, 155u, + 183u, 115u, 105u, 89u, + 220u, 180u, 111u, 165u, + 255u, 114u, 97u, 82u, + 165u, 1u, 214u, 144u, + 54u, 165u, 142u, 74u, + 71u, 187u, 62u, 45u, + 43u, 232u, 26u, 55u, + 129u, 156u, 168u, 149u, + 255u, 117u, 136u, 161u, + 122u, 75u, 189u, 94u, + 89u, 186u, 167u, 255u, + 150u, 250u, 199u, 71u, + 115u, 70u, 117u, 238u, + 107u, 92u, 1u, 219u, + 84u, 131u, 193u, 167u, + 160u, 255u, 189u, 238u, + 119u, 135u, 159u, 93u, + 143u, 145u, 131u, 187u, + 222u, 180u, 215u, 71u, + 167u, 226u, 80u, 113u, + 69u, 121u, 173u, 203u, + 255u, 134u, 114u, 253u, + 29u, 131u, 246u, 94u, + 208u, 136u, 226u, 141u, + 107u, 63u, 19u, 214u, + 255u, 180u, 83u, 164u, + 200u, 128u, 182u, 58u, + 111u, 255u, 139u, 245u, + 134u, 127u, 104u, 138u, + 55u, 235u, 14u, 90u, + 104u, 34u, 205u, 50u, + 102u, 77u, 106u, 168u, + 103u, 0u, 49u, 60u, + 166u, 109u, 130u, 21u, + 162u, 18u, 171u, 156u, + 0u, 164u, 167u, 101u, + 107u, 92u, 228u, 125u, + 243u, 98u, 95u, 36u, + 134u, 251u, 81u, 106u, + 113u, 46u, 0u, 145u, + 32u, 142u, 181u, 177u, + 157u, 160u, 121u, 92u, + 100u, 133u, 146u, 91u, + 157u, 100u, 160u, 94u, + 168u, 144u, 61u, 182u, + 80u, 133u, 159u, 83u, + 127u, 80u, 1u, 98u, + 49u, 216u, 172u, 1u, + 102u, 128u, 155u, 87u, + 116u, 74u, 108u, 224u, + 208u, 156u, 130u, 144u, + 113u, 91u, 4u, 160u, + 157u, 72u, 36u, 173u, + 60u, 149u, 1u, 130u, + 237u, 184u, 45u, 159u, + 106u, 64u, 65u, 105u, + 53u, 82u, 1u, 125u, + 11u, 148u, 183u, 165u, + 81u, 236u, 117u, 108u, + 131u, 98u, 255u, 155u, + 79u, 76u, 78u, 131u, + 48u, 84u, 215u, 54u, + 94u, 151u, 58u, 85u, + 95u, 253u, 124u, 165u, + 140u, 179u, 92u, 166u, + 188u, 125u, 72u, 223u, + 74u, 99u, 170u, 255u, + 111u, 73u, 242u, 165u, + 147u, 78u, 201u, 196u, + 131u, 155u, 97u, 198u, + 17u, 144u, 255u, 5u, + 156u, 166u, 113u, 93u, + 222u, 167u, 86u, 214u, + 109u, 148u, 94u, 155u, + 185u, 255u, 114u, 33u, + 24u, 165u, 161u, 135u, + 221u, 193u, 87u, 139u, + 1u, 80u, 144u, 81u, + 221u, 73u, 20u, 166u, + 122u, 19u, 183u, 1u, + 63u, 98u, 51u, 140u, + 68u, 192u, 186u, 190u, + 199u, 214u, 191u, 196u, + 84u, 99u, 212u, 229u, + 151u, 55u, 165u, 179u, + 103u, 206u, 208u, 103u, + 87u, 255u, 146u, 161u, + 28u, 140u, 122u, 94u, + 132u, 75u, 153u, 211u, + 43u, 72u, 112u, 114u, + 148u, 1u, 27u, 134u, + 130u, 75u, 224u, 153u, + 64u, 138u, 255u, 47u, + 45u, 201u, 108u, 124u, + 79u, 182u, 211u, 3u, + 167u, 160u, 83u, 156u, + 98u, 72u, 110u, 81u, + 166u, 115u, 116u, 103u, + 168u, 135u, 104u, 255u, + 83u, 183u, 115u, 70u, + 178u, 185u, 103u, 198u, + 71u, 116u, 255u, 37u, + 144u, 112u, 45u, 208u, + 106u, 182u, 77u, 189u, + 199u, 129u, 114u, 119u, + 252u, 137u, 194u, 51u, + 255u, 151u, 1u, 196u, + 206u, 150u, 193u, 71u, + 39u, 57u, 141u, 1u, + 63u, 95u, 237u, 168u, + 83u, 171u, 201u, 128u, + 64u, 184u, 166u, 40u, + 160u, 205u, 191u, 155u, + 217u, 155u, 190u, 173u, + 1u, 78u, 147u, 108u, + 84u, 199u, 212u, 85u, + 141u, 78u, 138u, 11u, + 165u, 48u, 218u, 249u, + 144u, 201u, 1u, 85u, + 39u, 184u, 135u, 95u, + 25u, 78u, 34u, 115u, + 153u, 98u, 178u, 183u, + 1u, 181u, 159u, 82u, + 234u, 195u, 238u, 136u, + 52u, 142u, 141u, 134u, + 38u, 1u, 142u, 119u, + 38u, 103u, 100u, 140u, + 153u, 137u, 255u, 161u, + 104u, 101u, 66u, 190u, + 111u, 124u, 173u, 141u, + 115u, 139u, 186u, 76u, + 69u, 248u, 170u, 223u, + 53u, 201u, 175u, 84u, + 182u, 146u, 223u, 80u, + 1u, 111u, 163u, 189u, + 121u, 112u, 30u, 182u, + 84u, 212u, 177u, 108u, + 77u, 68u, 103u, 0u, + 67u, 172u, 123u, 125u, + 106u, 112u, 49u, 79u, + 187u, 102u, 99u, 157u, + 105u, 144u, 255u, 88u, + 236u, 169u, 118u, 179u, + 33u, 169u, 68u, 236u, + 189u, 173u, 122u, 255u, + 10u, 118u, 140u, 85u, + 190u, 143u, 34u, 20u, + 62u, 209u, 162u, 89u, + 65u, 255u, 10u, 29u, + 158u, 195u, 34u, 36u, + 122u, 147u, 123u, 43u, + 154u, 174u, 42u, 150u, + 125u, 42u, 68u, 160u, + 255u, 211u, 83u, 95u, + 184u, 77u, 104u, 36u, + 186u, 219u, 138u, 38u, + 169u, 91u, 0u, 89u, + 167u, 114u, 123u, 121u, + 10u, 15u, 105u, 153u, + 240u, 231u, 26u, 198u, + 171u, 169u, 120u, 115u, + 1u, 29u, 184u, 95u, + 211u, 95u, 191u, 214u, + 119u, 145u, 86u, 83u, + 140u, 179u, 78u, 145u, + 89u, 132u, 119u, 104u, + 52u, 117u, 1u, 156u, + 175u, 158u, 68u, 176u, + 209u, 1u, 125u, 200u, + 56u, 184u, 98u, 171u, + 146u, 148u, 130u, 242u, + 238u, 255u, 217u, 89u, + 66u, 184u, 175u, 183u, + 162u, 236u, 50u, 46u, + 62u, 138u, 121u, 98u, + 145u, 95u, 127u, 94u, + 78u, 238u, 1u, 106u, + 85u, 83u, 119u, 121u, + 67u, 97u, 57u, 108u, + 65u, 88u, 79u, 90u, + 179u, 89u, 255u, 121u, + 88u, 80u, 73u, 174u, + 121u, 152u, 24u, 160u, + 28u, 197u, 198u, 175u, + 73u, 93u, 52u, 46u, + 79u, 200u, 179u, 255u, + 119u, 131u, 137u, 231u, + 56u, 59u, 111u, 118u, + 215u, 139u, 170u, 216u, + 78u, 121u, 126u, 223u, + 162u, 255u, 94u, 74u, + 79u, 92u, 103u, 103u, + 134u, 174u, 143u, 164u, + 208u, 88u, 159u, 13u, + 107u, 135u, 116u, 255u, + 1u, 63u, 54u, 213u, + 67u, 73u, 229u, 178u, + 185u, 132u, 107u, 130u, + 241u, 75u, 185u, 79u, + 114u, 101u, 142u, 120u, + 54u, 147u, 171u, 115u, + 206u, 139u, 122u, 148u, + 1u, 143u, 127u, 174u, + 79u, 163u, 130u, 115u, + 117u, 108u, 174u, 80u, + 117u, 162u, 137u, 147u, + 246u, 1u, 29u, 55u, + 214u, 148u, 187u, 115u, + 168u, 183u, 46u, 110u, + 59u, 140u, 0u, 160u, + 116u, 133u, 68u, 112u, + 103u, 119u, 88u, 255u, + 177u, 159u, 227u, 42u, + 2u, 81u, 163u, 181u, + 171u, 169u, 97u, 77u, + 107u, 118u, 137u, 194u, + 179u, 197u, 0u, 110u, + 147u, 202u, 85u, 139u, + 189u, 141u, 40u, 192u, + 116u, 108u, 108u, 180u, + 142u, 228u, 109u, 123u, + 166u, 0u, 200u, 196u, + 166u, 144u, 51u, 102u, + 84u, 155u, 104u, 1u, + 137u, 177u, 138u, 125u, + 112u, 130u, 52u, 192u, + 9u, 165u, 156u, 105u, + 126u, 244u, 186u, 146u, + 243u, 20u, 150u, 1u, + 7u, 101u, 118u, 198u, + 68u, 183u, 42u, 177u, + 1u, 24u, 150u, 203u, + 157u, 102u, 157u, 13u, + 145u, 23u, 44u, 227u, + 40u, 120u, 178u, 68u, + 63u, 139u, 130u, 72u, + 88u, 129u, 105u, 188u, + 255u, 174u, 99u, 92u, + 18u, 168u, 116u, 142u, + 149u, 103u, 168u, 255u, + 98u, 1u, 77u, 158u, + 72u, 51u, 183u, 86u, + 193u, 164u, 2u, 89u, + 141u, 232u, 157u, 106u, + 106u, 123u, 175u, 129u, + 174u, 120u, 255u, 234u, + 104u, 124u, 68u, 233u, + 255u, 23u, 117u, 94u, + 204u, 143u, 91u, 37u, + 91u, 212u, 106u, 99u, + 165u, 126u, 249u, 14u, + 163u, 196u, 1u, 81u, + 160u, 192u, 42u, 145u, + 60u, 134u, 75u, 146u, + 168u, 157u, 178u, 162u, + 121u, 48u, 160u, 80u, + 1u, 94u, 89u, 46u, + 229u, 161u, 158u, 79u, + 96u, 49u, 217u, 119u, + 127u, 143u, 69u, 94u, + 2u, 153u, 137u, 255u, + 60u, 144u, 167u, 183u, + 133u, 85u, 103u, 131u, + 193u, 110u, 95u, 89u, + 139u, 118u, 255u, 75u, + 109u, 137u, 39u, 99u, + 124u, 172u, 124u, 129u, + 203u, 83u, 127u, 1u, + 27u, 171u, 56u, 180u, + 78u, 185u, 160u, 124u, + 101u, 219u, 230u, 192u, + 114u, 102u, 153u, 40u, + 189u, 144u, 255u, 183u, + 12u, 99u, 221u, 150u, + 34u, 112u, 167u, 99u, + 75u, 98u, 48u, 160u, + 0u, 127u, 99u, 76u, + 127u, 81u, 160u, 98u, + 100u, 111u, 190u, 125u, + 132u, 217u, 240u, 123u, + 238u, 245u, 90u, 172u, + 1u, 103u, 194u, 119u, + 166u, 161u, 132u, 156u, + 133u, 158u, 166u, 128u, + 107u, 166u, 160u, 191u, + 181u, 151u, 158u, 157u, + 1u, 144u, 177u, 120u, + 16u, 125u, 133u, 115u, + 104u, 95u, 105u, 47u, + 124u, 189u, 25u, 131u, + 134u, 1u, 144u, 120u, + 113u, 229u, 151u, 255u, + 32u, 229u, 229u, 103u, + 186u, 128u, 180u, 224u, + 121u, 148u, 189u, 115u, + 161u, 159u, 88u, 94u, + 221u, 92u, 121u, 184u, + 129u, 151u, 108u, 113u, + 0u, 103u, 120u, 116u, + 143u, 73u, 194u, 138u, + 157u, 43u, 96u, 203u, + 172u, 134u, 145u, 206u, + 247u, 53u, 1u, 85u, + 77u, 163u, 164u, 164u, + 88u, 213u, 29u, 140u, + 144u, 151u, 167u, 89u, + 201u, 1u, 190u, 24u, + 235u, 170u, 160u, 181u, + 111u, 157u, 255u, 189u, + 72u, 104u, 173u, 180u, + 96u, 76u, 66u, 123u, + 175u, 213u, 255u, 168u, + 124u, 146u, 90u, 224u, + 138u, 142u, 157u, 163u, + 224u, 152u, 164u, 70u, + 63u, 148u, 159u, 113u, + 51u, 118u, 50u, 150u, + 5u, 162u, 255u, 94u, + 165u, 131u, 74u, 158u, + 49u, 178u, 0u, 81u, + 105u, 206u, 115u, 84u, + 150u, 191u, 48u, 157u, + 56u, 73u, 13u, 160u, + 188u, 60u, 139u, 126u, + 1u, 199u, 125u, 95u, + 161u, 208u, 172u, 66u, + 117u, 143u, 139u, 72u, + 178u, 153u, 242u, 177u, + 96u, 157u, 138u, 0u, + 143u, 245u, 177u, 47u, + 56u, 108u, 106u, 32u, + 172u, 219u, 192u, 182u, + 147u, 116u, 126u, 114u, + 115u, 176u, 202u, 77u, + 152u, 135u, 103u, 255u, + 125u, 132u, 255u, 164u, + 50u, 69u, 115u, 74u, + 105u, 93u, 124u, 171u, + 116u, 87u, 88u, 35u, + 131u, 191u, 215u, 161u, + 203u, 124u, 89u, 255u, + 161u, 108u, 94u, 206u, + 47u, 200u, 82u, 145u, + 167u, 255u, 132u, 151u, + 250u, 74u, 145u, 230u, + 174u, 108u, 216u, 250u, + 146u, 127u, 73u, 102u, + 34u, 101u, 50u, 255u, + 129u, 185u, 132u, 124u, + 42u, 133u, 194u, 136u, + 216u, 179u, 63u, 141u, + 102u, 209u, 236u, 148u, + 167u, 231u, 56u, 89u, + 26u, 152u, 192u, 21u, + 170u, 187u, 165u, 1u, + 118u, 132u, 32u, 182u, + 163u, 149u, 54u, 55u, + 107u, 1u, 96u, 176u, + 149u, 185u, 138u, 144u, + 219u, 97u, 224u, 194u, + 255u, 126u, 186u, 71u, + 43u, 118u, 34u, 102u, + 187u, 90u, 212u, 113u, + 51u, 102u, 86u, 179u, + 246u, 96u, 200u, 138u, + 106u, 176u, 162u, 98u, + 255u, 214u, 144u, 124u, + 223u, 126u, 186u, 255u, + 154u, 93u, 106u, 72u, + 42u, 45u, 104u, 112u, + 132u, 163u, 142u, 67u, + 101u, 177u, 39u, 164u, + 138u, 255u, 136u, 164u, + 136u, 78u, 27u, 101u, + 1u, 87u, 97u, 202u, + 67u, 54u, 72u, 255u, + 42u, 148u, 188u, 32u, + 73u, 47u, 99u, 148u, + 238u, 188u, 119u, 231u, + 172u, 254u, 99u, 231u, + 203u, 169u, 129u, 1u, + 28u, 98u, 137u, 117u, + 70u, 108u, 217u, 123u, + 150u, 255u, 132u, 62u, + 168u, 160u, 204u, 192u, + 184u, 156u, 82u, 118u, + 91u, 151u, 89u, 36u, + 132u, 159u, 196u, 206u, + 168u, 130u, 115u, 183u, + 193u, 77u, 145u, 1u, + 168u, 73u, 102u, 202u, + 103u, 148u, 32u, 52u, + 206u, 219u, 93u, 111u, + 92u, 182u, 142u, 178u, + 125u, 64u, 106u, 1u, + 44u, 60u, 6u, 61u, + 221u, 57u, 169u, 219u, + 0u, 124u, 161u, 71u, + 183u, 90u, 60u, 31u, + 139u, 216u, 177u, 140u, + 255u, 120u, 137u, 196u, + 32u, 88u, 196u, 163u, + 234u, 137u, 95u, 21u, + 234u, 61u, 63u, 122u, + 197u, 89u, 1u, 95u, + 196u, 108u, 135u, 16u, + 75u, 46u, 179u, 60u, + 9u, 130u, 51u, 186u, + 152u, 173u, 187u, 50u, + 124u, 63u, 81u, 255u, + 101u, 123u, 103u, 108u, + 6u, 131u, 95u, 114u, + 162u, 255u, 194u, 109u, + 25u, 198u, 129u, 113u, + 166u, 177u, 78u, 63u, + 81u, 192u, 74u, 255u, + 105u, 97u, 110u, 121u, + 104u, 131u, 178u, 128u, + 244u, 173u, 110u, 169u, + 208u, 1u, 130u, 135u, + 127u, 112u, 38u, 171u, + 63u, 119u, 108u, 54u, + 103u, 105u, 139u, 82u, + 204u, 173u, 102u, 63u, + 231u, 77u, 205u, 160u, + 116u, 189u, 0u, 165u, + 183u, 251u, 73u, 167u, + 42u, 142u, 148u, 82u, + 70u, 178u, 157u, 1u, + 128u, 91u, 164u, 181u, + 160u, 85u, 107u, 102u, + 113u, 83u, 24u, 211u, + 1u, 147u, 50u, 40u, + 131u, 33u, 154u, 131u, + 151u, 94u, 212u, 137u, + 165u, 187u, 100u, 70u, + 112u, 84u, 70u, 174u, + 105u, 120u, 148u, 214u, + 143u, 133u, 1u, 102u, + 24u, 88u, 158u, 128u, + 108u, 107u, 160u, 127u, + 101u, 72u, 172u, 208u, + 111u, 255u, 72u, 149u, + 255u, 180u, 194u, 109u, + 190u, 197u, 128u, 160u, + 192u, 114u, 175u, 106u, + 44u, 67u, 155u, 198u, + 69u, 135u, 84u, 76u, + 190u, 111u, 255u, 180u, + 121u, 58u, 141u, 134u, + 166u, 77u, 27u, 104u, + 140u, 71u, 112u, 110u, + 120u, 131u, 215u, 100u, + 61u, 145u, 141u, 26u, + 205u, 254u, 0u, 127u, + 133u, 145u, 177u, 113u, + 115u, 109u, 103u, 0u, + 159u, 198u, 103u, 104u, + 134u, 148u, 122u, 141u, + 44u, 137u, 60u, 38u, + 47u, 238u, 37u, 1u, + 64u, 166u, 76u, 29u, + 69u, 110u, 157u, 127u, + 66u, 81u, 176u, 255u, + 68u, 84u, 144u, 75u, + 189u, 94u, 131u, 68u, + 126u, 210u, 151u, 166u, + 255u, 142u, 104u, 86u, + 209u, 117u, 42u, 113u, + 41u, 76u, 135u, 154u, + 44u, 16u, 255u, 50u, + 229u, 79u, 112u, 140u, + 133u, 177u, 127u, 165u, + 113u, 0u, 219u, 201u, + 140u, 119u, 224u, 132u, + 196u, 147u, 58u, 77u, + 241u, 187u, 86u, 42u, + 29u, 178u, 148u, 1u, + 85u, 197u, 90u, 63u, + 100u, 179u, 159u, 91u, + 94u, 62u, 141u, 142u, + 109u, 1u, 125u, 162u, + 177u, 143u, 38u, 127u, + 197u, 130u, 83u, 93u, + 86u, 130u, 117u, 167u, + 47u, 111u, 77u, 246u, + 86u, 118u, 255u, 20u, + 92u, 59u, 64u, 151u, + 1u, 159u, 232u, 127u, + 123u, 31u, 43u, 132u, + 72u, 131u, 91u, 115u, + 184u, 255u, 45u, 157u, + 48u, 166u, 142u, 201u, + 162u, 145u, 128u, 147u, + 39u, 90u, 114u, 64u, + 162u, 138u, 104u, 116u, + 133u, 83u, 17u, 147u, + 79u, 124u, 142u, 145u, + 123u, 124u, 170u, 1u, + 94u, 76u, 72u, 255u, + 169u, 213u, 209u, 82u, + 96u, 139u, 240u, 255u, + 170u, 100u, 123u, 62u, + 60u, 66u, 91u, 147u, + 255u, 94u, 81u, 213u, + 154u, 178u, 110u, 70u, + 143u, 71u, 28u, 130u, + 105u, 106u, 80u, 110u, + 48u, 137u, 168u, 152u, + 189u, 122u, 34u, 150u, + 72u, 255u, 111u, 241u, + 53u, 146u, 40u, 181u, + 213u, 237u, 238u, 103u, + 193u, 98u, 200u, 144u, + 174u, 55u, 0u, 175u, + 92u, 96u, 61u, 71u, + 126u, 176u, 179u, 132u, + 121u, 153u, 0u, 169u, + 87u, 136u, 119u, 61u, + 162u, 80u, 176u, 114u, + 131u, 162u, 203u, 115u, + 112u, 191u, 97u, 179u, + 206u, 85u, 0u, 201u, + 147u, 212u, 237u, 205u, + 117u, 160u, 162u, 78u, + 112u, 107u, 152u, 202u, + 60u, 53u, 0u, 44u, + 215u, 71u, 96u, 2u, + 133u, 170u, 184u, 119u, + 115u, 234u, 170u, 145u, + 168u, 58u, 15u, 1u, + 174u, 68u, 132u, 127u, + 87u, 36u, 173u, 168u, + 185u, 180u, 144u, 255u, + 178u, 163u, 140u, 85u, + 135u, 67u, 2u, 134u, + 103u, 162u, 87u, 164u, + 46u, 40u, 82u, 35u, + 205u, 233u, 255u, 143u, + 95u, 195u, 194u, 154u, + 1u, 165u, 128u, 119u, + 110u, 65u, 247u, 139u, + 163u, 177u, 194u, 245u, + 151u, 1u, 101u, 138u, + 85u, 68u, 112u, 143u, + 42u, 93u, 116u, 113u, + 87u, 164u, 231u, 80u, + 130u, 65u, 126u, 138u, + 103u, 208u, 142u, 99u, + 96u, 130u, 46u, 159u, + 98u, 255u, 205u, 31u, + 183u, 103u, 190u, 131u, + 155u, 132u, 1u, 157u, + 70u, 147u, 194u, 136u, + 171u, 127u, 92u, 147u, + 100u, 205u, 253u, 165u, + 187u, 152u, 255u, 174u, + 181u, 76u, 160u, 89u, + 155u, 117u, 87u, 177u, + 217u, 130u, 165u, 143u, + 155u, 137u, 159u, 15u, + 176u, 131u, 5u, 62u, + 96u, 255u, 177u, 156u, + 168u, 68u, 218u, 82u, + 157u, 115u, 106u, 94u, + 142u, 164u, 185u, 179u, + 189u, 255u, 176u, 147u, + 244u, 35u, 208u, 113u, + 101u, 100u, 242u, 85u, + 153u, 77u, 156u, 114u, + 168u, 255u, 101u, 192u, + 118u, 106u, 117u, 117u, + 121u, 69u, 255u, 82u, + 101u, 78u, 121u, 63u, + 223u, 172u, 131u, 221u, + 223u, 61u, 22u, 159u, + 65u, 117u, 186u, 83u, + 83u, 179u, 178u, 64u, + 205u, 124u, 0u, 131u, + 230u, 30u, 8u, 199u, + 35u, 72u, 154u, 112u, + 63u, 187u, 197u, 54u, + 215u, 255u, 168u, 208u, + 245u, 185u, 109u, 168u, + 111u, 221u, 1u, 8u, + 64u, 126u, 94u, 211u, + 53u, 127u, 105u, 189u, + 97u, 100u, 149u, 173u, + 181u, 123u, 189u, 146u, + 125u, 150u, 143u, 96u, + 106u, 169u, 158u, 0u, + 19u, 132u, 77u, 73u, + 116u, 220u, 132u, 191u, + 100u, 101u, 51u, 95u, + 154u, 2u, 255u, 13u, + 146u, 199u, 77u, 134u, + 152u, 178u, 68u, 118u, + 94u, 121u, 1u, 152u, + 91u, 96u, 149u, 99u, + 172u, 38u, 170u, 56u, + 222u, 201u, 55u, 82u, + 150u, 1u, 118u, 149u, + 0u, 134u, 5u, 153u, + 174u, 143u, 161u, 168u, + 1u, 182u, 145u, 152u, + 50u, 105u, 147u, 125u, + 98u, 104u, 125u, 90u, + 102u, 67u, 69u, 148u, + 93u, 198u, 73u, 202u, + 58u, 138u, 124u, 92u, + 144u, 87u, 192u, 1u, + 201u, 168u, 136u, 98u, + 83u, 142u, 114u, 185u, + 255u, 150u, 221u, 71u, + 50u, 122u, 83u, 98u, + 204u, 128u, 150u, 1u, + 61u, 143u, 81u, 136u, + 207u, 142u, 38u, 39u, + 65u, 51u, 127u, 169u, + 123u, 135u, 230u, 96u, + 96u, 3u, 61u, 41u, + 255u, 160u, 216u, 96u, + 229u, 106u, 167u, 155u, + 1u, 171u, 107u, 180u, + 141u, 150u, 129u, 60u, + 116u, 140u, 117u, 141u, + 221u, 114u, 73u, 135u, + 56u, 79u, 116u, 184u, + 105u, 31u, 174u, 68u, + 104u, 10u, 24u, 101u, + 125u, 59u, 1u, 7u, + 151u, 174u, 90u, 167u, + 179u, 46u, 78u, 139u, + 156u, 112u, 94u, 255u, + 122u, 229u, 193u, 237u, + 113u, 177u, 4u, 123u, + 150u, 157u, 118u, 157u, + 22u, 207u, 200u, 69u, + 241u, 255u, 153u, 187u, + 255u, 161u, 197u, 48u, + 133u, 103u, 30u, 221u, + 82u, 130u, 185u, 55u, + 215u, 42u, 239u, 247u, + 204u, 126u, 92u, 108u, + 187u, 1u, 178u, 207u, + 179u, 213u, 174u, 245u, + 116u, 175u, 73u, 112u, + 120u, 144u, 115u, 119u, + 125u, 253u, 1u, 116u, + 107u, 122u, 74u, 24u, + 22u, 150u, 96u, 75u, + 77u, 120u, 98u, 214u, + 117u, 79u, 125u, 134u, + 66u, 100u, 78u, 131u, + 255u, 206u, 149u, 178u, + 162u, 185u, 181u, 156u, + 138u, 240u, 104u, 109u, + 234u, 255u, 211u, 151u, + 103u, 8u, 251u, 56u, + 9u, 138u, 102u, 94u, + 99u, 97u, 49u, 33u, + 155u, 234u, 120u, 255u, + 126u, 177u, 89u, 160u, + 237u, 216u, 112u, 210u, + 0u, 199u, 171u, 112u, + 66u, 148u, 233u, 135u, + 206u, 194u, 141u, 126u, + 176u, 107u, 175u, 100u, + 104u, 62u, 1u, 202u, + 94u, 151u, 207u, 139u, + 188u, 127u, 128u, 160u, + 129u, 193u, 126u, 1u, + 131u, 158u, 202u, 54u, + 80u, 67u, 72u, 167u, + 25u, 118u, 78u, 140u, + 92u, 95u, 185u, 59u, + 96u, 54u, 163u, 211u, + 132u, 246u, 255u, 181u, + 142u, 146u, 195u, 157u, + 184u, 10u, 103u, 143u, + 110u, 114u, 78u, 105u, + 41u, 8u, 156u, 255u, + 238u, 149u, 128u, 187u, + 123u, 53u, 179u, 105u, + 180u, 53u, 131u, 43u, + 89u, 150u, 110u, 108u, + 255u, 131u, 43u, 82u, + 165u, 152u, 133u, 163u, + 116u, 177u, 51u, 97u, + 5u, 92u, 224u, 247u, + 255u, 111u, 42u, 91u, + 87u, 161u, 205u, 194u, + 158u, 132u, 163u, 153u, + 157u, 121u, 121u, 138u, + 28u, 255u, 132u, 12u, + 97u, 75u, 129u, 152u, + 157u, 47u, 97u, 196u, + 41u, 94u, 141u, 118u, + 100u, 255u, 150u, 61u, + 106u, 1u, 86u, 175u, + 93u, 115u, 165u, 34u, + 79u, 186u, 92u, 81u, + 30u, 146u, 82u, 159u, + 144u, 166u, 119u, 159u, + 228u, 69u, 167u, 241u, + 96u, 125u, 161u, 162u, + 223u, 1u, 116u, 151u, + 144u, 130u, 141u, 255u, + 120u, 148u, 71u, 117u, + 26u, 124u, 160u, 102u, + 171u, 126u, 65u, 80u, + 119u, 171u, 109u, 100u, + 72u, 90u, 205u, 125u, + 230u, 199u, 127u, 156u, + 53u, 255u, 252u, 82u, + 93u, 73u, 47u, 29u, + 255u, 113u, 132u, 172u, + 64u, 11u, 201u, 120u, + 176u, 100u, 66u, 131u, + 92u, 57u, 180u, 132u, + 63u, 189u, 98u, 166u, + 112u, 147u, 118u, 0u, + 106u, 150u, 139u, 150u, + 128u, 70u, 123u, 109u, + 116u, 132u, 163u, 103u, + 255u, 121u, 23u, 101u, + 74u, 154u, 163u, 34u, + 150u, 132u, 57u, 208u, + 133u, 138u, 89u, 140u, + 124u, 115u, 63u, 216u, + 220u, 255u, 83u, 87u, + 255u, 31u, 163u, 155u, + 124u, 85u, 153u, 147u, + 93u, 117u, 225u, 56u, + 120u, 165u, 39u, 63u, + 190u, 109u, 149u, 96u, + 159u, 174u, 168u, 100u, + 66u, 164u, 84u, 67u, + 130u, 255u, 196u, 106u, + 163u, 160u, 227u, 166u, + 147u, 134u, 11u, 29u, + 143u, 174u, 0u, 96u, + 93u, 76u, 81u, 145u, + 115u, 170u, 172u, 99u, + 90u, 172u, 255u, 151u, + 138u, 92u, 138u, 196u, + 140u, 91u, 191u, 125u, + 78u, 120u, 127u, 255u, + 147u, 84u, 159u, 201u, + 146u, 183u, 162u, 138u, + 124u, 161u, 155u, 155u, + 145u, 188u, 117u, 246u, + 119u, 2u, 128u, 204u, + 143u, 141u, 193u, 13u, + 170u, 38u, 255u, 137u, + 58u, 50u, 65u, 168u, + 125u, 176u, 26u, 114u, + 255u, 196u, 47u, 128u, + 83u, 121u, 140u, 193u, + 139u, 44u, 91u, 158u, + 118u, 119u, 255u, 3u, + 134u, 91u, 70u, 105u, + 123u, 25u, 150u, 165u, + 183u, 134u, 111u, 142u, + 54u, 140u, 74u, 94u, + 223u, 255u, 204u, 141u, + 210u, 32u, 211u, 199u, + 98u, 255u, 135u, 175u, + 61u, 217u, 34u, 131u, + 149u, 135u, 166u, 156u, + 113u, 132u, 56u, 149u, + 255u, 205u, 165u, 48u, + 156u, 123u, 169u, 180u, + 139u, 152u, 198u, 128u, + 82u, 120u, 129u, 47u, + 27u, 163u, 193u, 220u, + 89u, 142u, 126u, 52u, + 97u, 68u, 252u, 125u, + 127u, 0u, 150u, 236u, + 233u, 57u, 135u, 75u, + 84u, 84u, 47u, 126u, + 186u, 91u, 122u, 1u, + 48u, 131u, 21u, 237u, + 45u, 56u, 1u, 163u, + 75u, 77u, 152u, 192u, + 131u, 132u, 116u, 126u, + 134u, 188u, 179u, 192u, + 109u, 118u, 1u, 112u, + 128u, 101u, 162u, 131u, + 30u, 78u, 123u, 94u, + 111u, 92u, 149u, 176u, + 123u, 81u, 151u, 60u, + 132u, 1u, 123u, 181u, + 130u, 184u, 150u, 118u, + 193u, 157u, 189u, 148u, + 158u, 48u, 127u, 52u, + 151u, 110u, 160u, 255u, + 72u, 110u, 182u, 172u, + 138u, 166u, 95u, 101u, + 181u, 76u, 127u, 188u, + 150u, 123u, 23u, 211u, + 162u, 48u, 253u, 60u, + 1u, 59u, 91u, 160u, + 118u, 77u, 255u, 153u, + 97u, 140u, 107u, 140u, + 160u, 135u, 179u, 118u, + 181u, 116u, 147u, 87u, + 247u, 62u, 94u, 136u, + 1u, 150u, 161u, 190u, + 146u, 175u, 92u, 83u, + 187u, 100u, 164u, 101u, + 122u, 1u, 83u, 185u, + 147u, 72u, 136u, 66u, + 118u, 183u, 152u, 91u, + 111u, 154u, 129u, 104u, + 79u, 91u, 150u, 101u, + 148u, 165u, 82u, 108u, + 97u, 146u, 1u, 154u, + 75u, 238u, 118u, 132u, + 115u, 142u, 197u, 1u, + 185u, 37u, 114u, 218u, + 244u, 182u, 120u, 197u, + 208u, 142u, 162u, 96u, + 199u, 210u, 69u, 20u, + 155u, 93u, 165u, 1u, + 157u, 217u, 79u, 101u, + 165u, 158u, 134u, 149u, + 165u, 167u, 199u, 213u, + 68u, 90u, 79u, 227u, + 121u, 0u, 93u, 84u, + 193u, 82u, 92u, 87u, + 100u, 249u, 81u, 89u, + 225u, 170u, 137u, 183u, + 1u, 118u, 161u, 72u, + 223u, 18u, 165u, 227u, + 164u, 201u, 97u, 54u, + 30u, 172u, 176u, 255u, + 102u, 132u, 123u, 105u, + 65u, 97u, 232u, 104u, + 180u, 139u, 70u, 114u, + 222u, 55u, 125u, 160u, + 85u, 1u, 161u, 143u, + 100u, 145u, 114u, 82u, + 135u, 61u, 164u, 76u, + 65u, 68u, 93u, 188u, + 164u, 161u, 135u, 170u, + 153u, 186u, 0u, 203u, + 123u, 31u, 122u, 80u, + 124u, 95u, 196u, 59u, + 166u, 255u, 146u, 118u, + 69u, 214u, 135u, 80u, + 168u, 163u, 168u, 175u, + 182u, 157u, 146u, 107u, + 104u, 124u, 169u, 111u, + 102u, 255u, 191u, 65u, + 90u, 160u, 92u, 137u, + 203u, 118u, 186u, 138u, + 169u, 1u, 162u, 21u, + 72u, 122u, 174u, 107u, + 96u, 16u, 183u, 213u, + 32u, 58u, 36u, 255u, + 91u, 106u, 167u, 177u, + 223u, 203u, 100u, 151u, + 44u, 186u, 27u, 131u, + 126u, 254u, 183u, 1u, + 175u, 180u, 128u, 138u, + 88u, 183u, 136u, 151u, + 195u, 94u, 183u, 181u, + 28u, 39u, 24u, 81u, + 235u, 189u, 116u, 136u, + 255u, 95u, 232u, 97u, + 56u, 188u, 67u, 162u, + 121u, 94u, 169u, 20u, + 127u, 76u, 163u, 152u, + 197u, 168u, 1u, 102u, + 175u, 106u, 154u, 120u, + 136u, 131u, 68u, 56u, + 54u, 157u, 246u, 65u, + 255u, 108u, 145u, 110u, + 141u, 88u, 189u, 77u, + 214u, 59u, 130u, 170u, + 178u, 255u, 159u, 108u, + 187u, 152u, 179u, 149u, + 57u, 11u, 168u, 150u, + 173u, 124u, 213u, 184u, + 81u, 29u, 80u, 255u, + 36u, 27u, 182u, 67u, + 170u, 111u, 121u, 255u, + 127u, 115u, 111u, 181u, + 241u, 242u, 174u, 187u, + 32u, 21u, 105u, 253u, + 255u, 107u, 232u, 95u, + 5u, 184u, 105u, 46u, + 144u, 32u, 217u, 231u, + 116u, 110u, 147u, 168u, + 1u, 138u, 88u, 78u, + 205u, 59u, 142u, 93u, + 152u, 223u, 158u, 101u, + 203u, 194u, 140u, 103u, + 72u, 129u, 182u, 197u, + 157u, 74u, 187u, 146u, + 57u, 99u, 190u, 139u, + 253u, 145u, 1u, 92u, + 92u, 111u, 122u, 97u, + 142u, 112u, 87u, 94u, + 75u, 101u, 96u, 43u, + 143u, 109u, 1u, 100u, + 255u, 79u, 177u, 44u, + 201u, 170u, 165u, 206u, + 140u, 174u, 50u, 37u, + 250u, 100u, 58u, 175u, + 158u, 125u, 202u, 134u, + 139u, 255u, 48u, 114u, + 81u, 161u, 187u, 53u, + 193u, 213u, 75u, 53u, + 166u, 177u, 142u, 0u, + 192u, 49u, 86u, 144u, + 169u, 130u, 169u, 86u, + 255u, 94u, 102u, 153u, + 172u, 127u, 151u, 181u, + 184u, 86u, 228u, 74u, + 118u, 151u, 72u, 176u, + 163u, 224u, 229u, 0u, + 110u, 59u, 117u, 164u, + 175u, 218u, 87u, 199u, + 57u, 110u, 143u, 92u, + 100u, 114u, 195u, 0u, + 237u, 166u, 16u, 101u, + 23u, 100u, 31u, 255u, + 121u, 83u, 130u, 82u, + 116u, 46u, 148u, 142u, + 239u, 94u, 226u, 49u, + 139u, 101u, 120u, 120u, + 1u, 198u, 197u, 60u, + 228u, 199u, 144u, 183u, + 137u, 216u, 0u, 105u, + 108u, 193u, 183u, 83u, + 164u, 119u, 121u, 98u, + 201u, 138u, 77u, 227u, + 28u, 155u, 191u, 86u, + 180u, 129u, 230u, 61u, + 124u, 187u, 255u, 204u, + 111u, 118u, 221u, 172u, + 89u, 124u, 193u, 158u, + 99u, 172u, 139u, 1u, + 89u, 202u, 117u, 50u, + 151u, 186u, 185u, 104u, + 255u, 117u, 161u, 65u, + 224u, 121u, 110u, 177u, + 131u, 171u, 212u, 86u, + 254u, 92u, 90u, 129u, + 1u, 40u, 27u, 204u, + 15u, 165u, 43u, 158u, + 156u, 158u, 144u, 93u, + 85u, 137u, 246u, 120u, + 177u, 172u, 204u, 158u, + 98u, 220u, 65u, 185u, + 255u, 129u, 160u, 203u, + 47u, 196u, 116u, 85u, + 26u, 64u, 120u, 157u, + 244u, 255u, 69u, 182u, + 62u, 70u, 82u, 137u, + 166u, 83u, 10u, 192u, + 115u, 192u, 123u, 125u, + 136u, 149u, 229u, 212u, + 147u, 150u, 255u, 109u, + 116u, 134u, 185u, 176u, + 138u, 35u, 172u, 37u, + 169u, 136u, 123u, 60u, + 166u, 87u, 43u, 121u, + 167u, 255u, 121u, 58u, + 65u, 244u, 214u, 58u, + 1u, 162u, 70u, 26u, + 133u, 138u, 172u, 9u, + 61u, 48u, 138u, 199u, + 141u, 153u, 192u, 91u, + 36u, 109u, 192u, 153u, + 194u, 164u, 111u, 255u, + 14u, 191u, 245u, 53u, + 114u, 90u, 111u, 207u, + 13u, 220u, 183u, 1u, + 92u, 138u, 89u, 145u, + 150u, 220u, 237u, 250u, + 25u, 196u, 46u, 0u, + 197u, 187u, 111u, 197u, + 13u, 206u, 72u, 110u, + 150u, 163u, 97u, 31u, + 58u, 255u, 167u, 169u, + 88u, 76u, 148u, 91u, + 65u, 91u, 126u, 132u, + 85u, 173u, 201u, 245u, + 247u, 102u, 189u, 181u, + 198u, 118u, 199u, 104u, + 97u, 201u, 255u, 169u, + 78u, 158u, 142u, 150u, + 84u, 246u, 251u, 230u, + 196u, 138u, 145u, 12u, + 1u, 96u, 157u, 149u, + 225u, 178u, 60u, 98u, + 230u, 177u, 15u, 1u, + 165u, 141u, 167u, 173u, + 57u, 95u, 248u, 103u, + 250u, 16u, 49u, 187u, + 119u, 87u, 174u, 174u, + 88u, 166u, 178u, 60u, + 68u, 194u, 143u, 131u, + 110u, 194u, 32u, 1u, + 180u, 128u, 214u, 130u, + 162u, 140u, 160u, 58u, + 140u, 158u, 90u, 78u, + 1u, 157u, 52u, 21u, + 57u, 38u, 76u, 145u, + 52u, 119u, 52u, 162u, + 174u, 182u, 112u, 234u, + 165u, 117u, 1u, 165u, + 140u, 177u, 174u, 251u, + 43u, 93u, 122u, 177u, + 138u, 179u, 98u, 1u, + 131u, 113u, 222u, 155u, + 185u, 107u, 109u, 52u, + 127u, 148u, 83u, 193u, + 120u, 1u, 126u, 18u, + 167u, 170u, 59u, 123u, + 34u, 0u, 77u, 66u, + 149u, 156u, 82u, 61u, + 2u, 105u, 118u, 99u, + 84u, 205u, 113u, 151u, + 60u, 96u, 186u, 180u, + 95u, 112u, 193u, 1u, + 85u, 184u, 174u, 36u, + 215u, 143u, 114u, 183u, + 103u, 95u, 1u, 193u, + 71u, 77u, 111u, 213u, + 114u, 105u, 105u, 46u, + 142u, 192u, 179u, 140u, + 102u, 231u, 255u, 230u, + 82u, 0u, 159u, 215u, + 212u, 44u, 255u, 165u, + 213u, 71u, 200u, 235u, + 182u, 103u, 141u, 144u, + 75u, 244u, 186u, 216u, + 185u, 161u, 80u, 110u, + 95u, 255u, 170u, 22u, + 119u, 133u, 80u, 81u, + 129u, 33u, 180u, 115u, + 108u, 152u, 105u, 117u, + 175u, 255u, 177u, 182u, + 108u, 122u, 101u, 137u, + 115u, 118u, 153u, 104u, + 97u, 105u, 78u, 34u, + 103u, 255u, 177u, 140u, + 81u, 142u, 186u, 95u, + 69u, 255u, 39u, 51u, + 115u, 75u, 207u, 130u, + 85u, 136u, 95u, 145u, + 104u, 107u, 251u, 207u, + 124u, 96u, 155u, 122u, + 213u, 123u, 88u, 241u, + 37u, 255u, 138u, 173u, + 205u, 232u, 211u, 60u, + 181u, 177u, 37u, 255u, + 91u, 62u, 85u, 128u, + 60u, 115u, 90u, 23u, + 85u, 132u, 31u, 125u, + 211u, 138u, 119u, 123u, + 144u, 186u, 57u, 73u, + 95u, 85u, 135u, 0u, + 27u, 0u, 81u, 70u, + 125u, 170u, 97u, 187u, + 156u, 159u, 50u, 187u, + 163u, 155u, 170u, 46u, + 83u, 97u, 15u, 148u, + 73u, 149u, 69u, 155u, + 90u, 131u, 115u, 255u, + 4u, 128u, 171u, 122u, + 122u, 180u, 158u, 138u, + 166u, 225u, 55u, 86u, + 67u, 64u, 134u, 93u, + 1u, 209u, 152u, 184u, + 51u, 1u, 127u, 121u, + 177u, 229u, 46u, 113u, + 56u, 226u, 107u, 120u, + 157u, 85u, 27u, 161u, + 149u, 52u, 83u, 108u, + 161u, 129u, 173u, 66u, + 126u, 177u, 11u, 154u, + 184u, 117u, 163u, 1u, + 136u, 42u, 119u, 245u, + 1u, 126u, 121u, 3u, + 138u, 8u, 250u, 192u, + 75u, 35u, 245u, 135u, + 212u, 18u, 128u, 13u, + 145u, 1u, 44u, 169u, + 105u, 99u, 90u, 186u, + 94u, 76u, 96u, 107u, + 191u, 130u, 102u, 255u, + 180u, 240u, 109u, 186u, + 107u, 78u, 103u, 103u, + 63u, 57u, 128u, 65u, + 42u, 139u, 24u, 96u, + 129u, 129u, 209u, 130u, + 99u, 50u, 143u, 90u, + 119u, 7u, 102u, 255u, + 255u, 64u, 189u, 74u, + 64u, 145u, 2u, 161u, + 141u, 177u, 183u, 112u, + 133u, 77u, 145u, 46u, + 140u, 9u, 176u, 130u, + 81u, 52u, 63u, 67u, + 49u, 186u, 189u, 86u, + 197u, 255u, 98u, 126u, + 50u, 198u, 60u, 108u, + 161u, 213u, 162u, 168u, + 163u, 206u, 56u, 172u, + 120u, 118u, 0u, 160u, + 51u, 190u, 200u, 45u, + 220u, 69u, 182u, 214u, + 255u, 125u, 108u, 152u, + 129u, 88u, 146u, 144u, + 148u, 129u, 113u, 201u, + 99u, 76u, 102u, 178u, + 179u, 222u, 172u, 1u, + 144u, 194u, 99u, 214u, + 44u, 138u, 66u, 134u, + 126u, 145u, 255u, 115u, + 100u, 114u, 149u, 28u, + 110u, 100u, 109u, 193u, + 116u, 135u, 66u, 164u, + 118u, 88u, 73u, 255u, + 162u, 123u, 183u, 93u, + 75u, 73u, 167u, 95u, + 149u, 83u, 177u, 96u, + 136u, 89u, 120u, 122u, + 204u, 77u, 117u, 217u, + 255u, 200u, 117u, 167u, + 160u, 7u, 50u, 182u, + 150u, 157u, 69u, 73u, + 89u, 210u, 79u, 29u, + 38u, 128u, 1u, 162u, + 1u, 105u, 172u, 183u, + 39u, 112u, 184u, 154u, + 74u, 112u, 246u, 155u, + 98u, 100u, 86u, 134u, + 139u, 135u, 107u, 247u, + 92u, 122u, 94u, 77u, + 58u, 132u, 115u, 143u, + 82u, 172u, 1u, 100u, + 255u, 76u, 183u, 92u, + 146u, 136u, 126u, 163u, + 155u, 91u, 176u, 129u, + 198u, 160u, 118u, 78u, + 188u, 66u, 147u, 167u, + 97u, 105u, 77u, 79u, + 1u, 149u, 90u, 3u, + 38u, 135u, 92u, 80u, + 58u, 255u, 112u, 55u, + 126u, 166u, 207u, 98u, + 37u, 78u, 105u, 203u, + 66u, 203u, 19u, 161u, + 243u, 146u, 221u, 12u, + 137u, 1u, 129u, 96u, + 246u, 134u, 160u, 182u, + 95u, 49u, 167u, 223u, + 59u, 109u, 77u, 255u, + 33u, 73u, 180u, 81u, + 150u, 197u, 180u, 58u, + 178u, 152u, 165u, 104u, + 25u, 149u, 214u, 143u, + 172u, 74u, 174u, 1u, + 107u, 191u, 63u, 68u, + 253u, 60u, 45u, 87u, + 123u, 69u, 0u, 127u, + 173u, 209u, 161u, 120u, + 120u, 142u, 111u, 133u, + 116u, 100u, 104u, 112u, + 68u, 1u, 100u, 68u, + 128u, 242u, 126u, 138u, + 130u, 85u, 147u, 33u, + 72u, 137u, 78u, 145u, + 22u, 69u, 174u, 213u, + 106u, 13u, 241u, 1u, + 203u, 126u, 255u, 59u, + 242u, 104u, 141u, 249u, + 232u, 232u, 63u, 193u, + 215u, 49u, 107u, 171u, + 89u, 8u, 162u, 180u, + 142u, 176u, 92u, 255u, + 95u, 212u, 90u, 177u, + 95u, 204u, 84u, 199u, + 255u, 147u, 129u, 124u, + 160u, 196u, 81u, 180u, + 191u, 177u, 165u, 150u, + 192u, 196u, 186u, 129u, + 173u, 19u, 211u, 79u, + 72u, 0u, 28u, 181u, + 96u, 132u, 211u, 159u, + 63u, 60u, 147u, 1u, + 60u, 107u, 107u, 129u, + 148u, 202u, 55u, 179u, + 124u, 147u, 88u, 133u, + 151u, 1u, 169u, 187u, + 125u, 86u, 158u, 114u, + 119u, 157u, 63u, 203u, + 156u, 0u, 104u, 245u, + 109u, 135u, 126u, 62u, + 141u, 84u, 78u, 26u, + 132u, 106u, 187u, 55u, + 101u, 140u, 42u, 63u, + 127u, 187u, 210u, 122u, + 118u, 121u, 69u, 73u, + 116u, 117u, 1u, 172u, + 216u, 69u, 138u, 137u, + 170u, 151u, 93u, 87u, + 39u, 185u, 141u, 106u, + 49u, 255u, 93u, 174u, + 233u, 81u, 69u, 92u, + 159u, 220u, 121u, 133u, + 136u, 134u, 134u, 1u, + 107u, 152u, 248u, 188u, + 67u, 148u, 189u, 115u, + 21u, 111u, 113u, 221u, + 209u, 91u, 2u, 255u, + 24u, 58u, 37u, 78u, + 255u, 122u, 236u, 32u, + 32u, 212u, 7u, 6u, + 92u, 209u, 220u, 93u, + 92u, 84u, 208u, 147u, + 1u, 165u, 122u, 168u, + 179u, 202u, 209u, 77u, + 135u, 168u, 157u, 79u, + 144u, 48u, 73u, 111u, + 99u, 81u, 96u, 255u, + 236u, 72u, 130u, 117u, + 38u, 134u, 202u, 87u, + 66u, 170u, 168u, 192u, + 164u, 25u, 211u, 176u, + 135u, 83u, 0u, 116u, + 140u, 115u, 174u, 169u, + 230u, 55u, 86u, 160u, + 208u, 132u, 87u, 67u, + 99u, 206u, 147u, 151u, + 104u, 1u, 6u, 164u, + 2u, 136u, 161u, 138u, + 180u, 165u, 108u, 175u, + 75u, 165u, 18u, 151u, + 1u, 114u, 4u, 217u, + 70u, 250u, 205u, 119u, + 113u, 151u, 125u, 98u, + 185u, 185u, 98u, 187u, + 52u, 105u, 154u, 91u, + 63u, 128u, 1u, 115u, + 184u, 179u, 133u, 167u, + 88u, 184u, 20u, 139u, + 132u, 95u, 127u, 85u, + 116u, 205u, 255u, 200u, + 82u, 176u, 81u, 250u, + 212u, 226u, 215u, 164u, + 0u, 132u, 60u, 252u, + 137u, 131u, 29u, 113u, + 153u, 144u, 87u, 1u, + 176u, 99u, 102u, 93u, + 84u, 231u, 226u, 148u, + 51u, 100u, 182u, 182u, + 220u, 36u, 172u, 240u, + 131u, 29u, 137u, 131u, + 51u, 197u, 1u, 223u, + 167u, 201u, 176u, 79u, + 60u, 163u, 156u, 196u, + 117u, 238u, 163u, 60u, + 94u, 255u, 90u, 126u, + 29u, 127u, 112u, 29u, + 157u, 8u, 195u, 117u, + 135u, 154u, 121u, 38u, + 184u, 130u, 117u, 171u, + 249u, 133u, 255u, 178u, + 188u, 94u, 96u, 158u, + 156u, 127u, 89u, 121u, + 124u, 214u, 100u, 131u, + 146u, 121u, 145u, 1u, + 100u, 92u, 137u, 190u, + 145u, 97u, 55u, 85u, + 140u, 142u, 100u, 191u, + 179u, 158u, 70u, 0u, + 1u, 235u, 229u, 162u, + 218u, 64u, 116u, 126u, + 199u, 199u, 133u, 135u, + 87u, 163u, 87u, 235u, + 12u, 30u, 253u, 230u, + 16u, 139u, 73u, 148u, + 223u, 173u, 248u, 192u, + 116u, 47u, 122u, 1u, + 67u, 121u, 158u, 150u, + 113u, 128u, 113u, 7u, + 17u, 150u, 1u, 121u, + 118u, 186u, 93u, 216u, + 50u, 78u, 131u, 36u, + 255u, 112u, 132u, 145u, + 27u, 129u, 209u, 63u, + 57u, 15u, 44u, 225u, + 164u, 175u, 235u, 133u, + 226u, 72u, 18u, 190u, + 131u, 255u, 164u, 101u, + 101u, 62u, 136u, 106u, + 53u, 202u, 96u, 6u, + 238u, 214u, 196u, 255u, + 214u, 14u, 83u, 122u, + 23u, 153u, 213u, 159u, + 173u, 172u, 255u, 213u, + 189u, 93u, 94u, 73u, + 116u, 182u, 84u, 86u, + 191u, 70u, 101u, 133u, + 158u, 255u, 164u, 216u, + 116u, 169u, 70u, 236u, + 112u, 83u, 66u, 187u, + 13u, 121u, 123u, 143u, + 121u, 10u, 103u, 103u, + 115u, 170u, 171u, 232u, + 100u, 114u, 38u, 82u, + 161u, 138u, 0u, 199u, + 167u, 76u, 223u, 183u, + 129u, 243u, 228u, 153u, + 143u, 126u, 41u, 126u, + 61u, 255u, 139u, 20u, + 230u, 184u, 180u, 201u, + 58u, 181u, 161u, 35u, + 142u, 209u, 151u, 131u, + 0u, 62u, 195u, 69u, + 106u, 138u, 106u, 118u, + 135u, 85u, 244u, 202u, + 178u, 141u, 73u, 151u, + 2u, 154u, 255u, 123u, + 155u, 124u, 116u, 169u, + 113u, 114u, 206u, 35u, + 36u, 1u, 64u, 179u, + 191u, 246u, 14u, 109u, + 166u, 151u, 25u, 113u, + 122u, 205u, 136u, 108u, + 1u, 174u, 85u, 153u, + 24u, 217u, 133u, 130u, + 122u, 142u, 133u, 218u, + 79u, 108u, 149u, 161u, + 64u, 100u, 148u, 255u, + 176u, 146u, 113u, 143u, + 172u, 90u, 209u, 158u, + 255u, 184u, 78u, 156u, + 128u, 72u, 164u, 195u, + 149u, 150u, 193u, 231u, + 191u, 113u, 66u, 145u, + 0u, 163u, 136u, 95u, + 245u, 142u, 196u, 251u, + 229u, 184u, 199u, 106u, + 134u, 223u, 59u, 58u, + 191u, 143u, 229u, 1u, + 106u, 249u, 111u, 166u, + 79u, 42u, 113u, 21u, + 203u, 202u, 126u, 169u, + 72u, 87u, 255u, 238u, + 248u, 150u, 90u, 100u, + 144u, 52u, 73u, 136u, + 173u, 122u, 136u, 129u, + 143u, 66u, 69u, 73u, + 82u, 255u, 157u, 165u, + 57u, 94u, 112u, 146u, + 172u, 93u, 119u, 128u, + 112u, 255u, 69u, 97u, + 106u, 54u, 144u, 96u, + 99u, 138u, 89u, 139u, + 58u, 170u, 218u, 255u, + 40u, 188u, 46u, 113u, + 212u, 102u, 238u, 163u, + 79u, 28u, 161u, 253u, + 96u, 21u, 92u, 7u, + 181u, 115u, 176u, 67u, + 55u, 167u, 139u, 41u, + 95u, 1u, 91u, 44u, + 140u, 122u, 242u, 87u, + 119u, 205u, 176u, 84u, + 107u, 89u, 0u, 40u, + 208u, 147u, 182u, 222u, + 163u, 135u, 107u, 214u, + 56u, 167u, 186u, 255u, + 98u, 161u, 163u, 103u, + 91u, 139u, 222u, 103u, + 208u, 160u, 69u, 138u, + 220u, 75u, 94u, 157u, + 226u, 139u, 148u, 162u, + 79u, 0u, 158u, 246u, + 119u, 148u, 112u, 107u, + 102u, 38u, 89u, 10u, + 26u, 255u, 68u, 185u, + 102u, 175u, 170u, 136u, + 136u, 138u, 163u, 185u, + 166u, 135u, 255u, 105u, + 199u, 119u, 138u, 251u, + 159u, 77u, 208u, 224u, + 57u, 56u, 142u, 35u, + 154u, 118u, 84u, 80u, + 170u, 180u, 167u, 116u, + 182u, 1u, 112u, 153u, + 43u, 172u, 100u, 136u, + 118u, 35u, 158u, 85u, + 131u, 160u, 177u, 106u, + 193u, 1u, 1u, 225u, + 187u, 231u, 88u, 158u, + 255u, 220u, 195u, 217u, + 210u, 214u, 145u, 56u, + 207u, 99u, 103u, 62u, + 142u, 142u, 190u, 143u, + 152u, 114u, 1u, 105u, + 111u, 115u, 119u, 14u, + 135u, 92u, 121u, 172u, + 176u, 133u, 238u, 192u, + 18u, 126u, 127u, 56u, + 91u, 166u, 98u, 153u, + 148u, 191u, 255u, 137u, + 100u, 53u, 75u, 175u, + 82u, 32u, 186u, 1u, + 112u, 199u, 225u, 153u, + 72u, 80u, 168u, 187u, + 126u, 147u, 127u, 151u, + 56u, 142u, 125u, 101u, + 196u, 140u, 0u, 194u, + 150u, 184u, 146u, 97u, + 191u, 128u, 255u, 123u, + 93u, 186u, 54u, 186u, + 135u, 115u, 136u, 125u, + 69u, 109u, 137u, 109u, + 45u, 144u, 52u, 103u, + 207u, 1u, 221u, 56u, + 129u, 116u, 120u, 33u, + 67u, 208u, 151u, 211u, + 231u, 227u, 217u, 119u, + 166u, 155u, 140u, 77u, + 207u, 183u, 178u, 155u, + 48u, 99u, 166u, 1u, + 67u, 229u, 116u, 198u, + 200u, 196u, 141u, 104u, + 117u, 186u, 195u, 204u, + 1u, 131u, 100u, 150u, + 113u, 26u, 171u, 137u, + 148u, 35u, 148u, 97u, + 127u, 225u, 192u, 140u, + 255u, 109u, 134u, 177u, + 106u, 116u, 235u, 142u, + 113u, 54u, 72u, 162u, + 189u, 163u, 182u, 62u, + 65u, 1u, 141u, 112u, + 123u, 170u, 86u, 203u, + 138u, 74u, 72u, 194u, + 54u, 0u, 124u, 111u, + 207u, 120u, 172u, 219u, + 128u, 182u, 129u, 103u, + 255u, 99u, 136u, 130u, + 99u, 78u, 188u, 84u, + 146u, 142u, 135u, 142u, + 107u, 153u, 160u, 145u, + 66u, 119u, 108u, 50u, + 151u, 171u, 162u, 210u, + 195u, 105u, 27u, 1u, + 77u, 99u, 54u, 197u, + 190u, 147u, 67u, 255u, + 48u, 156u, 41u, 232u, + 138u, 208u, 159u, 109u, + 157u, 47u, 172u, 237u, + 1u, 131u, 95u, 26u, + 172u, 77u, 112u, 137u, + 223u, 111u, 209u, 161u, + 95u, 135u, 126u, 138u, + 158u, 120u, 146u, 111u, + 133u, 29u, 163u, 188u, + 149u, 1u, 95u, 208u, + 0u, 224u, 90u, 155u, + 101u, 134u, 78u, 46u, + 216u, 43u, 42u, 104u, + 163u, 43u, 37u, 154u, + 105u, 233u, 171u, 208u, + 60u, 21u, 120u, 52u, + 128u, 27u, 16u, 135u, + 83u, 34u, 1u, 73u, + 124u, 162u, 169u, 255u, + 18u, 154u, 83u, 45u, + 133u, 173u, 94u, 170u, + 86u, 184u, 85u, 248u, + 32u, 164u, 118u, 255u, + 135u, 196u, 130u, 114u, + 71u, 178u, 176u, 101u, + 192u, 63u, 143u, 123u, + 150u, 129u, 203u, 153u, + 3u, 49u, 83u, 1u, + 137u, 83u, 154u, 141u, + 198u, 104u, 165u, 160u, + 31u, 125u, 68u, 159u, + 77u, 225u, 165u, 122u, + 106u, 148u, 59u, 229u, + 131u, 255u, 111u, 70u, + 65u, 188u, 39u, 108u, + 205u, 183u, 145u, 222u, + 62u, 49u, 1u, 241u, + 32u, 190u, 44u, 80u, + 60u, 215u, 168u, 17u, + 183u, 127u, 156u, 10u, + 121u, 136u, 137u, 122u, + 44u, 1u, 143u, 150u, + 136u, 210u, 78u, 229u, + 178u, 154u, 217u, 186u, + 137u, 112u, 241u, 40u, + 76u, 255u, 58u, 193u, + 169u, 138u, 123u, 106u, + 131u, 123u, 53u, 162u, + 1u, 159u, 106u, 61u, + 181u, 193u, 158u, 142u, + 255u, 226u, 195u, 149u, + 150u, 35u, 218u, 103u, + 185u, 189u, 144u, 72u, + 136u, 117u, 210u, 93u, + 59u, 92u, 151u, 171u, + 202u, 176u, 183u, 229u, + 150u, 145u, 124u, 5u, + 59u, 255u, 82u, 66u, + 1u, 225u, 115u, 182u, + 99u, 171u, 142u, 121u, + 85u, 125u, 118u, 229u, + 210u, 115u, 180u, 147u, + 0u, 87u, 76u, 59u, + 101u, 98u, 99u, 31u, + 67u, 92u, 187u, 55u, + 211u, 174u, 87u, 120u, + 233u, 239u, 55u, 77u, + 100u, 200u, 99u, 134u, + 145u, 16u, 13u, 146u, + 15u, 168u, 1u, 30u, + 126u, 245u, 167u, 209u, + 137u, 60u, 170u, 117u, + 195u, 165u, 103u, 149u, + 50u, 1u, 49u, 135u, + 177u, 156u, 140u, 188u, + 161u, 13u, 117u, 82u, + 155u, 255u, 158u, 121u, + 77u, 151u, 141u, 52u, + 161u, 57u, 122u, 104u, + 128u, 89u, 165u, 110u, + 87u, 178u, 157u, 94u, + 114u, 127u, 255u, 181u, + 153u, 21u, 31u, 27u, + 185u, 119u, 105u, 144u, + 27u, 103u, 143u, 19u, + 167u, 128u, 1u, 27u, + 76u, 127u, 48u, 255u, + 93u, 61u, 130u, 11u, + 201u, 93u, 39u, 158u, + 224u, 94u, 175u, 239u, + 177u, 161u, 0u, 167u, + 87u, 139u, 101u, 46u, + 202u, 38u, 166u, 154u, + 150u, 182u, 135u, 60u, + 162u, 125u, 101u, 13u, + 81u, 184u, 74u, 146u, + 153u, 110u, 141u, 184u, + 1u, 83u, 97u, 173u, + 123u, 142u, 95u, 20u, + 107u, 1u, 120u, 127u, + 129u, 122u, 123u, 106u, + 112u, 229u, 168u, 188u, + 255u, 253u, 108u, 59u, + 123u, 91u, 4u, 147u, + 87u, 222u, 98u, 72u, + 157u, 49u, 116u, 151u, + 200u, 177u, 201u, 200u, + 65u, 109u, 180u, 73u, + 236u, 64u, 41u, 23u, + 165u, 118u, 1u, 8u, + 255u, 66u, 227u, 168u, + 220u, 124u, 200u, 137u, + 104u, 148u, 31u, 156u, + 179u, 189u, 58u, 19u, + 87u, 149u, 122u, 204u, + 98u, 136u, 106u, 55u, + 147u, 222u, 118u, 181u, + 193u, 255u, 71u, 137u, + 123u, 129u, 1u, 255u, + 45u, 135u, 113u, 194u, + 14u, 165u, 200u, 152u, + 119u, 56u, 134u, 53u, + 183u, 115u, 159u, 126u, + 51u, 99u, 111u, 0u, + 139u, 198u, 133u, 55u, + 156u, 118u, 143u, 154u, + 70u, 109u, 153u, 124u, + 133u, 159u, 149u, 148u, + 1u, 130u, 140u, 56u, + 156u, 11u, 142u, 52u, + 149u, 202u, 186u, 106u, + 139u, 155u, 80u, 254u, + 233u, 163u, 115u, 245u, + 138u, 1u, 57u, 159u, + 97u, 196u, 145u, 197u, + 163u, 96u, 189u, 135u, + 212u, 225u, 170u, 163u, + 255u, 200u, 72u, 119u, + 87u, 100u, 192u, 61u, + 124u, 53u, 162u, 12u, + 131u, 116u, 135u, 158u, + 120u, 255u, 146u, 134u, + 203u, 158u, 228u, 175u, + 142u, 150u, 119u, 196u, + 159u, 153u, 130u, 65u, + 85u, 255u, 154u, 159u, + 162u, 120u, 122u, 201u, + 125u, 12u, 117u, 246u, + 71u, 247u, 129u, 183u, + 208u, 255u, 238u, 116u, + 62u, 42u, 171u, 51u, + 187u, 229u, 116u, 133u, + 136u, 102u, 89u, 255u, + 108u, 98u, 163u, 95u, + 107u, 45u, 221u, 182u, + 88u, 111u, 76u, 169u, + 82u, 178u, 202u, 155u, + 73u, 121u, 247u, 1u, + 120u, 194u, 215u, 230u, + 194u, 164u, 131u, 93u, + 138u, 11u, 200u, 22u, + 131u, 196u, 255u, 149u, + 134u, 153u, 12u, 90u, + 142u, 126u, 64u, 115u, + 126u, 148u, 114u, 117u, + 1u, 120u, 54u, 129u, + 100u, 0u, 101u, 222u, + 108u, 98u, 4u, 192u, + 190u, 52u, 96u, 123u, + 191u, 143u, 46u, 194u, + 116u, 207u, 252u, 6u, + 236u, 123u, 158u, 0u, + 77u, 206u, 184u, 106u, + 140u, 14u, 153u, 194u, + 80u, 99u, 194u, 168u, + 142u, 236u, 82u, 149u, + 255u, 101u, 114u, 143u, + 89u, 130u, 105u, 110u, + 190u, 251u, 119u, 138u, + 166u, 111u, 153u, 111u, + 148u, 96u, 247u, 255u, + 165u, 74u, 184u, 44u, + 128u, 183u, 87u, 1u, + 184u, 144u, 167u, 101u, + 72u, 142u, 108u, 88u, + 80u, 95u, 112u, 168u, + 44u, 119u, 240u, 155u, + 88u, 218u, 91u, 87u, + 212u, 113u, 40u, 255u, + 134u, 62u, 211u, 107u, + 26u, 98u, 135u, 135u, + 135u, 155u, 151u, 170u, + 161u, 1u, 99u, 118u, + 112u, 153u, 93u, 152u, + 81u, 150u, 110u, 136u, + 174u, 99u, 92u, 205u, + 108u, 9u, 46u, 86u, + 101u, 63u, 255u, 34u, + 201u, 95u, 101u, 218u, + 86u, 21u, 100u, 207u, + 1u, 122u, 245u, 92u, + 111u, 107u, 42u, 215u, + 195u, 89u, 104u, 192u, + 157u, 14u, 68u, 188u, + 156u, 32u, 147u, 33u, + 222u, 172u, 163u, 255u, + 199u, 234u, 70u, 39u, + 109u, 217u, 146u, 191u, + 255u, 178u, 76u, 136u, + 192u, 45u, 199u, 84u, + 134u, 171u, 127u, 66u, + 89u, 144u, 1u, 197u, + 122u, 117u, 107u, 190u, + 112u, 195u, 154u, 150u, + 116u, 113u, 103u, 53u, + 193u, 173u, 57u, 188u, + 82u, 142u, 88u, 92u, + 143u, 119u, 1u, 101u, + 235u, 108u, 87u, 164u, + 95u, 124u, 255u, 240u, + 82u, 194u, 134u, 112u, + 122u, 205u, 120u, 122u, + 3u, 107u, 92u, 55u, + 144u, 78u, 138u, 119u, + 116u, 148u, 1u, 100u, + 71u, 161u, 82u, 164u, + 156u, 33u, 255u, 255u, + 38u, 54u, 152u, 176u, + 136u, 96u, 106u, 101u, + 145u, 59u, 56u, 97u, + 75u, 55u, 91u, 164u, + 133u, 170u, 216u, 255u, + 23u, 199u, 146u, 106u, + 190u, 198u, 83u, 102u, + 67u, 255u, 44u, 21u, + 108u, 137u, 135u, 107u, + 120u, 131u, 108u, 141u, + 204u, 200u, 209u, 17u, + 131u, 163u, 153u, 255u, + 74u, 209u, 147u, 28u, + 102u, 107u, 135u, 86u, + 186u, 161u, 180u, 184u, + 214u, 88u, 158u, 101u, + 5u, 0u, 33u, 239u, + 70u, 167u, 187u, 48u, + 96u, 26u, 169u, 97u, + 1u, 120u, 207u, 62u, + 5u, 125u, 120u, 79u, + 36u, 213u, 103u, 177u, + 155u, 50u, 158u, 166u, + 164u, 69u, 147u, 170u, + 46u, 86u, 40u, 151u, + 14u, 1u, 67u, 198u, + 171u, 40u, 167u, 32u, + 88u, 173u, 162u, 82u, + 255u, 109u, 111u, 184u, + 132u, 167u, 97u, 87u, + 110u, 139u, 62u, 120u, + 152u, 97u, 113u, 85u, + 112u, 142u, 1u, 133u, + 209u, 120u, 131u, 111u, + 120u, 213u, 164u, 83u, + 151u, 156u, 153u, 201u, + 116u, 17u, 172u, 201u, + 171u, 255u, 146u, 90u, + 232u, 128u, 194u, 122u, + 51u, 255u, 99u, 96u, + 180u, 55u, 140u, 131u, + 123u, 137u, 69u, 155u, + 164u, 200u, 74u, 187u, + 83u, 82u, 123u, 122u, + 94u, 183u, 141u, 1u, + 113u, 190u, 176u, 117u, + 109u, 139u, 156u, 199u, + 133u, 253u, 117u, 125u, + 193u, 1u, 132u, 43u, + 197u, 153u, 25u, 148u, + 159u, 172u, 153u, 205u, + 111u, 137u, 93u, 0u, + 170u, 145u, 81u, 103u, + 199u, 123u, 125u, 30u, + 58u, 91u, 141u, 178u, + 148u, 168u, 157u, 215u, + 155u, 161u, 255u, 218u, + 35u, 135u, 128u, 228u, + 100u, 91u, 236u, 240u, + 156u, 1u, 72u, 115u, + 66u, 200u, 177u, 26u, + 155u, 71u, 70u, 205u, + 180u, 173u, 81u, 227u, + 141u, 148u, 189u, 11u, + 131u, 129u, 88u, 1u, + 194u, 119u, 56u, 229u, + 8u, 162u, 153u, 193u, + 174u, 255u, 124u, 140u, + 4u, 90u, 101u, 167u, + 178u, 38u, 121u, 158u, + 67u, 147u, 239u, 124u, + 155u, 157u, 42u, 168u, + 180u, 139u, 19u, 1u, + 213u, 109u, 133u, 215u, + 196u, 154u, 178u, 128u, + 126u, 115u, 161u, 145u, + 49u, 141u, 98u, 78u, + 182u, 98u, 198u, 153u, + 90u, 74u, 255u, 226u, + 1u, 102u, 212u, 151u, + 102u, 167u, 239u, 84u, + 214u, 179u, 154u, 56u, + 27u, 194u, 116u, 122u, + 121u, 125u, 153u, 228u, + 133u, 152u, 170u, 1u, + 154u, 59u, 94u, 94u, + 118u, 53u, 84u, 103u, + 135u, 180u, 90u, 176u, + 112u, 3u, 155u, 203u, + 212u, 107u, 187u, 131u, + 205u, 83u, 100u, 255u, + 1u, 118u, 217u, 45u, + 51u, 129u, 189u, 152u, + 38u, 112u, 215u, 168u, + 54u, 163u, 22u, 70u, + 51u, 12u, 1u, 200u, + 141u, 57u, 170u, 30u, + 65u, 168u, 206u, 95u, + 156u, 196u, 55u, 146u, + 1u, 102u, 173u, 86u, + 83u, 169u, 92u, 32u, + 35u, 117u, 166u, 120u, + 134u, 142u, 127u, 65u, + 119u, 190u, 1u, 0u, + 115u, 93u, 121u, 166u, + 152u, 87u, 170u, 175u, + 151u, 147u, 169u, 246u, + 137u, 134u, 133u, 100u, + 185u, 187u, 166u, 139u, + 92u, 101u, 255u, 230u, + 221u, 111u, 22u, 180u, + 234u, 1u, 16u, 179u, + 35u, 195u, 11u, 177u, + 239u, 248u, 122u, 233u, + 69u, 167u, 222u, 189u, + 38u, 94u, 205u, 126u, + 36u, 148u, 128u, 1u, + 109u, 83u, 118u, 150u, + 172u, 143u, 135u, 87u, + 126u, 144u, 14u, 95u, + 81u, 135u, 8u, 114u, + 140u, 114u, 0u, 199u, + 107u, 180u, 211u, 113u, + 175u, 102u, 69u, 178u, + 185u, 86u, 166u, 255u, + 141u, 186u, 137u, 63u, + 182u, 211u, 35u, 214u, + 154u, 183u, 138u, 149u, + 193u, 255u, 174u, 52u, + 110u, 104u, 21u, 95u, + 34u, 113u, 199u, 151u, + 137u, 132u, 255u, 167u, + 101u, 134u, 51u, 106u, + 173u, 144u, 158u, 115u, + 144u, 154u, 198u, 110u, + 186u, 198u, 122u, 70u, + 25u, 233u, 69u, 67u, + 1u, 134u, 125u, 120u, + 116u, 125u, 170u, 178u, + 53u, 173u, 141u, 129u, + 210u, 71u, 235u, 121u, + 255u, 133u, 35u, 217u, + 70u, 117u, 78u, 30u, + 224u, 53u, 219u, 135u, + 75u, 1u, 100u, 103u, + 167u, 118u, 235u, 51u, + 203u, 12u, 33u, 235u, + 59u, 108u, 65u, 85u, + 24u, 67u, 178u, 255u, + 204u, 149u, 109u, 88u, + 80u, 183u, 164u, 108u, + 131u, 108u, 177u, 127u, + 171u, 50u, 55u, 204u, + 233u, 130u, 132u, 188u, + 70u, 173u, 59u, 255u, + 200u, 255u, 207u, 51u, + 178u, 64u, 46u, 162u, + 188u, 210u, 158u, 61u, + 150u, 82u, 46u, 179u, + 66u, 68u, 60u, 179u, + 255u, 133u, 212u, 127u, + 159u, 195u, 2u, 75u, + 152u, 77u, 51u, 110u, + 116u, 132u, 96u, 255u, + 17u, 163u, 183u, 212u, + 224u, 139u, 167u, 146u, + 50u, 121u, 56u, 227u, + 19u, 132u, 98u, 199u, + 120u, 149u, 77u, 139u, + 203u, 91u, 1u, 119u, + 104u, 167u, 131u, 125u, + 66u, 78u, 85u, 123u, + 164u, 132u, 187u, 1u, + 67u, 16u, 202u, 130u, + 211u, 56u, 217u, 27u, + 216u, 112u, 222u, 13u, + 73u, 153u, 62u, 178u, + 156u, 138u, 47u, 196u, + 1u, 221u, 221u, 65u, + 87u, 119u, 146u, 127u, + 255u, 124u, 113u, 132u, + 144u, 162u, 104u, 169u, + 216u, 88u, 60u, 142u, + 91u, 57u, 102u, 98u, + 88u, 206u, 142u, 87u, + 80u, 22u, 152u, 177u, + 28u, 214u, 10u, 1u, + 83u, 110u, 118u, 155u, + 97u, 94u, 124u, 128u, + 151u, 208u, 83u, 172u, + 153u, 255u, 127u, 139u, + 70u, 197u, 251u, 255u, + 192u, 70u, 203u, 142u, + 42u, 28u, 179u, 32u, + 170u, 168u, 21u, 190u, + 152u, 133u, 146u, 255u, + 116u, 129u, 60u, 118u, + 100u, 101u, 160u, 153u, + 152u, 71u, 95u, 192u, + 206u, 156u, 152u, 93u, + 204u, 240u, 88u, 162u, + 113u, 255u, 12u, 114u, + 173u, 84u, 117u, 122u, + 64u, 156u, 16u, 105u, + 75u, 108u, 117u, 169u, + 160u, 92u, 157u, 111u, + 153u, 40u, 255u, 205u, + 78u, 82u, 201u, 118u, + 78u, 60u, 236u, 117u, + 46u, 79u, 139u, 82u, + 0u, 143u, 116u, 40u, + 53u, 90u, 131u, 121u, + 178u, 141u, 162u, 184u, + 206u, 145u, 144u, 92u, + 125u, 102u, 0u, 139u, + 172u, 122u, 50u, 221u, + 255u, 155u, 139u, 168u, + 87u, 111u, 210u, 102u, + 136u, 89u, 118u, 121u, + 165u, 110u, 55u, 154u, + 120u, 131u, 106u, 151u, + 60u, 190u, 223u, 86u, + 134u, 255u, 52u, 66u, + 88u, 113u, 225u, 176u, + 176u, 78u, 106u, 149u, + 152u, 255u, 137u, 65u, + 174u, 131u, 164u, 152u, + 1u, 250u, 54u, 105u, + 136u, 198u, 215u, 71u, + 95u, 22u, 208u, 181u, + 196u, 215u, 238u, 247u, + 102u, 161u, 80u, 42u, + 71u, 146u, 103u, 1u, + 69u, 105u, 102u, 120u, + 81u, 124u, 73u, 211u, + 128u, 66u, 126u, 71u, + 147u, 32u, 53u, 128u, + 142u, 83u, 218u, 156u, + 192u, 229u, 255u, 210u, + 176u, 1u, 111u, 91u, + 108u, 156u, 133u, 157u, + 38u, 255u, 47u, 101u, + 82u, 206u, 165u, 56u, + 117u, 117u, 147u, 130u, + 94u, 109u, 0u, 125u, + 153u, 125u, 203u, 98u, + 158u, 135u, 205u, 110u, + 142u, 80u, 111u, 255u, + 138u, 181u, 154u, 222u, + 132u, 112u, 170u, 153u, + 167u, 102u, 221u, 95u, + 90u, 255u, 172u, 112u, + 153u, 148u, 150u, 110u, + 150u, 167u, 178u, 170u, + 88u, 118u, 133u, 110u, + 196u, 149u, 192u, 102u, + 95u, 136u, 112u, 98u, + 99u, 167u, 53u, 134u, + 73u, 166u, 59u, 0u, + 116u, 164u, 1u, 218u, + 214u, 197u, 140u, 204u, + 180u, 180u, 250u, 74u, + 170u, 70u, 118u, 166u, + 221u, 241u, 216u, 204u, + 65u, 47u, 146u, 223u, + 254u, 98u, 120u, 179u, + 177u, 173u, 255u, 237u, + 129u, 139u, 155u, 182u, + 126u, 73u, 131u, 140u, + 37u, 132u, 168u, 183u, + 23u, 255u, 98u, 151u, + 43u, 200u, 169u, 255u, + 91u, 191u, 99u, 24u, + 171u, 185u, 184u, 167u, + 67u, 97u, 81u, 140u, + 186u, 205u, 151u, 137u, + 1u, 167u, 88u, 177u, + 171u, 120u, 126u, 157u, + 65u, 81u, 131u, 194u, + 160u, 199u, 6u, 176u, + 129u, 187u, 19u, 117u, + 17u, 249u, 69u, 176u, + 170u, 113u, 108u, 0u, + 56u, 100u, 105u, 162u, + 111u, 255u, 9u, 98u, + 50u, 83u, 83u, 214u, + 150u, 107u, 192u, 109u, + 145u, 187u, 96u, 137u, + 141u, 124u, 82u, 176u, + 76u, 106u, 255u, 235u, + 90u, 70u, 105u, 111u, + 9u, 137u, 71u, 95u, + 149u, 251u, 1u, 148u, + 114u, 240u, 103u, 94u, + 129u, 251u, 39u, 187u, + 115u, 144u, 178u, 211u, + 109u, 132u, 171u, 41u, + 70u, 199u, 214u, 15u, + 255u, 216u, 73u, 85u, + 65u, 147u, 134u, 23u, + 224u, 172u, 109u, 197u, + 56u, 239u, 93u, 120u, + 221u, 118u, 255u, 109u, + 152u, 1u, 224u, 114u, + 165u, 176u, 89u, 131u, + 208u, 55u, 109u, 124u, + 156u, 117u, 226u, 116u, + 105u, 96u, 128u, 181u, + 124u, 69u, 105u, 166u, + 121u, 102u, 158u, 138u, + 175u, 169u, 1u, 105u, + 200u, 137u, 135u, 1u, + 173u, 65u, 61u, 190u, + 71u, 125u, 100u, 115u, + 145u, 116u, 164u, 51u, + 53u, 115u, 95u, 169u, + 149u, 46u, 70u, 103u, + 145u, 93u, 211u, 130u, + 198u, 241u, 1u, 56u, + 79u, 126u, 145u, 149u, + 174u, 183u, 125u, 189u, + 142u, 136u, 141u, 69u, + 199u, 89u, 0u, 42u, + 98u, 133u, 120u, 141u, + 143u, 162u, 138u, 121u, + 57u, 196u, 120u, 130u, + 104u, 179u, 149u, 255u, + 127u, 200u, 165u, 95u, + 87u, 176u, 106u, 1u, + 130u, 162u, 125u, 138u, + 143u, 111u, 161u, 64u, + 102u, 116u, 27u, 166u, + 107u, 139u, 20u, 138u, + 155u, 255u, 182u, 118u, + 193u, 106u, 160u, 109u, + 171u, 91u, 146u, 195u, + 52u, 147u, 109u, 52u, + 148u, 119u, 194u, 170u, + 255u, 157u, 71u, 235u, + 62u, 208u, 169u, 110u, + 209u, 214u, 102u, 109u, + 111u, 41u, 255u, 159u, + 166u, 52u, 124u, 95u, + 211u, 203u, 85u, 172u, + 85u, 255u, 91u, 209u, + 137u, 170u, 97u, 94u, + 103u, 136u, 94u, 86u, + 122u, 136u, 141u, 13u, + 119u, 28u, 21u, 52u, + 125u, 53u, 106u, 70u, + 34u, 255u, 92u, 187u, + 41u, 240u, 46u, 114u, + 135u, 14u, 102u, 42u, + 255u, 235u, 61u, 192u, + 224u, 169u, 80u, 87u, + 61u, 224u, 99u, 175u, + 52u, 136u, 57u, 88u, + 160u, 205u, 75u, 147u, + 200u, 134u, 199u, 255u, + 185u, 167u, 150u, 56u, + 56u, 152u, 75u, 179u, + 218u, 78u, 90u, 95u, + 1u, 135u, 197u, 189u, + 58u, 0u, 89u, 241u, + 7u, 131u, 47u, 85u, + 178u, 99u, 66u, 138u, + 127u, 148u, 153u, 109u, + 255u, 128u, 195u, 101u, + 131u, 98u, 148u, 110u, + 119u, 123u, 222u, 59u, + 53u, 116u, 177u, 134u, + 202u, 106u, 186u, 144u, + 38u, 85u, 110u, 116u, + 255u, 141u, 145u, 67u, + 178u, 148u, 152u, 101u, + 202u, 112u, 160u, 148u, + 138u, 255u, 26u, 70u, + 95u, 158u, 212u, 26u, + 153u, 118u, 172u, 170u, + 232u, 228u, 244u, 100u, + 99u, 201u, 152u, 176u, + 198u, 185u, 89u, 121u, + 25u, 128u, 255u, 97u, + 53u, 72u, 56u, 178u, + 134u, 89u, 63u, 102u, + 1u, 170u, 178u, 87u, + 155u, 164u, 119u, 189u, + 128u, 177u, 114u, 197u, + 81u, 78u, 124u, 79u, + 179u, 108u, 217u, 52u, + 220u, 155u, 113u, 255u, + 226u, 71u, 16u, 205u, + 166u, 142u, 90u, 255u, + 92u, 181u, 181u, 141u, + 166u, 173u, 103u, 25u, + 237u, 155u, 204u, 177u, + 46u, 139u, 107u, 82u, + 225u, 107u, 222u, 156u, + 126u, 18u, 255u, 148u, + 190u, 121u, 180u, 127u, + 143u, 117u, 142u, 204u, + 124u, 169u, 129u, 181u, + 160u, 160u, 0u, 69u, + 153u, 114u, 119u, 157u, + 161u, 189u, 100u, 180u, + 39u, 112u, 73u, 216u, + 1u, 111u, 95u, 155u, + 144u, 115u, 195u, 151u, + 119u, 198u, 100u, 151u, + 86u, 210u, 243u, 76u, + 92u, 1u, 190u, 33u, + 73u, 126u, 192u, 61u, + 121u, 95u, 154u, 106u, + 99u, 158u, 129u, 130u, + 119u, 1u, 171u, 119u, + 121u, 185u, 226u, 65u, + 147u, 57u, 118u, 212u, + 120u, 105u, 255u, 163u, + 163u, 70u, 52u, 176u, + 87u, 107u, 157u, 255u, + 218u, 156u, 187u, 115u, + 150u, 84u, 163u, 148u, + 77u, 133u, 173u, 114u, + 80u, 174u, 205u, 97u, + 144u, 83u, 230u, 192u, + 222u, 126u, 122u, 150u, + 112u, 242u, 124u, 255u, + 38u, 126u, 93u, 211u, + 255u, 116u, 50u, 167u, + 146u, 88u, 73u, 14u, + 186u, 40u, 70u, 126u, + 185u, 56u, 67u, 148u, + 134u, 55u, 128u, 215u, + 189u, 86u, 154u, 39u, + 145u, 51u, 255u, 128u, + 1u, 213u, 79u, 121u, + 93u, 203u, 88u, 176u, + 149u, 60u, 61u, 186u, + 134u, 120u, 213u, 166u, + 163u, 239u, 144u, 222u, + 107u, 143u, 100u, 213u, + 217u, 46u, 141u, 142u, + 107u, 160u, 1u, 155u, + 99u, 149u, 113u, 167u, + 255u, 116u, 233u, 92u, + 135u, 70u, 84u, 109u, + 111u, 13u, 156u, 117u, + 138u, 127u, 35u, 230u, + 58u, 153u, 243u, 79u, + 81u, 39u, 34u, 168u, + 1u, 78u, 120u, 169u, + 94u, 99u, 175u, 1u, + 195u, 202u, 112u, 117u, + 47u, 109u, 244u, 51u, + 193u, 199u, 204u, 79u, + 23u, 32u, 101u, 231u, + 84u, 189u, 65u, 161u, + 57u, 128u, 167u, 147u, + 182u, 163u, 1u, 92u, + 183u, 142u, 208u, 62u, + 95u, 177u, 143u, 115u, + 192u, 223u, 153u, 122u, + 255u, 113u, 240u, 126u, + 178u, 126u, 231u, 169u, + 138u, 223u, 166u, 138u, + 45u, 151u, 255u, 171u, + 90u, 151u, 3u, 70u, + 0u, 58u, 93u, 61u, + 94u, 171u, 208u, 119u, + 90u, 82u, 138u, 248u, + 226u, 165u, 105u, 162u, + 179u, 92u, 130u, 64u, + 132u, 105u, 38u, 160u, + 1u, 87u, 180u, 77u, + 183u, 110u, 68u, 105u, + 157u, 118u, 94u, 144u, + 84u, 97u, 1u, 151u, + 68u, 112u, 159u, 110u, + 100u, 156u, 160u, 135u, + 112u, 113u, 76u, 115u, + 35u, 199u, 40u, 128u, + 45u, 83u, 9u, 150u, + 138u, 182u, 255u, 122u, + 132u, 65u, 105u, 94u, + 99u, 151u, 131u, 196u, + 1u, 126u, 144u, 161u, + 109u, 191u, 77u, 155u, + 1u, 163u, 171u, 121u, + 117u, 61u, 115u, 118u, + 39u, 117u, 134u, 186u, + 160u, 148u, 92u, 11u, + 1u, 236u, 194u, 221u, + 149u, 171u, 158u, 184u, + 116u, 232u, 146u, 153u, + 254u, 243u, 30u, 141u, + 159u, 144u, 80u, 156u, + 172u, 195u, 191u, 182u, + 43u, 160u, 96u, 35u, + 163u, 255u, 137u, 157u, + 179u, 152u, 255u, 144u, + 124u, 105u, 64u, 127u, + 169u, 148u, 143u, 205u, + 178u, 8u, 147u, 166u, + 114u, 101u, 207u, 34u, + 168u, 135u, 188u, 176u, + 239u, 218u, 116u, 130u, + 58u, 255u, 179u, 143u, + 94u, 49u, 138u, 22u, + 105u, 158u, 168u, 255u, + 25u, 33u, 206u, 27u, + 170u, 86u, 255u, 214u, + 157u, 152u, 223u, 116u, + 71u, 91u, 83u, 1u, + 110u, 55u, 167u, 88u, + 220u, 93u, 134u, 175u, + 129u, 59u, 1u, 249u, + 95u, 168u, 109u, 123u, + 74u, 90u, 120u, 69u, + 62u, 110u, 99u, 118u, + 127u, 123u, 1u, 133u, + 20u, 92u, 80u, 80u, + 102u, 153u, 64u, 198u, + 233u, 81u, 169u, 132u, + 48u, 1u, 87u, 177u, + 159u, 202u, 114u, 166u, + 192u, 129u, 38u, 137u, + 125u, 220u, 104u, 181u, + 188u, 243u, 80u, 228u, + 183u, 102u, 207u, 60u, + 164u, 102u, 67u, 174u, + 65u, 17u, 255u, 197u, + 86u, 89u, 145u, 230u, + 1u, 89u, 160u, 2u, + 129u, 79u, 99u, 122u, + 186u, 70u, 120u, 165u, + 72u, 128u, 170u, 170u, + 89u, 84u, 159u, 1u, + 168u, 174u, 172u, 140u, + 94u, 182u, 100u, 110u, + 212u, 78u, 129u, 14u, + 159u, 116u, 41u, 173u, + 1u, 188u, 78u, 85u, + 116u, 85u, 65u, 118u, + 110u, 93u, 249u, 171u, + 59u, 94u, 174u, 0u, + 73u, 114u, 100u, 96u, + 195u, 63u, 165u, 132u, + 51u, 149u, 112u, 139u, + 169u, 111u, 214u, 140u, + 114u, 191u, 90u, 186u, + 21u, 225u, 255u, 78u, + 108u, 189u, 111u, 167u, + 91u, 62u, 136u, 173u, + 203u, 100u, 147u, 255u, + 145u, 147u, 93u, 152u, + 207u, 137u, 226u, 151u, + 18u, 60u, 132u, 1u, + 168u, 62u, 159u, 60u, + 135u, 151u, 171u, 121u, + 169u, 59u, 1u, 135u, + 119u, 121u, 154u, 57u, + 95u, 129u, 212u, 128u, + 171u, 122u, 149u, 120u, + 136u, 116u, 255u, 136u, + 66u, 67u, 84u, 94u, + 158u, 241u, 116u, 140u, + 183u, 187u, 157u, 146u, + 112u, 255u, 144u, 83u, + 221u, 145u, 159u, 204u, + 100u, 85u, 166u, 143u, + 105u, 134u, 101u, 105u, + 159u, 255u, 84u, 59u, + 145u, 126u, 225u, 98u, + 119u, 40u, 123u, 151u, + 111u, 111u, 189u, 202u, + 71u, 122u, 51u, 146u, + 28u, 1u, 187u, 28u, + 217u, 229u, 59u, 191u, + 130u, 237u, 117u, 135u, + 162u, 119u, 237u, 168u, + 33u, 42u, 56u, 14u, + 202u, 178u, 111u, 205u, + 65u, 255u, 146u, 28u, + 136u, 12u, 191u, 74u, + 135u, 125u, 111u, 133u, + 132u, 108u, 148u, 134u, + 92u, 191u, 60u, 1u, + 173u, 202u, 120u, 94u, + 178u, 155u, 82u, 97u, + 166u, 255u, 71u, 111u, + 101u, 155u, 118u, 55u, + 209u, 32u, 1u, 160u, + 135u, 59u, 189u, 57u, + 92u, 10u, 179u, 77u, + 61u, 77u, 160u, 87u, + 185u, 72u, 135u, 79u, + 103u, 35u, 133u, 105u, + 1u, 104u, 39u, 20u, + 159u, 126u, 120u, 37u, + 43u, 216u, 200u, 89u, + 84u, 186u, 124u, 35u, + 149u, 83u, 30u, 83u, + 142u, 179u, 0u, 71u, + 175u, 197u, 182u, 162u, + 126u, 87u, 204u, 0u, + 83u, 148u, 74u, 150u, + 106u, 93u, 79u, 181u, + 59u, 20u, 175u, 255u, + 75u, 117u, 168u, 26u, + 175u, 115u, 174u, 112u, + 142u, 164u, 150u, 178u, + 55u, 115u, 149u, 39u, + 223u, 180u, 121u, 237u, + 44u, 218u, 131u, 79u, + 1u, 190u, 78u, 20u, + 62u, 255u, 109u, 123u, + 159u, 119u, 171u, 75u, + 111u, 160u, 96u, 149u, + 167u, 200u, 124u, 188u, + 69u, 236u, 172u, 255u, + 225u, 56u, 245u, 172u, + 54u, 147u, 145u, 129u, + 208u, 69u, 86u, 176u, + 123u, 137u, 82u, 199u, + 93u, 140u, 90u, 255u, + 184u, 127u, 108u, 255u, + 82u, 184u, 186u, 93u, + 74u, 52u, 112u, 159u, + 139u, 59u, 43u, 109u, + 255u, 96u, 101u, 247u, + 157u, 77u, 135u, 56u, + 97u, 106u, 114u, 189u, + 41u, 72u, 82u, 255u, + 88u, 149u, 132u, 159u, + 79u, 124u, 180u, 201u, + 111u, 174u, 81u, 49u, + 207u, 157u, 157u, 125u, + 21u, 66u, 136u, 125u, + 1u, 31u, 107u, 142u, + 155u, 255u, 159u, 52u, + 147u, 239u, 168u, 228u, + 106u, 157u, 94u, 161u, + 153u, 135u, 81u, 146u, + 71u, 179u, 212u, 79u, + 165u, 150u, 175u, 169u, + 157u, 90u, 1u, 135u, + 197u, 215u, 5u, 162u, + 97u, 124u, 224u, 140u, + 64u, 73u, 120u, 156u, + 132u, 150u, 227u, 255u, + 73u, 158u, 28u, 56u, + 108u, 133u, 49u, 103u, + 74u, 102u, 163u, 91u, + 209u, 118u, 69u, 164u, + 1u, 105u, 46u, 239u, + 151u, 173u, 94u, 152u, + 121u, 201u, 87u, 42u, + 100u, 82u, 176u, 118u, + 144u, 1u, 143u, 145u, + 178u, 111u, 89u, 135u, + 92u, 138u, 156u, 165u, + 110u, 144u, 135u, 170u, + 1u, 79u, 124u, 106u, + 221u, 127u, 129u, 9u, + 120u, 61u, 211u, 171u, + 183u, 98u, 66u, 255u, + 136u, 245u, 0u, 225u, + 106u, 138u, 159u, 113u, + 9u, 94u, 121u, 177u, + 254u, 186u, 109u, 119u, + 124u, 255u, 50u, 251u, + 100u, 125u, 174u, 179u, + 123u, 140u, 134u, 127u, + 167u, 98u, 139u, 188u, + 96u, 114u, 255u, 192u, + 169u, 212u, 154u, 170u, + 41u, 246u, 225u, 45u, + 54u, 130u, 106u, 93u, + 0u, 175u, 237u, 130u, + 133u, 90u, 97u, 149u, + 75u, 218u, 133u, 120u, + 115u, 113u, 159u, 168u, + 20u, 0u, 194u, 78u, + 93u, 172u, 123u, 94u, + 144u, 105u, 126u, 134u, + 109u, 153u, 106u, 255u, + 110u, 137u, 58u, 134u, + 157u, 150u, 83u, 195u, + 106u, 74u, 100u, 227u, + 106u, 115u, 97u, 106u, + 203u, 36u, 255u, 228u, + 111u, 173u, 155u, 241u, + 166u, 201u, 111u, 111u, + 107u, 0u, 119u, 81u, + 188u, 132u, 250u, 158u, + 255u, 46u, 220u, 103u, + 60u, 126u, 47u, 145u, + 199u, 161u, 157u, 50u, + 70u, 73u, 230u, 51u, + 107u, 105u, 29u, 163u, + 127u, 250u, 175u, 155u, + 76u, 147u, 86u, 57u, + 107u, 76u, 149u, 0u, + 155u, 134u, 63u, 86u, + 87u, 148u, 155u, 70u, + 116u, 147u, 131u, 0u, + 95u, 100u, 98u, 83u, + 111u, 51u, 202u, 147u, + 143u, 94u, 107u, 29u, + 69u, 169u, 125u, 1u, + 187u, 218u, 102u, 174u, + 96u, 44u, 122u, 160u, + 175u, 208u, 220u, 219u, + 112u, 139u, 158u, 72u, + 1u, 184u, 64u, 97u, + 196u, 93u, 190u, 165u, + 134u, 37u, 166u, 154u, + 117u, 255u, 109u, 129u, + 137u, 159u, 112u, 52u, + 174u, 77u, 162u, 234u, + 47u, 60u, 48u, 61u, + 169u, 115u, 124u, 115u, + 178u, 255u, 37u, 89u, + 117u, 134u, 192u, 163u, + 88u, 133u, 142u, 97u, + 125u, 255u, 114u, 137u, + 172u, 204u, 199u, 111u, + 122u, 55u, 86u, 112u, + 37u, 255u, 136u, 76u, + 129u, 109u, 96u, 47u, + 125u, 189u, 203u, 122u, + 117u, 104u, 102u, 81u, + 23u, 205u, 79u, 1u, + 183u, 155u, 87u, 71u, + 150u, 97u, 67u, 176u, + 1u, 194u, 57u, 171u, + 157u, 168u, 209u, 125u, + 123u, 178u, 172u, 158u, + 85u, 123u, 121u, 170u, + 98u, 189u, 98u, 22u, + 1u, 118u, 13u, 130u, + 112u, 100u, 241u, 152u, + 71u, 110u, 179u, 96u, + 124u, 172u, 161u, 12u, + 144u, 106u, 82u, 120u, + 1u, 143u, 179u, 33u, + 4u, 197u, 119u, 134u, + 108u, 196u, 52u, 153u, + 124u, 195u, 124u, 149u, + 126u, 126u, 100u, 171u, + 0u, 172u, 188u, 86u, + 156u, 107u, 231u, 1u, + 118u, 98u, 105u, 159u, + 159u, 200u, 236u, 7u, + 218u, 114u, 154u, 99u, + 88u, 110u, 62u, 221u, + 96u, 163u, 117u, 103u, + 142u, 226u, 150u, 110u, + 255u, 102u, 88u, 141u, + 118u, 103u, 196u, 1u, + 129u, 126u, 141u, 80u, + 124u, 188u, 142u, 129u, + 200u, 169u, 132u, 183u, + 136u, 237u, 44u, 172u, + 66u, 1u, 143u, 129u, + 126u, 200u, 15u, 94u, + 215u, 127u, 101u, 61u, + 144u, 159u, 255u, 68u, + 210u, 192u, 70u, 72u, + 78u, 201u, 192u, 89u, + 200u, 188u, 110u, 122u, + 25u, 1u, 9u, 122u, + 242u, 122u, 86u, 91u, + 196u, 94u, 104u, 185u, + 208u, 51u, 161u, 88u, + 110u, 134u, 150u, 146u, + 99u, 96u, 155u, 48u, + 81u, 230u, 30u, 62u, + 94u, 133u, 255u, 136u, + 105u, 220u, 127u, 123u, + 236u, 98u, 212u, 46u, + 1u, 203u, 130u, 153u, + 219u, 128u, 109u, 109u, + 166u, 147u, 149u, 138u, + 60u, 175u, 167u, 200u, + 165u, 109u, 143u, 144u, + 0u, 146u, 187u, 112u, + 187u, 141u, 105u, 132u, + 170u, 152u, 115u, 153u, + 42u, 70u, 71u, 179u, + 53u, 255u, 123u, 60u, + 255u, 155u, 171u, 117u, + 153u, 94u, 80u, 150u, + 237u, 113u, 152u, 81u, + 72u, 53u, 116u, 168u, + 71u, 155u, 159u, 191u, + 232u, 138u, 255u, 131u, + 190u, 53u, 134u, 167u, + 122u, 72u, 77u, 206u, + 65u, 192u, 133u, 66u, + 154u, 164u, 224u, 255u, + 105u, 91u, 140u, 232u, + 149u, 81u, 203u, 121u, + 0u, 123u, 48u, 136u, + 151u, 118u, 141u, 101u, + 174u, 105u, 46u, 58u, + 169u, 171u, 140u, 85u, + 32u, 56u, 73u, 12u, + 38u, 11u, 1u, 149u, + 234u, 203u, 141u, 120u, + 191u, 107u, 234u, 118u, + 134u, 15u, 90u, 90u, + 168u, 240u, 206u, 195u, + 170u, 117u, 175u, 47u, + 112u, 1u, 129u, 27u, + 183u, 108u, 209u, 78u, + 166u, 63u, 100u, 165u, + 69u, 255u, 62u, 169u, + 72u, 227u, 183u, 159u, + 146u, 124u, 114u, 171u, + 177u, 229u, 98u, 237u, + 213u, 184u, 39u, 255u, + 143u, 175u, 210u, 155u, + 184u, 135u, 247u, 123u, + 77u, 140u, 0u, 120u, + 56u, 132u, 119u, 152u, + 160u, 87u, 118u, 139u, + 160u, 119u, 168u, 9u, + 116u, 153u, 1u, 183u, + 53u, 103u, 46u, 108u, + 74u, 147u, 82u, 117u, + 160u, 168u, 98u, 187u, + 134u, 124u, 134u, 36u, + 63u, 82u, 0u, 187u, + 60u, 114u, 182u, 35u, + 117u, 153u, 198u, 131u, + 161u, 73u, 133u, 36u, + 156u, 92u, 138u, 53u, + 1u, 153u, 86u, 77u, + 67u, 87u, 135u, 255u, + 91u, 180u, 195u, 138u, + 80u, 168u, 198u, 73u, + 107u, 70u, 189u, 123u, + 136u, 107u, 142u, 72u, + 211u, 98u, 186u, 47u, + 38u, 243u, 82u, 78u, + 255u, 197u, 132u, 160u, + 187u, 163u, 157u, 71u, + 254u, 185u, 163u, 49u, + 153u, 102u, 120u, 151u, + 100u, 31u, 160u, 255u, + 157u, 138u, 97u, 0u, + 110u, 115u, 107u, 183u, + 125u, 175u, 99u, 122u, + 75u, 101u, 123u, 208u, + 32u, 160u, 208u, 100u, + 21u, 97u, 191u, 106u, + 7u, 134u, 34u, 236u, + 87u, 28u, 255u, 155u, + 169u, 124u, 196u, 66u, + 206u, 101u, 109u, 247u, + 177u, 112u, 133u, 140u, + 1u, 161u, 137u, 91u, + 134u, 10u, 128u, 125u, + 109u, 255u, 116u, 94u, + 134u, 226u, 114u, 95u, + 147u, 220u, 88u, 175u, + 246u, 103u, 119u, 35u, + 95u, 163u, 205u, 140u, + 132u, 255u, 77u, 119u, + 151u, 219u, 99u, 81u, + 98u, 255u, 155u, 113u, + 162u, 189u, 115u, 72u, + 82u, 155u, 88u, 166u, + 96u, 96u, 117u, 106u, + 42u, 178u, 27u, 79u, + 255u, 120u, 14u, 121u, + 109u, 207u, 7u, 23u, + 240u, 121u, 105u, 170u, + 163u, 95u, 248u, 162u, + 1u, 172u, 96u, 74u, + 97u, 113u, 117u, 80u, + 131u, 148u, 95u, 49u, + 101u, 110u, 95u, 184u, + 97u, 167u, 58u, 50u, + 37u, 159u, 117u, 193u, + 51u, 143u, 197u, 0u, + 101u, 130u, 126u, 104u, + 111u, 215u, 31u, 150u, + 34u, 172u, 131u, 86u, + 1u, 132u, 115u, 150u, + 229u, 176u, 226u, 187u, + 124u, 110u, 185u, 143u, + 179u, 200u, 154u, 255u, + 207u, 203u, 103u, 38u, + 95u, 56u, 86u, 121u, + 1u, 57u, 80u, 239u, + 123u, 87u, 137u, 162u, + 183u, 162u, 144u, 198u, + 73u, 169u, 234u, 151u, + 97u, 69u, 79u, 152u, + 255u, 124u, 170u, 42u, + 164u, 132u, 182u, 41u, + 213u, 136u, 250u, 134u, + 90u, 182u, 169u, 116u, + 77u, 145u, 149u, 149u, + 133u, 221u, 1u, 110u, + 104u, 182u, 178u, 172u, + 75u, 107u, 151u, 96u, + 204u, 160u, 118u, 108u, + 71u, 163u, 255u, 115u, + 141u, 143u, 72u, 65u, + 95u, 171u, 84u, 142u, + 123u, 101u, 99u, 105u, + 91u, 1u, 68u, 149u, + 65u, 144u, 175u, 255u, + 111u, 208u, 16u, 174u, + 209u, 142u, 110u, 170u, + 68u, 82u, 125u, 120u, + 94u, 180u, 228u, 71u, + 145u, 101u, 92u, 1u, + 207u, 254u, 149u, 128u, + 84u, 72u, 150u, 131u, + 72u, 109u, 118u, 87u, + 229u, 149u, 138u, 117u, + 1u, 156u, 125u, 50u, + 133u, 7u, 38u, 111u, + 58u, 79u, 166u, 188u, + 78u, 1u, 229u, 47u, + 137u, 86u, 84u, 117u, + 215u, 108u, 142u, 65u, + 112u, 174u, 111u, 110u, + 159u, 118u, 147u, 183u, + 192u, 177u, 1u, 182u, + 125u, 67u, 56u, 73u, + 92u, 107u, 127u, 125u, + 137u, 164u, 63u, 79u, + 29u, 218u, 191u, 140u, + 147u, 214u, 181u, 255u, + 196u, 127u, 255u, 216u, + 57u, 160u, 4u, 166u, + 107u, 99u, 160u, 34u, + 99u, 178u, 172u, 79u, + 160u, 188u, 171u, 70u, + 169u, 74u, 209u, 227u, + 66u, 231u, 154u, 13u, + 1u, 165u, 132u, 88u, + 200u, 80u, 109u, 255u, + 125u, 208u, 146u, 106u, + 101u, 108u, 61u, 115u, + 159u, 100u, 112u, 67u, + 226u, 188u, 255u, 193u, + 72u, 69u, 97u, 121u, + 99u, 115u, 149u, 121u, + 121u, 133u, 124u, 104u, + 124u, 117u, 143u, 201u, + 143u, 255u, 128u, 187u, + 97u, 182u, 92u, 115u, + 134u, 99u, 105u, 119u, + 19u, 210u, 255u, 85u, + 111u, 155u, 75u, 128u, + 177u, 132u, 162u, 95u, + 186u, 196u, 198u, 89u, + 83u, 81u, 122u, 213u, + 188u, 86u, 209u, 185u, + 60u, 152u, 143u, 191u, + 191u, 158u, 1u, 97u, + 218u, 79u, 100u, 168u, + 176u, 126u, 82u, 147u, + 107u, 182u, 139u, 46u, + 205u, 162u, 1u, 107u, + 23u, 131u, 237u, 47u, + 74u, 122u, 32u, 50u, + 194u, 50u, 173u, 1u, + 55u, 206u, 79u, 127u, + 84u, 92u, 138u, 133u, + 44u, 77u, 120u, 6u, + 152u, 149u, 54u, 255u, + 117u, 88u, 45u, 183u, + 73u, 174u, 129u, 151u, + 238u, 155u, 80u, 229u, + 223u, 255u, 32u, 172u, + 129u, 195u, 98u, 79u, + 137u, 138u, 26u, 45u, + 233u, 64u, 126u, 142u, + 133u, 108u, 73u, 1u, + 133u, 20u, 71u, 123u, + 155u, 162u, 93u, 107u, + 191u, 112u, 127u, 255u, + 133u, 97u, 208u, 83u, + 180u, 113u, 172u, 134u, + 163u, 101u, 67u, 128u, + 114u, 109u, 136u, 103u, + 195u, 150u, 1u, 129u, + 53u, 174u, 166u, 106u, + 1u, 131u, 192u, 115u, + 75u, 160u, 109u, 80u, + 137u, 82u, 213u, 163u, + 56u, 141u, 9u, 212u, + 119u, 153u, 51u, 233u, + 154u, 185u, 53u, 94u, + 81u, 90u, 198u, 179u, + 255u, 9u, 44u, 90u, + 208u, 83u, 50u, 80u, + 177u, 66u, 113u, 255u, + 59u, 203u, 180u, 19u, + 113u, 143u, 247u, 111u, + 120u, 159u, 136u, 113u, + 178u, 182u, 158u, 255u, + 87u, 44u, 125u, 185u, + 235u, 207u, 90u, 206u, + 115u, 149u, 162u, 255u, + 83u, 125u, 188u, 190u, + 156u, 152u, 146u, 235u, + 114u, 149u, 126u, 74u, + 32u, 82u, 96u, 201u, + 100u, 130u, 185u, 157u, + 127u, 70u, 166u, 134u, + 255u, 175u, 59u, 218u, + 136u, 136u, 234u, 180u, + 115u, 41u, 62u, 159u, + 33u, 83u, 221u, 163u, + 165u, 74u, 1u, 183u, + 164u, 64u, 152u, 172u, + 24u, 80u, 95u, 140u, + 255u, 220u, 73u, 145u, + 181u, 105u, 195u, 183u, + 97u, 135u, 129u, 193u, + 104u, 167u, 112u, 75u, + 0u, 31u, 156u, 127u, + 185u, 141u, 168u, 212u, + 83u, 16u, 0u, 172u, + 139u, 122u, 12u, 161u, + 110u, 186u, 136u, 47u, + 91u, 111u, 150u, 111u, + 178u, 250u, 74u, 108u, + 205u, 249u, 109u, 152u, + 34u, 175u, 174u, 182u, + 184u, 131u, 1u, 89u, + 149u, 102u, 205u, 105u, + 72u, 139u, 158u, 139u, + 37u, 151u, 255u, 144u, + 151u, 253u, 116u, 160u, + 255u, 124u, 118u, 157u, + 211u, 206u, 80u, 64u, + 33u, 74u, 151u, 249u, + 53u, 125u, 121u, 248u, + 158u, 88u, 255u, 68u, + 167u, 120u, 185u, 115u, + 169u, 172u, 179u, 85u, + 120u, 98u, 109u, 74u, + 108u, 119u, 107u, 113u, + 134u, 181u, 154u, 147u, + 129u, 255u, 202u, 146u, + 125u, 118u, 118u, 89u, + 198u, 194u, 184u, 238u, + 29u, 144u, 141u, 147u, + 176u, 1u, 221u, 210u, + 197u, 33u, 162u, 188u, + 92u, 133u, 5u, 198u, + 65u, 195u, 237u, 169u, + 220u, 156u, 136u, 21u, + 255u, 106u, 122u, 247u, + 109u, 162u, 70u, 218u, + 101u, 105u, 255u, 76u, + 178u, 115u, 240u, 108u, + 125u, 49u, 74u, 5u, + 122u, 63u, 255u, 182u, + 97u, 59u, 56u, 213u, + 64u, 123u, 129u, 229u, + 146u, 210u, 172u, 123u, + 91u, 183u, 97u, 82u, + 240u, 255u, 110u, 56u, + 103u, 157u, 189u, 139u, + 180u, 48u, 143u, 125u, + 98u, 55u, 138u, 88u, + 123u, 0u, 196u, 152u, + 155u, 137u, 168u, 56u, + 195u, 173u, 124u, 139u, + 255u, 134u, 192u, 77u, + 184u, 155u, 96u, 137u, + 130u, 48u, 106u, 164u, + 43u, 135u, 46u, 169u, + 173u, 170u, 101u, 189u, + 194u, 63u, 119u, 66u, + 102u, 158u, 158u, 102u, + 183u, 102u, 141u, 255u, + 152u, 10u, 83u, 1u, + 55u, 91u, 93u, 70u, + 172u, 157u, 86u, 193u, + 122u, 92u, 97u, 55u, + 126u, 175u, 127u, 159u, + 198u, 163u, 139u, 189u, + 49u, 185u, 195u, 75u, + 255u, 140u, 111u, 47u, + 125u, 203u, 156u, 135u, + 1u, 171u, 178u, 123u, + 193u, 190u, 123u, 134u, + 90u, 242u, 115u, 107u, + 222u, 103u, 204u, 210u, + 0u, 151u, 153u, 139u, + 93u, 66u, 162u, 82u, + 123u, 58u, 113u, 93u, + 88u, 139u, 1u, 71u, + 68u, 119u, 98u, 80u, + 131u, 184u, 69u, 128u, + 50u, 146u, 166u, 187u, + 78u, 122u, 119u, 67u, + 17u, 255u, 78u, 170u, + 110u, 230u, 252u, 200u, + 99u, 132u, 93u, 242u, + 111u, 155u, 128u, 87u, + 85u, 167u, 190u, 49u, + 218u, 164u, 121u, 115u, + 120u, 149u, 163u, 255u, + 82u, 239u, 43u, 137u, + 60u, 116u, 122u, 130u, + 163u, 73u, 139u, 98u, + 65u, 55u, 90u, 255u, + 124u, 187u, 45u, 117u, + 65u, 182u, 150u, 9u, + 97u, 87u, 80u, 91u, + 0u, 97u, 132u, 249u, + 175u, 120u, 240u, 110u, + 140u, 76u, 179u, 156u, + 97u, 137u, 79u, 176u, + 131u, 255u, 165u, 182u, + 164u, 219u, 179u, 111u, + 99u, 147u, 78u, 55u, + 231u, 253u, 112u, 116u, + 111u, 81u, 124u, 255u, + 51u, 69u, 92u, 234u, + 26u, 73u, 0u, 144u, + 34u, 40u, 54u, 129u, + 222u, 173u, 148u, 156u, + 181u, 140u, 199u, 122u, + 89u, 155u, 137u, 96u, + 44u, 255u, 130u, 178u, + 163u, 124u, 89u, 185u, + 163u, 158u, 49u, 27u, + 173u, 79u, 128u, 138u, + 88u, 118u, 170u, 84u, + 0u, 173u, 63u, 93u, + 103u, 206u, 46u, 117u, + 70u, 239u, 131u, 168u, + 104u, 1u, 65u, 162u, + 179u, 188u, 124u, 99u, + 140u, 142u, 42u, 91u, + 255u, 65u, 172u, 151u, + 63u, 159u, 164u, 206u, + 19u, 127u, 99u, 135u, + 65u, 73u, 42u, 114u, + 163u, 207u, 145u, 155u, + 77u, 116u, 111u, 71u, + 138u, 255u, 50u, 134u, + 79u, 72u, 1u, 159u, + 104u, 150u, 24u, 138u, + 62u, 144u, 168u, 48u, + 231u, 154u, 122u, 145u, + 90u, 148u, 126u, 72u, + 160u, 82u, 240u, 239u, + 109u, 1u, 158u, 170u, + 113u, 241u, 102u, 170u, + 130u, 221u, 184u, 124u, + 209u, 12u, 243u, 62u, + 121u, 1u, 246u, 65u, + 145u, 182u, 125u, 156u, + 152u, 195u, 16u, 157u, + 28u, 199u, 92u, 50u, + 210u, 1u, 158u, 255u, + 88u, 15u, 120u, 84u, + 77u, 132u, 178u, 98u, + 36u, 176u, 94u, 92u, + 140u, 166u, 131u, 71u, + 0u, 161u, 130u, 111u, + 217u, 176u, 151u, 137u, + 165u, 182u, 182u, 64u, + 38u, 153u, 135u, 172u, + 0u, 73u, 119u, 156u, + 159u, 176u, 204u, 141u, + 225u, 101u, 112u, 173u, + 109u, 82u, 203u, 202u, + 231u, 147u, 105u, 1u, + 103u, 114u, 86u, 165u, + 153u, 83u, 109u, 58u, + 104u, 112u, 85u, 136u, + 255u, 117u, 87u, 130u, + 202u, 86u, 83u, 193u, + 144u, 130u, 90u, 189u, + 88u, 69u, 116u, 80u, + 1u, 187u, 162u, 164u, + 124u, 129u, 77u, 39u, + 199u, 160u, 203u, 143u, + 91u, 132u, 99u, 48u, + 93u, 1u, 147u, 53u, + 32u, 220u, 123u, 83u, + 0u, 110u, 128u, 140u, + 149u, 92u, 203u, 207u, + 70u, 129u, 153u, 135u, + 90u, 110u, 192u, 145u, + 115u, 126u, 0u, 12u, + 53u, 149u, 145u, 88u, + 184u, 123u, 95u, 66u, + 154u, 86u, 127u, 175u, + 0u, 195u, 97u, 211u, + 83u, 40u, 185u, 193u, + 99u, 28u, 159u, 180u, + 52u, 118u, 143u, 255u, + 133u, 99u, 82u, 56u, + 51u, 71u, 84u, 206u, + 173u, 11u, 143u, 35u, + 234u, 51u, 93u, 255u, + 102u, 77u, 2u, 81u, + 94u, 102u, 158u, 110u, + 97u, 32u, 12u, 254u, + 84u, 86u, 192u, 255u, + 108u, 197u, 111u, 97u, + 173u, 239u, 138u, 214u, + 149u, 62u, 162u, 35u, + 232u, 249u, 207u, 74u, + 96u, 255u, 99u, 193u, + 137u, 73u, 188u, 194u, + 106u, 13u, 16u, 255u, + 178u, 92u, 255u, 69u, + 84u, 198u, 92u, 125u, + 174u, 59u, 88u, 164u, + 112u, 119u, 98u, 116u, + 112u, 162u, 183u, 30u, + 38u, 248u, 106u, 1u, + 48u, 157u, 135u, 97u, + 130u, 172u, 183u, 213u, + 149u, 120u, 50u, 136u, + 76u, 174u, 245u, 70u, + 170u, 132u, 116u, 240u, + 38u, 4u, 255u, 130u, + 133u, 34u, 149u, 113u, + 0u, 130u, 135u, 14u, + 111u, 173u, 155u, 55u, + 178u, 181u, 189u, 185u, + 62u, 90u, 131u, 168u, + 70u, 98u, 255u, 102u, + 129u, 103u, 105u, 123u, + 140u, 109u, 168u, 69u, + 207u, 77u, 208u, 182u, + 141u, 230u, 1u, 137u, + 100u, 33u, 166u, 215u, + 184u, 93u, 222u, 78u, + 137u, 93u, 183u, 255u, + 139u, 72u, 177u, 75u, + 121u, 48u, 181u, 112u, + 182u, 216u, 176u, 137u, + 62u, 57u, 85u, 63u, + 2u, 171u, 62u, 26u, + 197u, 131u, 13u, 255u, + 32u, 59u, 182u, 11u, + 127u, 179u, 232u, 89u, + 253u, 178u, 150u, 141u, + 1u, 73u, 138u, 146u, + 222u, 183u, 155u, 23u, + 199u, 97u, 164u, 153u, + 107u, 226u, 161u, 206u, + 151u, 154u, 1u, 165u, + 118u, 70u, 182u, 219u, + 218u, 219u, 167u, 88u, + 205u, 120u, 160u, 1u, + 32u, 117u, 129u, 66u, + 109u, 79u, 99u, 173u, + 124u, 85u, 165u, 146u, + 145u, 102u, 146u, 107u, + 171u, 255u, 171u, 132u, + 206u, 90u, 149u, 70u, + 54u, 67u, 95u, 88u, + 132u, 67u, 63u, 22u, + 59u, 192u, 150u, 30u, + 139u, 118u, 1u, 102u, + 255u, 54u, 18u, 16u, + 152u, 104u, 59u, 203u, + 232u, 232u, 142u, 7u, + 152u, 63u, 229u, 127u, + 178u, 97u, 51u, 140u, + 186u, 51u, 25u, 147u, + 108u, 12u, 39u, 189u, + 1u, 132u, 194u, 211u, + 87u, 106u, 80u, 233u, + 153u, 89u, 35u, 87u, + 255u, 166u, 103u, 236u, + 80u, 110u, 255u, 116u, + 167u, 111u, 108u, 134u, + 1u, 185u, 18u, 29u, + 152u, 136u, 171u, 54u, + 47u, 25u, 223u, 215u, + 187u, 156u, 132u, 75u, + 109u, 133u, 45u, 68u, + 1u, 112u, 93u, 169u, + 91u, 149u, 76u, 47u, + 158u, 178u, 144u, 106u, + 98u, 5u, 193u, 0u, + 155u, 59u, 255u, 165u, + 111u, 130u, 234u, 232u, + 145u, 201u, 210u, 118u, + 74u, 156u, 75u, 1u, + 82u, 129u, 134u, 106u, + 131u, 121u, 146u, 104u, + 142u, 193u, 45u, 178u, + 133u, 119u, 43u, 165u, + 65u, 165u, 123u, 125u, + 111u, 47u, 1u, 152u, + 147u, 227u, 110u, 108u, + 248u, 83u, 38u, 250u, + 194u, 53u, 141u, 115u, + 125u, 1u, 139u, 22u, + 121u, 127u, 214u, 108u, + 85u, 174u, 36u, 104u, + 201u, 255u, 139u, 106u, + 132u, 147u, 224u, 175u, + 29u, 115u, 138u, 73u, + 143u, 140u, 111u, 136u, + 161u, 183u, 102u, 104u, + 140u, 133u, 150u, 255u, + 137u, 95u, 158u, 255u, + 155u, 141u, 131u, 110u, + 39u, 70u, 124u, 13u, + 193u, 118u, 79u, 88u, + 155u, 68u, 166u, 124u, + 189u, 147u, 177u, 162u, + 82u, 89u, 203u, 132u, + 152u, 125u, 1u, 96u, + 124u, 18u, 86u, 103u, + 69u, 131u, 150u, 168u, + 114u, 61u, 131u, 181u, + 125u, 88u, 0u, 90u, + 60u, 163u, 192u, 138u, + 147u, 178u, 52u, 40u, + 171u, 99u, 114u, 138u, + 255u, 62u, 54u, 163u, + 160u, 73u, 152u, 55u, + 72u, 194u, 208u, 158u, + 163u, 75u, 78u, 86u, + 102u, 120u, 148u, 255u, + 82u, 153u, 122u, 56u, + 240u, 184u, 167u, 135u, + 0u, 59u, 39u, 37u, + 46u, 170u, 55u, 247u, + 110u, 107u, 143u, 196u, + 18u, 219u, 120u, 78u, + 159u, 147u, 151u, 86u, + 173u, 255u, 153u, 209u, + 82u, 146u, 150u, 150u, + 255u, 125u, 208u, 167u, + 228u, 226u, 72u, 188u, + 89u, 117u, 174u, 137u, + 133u, 115u, 217u, 202u, + 89u, 173u, 174u, 156u, + 135u, 255u, 118u, 169u, + 60u, 166u, 125u, 200u, + 171u, 83u, 180u, 56u, + 62u, 132u, 155u, 190u, + 223u, 120u, 158u, 157u, + 198u, 0u, 184u, 119u, + 137u, 222u, 111u, 195u, + 88u, 223u, 130u, 149u, + 0u, 4u, 153u, 170u, + 69u, 119u, 101u, 201u, + 115u, 181u, 159u, 255u, + 58u, 97u, 129u, 123u, + 207u, 45u, 76u, 236u, + 152u, 164u, 178u, 193u, + 140u, 134u, 142u, 77u, + 190u, 1u, 140u, 182u, + 164u, 235u, 176u, 68u, + 232u, 31u, 24u, 114u, + 202u, 157u, 1u, 126u, + 76u, 146u, 71u, 78u, + 133u, 141u, 164u, 210u, + 61u, 200u, 170u, 104u, + 83u, 92u, 124u, 145u, + 118u, 56u, 148u, 182u, + 167u, 143u, 128u, 145u, + 255u, 108u, 128u, 100u, + 98u, 216u, 179u, 60u, + 83u, 255u, 58u, 133u, + 255u, 134u, 90u, 113u, + 133u, 72u, 214u, 212u, + 187u, 86u, 89u, 73u, + 209u, 111u, 156u, 69u, + 10u, 52u, 143u, 111u, + 211u, 164u, 72u, 255u, + 213u, 184u, 157u, 73u, + 255u, 98u, 85u, 121u, + 17u, 253u, 31u, 204u, + 222u, 174u, 80u, 251u, + 43u, 154u, 152u, 235u, + 101u, 74u, 158u, 103u, + 123u, 255u, 166u, 175u, + 177u, 121u, 222u, 114u, + 199u, 49u, 191u, 32u, + 88u, 115u, 58u, 181u, + 239u, 0u, 174u, 162u, + 228u, 58u, 146u, 126u, + 158u, 74u, 157u, 64u, + 121u, 183u, 66u, 164u, + 133u, 142u, 205u, 142u, + 52u, 46u, 255u, 168u, + 167u, 68u, 150u, 188u, + 86u, 159u, 163u, 171u, + 180u, 208u, 254u, 34u, + 39u, 147u, 1u, 70u, + 133u, 176u, 141u, 179u, + 186u, 133u, 1u, 53u, + 69u, 119u, 126u, 55u, + 79u, 106u, 147u, 79u, + 118u, 175u, 126u, 104u, + 39u, 169u, 194u, 255u, + 173u, 30u, 94u, 225u, + 123u, 136u, 104u, 178u, + 193u, 101u, 242u, 65u, + 187u, 116u, 0u, 37u, + 52u, 111u, 154u, 184u, + 146u, 126u, 114u, 161u, + 176u, 164u, 154u, 110u, + 96u, 191u, 165u, 112u, + 227u, 255u, 203u, 88u, + 186u, 57u, 153u, 170u, + 102u, 118u, 164u, 104u, + 137u, 130u, 127u, 203u, + 91u, 142u, 231u, 184u, + 157u, 1u, 181u, 92u, + 155u, 197u, 14u, 42u, + 173u, 72u, 124u, 169u, + 190u, 220u, 61u, 14u, + 108u, 26u, 255u, 216u, + 130u, 9u, 169u, 141u, + 49u, 255u, 83u, 118u, + 218u, 141u, 107u, 67u, + 255u, 240u, 209u, 152u, + 135u, 95u, 56u, 139u, + 116u, 120u, 132u, 117u, + 198u, 179u, 68u, 80u, + 177u, 72u, 35u, 0u, + 62u, 147u, 53u, 95u, + 167u, 255u, 144u, 106u, + 49u, 147u, 43u, 178u, + 74u, 83u, 64u, 143u, + 135u, 170u, 100u, 1u, + 179u, 187u, 208u, 165u, + 55u, 140u, 95u, 172u, + 65u, 66u, 142u, 97u, + 255u, 97u, 194u, 112u, + 67u, 135u, 99u, 138u, + 132u, 83u, 140u, 146u, + 78u, 91u, 176u, 53u, + 215u, 86u, 141u, 70u, + 121u, 96u, 148u, 128u, + 99u, 65u, 185u, 152u, + 180u, 108u, 255u, 249u, + 249u, 60u, 24u, 77u, + 57u, 109u, 104u, 170u, + 102u, 163u, 58u, 96u, + 154u, 255u, 99u, 53u, + 78u, 150u, 174u, 134u, + 100u, 1u, 142u, 93u, + 203u, 141u, 170u, 153u, + 77u, 209u, 74u, 89u, + 166u, 163u, 42u, 96u, + 20u, 153u, 103u, 72u, + 158u, 154u, 122u, 111u, + 0u, 83u, 125u, 91u, + 174u, 63u, 1u, 73u, + 45u, 78u, 55u, 81u, + 141u, 58u, 198u, 61u, + 155u, 21u, 171u, 149u, + 48u, 0u, 227u, 85u, + 166u, 135u, 142u, 106u, + 115u, 79u, 180u, 106u, + 57u, 222u, 30u, 111u, + 255u, 34u, 187u, 108u, + 81u, 39u, 64u, 154u, + 176u, 170u, 140u, 102u, + 133u, 102u, 181u, 52u, + 250u, 67u, 255u, 233u, + 161u, 180u, 203u, 121u, + 132u, 170u, 27u, 138u, + 16u, 128u, 197u, 67u, + 139u, 168u, 72u, 58u, + 111u, 142u, 85u, 66u, + 128u, 137u, 106u, 140u, + 107u, 0u, 95u, 138u, + 179u, 135u, 30u, 129u, + 97u, 159u, 100u, 107u, + 188u, 88u, 142u, 118u, + 1u, 147u, 202u, 99u, + 185u, 161u, 169u, 182u, + 147u, 161u, 201u, 62u, + 127u, 104u, 51u, 179u, + 1u, 156u, 179u, 130u, + 97u, 119u, 156u, 192u, + 39u, 113u, 159u, 120u, + 228u, 121u, 121u, 205u, + 1u, 193u, 202u, 107u, + 163u, 143u, 133u, 163u, + 69u, 155u, 106u, 158u, + 140u, 120u, 104u, 109u, + 108u, 167u, 255u, 164u, + 115u, 190u, 211u, 176u, + 199u, 153u, 1u, 47u, + 85u, 224u, 90u, 119u, + 135u, 123u, 78u, 173u, + 125u, 63u, 251u, 236u, + 89u, 145u, 141u, 210u, + 165u, 1u, 174u, 119u, + 44u, 212u, 119u, 50u, + 58u, 178u, 80u, 129u, + 222u, 146u, 238u, 173u, + 228u, 209u, 26u, 56u, + 184u, 255u, 193u, 142u, + 44u, 118u, 112u, 136u, + 241u, 255u, 115u, 106u, + 116u, 154u, 208u, 224u, + 36u, 16u, 119u, 36u, + 176u, 25u, 120u, 255u, + 58u, 130u, 143u, 104u, + 173u, 87u, 124u, 150u, + 197u, 121u, 160u, 161u, + 147u, 255u, 58u, 250u, + 173u, 224u, 99u, 167u, + 206u, 98u, 32u, 218u, + 91u, 85u, 14u, 186u, + 80u, 140u, 251u, 255u, + 100u, 62u, 1u, 15u, + 168u, 10u, 217u, 83u, + 233u, 89u, 68u, 192u, + 148u, 151u, 118u, 191u, + 144u, 161u, 234u, 93u, + 180u, 12u, 217u, 164u, + 175u, 184u, 221u, 255u, + 133u, 120u, 203u, 82u, + 85u, 96u, 126u, 65u, + 123u, 255u, 106u, 162u, + 69u, 215u, 240u, 73u, + 145u, 162u, 193u, 156u, + 179u, 147u, 138u, 106u, + 210u, 101u, 113u, 131u, + 7u, 116u, 255u, 60u, + 85u, 61u, 15u, 185u, + 136u, 58u, 64u, 239u, + 114u, 149u, 183u, 160u, + 255u, 69u, 169u, 172u, + 114u, 142u, 33u, 17u, + 100u, 59u, 60u, 255u, + 176u, 106u, 199u, 168u, + 122u, 143u, 105u, 114u, + 27u, 91u, 129u, 123u, + 7u, 98u, 255u, 146u, + 121u, 142u, 87u, 80u, + 144u, 178u, 229u, 170u, + 50u, 76u, 152u, 165u, + 40u, 178u, 61u, 155u, + 33u, 213u, 255u, 88u, + 87u, 168u, 209u, 152u, + 179u, 139u, 255u, 91u, + 86u, 42u, 117u, 162u, + 109u, 135u, 185u, 79u, + 213u, 120u, 52u, 78u, + 47u, 230u, 135u, 115u, + 69u, 84u, 44u, 163u, + 255u, 48u, 201u, 205u, + 35u, 203u, 55u, 191u, + 140u, 158u, 142u, 177u, + 176u, 91u, 132u, 177u, + 135u, 125u, 255u, 66u, + 210u, 163u, 181u, 62u, + 120u, 255u, 85u, 234u, + 86u, 75u, 194u, 59u, + 129u, 97u, 160u, 19u, + 210u, 177u, 100u, 208u, + 169u, 136u, 53u, 165u, + 127u, 155u, 148u, 234u, + 77u, 73u, 169u, 208u, + 93u, 141u, 1u, 95u, + 114u, 201u, 185u, 184u, + 85u, 123u, 123u, 122u, + 67u, 43u, 142u, 152u, + 134u, 137u, 255u, 189u, + 135u, 255u, 100u, 72u, + 157u, 128u, 57u, 148u, + 116u, 117u, 143u, 117u, + 146u, 71u, 188u, 244u, + 255u, 27u, 209u, 56u, + 52u, 56u, 11u, 171u, + 171u, 182u, 121u, 49u, + 138u, 84u, 187u, 51u, + 117u, 237u, 242u, 58u, + 126u, 117u, 127u, 64u, + 160u, 73u, 164u, 144u, + 167u, 1u, 182u, 90u, + 229u, 136u, 207u, 143u, + 110u, 38u, 141u, 145u, + 1u, 69u, 214u, 47u, + 241u, 192u, 149u, 223u, + 71u, 255u, 134u, 142u, + 180u, 8u, 215u, 198u, + 200u, 132u, 255u, 229u, + 147u, 128u, 152u, 138u, + 82u, 134u, 109u, 108u, + 68u, 135u, 123u, 163u, + 209u, 137u, 32u, 207u, + 71u, 190u, 255u, 88u, + 79u, 218u, 191u, 153u, + 125u, 141u, 161u, 64u, + 75u, 1u, 182u, 157u, + 186u, 165u, 121u, 176u, + 17u, 224u, 202u, 214u, + 66u, 149u, 255u, 5u, + 208u, 41u, 66u, 62u, + 97u, 170u, 154u, 198u, + 189u, 137u, 200u, 103u, + 94u, 117u, 131u, 117u, + 118u, 155u, 143u, 134u, + 0u, 79u, 194u, 110u, + 177u, 140u, 2u, 114u, + 89u, 134u, 102u, 135u, + 94u, 110u, 191u, 30u, + 64u, 243u, 1u, 19u, + 111u, 57u, 101u, 163u, + 116u, 158u, 77u, 138u, + 90u, 103u, 160u, 148u, + 174u, 120u, 1u, 226u, + 172u, 50u, 86u, 87u, + 185u, 175u, 90u, 211u, + 72u, 178u, 97u, 112u, + 102u, 117u, 168u, 1u, + 189u, 139u, 170u, 68u, + 41u, 78u, 230u, 2u, + 88u, 29u, 140u, 255u, + 81u, 55u, 193u, 197u, + 178u, 255u, 240u, 106u, + 195u, 86u, 45u, 118u, + 167u, 137u, 121u, 193u, + 80u, 150u, 85u, 140u, + 169u, 255u, 195u, 180u, + 89u, 7u, 144u, 179u, + 142u, 124u, 173u, 232u, + 216u, 57u, 128u, 94u, + 153u, 172u, 82u, 220u, + 120u, 32u, 62u, 86u, + 82u, 87u, 169u, 211u, + 62u, 255u, 35u, 199u, + 185u, 124u, 141u, 159u, + 117u, 183u, 100u, 83u, + 223u, 179u, 18u, 67u, + 1u, 140u, 200u, 236u, + 122u, 43u, 107u, 1u, + 140u, 113u, 136u, 147u, + 124u, 135u, 215u, 73u, + 125u, 75u, 146u, 25u, + 255u, 54u, 218u, 86u, + 169u, 110u, 147u, 201u, + 101u, 133u, 140u, 134u, + 197u, 166u, 146u, 54u, + 127u, 153u, 99u, 255u, + 174u, 127u, 128u, 151u, + 66u, 175u, 136u, 171u, + 146u, 206u, 127u, 92u, + 52u, 66u, 7u, 70u, + 96u, 47u, 129u, 161u, + 150u, 64u, 1u, 154u, + 133u, 155u, 153u, 58u, + 160u, 30u, 192u, 70u, + 178u, 77u, 237u, 114u, + 173u, 234u, 95u, 160u, + 143u, 132u, 217u, 0u, + 132u, 140u, 75u, 255u, + 95u, 125u, 202u, 88u, + 204u, 128u, 183u, 133u, + 41u, 180u, 130u, 133u, + 198u, 165u, 123u, 128u, + 27u, 46u, 40u, 20u, + 97u, 229u, 48u, 123u, + 132u, 100u, 0u, 136u, + 79u, 158u, 159u, 154u, + 189u, 231u, 120u, 78u, + 51u, 211u, 63u, 66u, + 72u, 255u, 249u, 140u, + 132u, 109u, 72u, 166u, + 97u, 227u, 115u, 178u, + 176u, 102u, 67u, 91u, + 97u, 151u, 192u, 255u, + 83u, 98u, 43u, 141u, + 175u, 178u, 97u, 128u, + 75u, 177u, 129u, 208u, + 161u, 155u, 1u, 102u, + 60u, 80u, 176u, 216u, + 243u, 71u, 101u, 163u, + 127u, 69u, 139u, 150u, + 90u, 255u, 125u, 157u, + 98u, 155u, 131u, 107u, + 189u, 129u, 255u, 113u, + 100u, 175u, 136u, 143u, + 49u, 11u, 41u, 232u, + 132u, 144u, 148u, 151u, + 135u, 132u, 69u, 154u, + 178u, 120u, 169u, 94u, + 145u, 85u, 0u, 119u, + 157u, 145u, 222u, 120u, + 121u, 101u, 95u, 177u, + 101u, 150u, 113u, 222u, + 37u, 255u, 189u, 168u, + 185u, 180u, 177u, 255u, + 100u, 58u, 185u, 188u, + 26u, 66u, 189u, 8u, + 206u, 178u, 246u, 107u, + 1u, 113u, 165u, 34u, + 172u, 141u, 136u, 233u, + 131u, 146u, 181u, 196u, + 36u, 221u, 224u, 156u, + 40u, 208u, 130u, 145u, + 67u, 116u, 1u, 121u, + 45u, 53u, 39u, 112u, + 37u, 70u, 82u, 168u, + 149u, 143u, 81u, 137u, + 156u, 201u, 109u, 189u, + 143u, 95u, 164u, 52u, + 52u, 124u, 0u, 125u, + 126u, 153u, 155u, 1u, + 112u, 74u, 129u, 132u, + 164u, 180u, 84u, 146u, + 120u, 165u, 130u, 239u, + 36u, 145u, 88u, 28u, + 176u, 70u, 110u, 80u, + 191u, 152u, 63u, 85u, + 168u, 168u, 0u, 188u, + 117u, 199u, 182u, 77u, + 156u, 156u, 73u, 68u, + 131u, 110u, 169u, 129u, + 115u, 143u, 101u, 255u, + 227u, 190u, 65u, 97u, + 137u, 5u, 154u, 192u, + 236u, 5u, 82u, 128u, + 70u, 84u, 0u, 64u, + 214u, 55u, 212u, 147u, + 170u, 78u, 58u, 146u, + 155u, 1u, 139u, 237u, + 125u, 82u, 83u, 10u, + 139u, 162u, 184u, 110u, + 147u, 214u, 76u, 151u, + 255u, 138u, 149u, 95u, + 88u, 19u, 95u, 176u, + 138u, 100u, 135u, 72u, + 112u, 68u, 66u, 179u, + 51u, 179u, 149u, 184u, + 255u, 106u, 215u, 145u, + 251u, 83u, 165u, 34u, + 50u, 89u, 53u, 242u, + 225u, 125u, 46u, 210u, + 1u, 8u, 156u, 196u, + 98u, 156u, 144u, 44u, + 187u, 133u, 154u, 88u, + 0u, 45u, 95u, 201u, + 139u, 39u, 76u, 111u, + 72u, 196u, 149u, 255u, + 82u, 130u, 165u, 24u, + 172u, 198u, 136u, 188u, + 188u, 76u, 185u, 144u, + 80u, 103u, 80u, 221u, + 214u, 73u, 169u, 242u, + 82u, 1u, 168u, 128u, + 73u, 125u, 43u, 180u, + 53u, 58u, 1u, 25u, + 177u, 61u, 98u, 172u, + 82u, 77u, 150u, 149u, + 50u, 153u, 158u, 117u, + 192u, 148u, 188u, 111u, + 48u, 152u, 139u, 66u, + 145u, 207u, 22u, 131u, + 1u, 149u, 1u, 155u, + 31u, 112u, 107u, 255u, + 28u, 198u, 136u, 210u, + 148u, 13u, 140u, 39u, + 114u, 62u, 208u, 55u, + 136u, 89u, 79u, 210u, + 56u, 106u, 127u, 96u, + 193u, 128u, 112u, 163u, + 195u, 56u, 255u, 94u, + 103u, 125u, 122u, 157u, + 255u, 177u, 207u, 109u, + 14u, 88u, 11u, 21u, + 170u, 200u, 139u, 95u, + 170u, 10u, 82u, 105u, + 112u, 159u, 1u, 91u, + 126u, 122u, 202u, 72u, + 120u, 87u, 143u, 114u, + 229u, 144u, 223u, 92u, + 72u, 136u, 119u, 136u, + 255u, 198u, 88u, 94u, + 49u, 149u, 216u, 123u, + 190u, 142u, 149u, 90u, + 125u, 123u, 113u, 124u, + 255u, 174u, 24u, 133u, + 15u, 139u, 134u, 30u, + 103u, 255u, 112u, 132u, + 117u, 241u, 77u, 226u, + 199u, 73u, 61u, 216u, + 48u, 136u, 117u, 131u, + 0u, 151u, 138u, 160u, + 132u, 103u, 126u, 3u, + 113u, 157u, 118u, 124u, + 22u, 69u, 141u, 107u, + 149u, 56u, 195u, 1u, + 116u, 117u, 104u, 90u, + 62u, 236u, 122u, 138u, + 118u, 152u, 76u, 34u, + 66u, 120u, 174u, 100u, + 252u, 128u, 220u, 184u, + 238u, 86u, 97u, 229u, + 226u, 255u, 140u, 144u, + 123u, 125u, 185u, 181u, + 88u, 119u, 143u, 100u, + 197u, 122u, 255u, 104u, + 212u, 132u, 204u, 218u, + 163u, 75u, 146u, 189u, + 35u, 0u, 72u, 236u, + 201u, 67u, 121u, 86u, + 143u, 214u, 87u, 84u, + 222u, 133u, 205u, 69u, + 178u, 31u, 84u, 234u, + 244u, 255u, 128u, 208u, + 177u, 77u, 16u, 217u, + 155u, 52u, 91u, 128u, + 133u, 185u, 1u, 104u, + 107u, 138u, 212u, 60u, + 172u, 31u, 121u, 205u, + 95u, 158u, 117u, 82u, + 150u, 144u, 131u, 59u, + 69u, 110u, 93u, 0u, + 3u, 151u, 84u, 85u, + 212u, 177u, 178u, 186u, + 189u, 181u, 255u, 144u, + 71u, 169u, 97u, 71u, + 22u, 156u, 168u, 149u, + 198u, 192u, 37u, 62u, + 146u, 76u, 217u, 1u, + 98u, 162u, 59u, 162u, + 141u, 135u, 34u, 224u, + 47u, 74u, 99u, 82u, + 160u, 164u, 160u, 131u, + 80u, 153u, 166u, 63u, + 173u, 151u, 1u, 133u, + 6u, 173u, 134u, 213u, + 114u, 212u, 180u, 47u, + 68u, 91u, 66u, 14u, + 188u, 163u, 113u, 1u, + 152u, 129u, 89u, 103u, + 144u, 215u, 189u, 195u, + 57u, 1u, 163u, 89u, + 79u, 78u, 70u, 119u, + 1u, 171u, 108u, 94u, + 119u, 137u, 105u, 50u, + 112u, 107u, 101u, 146u, + 170u, 129u, 22u, 163u, + 53u, 35u, 62u, 138u, + 79u, 167u, 38u, 55u, + 163u, 136u, 111u, 0u, + 142u, 148u, 43u, 27u, + 193u, 187u, 193u, 104u, + 203u, 175u, 131u, 70u, + 97u, 141u, 118u, 89u, + 1u, 25u, 81u, 124u, + 96u, 229u, 180u, 162u, + 72u, 72u, 120u, 179u, + 83u, 145u, 180u, 176u, + 77u, 255u, 98u, 178u, + 76u, 87u, 83u, 224u, + 151u, 94u, 1u, 113u, + 75u, 127u, 45u, 52u, + 92u, 45u, 138u, 69u, + 138u, 134u, 125u, 130u, + 102u, 255u, 146u, 202u, + 90u, 95u, 100u, 118u, + 67u, 93u, 178u, 154u, + 133u, 134u, 143u, 134u, + 134u, 153u, 124u, 186u, + 123u, 79u, 255u, 172u, + 131u, 244u, 126u, 132u, + 76u, 160u, 209u, 173u, + 124u, 157u, 172u, 104u, + 81u, 157u, 176u, 91u, + 162u, 255u, 112u, 86u, + 136u, 168u, 128u, 134u, + 106u, 255u, 182u, 144u, + 151u, 110u, 146u, 196u, + 74u, 158u, 205u, 119u, + 91u, 131u, 205u, 41u, + 124u, 118u, 1u, 190u, + 8u, 140u, 173u, 146u, + 202u, 130u, 172u, 163u, + 229u, 79u, 185u, 134u, + 20u, 83u, 18u, 218u, + 199u, 110u, 197u, 115u, + 167u, 131u, 255u, 127u, + 197u, 154u, 164u, 147u, + 121u, 131u, 111u, 189u, + 126u, 121u, 86u, 194u, + 1u, 119u, 212u, 112u, + 99u, 93u, 224u, 114u, + 227u, 1u, 129u, 144u, + 111u, 229u, 145u, 37u, + 71u, 209u, 192u, 91u, + 238u, 158u, 238u, 154u, + 75u, 158u, 138u, 55u, + 181u, 85u, 209u, 141u, + 136u, 0u, 57u, 35u, + 59u, 136u, 151u, 184u, + 125u, 31u, 1u, 20u, + 103u, 63u, 96u, 65u, + 211u, 141u, 81u, 42u, + 121u, 177u, 184u, 206u, + 126u, 99u, 115u, 186u, + 134u, 229u, 92u, 210u, + 255u, 135u, 211u, 13u, + 112u, 93u, 109u, 154u, + 162u, 172u, 100u, 145u, + 123u, 94u, 143u, 106u, + 1u, 148u, 123u, 32u, + 124u, 156u, 173u, 170u, + 136u, 81u, 215u, 106u, + 132u, 88u, 225u, 51u, + 255u, 218u, 125u, 78u, + 124u, 109u, 86u, 85u, + 181u, 255u, 85u, 212u, + 99u, 155u, 89u, 95u, + 60u, 165u, 125u, 56u, + 117u, 230u, 62u, 115u, + 126u, 128u, 186u, 127u, + 0u, 135u, 96u, 146u, + 56u, 233u, 91u, 97u, + 191u, 191u, 175u, 98u, + 241u, 164u, 129u, 211u, + 67u, 255u, 146u, 146u, + 220u, 132u, 86u, 154u, + 11u, 121u, 87u, 245u, + 8u, 124u, 1u, 179u, + 146u, 193u, 113u, 49u, + 43u, 203u, 200u, 93u, + 68u, 174u, 209u, 71u, + 77u, 133u, 222u, 1u, + 78u, 116u, 141u, 148u, + 107u, 155u, 118u, 132u, + 176u, 241u, 114u, 140u, + 15u, 209u, 142u, 134u, + 134u, 152u, 53u, 0u, + 151u, 109u, 174u, 137u, + 255u, 145u, 225u, 198u, + 186u, 98u, 53u, 212u, + 13u, 152u, 173u, 117u, + 149u, 174u, 91u, 133u, + 220u, 240u, 142u, 62u, + 191u, 104u, 85u, 138u, + 255u, 127u, 72u, 137u, + 94u, 134u, 211u, 106u, + 1u, 205u, 194u, 190u, + 144u, 136u, 109u, 97u, + 70u, 149u, 112u, 142u, + 140u, 166u, 114u, 80u, + 149u, 77u, 126u, 1u, + 63u, 58u, 113u, 91u, + 221u, 158u, 135u, 169u, + 91u, 132u, 211u, 77u, + 90u, 125u, 54u, 46u, + 129u, 35u, 227u, 229u, + 255u, 168u, 138u, 78u, + 41u, 202u, 24u, 41u, + 174u, 130u, 133u, 97u, + 16u, 17u, 85u, 46u, + 66u, 135u, 196u, 138u, + 160u, 255u, 68u, 218u, + 118u, 84u, 47u, 184u, + 106u, 1u, 158u, 64u, + 55u, 154u, 136u, 140u, + 219u, 88u, 116u, 107u, + 169u, 94u, 51u, 144u, + 255u, 202u, 233u, 106u, + 109u, 203u, 60u, 10u, + 102u, 143u, 154u, 114u, + 44u, 150u, 120u, 160u, + 23u, 103u, 80u, 151u, + 50u, 163u, 255u, 149u, + 107u, 177u, 115u, 234u, + 77u, 164u, 106u, 130u, + 139u, 102u, 129u, 167u, + 1u, 73u, 178u, 180u, + 114u, 162u, 172u, 178u, + 87u, 254u, 139u, 239u, + 125u, 133u, 116u, 59u, + 96u, 93u, 161u, 151u, + 94u, 8u, 122u, 255u, + 131u, 161u, 30u, 91u, + 164u, 149u, 169u, 174u, + 68u, 134u, 172u, 109u, + 110u, 153u, 0u, 146u, + 63u, 104u, 26u, 64u, + 22u, 134u, 91u, 1u, + 140u, 109u, 106u, 107u, + 87u, 112u, 172u, 124u, + 146u, 110u, 222u, 174u, + 59u, 133u, 174u, 177u, + 156u, 62u, 211u, 164u, + 214u, 131u, 255u, 173u, + 154u, 202u, 145u, 91u, + 72u, 139u, 169u, 19u, + 221u, 124u, 142u, 143u, + 73u, 95u, 109u, 1u, + 85u, 132u, 248u, 211u, + 162u, 113u, 175u, 107u, + 14u, 54u, 169u, 76u, + 66u, 110u, 1u, 110u, + 143u, 226u, 91u, 133u, + 123u, 95u, 155u, 186u, + 255u, 165u, 135u, 70u, + 185u, 122u, 48u, 72u, + 21u, 205u, 27u, 92u, + 153u, 1u, 28u, 129u, + 120u, 179u, 82u, 103u, + 155u, 196u, 29u, 134u, + 3u, 67u, 180u, 198u, + 36u, 255u, 106u, 128u, + 75u, 76u, 131u, 106u, + 167u, 95u, 61u, 83u, + 159u, 130u, 255u, 164u, + 74u, 110u, 125u, 93u, + 41u, 159u, 198u, 204u, + 114u, 147u, 165u, 182u, + 166u, 114u, 7u, 155u, + 144u, 200u, 208u, 93u, + 162u, 164u, 235u, 77u, + 123u, 136u, 127u, 0u, + 147u, 183u, 192u, 119u, + 162u, 108u, 252u, 125u, + 127u, 76u, 181u, 80u, + 181u, 207u, 154u, 255u, + 128u, 116u, 87u, 91u, + 78u, 156u, 137u, 80u, + 255u, 130u, 97u, 89u, + 4u, 80u, 232u, 228u, + 44u, 98u, 145u, 102u, + 33u, 18u, 186u, 154u, + 188u, 154u, 10u, 239u, + 88u, 0u, 95u, 237u, + 45u, 165u, 62u, 178u, + 163u, 82u, 255u, 213u, + 107u, 106u, 177u, 96u, + 199u, 162u, 191u, 124u, + 1u, 92u, 94u, 156u, + 242u, 153u, 87u, 183u, + 92u, 155u, 8u, 131u, + 136u, 111u, 200u, 63u, + 4u, 117u, 28u, 227u, + 1u, 93u, 196u, 186u, + 78u, 162u, 178u, 166u, + 79u, 57u, 170u, 62u, + 113u, 104u, 55u, 206u, + 5u, 181u, 113u, 96u, + 147u, 142u, 78u, 30u, + 45u, 126u, 194u, 1u, + 182u, 245u, 216u, 167u, + 72u, 160u, 130u, 104u, + 255u, 163u, 197u, 183u, + 188u, 229u, 153u, 175u, + 82u, 96u, 175u, 1u, + 153u, 102u, 227u, 118u, + 171u, 49u, 132u, 158u, + 183u, 132u, 86u, 194u, + 223u, 57u, 198u, 103u, + 85u, 83u, 74u, 174u, + 143u, 229u, 238u, 74u, + 235u, 44u, 255u, 87u, + 67u, 184u, 48u, 86u, + 74u, 179u, 50u, 110u, + 55u, 89u, 81u, 126u, + 43u, 203u, 255u, 228u, + 6u, 255u, 48u, 52u, + 152u, 43u, 117u, 207u, + 236u, 127u, 109u, 186u, + 194u, 18u, 60u, 166u, + 189u, 160u, 109u, 1u, + 114u, 98u, 92u, 74u, + 151u, 112u, 93u, 47u, + 174u, 36u, 71u, 158u, + 187u, 73u, 127u, 1u, + 135u, 111u, 146u, 90u, + 79u, 193u, 230u, 114u, + 109u, 100u, 109u, 155u, + 90u, 86u, 207u, 69u, + 11u, 130u, 84u, 1u, + 156u, 11u, 197u, 72u, + 46u, 138u, 165u, 117u, + 153u, 39u, 139u, 122u, + 146u, 227u, 98u, 120u, + 210u, 157u, 124u, 55u, + 146u, 63u, 85u, 1u, + 213u, 105u, 148u, 111u, + 144u, 176u, 82u, 69u, + 110u, 215u, 255u, 76u, + 125u, 165u, 125u, 119u, + 214u, 157u, 200u, 115u, + 123u, 85u, 63u, 15u, + 134u, 255u, 216u, 169u, + 222u, 212u, 174u, 203u, + 96u, 132u, 105u, 85u, + 140u, 208u, 166u, 170u, + 6u, 1u, 86u, 88u, + 136u, 131u, 77u, 168u, + 192u, 107u, 152u, 189u, + 129u, 255u, 79u, 123u, + 234u, 138u, 106u, 159u, + 85u, 65u, 107u, 73u, + 87u, 154u, 98u, 230u, + 125u, 192u, 1u, 152u, + 46u, 142u, 114u, 34u, + 194u, 77u, 61u, 159u, + 255u, 66u, 172u, 176u, + 120u, 144u, 102u, 234u, + 219u, 189u, 136u, 189u, + 206u, 83u, 6u, 178u, + 190u, 159u, 106u, 200u, + 120u, 148u, 162u, 132u, + 185u, 150u, 181u, 138u, + 255u, 112u, 167u, 127u, + 96u, 42u, 48u, 127u, + 170u, 199u, 79u, 1u, + 45u, 243u, 157u, 85u, + 110u, 151u, 37u, 187u, + 128u, 60u, 255u, 125u, + 92u, 97u, 127u, 192u, + 54u, 66u, 167u, 175u, + 14u, 92u, 96u, 70u, + 142u, 82u, 198u, 51u, + 118u, 92u, 1u, 168u, + 112u, 157u, 62u, 145u, + 104u, 123u, 83u, 45u, + 172u, 193u, 84u, 137u, + 115u, 121u, 31u, 97u, + 172u, 141u, 44u, 99u, + 115u, 18u, 79u, 0u, + 163u, 230u, 37u, 45u, + 201u, 39u, 180u, 108u, + 194u, 1u, 194u, 136u, + 96u, 99u, 66u, 220u, + 47u, 54u, 118u, 51u, + 207u, 216u, 214u, 105u, + 77u, 127u, 150u, 39u, + 167u, 184u, 0u, 204u, + 182u, 86u, 134u, 111u, + 121u, 169u, 109u, 89u, + 1u, 211u, 141u, 147u, + 71u, 139u, 127u, 124u, + 82u, 1u, 95u, 99u, + 180u, 141u, 128u, 151u, + 174u, 99u, 240u, 82u, + 189u, 96u, 125u, 210u, + 149u, 162u, 127u, 42u, + 162u, 124u, 133u, 99u, + 216u, 167u, 181u, 172u, + 100u, 1u, 2u, 212u +}; + +const float16 LangIdNNParams::kEmbeddingsQuantScales5[] = { + 15345u, 15491u, 15386u, 15611u, + 15492u, 15618u, 15408u, 15228u, + 15182u, 15749u, 15595u, 15492u, + 15686u, 15621u, 15466u, 15502u, + 15399u, 15746u, 15463u, 15517u, + 15367u, 15407u, 15445u, 15596u, + 15464u, 15267u, 15388u, 15605u, + 15621u, 15500u, 15559u, 15636u, + 15676u, 15632u, 15756u, 15237u, + 15552u, 15548u, 15674u, 15509u, + 15502u, 15425u, 15689u, 15600u, + 15392u, 15333u, 15617u, 15477u, + 15283u, 15494u, 15511u, 15272u, + 15565u, 15394u, 15696u, 15482u, + 15569u, 15576u, 15564u, 15567u, + 15455u, 15609u, 15527u, 15516u, + 15496u, 15672u, 15508u, 15769u, + 15534u, 15311u, 15465u, 15338u, + 15532u, 15544u, 15576u, 15514u, + 15564u, 15515u, 15549u, 15448u, + 15514u, 15492u, 15422u, 15597u, + 15337u, 15427u, 15620u, 15583u, + 15380u, 15414u, 15537u, 15311u, + 15507u, 15624u, 15508u, 15545u, + 15431u, 15756u, 15515u, 15509u +}; + +const uint8 LangIdNNParams::kEmbeddingsWeights5[] = { + 16u, 201u, 218u, 1u, + 164u, 201u, 157u, 119u, + 123u, 27u, 155u, 184u, + 182u, 68u, 96u, 4u, + 172u, 185u, 92u, 255u, + 130u, 34u, 24u, 136u, + 196u, 152u, 135u, 174u, + 112u, 130u, 112u, 237u, + 21u, 221u, 126u, 22u, + 96u, 240u, 109u, 69u, + 83u, 1u, 169u, 156u, + 141u, 34u, 96u, 18u, + 148u, 185u, 55u, 116u, + 49u, 154u, 209u, 95u, + 145u, 82u, 1u, 139u, + 133u, 163u, 191u, 160u, + 162u, 99u, 119u, 191u, + 126u, 77u, 141u, 206u, + 179u, 161u, 128u, 127u, + 85u, 95u, 94u, 255u, + 99u, 195u, 96u, 1u, + 104u, 149u, 148u, 163u, + 152u, 90u, 49u, 116u, + 109u, 13u, 247u, 140u, + 144u, 123u, 83u, 188u, + 165u, 38u, 34u, 153u, + 151u, 195u, 149u, 195u, + 151u, 255u, 48u, 88u, + 183u, 172u, 88u, 255u, + 57u, 170u, 174u, 119u, + 87u, 125u, 148u, 145u, + 51u, 169u, 232u, 108u, + 116u, 23u, 208u, 101u, + 121u, 36u, 188u, 148u, + 1u, 32u, 22u, 106u, + 99u, 134u, 126u, 12u, + 30u, 71u, 138u, 1u, + 112u, 85u, 83u, 83u, + 184u, 58u, 113u, 75u, + 155u, 103u, 31u, 104u, + 1u, 133u, 67u, 109u, + 158u, 73u, 90u, 113u, + 105u, 115u, 118u, 106u, + 132u, 131u, 173u, 144u, + 82u, 168u, 178u, 100u, + 178u, 206u, 181u, 203u, + 128u, 1u, 124u, 146u, + 75u, 114u, 89u, 61u, + 102u, 1u, 159u, 22u, + 61u, 22u, 178u, 127u, + 163u, 77u, 140u, 229u, + 162u, 151u, 80u, 26u, + 176u, 1u, 105u, 147u, + 133u, 115u, 184u, 213u, + 160u, 91u, 192u, 111u, + 114u, 128u, 178u, 175u, + 126u, 98u, 134u, 127u, + 187u, 150u, 111u, 121u, + 67u, 153u, 191u, 123u, + 133u, 118u, 73u, 1u, + 92u, 180u, 136u, 145u, + 182u, 94u, 28u, 121u, + 143u, 182u, 132u, 87u, + 126u, 172u, 110u, 255u, + 107u, 23u, 159u, 72u, + 171u, 141u, 150u, 185u, + 129u, 1u, 188u, 127u, + 76u, 164u, 159u, 64u, + 137u, 0u, 99u, 128u, + 126u, 90u, 139u, 191u, + 173u, 96u, 207u, 141u, + 106u, 116u, 181u, 152u, + 134u, 122u, 101u, 49u, + 86u, 137u, 203u, 114u, + 82u, 146u, 108u, 168u, + 116u, 147u, 145u, 1u, + 141u, 255u, 109u, 98u, + 56u, 253u, 159u, 156u, + 23u, 53u, 79u, 109u, + 127u, 21u, 210u, 192u, + 49u, 130u, 211u, 85u, + 114u, 155u, 212u, 65u, + 135u, 21u, 125u, 65u, + 71u, 106u, 147u, 0u, + 166u, 183u, 197u, 18u, + 98u, 188u, 109u, 24u, + 1u, 165u, 73u, 146u, + 84u, 22u, 119u, 18u, + 214u, 158u, 127u, 130u, + 165u, 104u, 38u, 82u, + 130u, 175u, 138u, 130u, + 255u, 197u, 165u, 215u, + 110u, 154u, 125u, 92u, + 179u, 95u, 37u, 206u, + 132u, 145u, 176u, 149u, + 149u, 133u, 131u, 255u, + 1u, 159u, 144u, 144u, + 135u, 180u, 175u, 80u, + 137u, 51u, 160u, 93u, + 113u, 65u, 183u, 106u, + 141u, 72u, 110u, 215u, + 115u, 64u, 97u, 107u, + 190u, 255u, 173u, 135u, + 150u, 205u, 182u, 209u, + 67u, 53u, 134u, 122u, + 177u, 30u, 186u, 72u, + 51u, 189u, 209u, 1u, + 126u, 188u, 150u, 135u, + 109u, 106u, 145u, 219u, + 116u, 147u, 209u, 13u, + 191u, 56u, 195u, 82u, + 114u, 125u, 193u, 1u, + 64u, 234u, 195u, 129u, + 124u, 175u, 64u, 1u, + 104u, 158u, 83u, 81u, + 121u, 34u, 37u, 166u, + 59u, 197u, 39u, 217u, + 16u, 222u, 255u, 27u, + 15u, 250u, 37u, 113u, + 226u, 52u, 147u, 161u, + 158u, 185u, 187u, 45u, + 159u, 94u, 154u, 45u, + 35u, 131u, 106u, 189u, + 189u, 233u, 172u, 0u, + 144u, 17u, 90u, 128u, + 158u, 94u, 255u, 233u, + 155u, 120u, 169u, 44u, + 75u, 194u, 253u, 151u, + 86u, 92u, 139u, 145u, + 160u, 154u, 115u, 176u, + 107u, 123u, 255u, 143u, + 170u, 92u, 166u, 105u, + 141u, 33u, 65u, 72u, + 132u, 75u, 143u, 216u, + 109u, 79u, 141u, 118u, + 99u, 240u, 238u, 0u, + 84u, 92u, 112u, 65u, + 104u, 220u, 180u, 204u, + 94u, 40u, 119u, 0u, + 99u, 75u, 173u, 126u, + 23u, 20u, 203u, 204u, + 229u, 132u, 119u, 115u, + 109u, 132u, 56u, 156u, + 74u, 255u, 91u, 61u, + 0u, 88u, 41u, 84u, + 96u, 130u, 94u, 20u, + 159u, 144u, 101u, 3u, + 223u, 19u, 103u, 193u, + 79u, 189u, 101u, 135u, + 153u, 119u, 195u, 128u, + 68u, 96u, 71u, 119u, + 98u, 189u, 255u, 87u, + 104u, 81u, 67u, 1u, + 80u, 130u, 160u, 153u, + 115u, 74u, 111u, 177u, + 175u, 82u, 164u, 74u, + 72u, 173u, 205u, 117u, + 141u, 102u, 171u, 72u, + 1u, 169u, 174u, 143u, + 190u, 123u, 199u, 74u, + 204u, 207u, 236u, 125u, + 255u, 157u, 124u, 211u, + 36u, 132u, 104u, 143u, + 91u, 241u, 111u, 129u, + 146u, 111u, 184u, 174u, + 146u, 93u, 133u, 117u, + 1u, 121u, 197u, 108u, + 75u, 111u, 215u, 43u, + 91u, 1u, 71u, 84u, + 95u, 92u, 128u, 167u, + 188u, 88u, 204u, 128u, + 133u, 72u, 147u, 106u, + 19u, 193u, 132u, 139u, + 158u, 164u, 94u, 141u, + 32u, 182u, 164u, 120u, + 186u, 125u, 86u, 255u, + 113u, 192u, 100u, 48u, + 69u, 199u, 103u, 0u, + 77u, 80u, 137u, 111u, + 202u, 90u, 118u, 25u, + 3u, 201u, 74u, 43u, + 140u, 62u, 107u, 58u, + 146u, 139u, 23u, 167u, + 255u, 49u, 65u, 240u, + 119u, 111u, 161u, 164u, + 32u, 181u, 219u, 102u, + 106u, 71u, 104u, 178u, + 98u, 0u, 190u, 38u, + 74u, 220u, 120u, 148u, + 124u, 166u, 140u, 24u, + 101u, 255u, 34u, 130u, + 228u, 140u, 7u, 202u, + 211u, 55u, 180u, 53u, + 155u, 3u, 113u, 122u, + 194u, 128u, 126u, 89u, + 40u, 142u, 74u, 1u, + 81u, 123u, 169u, 71u, + 158u, 137u, 76u, 44u, + 127u, 101u, 185u, 138u, + 171u, 205u, 166u, 1u, + 58u, 106u, 151u, 87u, + 149u, 142u, 106u, 190u, + 84u, 123u, 255u, 179u, + 215u, 66u, 200u, 95u, + 255u, 158u, 115u, 37u, + 200u, 162u, 72u, 58u, + 54u, 111u, 202u, 199u, + 146u, 89u, 166u, 184u, + 91u, 92u, 87u, 216u, + 118u, 160u, 102u, 84u, + 186u, 139u, 93u, 1u, + 99u, 19u, 74u, 196u, + 147u, 19u, 146u, 98u, + 180u, 1u, 125u, 130u, + 198u, 155u, 124u, 168u, + 129u, 131u, 109u, 144u, + 104u, 197u, 217u, 132u, + 199u, 143u, 77u, 38u, + 177u, 82u, 113u, 1u, + 37u, 93u, 62u, 73u, + 3u, 245u, 158u, 114u, + 113u, 240u, 76u, 1u, + 99u, 97u, 58u, 70u, + 202u, 27u, 69u, 149u, + 185u, 1u, 144u, 65u, + 180u, 69u, 57u, 240u, + 199u, 108u, 193u, 120u, + 120u, 187u, 129u, 132u, + 163u, 180u, 192u, 95u, + 82u, 197u, 255u, 54u, + 90u, 54u, 1u, 63u, + 82u, 187u, 92u, 98u, + 75u, 200u, 146u, 145u, + 204u, 61u, 77u, 160u, + 168u, 83u, 122u, 174u, + 29u, 216u, 101u, 1u, + 121u, 131u, 137u, 179u, + 85u, 43u, 110u, 71u, + 155u, 211u, 153u, 255u, + 141u, 114u, 112u, 171u, + 151u, 163u, 142u, 1u, + 146u, 61u, 91u, 152u, + 135u, 189u, 117u, 179u, + 205u, 171u, 154u, 110u, + 150u, 86u, 111u, 150u, + 138u, 96u, 82u, 163u, + 175u, 157u, 142u, 113u, + 151u, 141u, 74u, 255u, + 187u, 136u, 255u, 135u, + 164u, 146u, 174u, 37u, + 142u, 85u, 89u, 43u, + 59u, 163u, 93u, 75u, + 223u, 41u, 241u, 193u, + 124u, 128u, 249u, 159u, + 92u, 177u, 96u, 63u, + 92u, 144u, 1u, 122u, + 127u, 184u, 89u, 227u, + 159u, 1u, 65u, 117u, + 190u, 213u, 111u, 137u, + 136u, 202u, 107u, 217u, + 191u, 159u, 255u, 112u, + 212u, 174u, 58u, 138u, + 129u, 134u, 202u, 46u, + 86u, 99u, 90u, 152u, + 121u, 120u, 132u, 150u, + 96u, 51u, 124u, 114u, + 163u, 201u, 147u, 255u, + 194u, 145u, 118u, 192u, + 91u, 165u, 190u, 189u, + 142u, 167u, 156u, 0u, + 112u, 137u, 119u, 83u, + 126u, 98u, 88u, 84u, + 176u, 66u, 134u, 11u, + 141u, 50u, 155u, 197u, + 104u, 114u, 145u, 199u, + 110u, 255u, 181u, 33u, + 105u, 75u, 226u, 108u, + 118u, 1u, 206u, 18u, + 131u, 120u, 41u, 74u, + 6u, 173u, 103u, 19u, + 61u, 83u, 63u, 99u, + 118u, 29u, 12u, 100u, + 122u, 206u, 195u, 129u, + 250u, 82u, 64u, 255u, + 131u, 45u, 138u, 101u, + 94u, 163u, 232u, 255u, + 154u, 93u, 168u, 103u, + 127u, 174u, 73u, 137u, + 164u, 5u, 200u, 144u, + 114u, 189u, 207u, 203u, + 93u, 41u, 193u, 0u, + 25u, 88u, 129u, 58u, + 88u, 219u, 199u, 199u, + 105u, 219u, 219u, 25u, + 38u, 132u, 78u, 119u, + 153u, 178u, 123u, 1u, + 152u, 0u, 126u, 105u, + 100u, 133u, 215u, 172u, + 167u, 85u, 170u, 127u, + 89u, 163u, 125u, 43u, + 27u, 75u, 40u, 160u, + 182u, 35u, 56u, 85u, + 106u, 255u, 209u, 186u, + 159u, 150u, 222u, 192u, + 109u, 76u, 65u, 59u, + 22u, 219u, 208u, 39u, + 145u, 146u, 56u, 82u, + 153u, 1u, 116u, 114u, + 175u, 157u, 106u, 119u, + 74u, 137u, 159u, 109u, + 23u, 131u, 87u, 140u, + 72u, 165u, 160u, 1u, + 143u, 207u, 99u, 140u, + 90u, 180u, 178u, 78u, + 163u, 106u, 1u, 113u, + 96u, 143u, 146u, 181u, + 156u, 196u, 145u, 247u, + 169u, 147u, 188u, 180u, + 19u, 255u, 175u, 156u, + 172u, 227u, 210u, 248u, + 99u, 141u, 105u, 211u, + 131u, 140u, 70u, 134u, + 182u, 173u, 112u, 125u, + 126u, 122u, 20u, 255u, + 60u, 125u, 90u, 178u, + 96u, 163u, 67u, 80u, + 105u, 154u, 156u, 1u, + 146u, 112u, 150u, 230u, + 48u, 62u, 109u, 1u, + 152u, 113u, 117u, 85u, + 101u, 155u, 168u, 77u, + 242u, 110u, 201u, 136u, + 137u, 77u, 103u, 101u, + 144u, 137u, 219u, 222u, + 94u, 125u, 156u, 80u, + 95u, 160u, 255u, 139u, + 70u, 221u, 131u, 42u, + 151u, 123u, 68u, 73u, + 134u, 191u, 71u, 123u, + 255u, 87u, 49u, 202u, + 63u, 1u, 78u, 221u, + 159u, 47u, 163u, 158u, + 112u, 219u, 169u, 82u, + 163u, 226u, 154u, 97u, + 104u, 206u, 237u, 6u, + 210u, 122u, 118u, 245u, + 41u, 65u, 99u, 255u, + 63u, 210u, 131u, 113u, + 117u, 146u, 52u, 53u, + 42u, 225u, 181u, 98u, + 183u, 1u, 9u, 29u, + 99u, 104u, 160u, 155u, + 51u, 27u, 115u, 255u, + 140u, 70u, 176u, 61u, + 213u, 19u, 233u, 186u, + 122u, 87u, 179u, 60u, + 1u, 163u, 54u, 74u, + 134u, 154u, 72u, 30u, + 133u, 174u, 89u, 49u, + 241u, 52u, 100u, 172u, + 112u, 220u, 150u, 177u, + 169u, 87u, 57u, 172u, + 118u, 184u, 205u, 255u, + 169u, 155u, 164u, 192u, + 144u, 52u, 192u, 98u, + 69u, 57u, 162u, 160u, + 255u, 179u, 118u, 185u, + 28u, 86u, 70u, 108u, + 92u, 255u, 114u, 145u, + 118u, 78u, 108u, 34u, + 135u, 164u, 86u, 189u, + 156u, 167u, 104u, 165u, + 110u, 73u, 101u, 152u, + 182u, 104u, 224u, 242u, + 109u, 140u, 141u, 90u, + 87u, 212u, 255u, 193u, + 124u, 142u, 175u, 73u, + 109u, 160u, 204u, 96u, + 56u, 75u, 87u, 157u, + 101u, 127u, 200u, 1u, + 108u, 122u, 159u, 81u, + 181u, 129u, 47u, 255u, + 115u, 118u, 228u, 165u, + 143u, 114u, 149u, 131u, + 194u, 179u, 27u, 210u, + 134u, 142u, 34u, 206u, + 178u, 168u, 115u, 188u, + 227u, 176u, 57u, 255u, + 114u, 186u, 145u, 112u, + 125u, 114u, 102u, 18u, + 93u, 255u, 44u, 122u, + 165u, 113u, 32u, 155u, + 98u, 193u, 87u, 33u, + 181u, 1u, 8u, 124u, + 211u, 200u, 132u, 233u, + 178u, 240u, 99u, 222u, + 163u, 117u, 255u, 121u, + 203u, 190u, 203u, 128u, + 68u, 79u, 147u, 152u, + 126u, 207u, 164u, 43u +}; + +const int LangIdNNParams::kHiddenNumRows[] = {80}; + +const int LangIdNNParams::kHiddenNumCols[] = {208}; + +const float LangIdNNParams::kHiddenWeights0[] = { + 0.0055438327f, 0.006121323f, -0.6130986f, 0.011358412f, + -0.24904737f, 0.0013105752f, 0.049118876f, 0.024627045f, + 0.0044371486f, 0.1878761f, -0.0009123937f, 0.017067833f, + -0.013430343f, 0.0021840474f, 0.17912087f, -0.024405085f, + 0.029278088f, -0.0018431976f, 0.008366278f, 0.010326646f, + 0.0007790954f, 0.009340239f, -0.26540864f, 0.0019623924f, + -0.1374129f, -0.009155667f, -0.006172319f, -0.045014728f, + -0.0791986f, 0.22250272f, 0.01093374f, 0.0098887505f, + 0.0198656f, 0.030331021f, 0.01861249f, 0.009383037f, + 0.013152254f, -0.014789522f, -0.004870267f, 0.0060533285f, + -0.061748058f, 0.002460513f, 0.054705523f, 0.010801623f, + -0.06588886f, -0.0011319848f, -0.01548539f, 0.013585477f, + 0.0023100239f, 0.015127559f, -0.012442267f, -0.036515363f, + 0.0066132625f, 0.0011073126f, 0.0048063495f, -0.00855078f, + -0.15588433f, -0.05817704f, -0.07539406f, 0.040960014f, + -0.0014563288f, -2.9055054e-05f, -0.008036686f, 0.30515048f, + 0.01708528f, -0.15042636f, 0.09590111f, 0.009323509f, + 0.04424292f, -0.0035161893f, 0.0043498203f, -0.0031112984f, + 0.11581452f, 0.0062541557f, 0.03819449f, -0.0027044753f, + 0.009228842f, 0.02719591f, 6.526655e-05f, -0.004026002f, + 0.0020858014f, 0.030755911f, 0.01903594f, -0.0002764487f, + 0.003162601f, 0.034881573f, 0.021350997f, 0.0015064531f, + -0.0068919216f, -0.220686f, 0.032344546f, -0.00096531044f, + 0.036135115f, 0.0056493953f, 0.012495903f, -0.036851387f, + 0.0052843085f, -0.20660809f, 0.09673514f, -0.0459264f, + -0.19556762f, 0.007981701f, -0.094217755f, 0.010938255f, + 0.0029916451f, 0.0022379237f, -0.045892276f, -0.0020711306f, + 0.008314466f, 0.004206805f, 0.028373208f, 0.010115378f, + 0.0154351f, 0.010618946f, -0.031164907f, 0.022835521f, + -0.12017471f, 0.029761272f, 0.057312936f, -0.0116307475f, + -0.06874991f, -0.0031616616f, 0.15407008f, 0.010456005f, + 0.012282399f, 0.0028137164f, 0.016210806f, -0.0022362277f, + -0.06402911f, -0.026422618f, 0.0042830454f, 0.007601109f, + -0.01905496f, -0.0027831143f, -0.0015240601f, -0.032905113f, + -0.004927879f, 0.013781159f, 0.00097190175f, 0.37954146f, + -0.007538219f, 0.24256834f, -0.04891233f, 0.0014381834f, + 0.012229447f, -6.131202e-05f, 0.0035957564f, 0.04779286f, + -0.031743206f, 0.004844833f, -0.025012035f, 0.013232069f, + 0.0061633796f, -0.4497885f, 0.001826926f, 0.01742167f, + 0.09605109f, 0.005904355f, -0.14243735f, -0.106969945f, + 0.0008715465f, -0.031494454f, -0.00019970644f, 0.0041882508f, + -0.030810824f, 0.0092503335f, -0.003973055f, 0.0043617426f, + -0.0014272921f, 0.002685691f, -0.19498438f, -0.05858236f, + -0.05367205f, -0.0020967787f, -9.363355e-05f, -0.0074316985f, + 0.010548169f, 0.020454785f, -0.06165393f, -0.027417442f, + 0.0067889104f, -0.052229866f, -0.084573224f, -0.0032624674f, + -0.1095487f, 0.0018077974f, 0.004212426f, -0.057578925f, + 0.001400686f, 0.0071150707f, 0.044791f, 0.015976004f, + -0.24658069f, -0.019906001f, -0.03952184f, -0.0026615015f, + 0.01209705f, 0.15344182f, -0.0008354965f, 0.029792393f, + -0.0051114634f, -0.006969946f, -0.04807466f, 0.010284299f, + 0.008203293f, -0.005593931f, 0.036034364f, 0.014091173f, + 0.025440425f, 0.011691974f, 0.22875144f, 0.0077962046f, + 0.09931652f, 0.010335041f, -0.04887764f, 0.06991758f, + 0.028346287f, -0.1568082f, -0.01633638f, -0.00074138865f, + -0.005661694f, -0.009570243f, 0.16051465f, 0.0055266214f, + 0.06392003f, -0.016097832f, 0.0019397525f, 0.033166483f, + 0.0020371557f, 0.01936814f, 0.26557335f, 0.0017102716f, + -0.17524391f, -0.008141556f, -0.012666238f, 0.036791492f, + -0.07125565f, -0.10536201f, -0.01541879f, 0.030466659f, + 0.014526148f, -0.1308191f, 0.04911432f, -0.0036254772f, + 0.017555458f, -0.009292092f, 0.008073721f, 0.0050214357f, + -0.07562362f, -0.009486691f, -0.12601969f, 0.0035293323f, + -0.18424663f, 0.046252456f, -0.056168962f, -0.025184115f, + 0.053047575f, -0.019543735f, 0.048770413f, 0.021018691f, + -0.011055255f, 0.0012675355f, 0.009644285f, -0.00080474094f, + -0.04611168f, -0.057724755f, 0.019683676f, 0.02260603f, + 0.0014054867f, -0.005527405f, -0.014988076f, 0.3115694f, + -0.0023986932f, -0.13515158f, 0.07987137f, 0.0125136785f, + -0.012152583f, -0.0025880842f, 0.00042009912f, -0.009727714f, + 0.17593612f, -0.01712744f, 0.04644306f, 0.010049346f, + 0.00792393f, -0.44661683f, -0.018038817f, -0.0261866f, + -0.00041062958f, -0.10899811f, 0.04204847f, -0.020531822f, + -0.001772331f, 0.058540247f, -0.058951292f, 0.0668488f, + -0.016538458f, -0.14214537f, -0.025331464f, -0.0038897826f, + 0.014789399f, 0.01862716f, 0.026914597f, -0.288806f, + 0.0057862564f, 0.019008687f, -0.33104867f, 0.095154814f, + 0.10551452f, 0.01660164f, 0.17406175f, -0.011021057f, + -0.018099666f, 0.00018472507f, 0.13515553f, -0.008720724f, + -0.011899676f, 0.02305671f, 0.0022345888f, -0.0045586303f, + -0.012631391f, 0.022891335f, 0.1213485f, 0.06132337f, + -0.040417973f, -0.013348546f, -0.054895062f, 0.0061546685f, + -0.020349247f, -0.014724794f, -0.28968993f, -0.0032419146f, + 0.0182386f, 0.008810574f, -0.011622318f, -0.0064354977f, + 0.08087625f, -0.013807721f, -0.020827662f, 0.009258346f, + -0.011345245f, -0.004159414f, -0.0003167899f, 0.0031197788f, + -0.002272455f, -0.00041689927f, 0.021955583f, 0.2940003f, + -0.006763404f, 0.030792283f, -0.029734768f, 0.001219185f, + 0.0011985662f, -0.026900306f, 4.604991e-05f, 0.24964073f, + -0.05888491f, 0.0224196f, -0.006709592f, -0.0057738936f, + 0.028916467f, -0.24573748f, 0.019534716f, 0.05793403f, + -0.17847644f, -0.003144348f, -0.11462238f, -0.2869773f, + -0.0075337873f, -0.102883816f, -0.029716806f, 0.0069114924f, + 0.041947905f, -0.0045164498f, -0.038533762f, -0.06607847f, + -0.0027511907f, 0.02819647f, 0.006130282f, 0.065081224f, + -0.067661315f, 0.0011542395f, -0.00096501264f, -0.0011097055f, + 0.00710727f, 0.04819025f, 0.046788227f, 0.14584209f, + -0.0021500578f, 0.052902013f, 0.031577066f, -0.00088431034f, + -0.017364733f, -0.006599756f, -0.017440775f, -0.044069167f, + -0.00082908996f, 0.013839106f, 0.05568766f, 0.017626228f, + -0.038839303f, -0.014157442f, -0.014094078f, -0.005645087f, + 0.00889389f, -0.34182253f, -0.004129997f, 0.0010649742f, + -0.003994457f, 0.015435729f, -0.057376757f, -0.0078734495f, + 0.025758866f, 0.0077668587f, 0.08443512f, -0.0087169865f, + -0.010646654f, 0.014710016f, 0.26692545f, -0.0036403937f, + 0.12547399f, -0.00785795f, -0.008018144f, -0.012236925f, + -0.023003425f, -0.007457364f, -0.0075452896f, 0.014465333f, + -0.13428602f, -0.025485318f, -0.07072867f, 0.013699107f, + -0.04991588f, -0.0037046883f, 0.0040668254f, 0.0057441965f, + 0.0045345305f, -0.009402122f, 0.10669224f, -0.0013956747f, + 0.12841064f, -5.4712913e-05f, -0.002746859f, 0.019387443f, + -0.20354253f, 0.04283828f, -0.021156115f, -0.01374572f, + -0.023761118f, -0.03224195f, 0.0010605513f, -0.0061359517f, + -0.010842123f, -0.032693196f, 0.0016928436f, -0.012999403f, + -0.044672854f, 0.0021749812f, -0.101816684f, -0.013118214f, + -0.17108053f, -0.019801812f, -0.026577683f, 0.01585304f, + 0.011029184f, 0.026128389f, -0.00079824554f, -0.14265795f, + -0.004280624f, -0.0031539593f, 0.008145832f, -0.3008097f, + -0.046745878f, -0.16013521f, 0.060263623f, -0.043916855f, + -0.0021772445f, 0.002396182f, -0.0052376883f, 0.0026859469f, + -0.0064182077f, -0.10041129f, -0.066425584f, 0.0057354895f, + -0.0092000635f, -0.004561931f, 0.0055908463f, 0.023924518f, + 0.04645522f, 0.0047485894f, -0.012308861f, -0.0061037503f, + 0.0018759472f, 0.05256515f, -0.0051931543f, -0.026874125f, + -0.0029565585f, 0.28140047f, -0.036170516f, -0.015987003f, + -0.005008949f, 0.029167479f, 0.06486878f, 0.011649322f, + 0.0048009423f, -0.06172381f, 0.021186048f, 0.002081344f, + 0.035827037f, 0.009022272f, -0.037609667f, -0.11577567f, + -0.016729027f, 0.017031748f, 0.271903f, -0.021213574f, + -0.00027915623f, 0.008530332f, 0.04854837f, 0.0018896415f, + -0.0029518495f, -0.0024801085f, -0.24750835f, 0.00020527051f, + -0.003626586f, -0.014191836f, -0.0040737595f, 0.01234723f, + 0.004910169f, -0.0134741245f, 0.015649825f, -0.011172739f, + 0.27675354f, 0.055099588f, 0.06052011f, 0.00361583f, + 0.032975294f, -0.0018268999f, 0.021037493f, 0.004011109f, + -0.0038727715f, 0.0033930957f, -0.016723791f, -0.008844552f, + -0.036812644f, -0.0048693027f, 0.033951275f, 0.002413584f, + 0.004048765f, -0.002131823f, 0.00034507597f, 0.016772058f, + -0.0009882435f, 0.015382035f, -0.019767886f, 0.35756364f, + 0.0018205543f, 0.10418363f, 0.013071072f, 0.0025029215f, + 0.0012110391f, -0.004799309f, 0.006600619f, 0.2542326f, + 0.008353529f, -0.00072054786f, -0.026339116f, 0.020340167f, + -0.018623803f, -0.009017177f, -0.0047154175f, 0.18302369f, + -0.28711015f, -0.0010119247f, -0.07905169f, 0.48688665f, + 0.004776477f, 0.004793285f, 0.029375648f, -0.0017348857f, + 0.043913238f, 0.009119298f, -0.007751698f, -0.052779745f, + -0.00047313792f, -0.010235697f, 0.19207507f, 0.0744669f, + -0.0027792454f, -0.0071423333f, -0.00019004934f, 0.026022613f, + 0.012333517f, -0.029118512f, -0.109466374f, -0.20837292f, + -0.017251892f, 0.041166153f, -0.01470998f, -0.0014326181f, + 0.012604199f, 0.016383111f, -0.031545952f, -0.10653464f, + 0.004234108f, 0.0026454267f, -0.024333242f, -0.053684406f, + -0.08468923f, 0.0052721477f, 0.23863518f, 0.0055177244f, + 0.0015463284f, 0.12244364f, 0.0012953874f, 0.011592855f, + 0.004271294f, -0.023230975f, -0.03991712f, 0.017901007f, + -0.02164662f, 0.0043782415f, 0.07525769f, 0.00211061f, + 0.009522794f, 0.009955519f, -0.06855509f, 0.01777404f, + 0.060447033f, 0.020717144f, 0.003848966f, 0.012222441f, + 0.020488182f, -0.21534117f, 0.007761015f, 0.0104436865f, + 0.018402008f, 0.008580181f, -0.34554425f, 0.029562525f, + 0.01447637f, 2.9635532e-05f, 0.0052230693f, 0.013866713f, + 0.0031341005f, -0.002982263f, 0.102144815f, 3.3002452e-05f, + 0.22694622f, 0.041244574f, 0.004535295f, 0.038811527f, + 0.29727608f, -0.38288838f, 0.0144491615f, 0.001430447f, + -0.015487341f, 0.10725863f, 0.02489245f, 0.011276117f, + 0.052727584f, 0.0007073286f, 0.0015961506f, -0.00069692184f, + -0.05512769f, 0.02487039f, -0.14931394f, 0.0038857583f, + -0.115273006f, 0.011226952f, 0.053854506f, 0.046316344f, + 0.037712272f, 0.021349065f, 0.03911525f, 0.07261281f, + 0.003053824f, -0.0018666574f, 0.0016394934f, 0.25381097f, + 0.22642186f, -0.016559875f, 0.03327549f, -0.001108491f, + 0.0011012153f, -0.0002143856f, 0.024184255f, -0.31116974f, + 0.009539603f, -0.051876515f, -0.04169711f, 0.0076688603f, + 0.03639722f, 0.001169193f, 0.0069029504f, 0.032856736f, + 0.32984143f, 0.006242301f, 0.014043269f, -0.0010220681f, + -0.0035474673f, 0.2243721f, 0.030613666f, 0.048067458f, + -0.002115086f, -0.12813306f, -0.009609685f, 0.032716595f, + 0.0016441629f, 0.05569492f, 0.054189265f, 0.04720799f, + 0.03896892f, 0.06959964f, 0.02653023f, -0.0011579007f, + 0.045615163f, 0.021720769f, 0.0037299283f, -0.02552412f, + 0.0063135154f, 0.027984383f, 0.036793675f, -0.030336183f, + 0.22654374f, 0.009598657f, 0.07228554f, 0.006091316f, + 0.014765914f, -0.0014610458f, 0.07505419f, 0.0010566065f, + -0.011894424f, -0.007239693f, -0.022713514f, 0.013045112f, + 0.032192186f, 0.0041472344f, 0.029682716f, 0.0062230676f, + 0.044676878f, 0.01751557f, -0.0010204847f, -0.0006833903f, + 0.06337842f, -0.0001224741f, -0.14377995f, 0.0032627683f, + 0.0041261036f, 0.007243585f, -0.005074503f, 0.0011899507f, + -0.04950547f, 0.025883056f, -0.0013257879f, -0.002422245f, + 0.012040607f, -0.0011370071f, -0.00034068784f, -0.0022763815f, + -0.00090205984f, 0.013679832f, 0.011781621f, 0.21043818f, + 0.0011080168f, 0.13092478f, 0.009376598f, 0.0014659724f, + 0.004600854f, 0.02348321f, 0.0048815575f, -0.06405563f, + 0.041178312f, 0.009015415f, -0.0001274563f, 0.0103720315f, + 0.0017310856f, -0.09543433f, -0.0020198317f, -0.24044976f, + 0.061626524f, 0.00693575f, 0.014844393f, 0.26264238f, + 0.0036561475f, 0.032547362f, 0.018976696f, 0.0028236038f, + 0.038300093f, -0.016552867f, 0.020858197f, 0.036009956f, + 0.0013492481f, -0.012542278f, 0.17004775f, 0.09815279f, + 0.069597736f, 0.021304807f, 0.0036809538f, 0.020387648f, + 0.0027159865f, -0.017258644f, -0.21998797f, 0.031211786f, + 0.010181579f, 0.12038349f, -0.016177183f, 2.3821125e-05f, + -0.05010594f, 0.0029280004f, 0.0028548f, -0.029591667f, + -0.00082215696f, 0.010560293f, 0.09952369f, -0.008306438f, + 0.122285545f, 0.0021733968f, -0.047473837f, 0.0010913584f, + 0.0013969231f, 0.18123387f, -0.001695146f, 0.03856581f, + 0.00018555862f, 0.019944394f, 0.055140093f, 0.0066546053f, + -0.0012280842f, -0.0035089573f, 0.12299846f, -0.011583998f, + 0.015687926f, 0.018771496f, 0.09121631f, 0.011726651f, + -0.3415604f, 0.009834352f, -0.008968053f, 0.028070997f, + 0.037398256f, -0.20600373f, 0.007852086f, 0.016998544f, + 0.068206936f, 0.008439249f, -0.0045025316f, -0.023583353f, + -0.0005695698f, -0.004809391f, 0.006322107f, 0.013592706f, + 0.012301552f, 0.007781827f, -0.074910656f, 0.0034196367f, + 0.0886728f, 0.019198144f, 0.0019104021f, 0.04561018f, + -0.14348222f, -0.17197733f, -0.002690504f, 0.0031934287f, + 0.041876413f, -0.043491606f, 0.015308039f, 0.00537615f, + 0.020553451f, -0.019865412f, 0.00041374267f, 0.006573813f, + 0.052993033f, -0.00163323f, 0.0441257f, 0.012503601f, + -0.19757655f, 0.051763818f, 0.05226168f, 0.021073394f, + 0.045336723f, 0.016596947f, 0.022277713f, -0.05093642f, + 0.003969471f, 0.0052919285f, 0.010997635f, 0.08150889f, + -0.17213131f, 0.064788364f, -0.0556453f, 0.058084134f, + 0.0017828115f, -0.0017725978f, 0.037026893f, -0.15272397f, + 0.008442053f, -0.15885375f, 0.055777766f, 0.02091623f, + 0.0040216125f, 0.0064139892f, -0.0017552935f, -0.03886535f, + -0.06509005f, -0.010478659f, 0.025686849f, 0.007960161f, + 0.0020484761f, -0.4615201f, 0.015585915f, -0.034009226f, + 0.0059234644f, -0.2662679f, 0.033967126f, -0.02458608f, + 0.003140815f, 0.038181093f, 0.09910824f, 0.0452179f, + 0.0011101087f, -0.019728502f, -0.01779242f, -0.00011132655f, + -0.0007249738f, 0.023445945f, 0.020889504f, -0.30222708f, + 0.016371334f, -0.11166242f, -0.0024893985f, 0.08531613f, + 0.029904353f, 0.013565008f, -0.026126046f, 0.00090050296f, + 0.003929063f, 0.005701322f, -0.06181187f, 3.2569133e-05f, + -0.0025217256f, 0.0052204076f, 0.01834912f, 0.020104144f, + 0.018017123f, 0.004313703f, -0.04571334f, 0.034729518f, + -0.08869013f, -0.024686165f, 0.03229027f, -0.0007223545f, + -0.038628064f, -0.004068548f, 0.21237212f, -0.0006159212f, + -0.0040773656f, 0.018236615f, 0.004616888f, 0.0045675384f, + -0.22630164f, 0.005028187f, 0.043263823f, 0.0043929825f, + 0.008404703f, 0.0014006027f, 0.0036091853f, 0.041411933f, + 0.0010605333f, 0.014862628f, -0.005477582f, 0.109028f, + 0.00062737265f, 0.1989594f, -0.004502329f, 0.005164968f, + 0.0058290143f, 0.017733814f, 0.00093469745f, -0.075581506f, + 0.011161983f, 0.00947858f, 0.0061076656f, 0.01313311f, + 0.020679062f, 0.23775038f, 0.0012848104f, -0.15623039f, + 0.17759638f, -0.00058967306f, 0.013840144f, 0.43633148f, + 0.0066989856f, -0.030210605f, 0.10965444f, 0.0018922101f, + 0.031724956f, 0.008829292f, 0.0010297938f, -0.018649796f, + 0.0025210208f, 0.029587662f, -0.009414756f, 0.035032403f, + -0.024229445f, 0.025130868f, -0.0042342176f, -0.024290549f, + 0.0030654562f, 0.003784227f, 0.107903615f, 0.08018437f, + 0.01468227f, 0.049681906f, -0.063488625f, 0.00063991145f, + -0.36038196f, 0.0040912456f, 0.021906478f, 0.08981686f, + -0.00079598645f, -0.0015893892f, -0.040067166f, 0.03988621f, + 0.02914674f, 0.011588454f, -0.04991918f, -0.0020628572f, + -0.002989789f, -0.20788868f, 0.00013578744f, 0.014771804f, + -0.0026381484f, 0.039701227f, 0.0124620665f, 0.006164932f, + 0.021655774f, 0.011749069f, -0.0893305f, 0.009843379f, + 0.010568396f, 0.02545125f, 0.08536679f, 0.043717057f, + 0.028438495f, 0.025641493f, 0.030633103f, 0.011526527f, + 0.020211188f, -0.046976753f, 0.0014591482f, 0.02407188f, + -0.027057413f, 0.019729732f, 0.018737612f, 0.059645474f, + 0.07585192f, -6.297434e-05f, 0.004969191f, 0.01767422f, + -0.0040772217f, 0.015669344f, 0.11507133f, -0.0025411837f, + 0.0104911355f, 0.026532413f, 0.0026865373f, -0.023776121f, + 0.2331885f, -0.22464971f, 0.038966622f, 0.025192821f, + -0.03662851f, -0.113928884f, 0.03281119f, 0.010676447f, + 0.072130404f, 0.06666872f, -0.00039114946f, 0.002769662f, + -0.08648446f, 0.00836028f, -0.06701798f, 0.009591303f, + 0.36451566f, -0.0057284757f, 0.11541523f, 0.013092721f, + 0.033504248f, 0.04801747f, 0.057911895f, -0.01754153f, + 0.002184714f, -0.007971618f, 0.01480725f, -0.036110654f, + 0.0045352103f, -0.025177637f, 0.010407808f, -0.13461687f, + 0.0011076726f, -0.0011258988f, -0.013623482f, 0.07592421f, + 0.023446893f, 0.040728644f, 0.11734141f, 0.021975536f, + 0.008107446f, -0.0007643744f, 0.01144556f, 0.011739364f, + -0.4672068f, -0.0026461747f, 0.005961507f, 0.011720536f, + 0.013395916f, -0.014140453f, -0.05013367f, 0.01598248f, + -0.004964306f, 0.12591034f, 0.009356985f, -0.0050785905f, + 0.0010016494f, -0.025931112f, 0.067348324f, 0.008783509f, + 0.0062956074f, -0.036777046f, -0.03758303f, -0.0024304427f, + -0.019002007f, 0.019574571f, -0.021014148f, -0.18268879f, + 0.0022638766f, 0.040850457f, 0.29637992f, -0.08498703f, + 0.039108656f, 0.018348478f, -0.019140236f, 0.0029306046f, + -0.0006431206f, -0.0033881122f, -0.022727616f, 0.0027676101f, + -0.0073477374f, 0.010350267f, 0.014408288f, 0.017864153f, + -0.011395327f, 0.014933158f, 0.15913868f, 0.014899703f, + 0.29356295f, -0.019076342f, 0.056755815f, 0.002465675f, + -0.04259399f, -0.00012736165f, 0.19112737f, 0.004924544f, + 0.044536296f, 0.01911576f, 0.00061093783f, 0.0011209893f, + 0.006569453f, -0.03046558f, 0.026578475f, 0.0073164757f, + 0.0147804f, -0.005772978f, -0.0029004319f, -0.08115301f, + -0.0028729201f, 0.043115206f, 0.024103802f, 0.0019794537f, + 0.00083721377f, -0.10243097f, 0.020588944f, -0.0050025736f, + 0.008154325f, 0.010934032f, 0.010697303f, 0.15688518f, + 0.025735848f, 0.024750208f, 0.104750216f, 0.03565516f, + 0.011893833f, -0.36245322f, 0.013522484f, 0.2310177f, + 0.029186657f, 0.0023262955f, -0.068443716f, -0.016954226f, + 0.005637373f, 0.018455643f, 0.0077792234f, -0.003062113f, + 0.006966892f, -0.020990234f, 0.047267597f, 0.04710746f, + -0.0013891717f, 0.0035703452f, 0.19402291f, 0.039520755f, + -0.04861703f, 0.0111257f, 0.0058842995f, 0.0033863161f, + 0.010452838f, 0.029582199f, -0.25934544f, 0.15250856f, + -0.0022174285f, 0.021304717f, 0.17600337f, -0.001112675f, + -0.12197272f, 0.008861832f, 0.0071323416f, -0.02618871f, + 0.0034299102f, 0.036422025f, -0.031071214f, 0.09945338f, + 0.009251178f, -0.0020370046f, -0.009111923f, 0.00059596304f, + 0.008239433f, -0.32097793f, -0.0020217346f, -0.04076957f, + -0.0027270808f, 0.022222372f, -0.050826658f, 0.03637126f, + 0.008641761f, 0.001286624f, 0.014240577f, 0.0028792315f, + -0.011539815f, -0.014385555f, -0.035352256f, -0.016223839f, + -0.11768992f, -0.022056533f, 0.041691534f, 0.01160857f, + -0.031121463f, -0.32734764f, -0.031493854f, -0.0152580775f, + -0.060165036f, 0.013924374f, 0.06562177f, 0.11039683f, + 0.008289077f, -0.0027928308f, -0.00024879884f, -0.011809153f, + -0.007886081f, -0.00046337236f, 0.5638149f, -0.00025007376f, + 0.042416614f, -0.019957792f, -0.0024369778f, -0.057818413f, + 0.099883236f, 0.17348632f, 0.044963032f, -0.006720513f, + -0.052010186f, -0.02516501f, -0.016847184f, -0.02039234f, + -0.009739846f, -0.06844899f, -0.0030014545f, -0.014372732f, + -0.2429584f, -0.019237094f, 0.19049929f, -0.020168813f, + -0.042575613f, -0.023455735f, 0.018473597f, -0.002881152f, + -0.08454501f, -0.020226132f, 0.007279427f, -0.049155883f, + -0.020978939f, -0.002022347f, -0.003788436f, -0.14114325f, + -0.055853773f, 0.09407219f, 0.18103299f, 0.116307005f, + -0.000582794f, -0.0007202879f, 0.040766478f, 0.061509114f, + -0.025218252f, -0.027126055f, -0.05340474f, -0.011533095f, + -0.024390474f, -0.016272873f, 0.003039938f, -0.005205575f, + 0.027200775f, -0.010470155f, -0.116454184f, -0.0071571753f, + -0.0056951405f, -0.14530429f, 0.053701945f, 0.011986134f, + 0.0013266753f, 0.1884966f, -0.0035678027f, 0.013641822f, + -0.009222335f, -0.010095587f, 0.052604992f, 0.07454713f, + -0.015304458f, -0.046810962f, -0.019794282f, -0.00080863124f, + -0.0033532416f, -0.014197509f, -0.033896286f, 0.2746057f, + -0.017833754f, 0.33931363f, -0.061897323f, -0.12158852f, + 0.08737015f, -0.006661756f, -0.22530344f, 7.3053656e-05f, + -0.030040268f, -0.00055805634f, -0.120588f, -0.0025378691f, + -0.019193202f, -0.014509601f, -0.041489262f, -0.008209616f, + 0.0033181563f, -0.020225447f, -0.034180555f, -0.0077521447f, + -0.22279409f, -0.08407787f, 0.016583882f, -0.00040549386f, + -0.030035926f, -0.00043019798f, 0.012293189f, -0.0042476146f, + -0.02798459f, -0.008498254f, -0.03381177f, -0.009001631f, + 0.32899642f, 0.015733426f, -0.005605088f, 0.002005357f, + -0.018533928f, 0.00074450346f, 0.001974818f, -0.09243045f, + 0.0023962061f, -0.026414843f, -0.024036756f, 0.051456943f, + -0.001196855f, -0.03669522f, -0.018951042f, 0.00011140342f, + -0.0021896749f, -0.035374124f, -0.0131047815f, -0.36442003f, + 0.018098269f, -0.0041416422f, -0.106250025f, -0.023565685f, + -0.008622312f, -0.0015185397f, -0.002162187f, -0.086006984f, + 0.10100149f, 0.006048211f, -0.13810113f, 0.13008197f, + -0.010745371f, 0.12613007f, -0.02691129f, 0.005238015f, + -0.06801618f, -0.02568198f, 0.027843969f, 0.07888495f, + 0.0021010654f, -0.029550632f, 0.102314726f, -0.052254178f, + -0.023466656f, -0.018888813f, 0.004438389f, -0.011091543f, + 0.0044954694f, -0.017061194f, -0.3008647f, -0.09155152f, + -0.022349536f, -0.03853637f, -0.008732484f, 0.0041466295f, + -0.10271876f, -0.008593511f, -0.027208773f, -0.054539748f, + 0.008277072f, -0.023362339f, -0.028650168f, 0.015508391f, + 0.35639936f, -0.02970485f, 0.015161947f, 0.009491994f, + -0.0052870153f, -0.041782986f, -0.0003273378f, -0.0041983025f, + -0.002000983f, -0.023456685f, 0.026191631f, -0.020423526f, + -0.0041606794f, -0.0071394243f, -0.03626684f, -0.016933136f, + -0.021405842f, -0.022184137f, 0.06716153f, -0.0021676975f, + 0.16027337f, -0.018046215f, 0.0048691067f, -0.02656958f, + -0.043552272f, 0.19820434f, -0.005725016f, -0.032597482f, + 0.030142209f, -0.011292162f, 0.34753957f, 0.05317901f, + -0.066725545f, 0.006710906f, -0.0063962513f, -0.033602286f, + 0.004691726f, -0.012567064f, -0.19131628f, 0.0015118126f, + 0.2142634f, -0.030962374f, 0.006367109f, 0.009616747f, + 0.36870342f, 0.013673955f, -0.025048075f, 0.0024863856f, + -0.027900359f, -0.096346915f, -0.063942865f, -0.0166664f, + 9.996081e-05f, 0.03695742f, -0.0028750028f, -0.005458922f, + 0.3425955f, -0.009360694f, -0.023586927f, -0.009005178f, + 0.16391318f, -0.037856758f, -0.06768929f, 0.024520053f, + -0.003878979f, 0.01079353f, -0.037120115f, 0.033296105f, + -0.008126617f, -0.0027290753f, -0.020173673f, 0.059590757f, + -0.0034346266f, -0.29631525f, -0.18914631f, -0.040235657f, + -0.0036628991f, 0.0026090525f, -0.016358446f, 0.070820175f, + -0.010934736f, 0.23331998f, 0.013214279f, -0.02054653f, + 0.034521908f, 0.0017998507f, -0.0052237622f, 0.044568073f, + 0.2750569f, -0.0037395863f, 0.15615188f, 0.011733074f, + -0.00956714f, -0.20695524f, 0.044071272f, -0.025634f, + 0.0029599923f, -0.085988f, -0.033481274f, 0.022933433f, + -0.004990859f, 0.009430861f, 0.0041018445f, -0.03850177f, + -0.0418263f, 0.096553445f, -0.007508842f, 0.004283901f, + 0.007265918f, -0.04605026f, 0.0001495192f, 0.017864851f, + -0.008523763f, -0.11312352f, -0.06936849f, -0.0098722195f, + 0.26925185f, -0.014923316f, -0.13164319f, -0.012201473f, + -0.012923124f, -0.0022432602f, -0.14915244f, -0.0006044739f, + -0.0011460102f, -0.01154513f, 0.0076572844f, -0.03434836f, + 0.034365244f, 0.0056453366f, -0.09873471f, -0.035139132f, + -0.061591968f, 0.03046015f, 0.050698545f, 0.00848834f, + 0.10851464f, 0.0052149612f, 0.10399892f, -0.007405315f, + -0.022772932f, -0.022395186f, -0.00079824263f, 0.0011130942f, + 0.031921066f, 0.034686577f, -0.019780198f, -0.010735629f, + -0.0056481715f, -0.0009389226f, 0.004651174f, -0.058506273f, + -0.0019054819f, -0.016566858f, -0.0033119286f, -0.2492872f, + 0.003247895f, 0.14162406f, 0.010160037f, 0.0040808865f, + -0.003737218f, -0.03047275f, -0.019671919f, 0.14478819f, + -0.10618468f, -0.0048549767f, 0.02728089f, -0.004645373f, + -0.013984837f, -0.107431516f, -0.0021826555f, 0.23910011f, + -0.0684217f, -0.0062122107f, 0.117034376f, 0.39332172f, + -0.014243643f, -0.120273024f, 0.03857965f, -0.003289289f, + -0.012353187f, -0.016884444f, -0.059668537f, -0.10479082f, + 0.0013376554f, -0.04540761f, -0.31468728f, 0.002049577f, + -0.047495298f, -0.02633313f, -0.00014948781f, 0.001364381f, + -0.012947373f, -0.002255013f, -0.05341504f, -0.07722951f, + -0.015858233f, -0.014842114f, 0.1184791f, -0.0020510321f, + -0.030682173f, -0.01315841f, -0.022357948f, 0.03750992f, + -0.0028835207f, -0.039904296f, -0.001321826f, -0.036970906f, + -0.13728099f, -0.03227532f, 0.032296848f, -0.00209112f, + 0.0028970006f, -0.16990891f, 0.003362184f, 0.0029552435f, + 0.0037591553f, -0.049869712f, -0.053764276f, -0.0041815424f, + -0.013483479f, -0.006833596f, 0.090466365f, -0.006524256f, + -0.019481031f, -0.025002815f, 0.341731f, 0.008595071f, + -0.15290461f, -0.011732252f, 0.07334266f, -0.029746955f, + -0.036585603f, 0.13483615f, -0.017064314f, -0.020942526f, + -0.063955255f, -0.049310345f, 0.08552899f, -0.01615311f, + 0.00084924314f, 0.0020943468f, -0.0025779873f, -0.03471697f, + 0.0012298826f, -0.02067626f, 0.28466484f, 0.0008443885f, + -0.23287888f, -0.025855256f, 0.0007017594f, -0.023562333f, + -0.059290834f, -0.109081164f, -0.057353873f, -0.014940213f, + -0.018565498f, 0.055170737f, -0.045084547f, -0.03351489f, + -0.006180943f, -0.050556645f, 0.002978701f, -0.016556684f, + -0.31112808f, -0.0006469833f, -0.13367486f, -0.01945677f, + 0.23645552f, -0.061947145f, 0.019001374f, 0.0087949075f, + -0.06048598f, 0.008275381f, 0.039718796f, -0.043396212f, + -0.024293113f, 0.00075458264f, -0.014504563f, -0.012168276f, + 0.054145344f, -0.116943255f, -0.07195252f, 0.060511913f, + 0.0019416072f, 0.0011703606f, 0.06337942f, -0.13634995f, + -0.01929882f, 0.20058511f, -0.087858476f, -0.018961241f, + -0.010879066f, -0.009139604f, -0.00058219326f, 0.0029258807f, + 0.019881912f, -0.0010826304f, -0.06485674f, 0.0023117266f, + -0.005012606f, 0.35567737f, 0.06347338f, 0.03254048f, + -0.0006182651f, -0.07564265f, -0.04850352f, -0.00472424f, + -0.01694463f, 0.005991834f, 0.065340415f, 0.09210591f, + -0.02575542f, 0.087183625f, 0.031232852f, 0.00033471306f, + 0.023465825f, -0.034896955f, -0.013884124f, 0.24459027f, + -0.022851542f, -0.1040958f, -0.005755504f, -0.039325338f, + 0.061289907f, -0.017671581f, -0.054096624f, -0.0019964774f, + -0.027114436f, -0.0010301262f, 0.005803916f, -1.8374027e-06f, + -0.003591723f, -0.008552325f, -0.0019900762f, -0.021667019f, + -0.01026593f, -0.0020113806f, 0.0074027525f, -0.047315825f, + -0.023307815f, 0.043943442f, 0.022978645f, 0.0024173679f, + 0.0036101972f, 0.0033335304f, 0.20207581f, -0.0052444553f, + -0.009898681f, -0.019241964f, -0.006119584f, -0.0044341623f, + 0.05148382f, 0.04006116f, 0.0063846544f, -0.00650658f, + 0.011547813f, 0.0018622512f, 0.0013492154f, -0.009353974f, + 0.0031545367f, -0.012842528f, 0.009963508f, 0.067451686f, + 0.003280902f, 0.09295687f, 0.034463793f, -0.0027356783f, + 0.0060951067f, -0.01762902f, -0.0017083863f, 0.37438646f, + -0.062934816f, -0.018293984f, -0.057079766f, -0.0060194083f, + -0.027011612f, 0.009758877f, -0.0043590614f, -0.16754186f, + 0.041262694f, -0.0008095019f, 0.029277833f, -0.08454705f, + -0.006449735f, -0.04932842f, -0.08471393f, -0.0012616571f, + -0.0016717326f, 0.013888514f, -0.04494026f, -0.019469645f, + -0.00022637866f, -0.035129707f, -0.21763757f, -0.052552756f, + 0.0063932026f, -0.033137817f, 0.009604457f, 0.008415302f, + -0.010870923f, -0.018198509f, -0.076626286f, -0.11805734f, + -0.031667348f, -0.08433082f, 0.08316571f, 0.00061283837f, + 0.08352098f, 0.001552008f, -0.03000326f, -0.0022328845f, + -0.0056367777f, -0.016872926f, 0.023020089f, 0.07410296f, + 0.1546429f, 0.0016983873f, 0.123319164f, -0.006778998f, + 0.008243981f, -0.042099986f, 0.0006814835f, 0.025126511f, + 0.0030583246f, -0.032435816f, 0.019344857f, -0.0016580474f, + -0.028280668f, -0.010294748f, -0.0971226f, -0.0041142814f, + 0.0043677087f, 0.021242833f, -0.16502541f, -0.0021448028f, + -0.10004319f, 0.022546485f, -0.0027409196f, 0.002556103f, + 0.022939734f, -0.08324219f, 0.009475019f, 0.01595882f, + -0.14648668f, 0.009836814f, -0.03955741f, 0.0670851f, + 0.08506101f, -0.008464125f, 0.0030025793f, 0.017916163f, + 0.000405842f, -0.0050099706f, -0.16333692f, -0.00512301f, + -0.35957256f, 0.019914428f, -0.00807236f, 0.025468798f, + 0.1940289f, 0.012246145f, 0.033594023f, -0.014856078f, + 0.010626574f, -0.12232782f, 0.03643445f, 0.008730631f, + 0.030848028f, 0.049068596f, -0.004224239f, 0.004942099f, + 0.044355165f, -0.009945171f, 0.015002798f, 0.004778816f, + 0.101941235f, 0.02130862f, -0.08295441f, -0.01740317f, + 0.061421156f, -0.027440792f, -0.03534467f, -0.10054083f, + 0.008423915f, -0.001202604f, 0.009251397f, 0.0054972484f, + 0.12302828f, 0.04222785f, 0.19235156f, 0.07899976f, + -0.0025242332f, -0.0060269022f, 0.0016648746f, -0.13832684f, + 0.007285621f, -0.07998965f, -0.02631273f, 0.009487405f, + 0.011609853f, -0.006622074f, -0.0034727682f, -0.051194552f, + -0.06852173f, -0.011617068f, 0.07107508f, -0.00370951f, + -0.007601027f, -0.5198699f, -0.038586017f, -0.04555583f, + -0.006883409f, -0.19704285f, 0.019719198f, -0.041601498f, + 0.0039739073f, -0.028022042f, -0.08391394f, -0.06135184f, + 0.0118596f, 0.0014761487f, -0.043968942f, -0.0062478455f, + -0.019042086f, 0.02752035f, -0.005036107f, 0.4469904f, + 0.0037773722f, 0.048058763f, -0.07505277f, 0.03638437f, + -0.18223579f, -0.00023350412f, -0.020086028f, -0.006072246f, + 0.0116554685f, -0.004157238f, 0.028796514f, -0.004153041f, + -0.005466273f, -0.005009606f, -0.00395406f, 0.0115233315f, + 0.0061803595f, -0.0041767457f, -0.06837053f, 0.0059287837f, + -0.07539347f, -0.075500034f, -0.08511666f, -0.0040602684f, + -0.012598815f, -0.008163531f, -0.106179744f, -0.001308593f, + 0.022882184f, 0.0144272335f, -0.004265141f, -0.010172657f, + -0.0055005373f, -0.035960183f, -0.01961616f, -0.0038482277f, + 0.007642009f, -0.003702214f, -0.0031669512f, 0.050757367f, + -0.00035482363f, -0.004316549f, 0.007996929f, -0.057455033f, + -0.0040652007f, 0.03205675f, 8.744361e-05f, -0.0060978574f, + -0.0042631063f, 0.011981663f, 0.007172263f, 0.16469334f, + 0.056212813f, 0.00016671592f, 0.030887669f, -0.015980463f, + 0.006589802f, -0.08029234f, -0.011800482f, -0.28042608f, + -0.36271092f, -0.0034099058f, 0.08264826f, 0.032914657f, + 0.0052357996f, 0.10238099f, -0.014822716f, 0.00013014453f, + 0.0065487646f, 0.00054475333f, 0.012576804f, 0.06146041f, + -0.0020942185f, 0.004384317f, 0.3852435f, -0.01166964f, + 0.062330242f, 0.016963387f, -0.0014882861f, 0.0016577463f, + -0.005671896f, -0.0024845928f, 0.04827493f, 0.14245546f, + 0.0052623875f, 0.051496524f, -0.18086712f, -0.0017741604f, + 0.058868878f, 0.005477657f, 0.01498691f, 0.02270449f, + -2.5304042e-05f, 0.016459944f, -0.08770728f, 0.043768074f, + 0.031290974f, 0.01390136f, -0.013281131f, -0.002648677f, + -0.0047606253f, 0.17720501f, -0.004886914f, -0.03331287f, + -0.00808211f, 0.023921628f, 0.01544986f, -0.024578843f, + -0.0015305508f, 0.010813566f, -0.099130854f, -0.014621491f, + -0.00060686737f, 0.0053448123f, -0.10160015f, 0.02288498f, + 0.0680197f, 0.003997983f, 0.06615869f, -0.0064918245f, + -0.00015035138f, 0.12810114f, 0.0075585265f, 0.0057180217f, + 0.014301422f, 0.008708906f, 0.14802963f, 0.053085323f, + 0.031001873f, 0.005390655f, 0.0016343496f, 0.003198922f, + 0.0047515905f, -0.0024420712f, 0.28920028f, 0.0005093776f, + -0.2056882f, -0.009425698f, 0.0041271113f, 0.013096393f, + 0.017897993f, -0.41758463f, 0.033428527f, -0.01390447f, + 0.038742978f, -0.06450869f, 0.008113627f, -0.0019276728f, + 0.0022199217f, -0.002475373f, -0.0053060693f, -0.0010514354f, + -0.11916685f, 0.009360292f, 0.21504717f, 0.021523176f, + 0.09067824f, 0.029819837f, -0.015041749f, 0.009308779f, + -0.0013845365f, 0.004074482f, 0.054838914f, -0.03835772f, + -0.0010632065f, -0.000110573295f, 0.006990094f, 0.00041373f, + 0.26861125f, 0.02295452f, -0.060325854f, 0.004755663f, + -1.6093896e-05f, -0.0007523528f, 0.069070324f, 0.14279085f, + 0.025655018f, -0.20960535f, 1.4247348e-05f, 0.003699718f, + -0.09367115f, 0.0058407835f, 0.003578159f, 0.019433334f, + -0.07316974f, -0.005874093f, -0.08315429f, 0.005214557f, + 0.003108636f, -0.3720953f, 0.064695284f, -0.044532362f, + -0.0026424679f, 0.14861451f, 0.020239264f, -0.015563436f, + 0.010143611f, -0.0013752765f, 0.002821427f, -0.022755418f, + -0.013332962f, 0.019718895f, 0.01068573f, -0.0008862953f, + 0.020440215f, 0.008533373f, 0.007572355f, 0.20469135f, + -0.0027094195f, 0.21390921f, 0.1525093f, 0.09303381f, + -0.10566512f, -0.0071057337f, -0.06652657f, 0.0049859486f, + 0.001413281f, 0.0008749143f, 0.12834808f, -5.8459136e-05f, + -0.0040031313f, -0.0015221301f, 0.00932817f, 0.015306671f, + 0.022960488f, 0.026227964f, 0.11847504f, 0.001971906f, + 0.044577397f, 0.09950092f, 0.027824713f, -0.0073086456f, + -0.036239207f, 0.0039451336f, 0.043846127f, 0.005024327f, + 0.019043438f, 0.003624292f, 0.020526854f, 0.0067804717f, + -0.024044544f, 0.041837264f, 0.011314027f, -0.0006099547f, + 0.0036567561f, 0.0016245458f, -0.0017484451f, 0.13408552f, + -0.000848942f, 0.0042935144f, 0.03994872f, -0.0013744156f, + 0.00056192884f, 0.32970232f, 0.029786725f, -0.0013186374f, + -0.002729571f, -0.011023107f, 0.004896763f, -0.05061479f, + -0.07010025f, -0.012420529f, -0.07135212f, 0.016985169f, + 0.00064043025f, 0.14782208f, 0.0027437697f, 0.011913629f, + 0.17107375f, -0.0017462155f, 0.28566065f, 0.12868188f, + -0.0037124334f, -0.04502281f, 0.007171303f, -0.007909094f, + 0.026896214f, 0.01885733f, -0.051314935f, -0.059430234f, + 0.0007095525f, -0.013843314f, -0.22543715f, -0.049498666f, + 0.10997496f, -0.0038057608f, 0.0042840876f, -0.014826963f, + -0.0017302508f, -0.010279467f, 0.20990871f, -0.038633335f, + -0.00029190595f, -0.03961005f, 0.110198356f, -0.002692564f, + 0.39585784f, -0.009219353f, 0.010844565f, 0.14111492f, + -0.0032017555f, 0.018829219f, -0.014798141f, -0.013186286f, + 0.040902928f, 0.02173555f, -0.12958953f, -0.009552314f, + -0.010955005f, 0.18635103f, 7.9421545e-05f, -0.009367439f, + -0.003997341f, 0.010348725f, 0.061938826f, 0.0062897964f, + 0.0050736004f, -0.0129277455f, -0.018445354f, 0.011340287f, + 0.015651716f, 0.020818815f, 0.011650302f, 0.028986981f, + -0.33422408f, 0.017431827f, -0.004131692f, -0.0018170968f, + 0.006286348f, 0.034264706f, 0.014391919f, 0.017563518f, + 0.07198694f, 0.038279332f, -0.008577887f, -0.07896815f, + 0.024034778f, 0.0060302964f, -0.0008820046f, 0.00831524f, + -0.0013868305f, 0.0049111317f, 0.16990268f, 0.0022650356f, + 0.034765072f, 0.016123133f, 0.01140568f, 0.062320184f, + 0.09481629f, 0.2615001f, -0.0013456133f, 0.00058295915f, + 0.019334128f, 0.034252338f, 0.021026917f, 0.014883752f, + -0.003502892f, -0.019531878f, 0.0060397224f, 0.01162793f, + -0.041906692f, 0.025048433f, 0.08574451f, 0.013768652f, + 0.30163994f, 0.030615183f, 0.13163072f, 0.008516747f, + 0.030830711f, -0.005430849f, 0.091390215f, -0.13642392f, + 0.010713374f, -0.0002465998f, 0.013662622f, 0.0166549f, + -0.11491068f, 0.13951917f, 0.09961204f, 0.11753194f, + 0.0019718492f, 0.0010679923f, 0.004353201f, -0.09347435f, + 0.013635438f, 0.31621343f, 0.023988465f, 0.016403526f, + 0.037928153f, 0.009398645f, 0.00026848915f, -0.01091602f, + 0.097469054f, 0.018121522f, 0.02731638f, 0.011099124f, + 0.00650968f, -0.060650498f, 0.024629083f, 0.063148886f, + 0.0027263248f, 0.085094586f, 0.010101457f, 0.015605247f, + 0.014635518f, 0.0347968f, 0.034918934f, 0.07940946f, + 0.020805081f, 0.047807377f, 0.033468604f, 0.0020589351f, + -0.0029395965f, 0.017981796f, 0.013634125f, -0.08393604f, + 0.0126263155f, -0.16499695f, -0.16309443f, 0.060248304f, + 0.14876875f, 0.0127112875f, 0.05723111f, -0.0003681698f, + 0.012246915f, 0.0012429664f, 0.067749605f, 0.0064069815f, + 0.0077821477f, 0.009245925f, 0.007988559f, 0.0066660284f, + -0.0053594443f, 0.011916303f, 0.12713999f, 0.0025557654f, + 0.11577951f, 0.02525111f, 0.020218235f, 0.0028935794f, + 0.012324639f, 0.0037717635f, 0.33678415f, 0.005275738f, + 0.008416229f, 0.017837608f, 0.011775642f, 0.015707558f, + 0.054480217f, 0.015174899f, 0.017065713f, 0.004128433f, + 0.027071271f, 0.0033241734f, 0.0025901634f, 0.0055330647f, + 0.0044900123f, 0.0043667965f, 0.016633688f, 0.06714927f, + 0.006023845f, -0.13705789f, 0.022358948f, 0.0017566171f, + 0.001998229f, 0.015906764f, 0.011186751f, -0.34164032f, + 0.079893045f, 0.010230568f, 0.06603146f, 0.007704579f, + 0.0053884643f, -0.102853425f, 0.0007657228f, -0.112711675f, + -0.48024f, -0.0038205818f, 0.12870392f, 0.09649042f, + 0.0072103376f, 0.04699658f, 0.06910514f, -0.0039951103f, + 0.07136469f, -0.0016037131f, 0.061515722f, 0.044545084f, + 0.0026573108f, 0.00048583883f, -0.053561073f, 0.09015073f, + -0.032937195f, 0.012494487f, -0.0019135963f, 0.0043060067f, + 0.005669533f, 0.0056683444f, -0.07084969f, 0.06396917f, + 0.015186278f, 0.049597643f, 0.2096632f, 0.0047878525f, + -0.13098024f, 0.008331411f, 0.020639883f, 0.14428818f, + 0.0030669111f, 0.011745096f, -0.052597236f, 0.16163406f, + 0.28689602f, 0.00817693f, 0.10232945f, 0.0058950293f, + -0.00044013918f, -0.12541434f, 0.0018588137f, 0.038338773f, + 0.0059706154f, 0.040122665f, 0.010074004f, -0.0022202246f, + 0.006566948f, 0.015745308f, -0.16969304f, 0.0026976287f, + 0.008747522f, -0.010102729f, 0.18360431f, 0.0025747449f, + -0.19383305f, -0.011518884f, 0.008355168f, 0.013147323f, + 0.0012960598f, 0.036469817f, -0.006516024f, -0.016591271f, + 0.06547196f, 0.020046487f, -0.26062858f, 0.07583178f, + 0.013690664f, -0.009708443f, -0.00030958472f, 0.0022877888f, + -0.003465753f, 0.0171948f, -0.1852816f, -0.001956681f, + 0.0071198735f, -0.02757227f, -0.009302672f, -0.024712514f, + -0.28374234f, 0.32824913f, 0.016774856f, 0.025573337f, + 0.0036506802f, -0.102095574f, 0.003784422f, -0.0018742637f, + 0.007919539f, 0.008616381f, 0.008564036f, 0.0015992519f, + 0.21030495f, -0.02349006f, -0.13464943f, -0.0073609166f, + 0.14668211f, 0.004208769f, 0.035073012f, -0.016546221f, + -0.0011493313f, -0.010513617f, -0.0013646034f, 0.012036304f, + -0.003908851f, 0.0015161723f, -0.0014847098f, -0.06794401f, + -0.10288282f, -0.035549704f, -0.074701674f, -0.08480013f, + 0.0005370789f, -0.000522558f, 0.012043144f, -0.17992343f, + -0.0036499572f, -0.045009766f, 0.048372872f, 0.00021124759f, + -0.010609401f, -0.010540924f, 0.002242151f, 0.008448946f, + -0.15920414f, 0.010873814f, -0.045113537f, -0.007875768f, + 0.0024286187f, -0.23394257f, 0.007058332f, -0.008820928f, + 0.0047480823f, -0.11248829f, 0.015227344f, 0.010627347f, + -0.0009091219f, -0.01644626f, 0.033793744f, 0.039622102f, + -0.01667793f, -0.103559084f, -0.02428268f, 0.00045507992f, + -0.008160626f, -0.000850132f, 0.018856304f, -0.052740876f, + 0.009420302f, 0.2113917f, -0.21666276f, -0.046223145f, + -0.07388115f, 0.0063049546f, -0.046083856f, -0.0003925659f, + -0.013719345f, 0.0006947896f, 0.042090867f, -0.0014884521f, + 0.002246333f, 0.018460965f, 0.0035619766f, -0.0023857427f, + -0.00029852043f, -0.005262672f, 0.007831789f, 0.0151954265f, + -0.06547826f, -0.0016572016f, 0.009955233f, -0.0023772449f, + -0.121963635f, -0.0080336705f, 0.0681985f, -0.006239714f, + 0.00066901976f, -0.0023481057f, -0.01937879f, -0.017724872f, + -0.19226874f, -0.012210742f, 0.002992773f, 0.005784659f, + -0.0012661486f, 5.844856e-05f, 0.0011599709f, -0.047909766f, + 0.0019778437f, -0.019098096f, -0.023181967f, -0.28152168f, + -0.0036557955f, 0.036708612f, -0.0072478275f, -0.0035526396f, + 0.006587938f, -0.011950159f, -0.007647748f, -0.0037071228f, + -0.03602863f, 0.021938749f, -0.028692259f, -0.017701168f, + 0.017746963f, -0.5011363f, 0.006840105f, -0.06172857f, + 0.31420416f, -0.0012785924f, -0.26038516f, 7.985169e-05f, + 0.0045482395f, -0.022445574f, -0.016834315f, 0.00030523326f, + 0.010074906f, -0.020007083f, -0.004078666f, 0.006151734f, + -0.000304835f, 0.028094793f, -0.20909819f, 0.0065254504f, + -0.04911649f, -0.0065016933f, -0.00012146035f, -0.005098928f, + -0.0039058493f, 0.035049047f, -0.122753f, -0.050265748f, + 0.0010176612f, -0.026060207f, 0.10145741f, 0.0029695716f, + 0.024993053f, 0.0020602767f, 0.0032650514f, -0.11396392f, + 2.5705604e-05f, -0.007430838f, -0.014781945f, 0.0803209f, + 0.04421554f, -0.024411922f, -0.041136343f, 0.003886697f, + 0.0034645784f, 0.16896586f, 0.00034375687f, -0.03176987f, + -0.0009799687f, -0.008933441f, -0.03627294f, -0.004132845f, + 0.019333676f, -0.0006664477f, -0.074315876f, 0.0016963523f, + -0.012350546f, -0.01837333f, -0.41738784f, -0.027489243f, + 0.12707537f, -0.0062305275f, -0.0024815907f, -0.03218803f, + -0.00062404387f, 0.22200765f, -0.0023121354f, -0.015503157f, + 0.11971796f, 0.0029700375f, -0.0961138f, 0.10044815f, + -0.07452928f, -0.0020883563f, -0.0008797627f, -0.019875996f, + -0.0069074584f, -0.009563095f, 0.29626673f, 0.002429349f, + 0.05696796f, -0.0010176708f, -0.00026482466f, -0.016805021f, + -0.046355154f, -0.022154545f, 0.02711973f, 0.0026147484f, + -0.057592962f, 0.05060591f, -0.026405253f, -0.010790782f, + -0.09779377f, 0.08793463f, 0.0014942025f, -0.013909658f, + 0.23052967f, 0.0038142418f, 0.03805597f, -0.0027500319f, + -0.09529396f, -0.039446827f, 0.06806323f, 0.027618326f, + -0.08318886f, 0.017561175f, 0.03532768f, 0.08667137f, + -0.0074542807f, -0.0013091207f, -0.01544808f, -0.14501356f, + -0.08581682f, 0.08470889f, -0.19275072f, -0.11921871f, + 0.0021333636f, 0.0009687644f, -0.0056279777f, -0.50261986f, + -0.0043369723f, -0.08334171f, 0.04687468f, -0.017275134f, + -0.06459124f, -0.0003207692f, 0.0044478336f, 0.020971403f, + 0.038776364f, 0.0039565554f, 0.04521291f, 0.0038256387f, + 0.0010188657f, -0.25192803f, 0.052469704f, 0.033651546f, + 0.008846364f, 0.08321181f, -0.0411811f, 0.03403382f, + -0.0019785878f, 0.04508858f, -0.08833536f, -0.012185082f, + -0.008175505f, -0.12855741f, 0.009999335f, 0.0035434864f, + 0.034972843f, -0.02215346f, -0.030696733f, -0.03150739f, + -0.015545281f, 0.045673355f, -0.0789302f, -0.07762722f, + 0.06991088f, -0.007839436f, 0.06200319f, 0.012001995f, + -0.0073122554f, -0.00083444535f, 0.13173357f, 0.001027283f, + -0.014422029f, -0.0007869387f, -0.028170872f, -0.007965479f, + 0.05203176f, -0.0059681367f, 0.15452413f, -0.022288572f, + 0.09501815f, -0.042644836f, -0.0015160034f, 0.00043832773f, + -0.013301852f, 0.0007579568f, 0.20675682f, -0.00038580637f, + -0.04082862f, -0.017413083f, -0.021103851f, -0.0018764647f, + 0.021281505f, 0.015772779f, -0.0034347824f, -0.0013818144f, + -0.029881759f, -0.00053589384f, 0.00017837256f, -0.008901706f, + 0.0019368295f, 0.020443214f, -0.007981481f, -0.1757314f, + -3.3662778e-05f, -0.31043988f, -0.036946177f, 0.0026719354f, + 0.011896606f, -0.015315346f, -0.0020972113f, 0.29888776f, + -0.005750179f, 0.0077453256f, -0.030776786f, 0.017101845f, + -0.029587343f, 0.2084258f, 0.010055047f, 0.12533188f, + -0.13773292f, 0.008963589f, -0.2585771f, -0.21948564f, + -0.0133711565f, 0.04344072f, -0.022481646f, 0.0015658215f, + 0.016509732f, -0.0042369994f, -0.011836048f, 0.021320835f, + 0.0016466666f, -0.012445873f, -0.058199573f, 0.03479284f, + 0.0067855003f, -0.0140258605f, 0.005203288f, 0.027371522f, + -0.0015266795f, 0.015677942f, 8.745677e-05f, -0.14435224f, + -0.017489688f, -0.01864188f, 0.15778771f, 0.0025384289f, + -0.15534344f, -0.0060771783f, -0.035846703f, -0.079688415f, + -0.00088155805f, -0.022320323f, -0.031181868f, -0.107756995f, + -0.0022889946f, -0.027772367f, -0.0156203555f, 3.9514103e-05f, + 0.010820973f, 0.20019077f, 0.0014564341f, 0.05345364f, + 0.0064338357f, -0.031820007f, 0.015794704f, 0.019308917f, + -0.028997941f, -0.020321537f, -0.031654593f, 0.009317785f, + 0.0035734822f, 0.007415946f, 0.086883835f, -0.029001025f, + 0.054721233f, -0.0027100358f, 0.011070004f, 0.02257343f, + 0.024265004f, 0.14007042f, 0.0050868844f, 0.0016374344f, + 0.06879297f, 0.021252478f, 0.044273946f, -0.00025425473f, + -0.01964118f, 0.0046941154f, 0.0010875124f, 0.011674165f, + -0.0037222258f, -0.006580344f, 0.1511931f, -0.0029403432f, + -0.33084556f, 0.031953797f, -0.00013454503f, 0.0118350275f, + 0.17454953f, 0.087730125f, 0.017284952f, -0.0027690972f, + 0.04384165f, 0.20555621f, 0.016656294f, 0.023368325f, + -0.03677309f, -0.045053065f, -0.0022603453f, 0.0096318945f, + 0.15059552f, 0.035718422f, -0.09485442f, 0.008929565f, + -0.318473f, 0.010659047f, 0.10209147f, 0.013089232f, + -0.03956527f, 0.009646732f, 0.019415077f, 0.121040314f, + 0.011764923f, -0.00023187026f, -0.0031318949f, 0.04212808f, + -0.09193372f, -0.05594151f, -0.0028853302f, 0.06754036f, + -0.0048615206f, 0.003660881f, 0.046204332f, 0.20400515f, + 0.006809197f, 0.13732767f, 0.021016251f, -0.005238559f, + 0.016533967f, 0.0060265707f, -0.004618882f, 0.0043235063f, + -0.4960564f, 0.018980112f, 0.030060945f, -0.0034721477f, + 0.002921106f, 0.11112517f, 0.033755258f, 0.036534294f, + -0.0019378929f, 0.17888026f, 0.012305092f, 0.0030800113f, + 0.016415332f, 0.02139406f, 0.09091874f, 0.07869592f, + 0.054996282f, -0.046082664f, 0.027869089f, 0.0024761367f, + 0.026668895f, 0.014879287f, 0.05864368f, 0.05774415f, + 0.016669804f, 0.035526846f, 0.19895215f, -0.004146326f, + 0.21617895f, -0.004762699f, 0.14573483f, 0.0071740774f, + 0.012588529f, -0.004066228f, 0.075236365f, 0.0008265626f, + 0.015426356f, -0.005307626f, 0.04620961f, 0.00013201383f, + 0.005733636f, -0.0033542174f, 0.009633696f, 0.029736355f, + -0.19353461f, 0.0010060002f, -0.0039517344f, -0.009461387f, + -0.031259704f, 0.0044572214f, -0.23161499f, -0.009835802f, + -0.004740848f, 0.008152159f, 0.050522562f, 0.0056017744f, + 0.21756236f, 0.010311089f, 0.023606941f, 0.0033039108f, + -0.000996871f, -0.00083309726f, -0.002741344f, 0.04395833f, + -0.0036113677f, 0.022563713f, -0.045730107f, -0.06397646f, + -0.000103076236f, 0.09615044f, -0.027514445f, -0.0030712164f, + -1.23556565e-05f, 0.06056579f, 0.01002826f, 0.16523062f, + -0.005728033f, -0.003955659f, -0.047935512f, 0.0070866393f, + 0.008208974f, 0.016894965f, -0.007958605f, 0.029203244f, + 0.10255105f, 0.0055468357f, -0.17243885f, 0.40128627f, + 0.0123585295f, 0.0040655173f, 0.08009255f, 8.795805e-05f, + 0.009525312f, 0.025474904f, 0.011213154f, 0.0035881659f, + -0.00025922002f, 0.0016662069f, 0.044671066f, 0.04098998f, + -0.002829719f, 0.020317703f, -0.0039546085f, 0.014547814f, + 0.0021953748f, -0.010422166f, 0.1742383f, 0.118539765f, + 0.02673582f, 0.02008971f, -0.03579138f, -0.004308571f, + -0.09049294f, 0.008269724f, 0.033940386f, -0.046482697f, + -0.0033732837f, -0.0065554134f, 0.13132864f, -0.042415284f, + 0.04410755f, 0.013952282f, 0.058113076f, -0.001958908f, + 0.0066866144f, 0.17488205f, 0.0007291262f, 0.034630306f, + 0.00012922159f, -0.0057008723f, -0.0048011593f, 0.013191439f, + 0.01572244f, 0.013145592f, 0.017223097f, 0.0012286745f, + -0.02520052f, -0.019665046f, 0.14967903f, -0.051490493f, + -0.021031333f, -0.017669067f, -0.0139373895f, -0.041069776f, + -0.035298284f, -0.13773774f, -0.021348111f, -0.03382584f, + 0.10004416f, -0.0033461868f, -0.42573422f, 0.0785198f, + -0.0655101f, 0.0021953864f, -0.010908369f, -0.044922613f, + -0.0065574995f, -0.04029704f, 0.011435325f, -0.0035600164f, + -0.052051894f, -0.017904975f, -0.006958083f, 0.03006912f, + 0.47263885f, 0.22447598f, 0.01438685f, -0.01748774f, + -0.02488405f, 0.16672307f, -0.06253989f, -0.024963282f, + -0.032019977f, 0.028880041f, -0.009712847f, -0.0041251527f, + -0.18733238f, -0.004683315f, 0.0041845706f, -0.018445859f, + 0.17306109f, -0.024389867f, 0.06563142f, -0.005572799f, + 0.018896306f, -0.020003526f, -0.036167268f, 0.03494623f, + -0.004944341f, -0.0042712763f, -0.04428721f, 0.13514715f, + -0.067626536f, -0.122633204f, -0.27822804f, 0.008582778f, + -0.00085779984f, 0.0032019282f, -0.039769918f, 0.60024065f, + -0.019601002f, -0.230406f, 0.00051114283f, -0.034454722f, + 0.010149438f, -0.015515009f, 0.006379738f, 0.0044767745f, + 0.26963603f, 0.023755403f, 0.056809068f, -0.021350512f, + -0.017184185f, -0.14647478f, -0.00059652637f, -0.063215114f, + 0.0038668425f, -0.14401373f, -0.035879776f, 0.029463088f, + -0.010886699f, 0.043139588f, -0.0038235574f, 0.026613459f, + -0.009892429f, -0.09915031f, 0.015093727f, 0.0060325162f, + 0.04862138f, -0.031460565f, -0.015865212f, 0.21191384f, + -0.016231379f, 0.08435526f, 0.08229641f, -0.007945295f, + -0.09541357f, -0.03297492f, -0.06444153f, -0.0066487757f, + -0.014984117f, -0.0018112807f, -0.057983954f, -0.0022782611f, + -0.013420676f, -0.01388833f, 0.0021398873f, -0.03936947f, + -0.008321053f, -0.017357234f, 0.016738025f, -0.054282088f, + 0.08539833f, 0.025538817f, -0.01825815f, -0.016815545f, + 0.032551553f, 0.0055315825f, -0.12917134f, -0.009751009f, + -0.046779312f, -0.01806844f, -0.008352793f, -0.020549348f, + -0.25730094f, 0.00090766343f, -0.023979204f, -0.020735335f, + -0.017437765f, -0.0011700721f, 0.0023376523f, -0.028941182f, + -0.0009274024f, -0.034415796f, -0.04292644f, -0.03559801f, + -0.004557299f, -0.3469418f, -0.04779272f, 0.0014010418f, + -0.0026480912f, -0.023140935f, -0.018195849f, 0.027658287f, + -0.069611356f, -0.026558919f, -0.05369427f, -0.039566323f, + -0.02274239f, 0.18926027f, -0.011581404f, -0.011987872f, + 0.011810851f, 0.004546919f, -0.17407934f, -0.13224396f, + -0.016323397f, -0.07012564f, 0.05321512f, 0.004065477f, + 0.03901777f, -0.0054968586f, -0.05547156f, 0.0014728211f, + 0.0007810401f, -0.00065458514f, -0.086279005f, 0.047978457f, + -0.0071208244f, -0.016789926f, 0.0021975564f, 0.009424408f, + -0.0347291f, -0.022702642f, 0.040234f, -0.16325225f, + -0.019323455f, 0.05873721f, -0.0050362097f, 0.0021417942f, + -0.09229924f, -0.02183548f, -0.015577159f, -0.094850734f, + 0.0044650976f, -0.0597553f, -0.002936645f, -0.026013434f, + -0.014458194f, -0.019286448f, 0.058516197f, 0.0012444532f, + -0.0031311852f, 0.01624375f, 0.0036538974f, 0.050165053f, + -0.0007882908f, -0.05501115f, -0.050288767f, -0.035444178f, + -0.024848988f, -0.0077723307f, -0.014274571f, -0.008634897f, + 0.0021054372f, 0.011386905f, -0.09537047f, 0.00218354f, + 0.14314573f, -0.0047551394f, -0.009096479f, -0.02789403f, + -0.039335992f, -0.107365794f, -0.004549724f, 0.00884971f, + 0.10044438f, -0.008354806f, -0.48024252f, -0.10898382f, + -0.04897505f, -0.0023129084f, 0.0071077324f, 0.004077946f, + 0.0059239264f, 0.006922377f, 0.3688023f, -0.00083200523f, + 0.67640924f, -0.027937882f, -0.007295208f, -0.018666556f, + -0.30207568f, -0.05563587f, -0.039134715f, 0.015170231f, + -0.019706858f, -0.028182581f, 0.0008961933f, -0.003615141f, + -0.029561287f, -0.12644021f, -0.0017561442f, -0.0015325485f, + 0.39115626f, -0.0067346743f, -0.07313348f, -0.015309446f, + 0.06586189f, -0.026835537f, 0.0070772907f, 0.02245132f, + -0.04960096f, -0.019775318f, 0.017762847f, 0.007854563f, + -0.009213248f, 0.0019814062f, 0.009435699f, 0.0035980798f, + -0.13263538f, 0.16960183f, 0.052671004f, -0.103916295f, + 0.0013719103f, -0.0023109848f, -0.019567652f, -0.27115616f, + -0.021016255f, 0.11658159f, 0.0023956683f, 0.009949594f, + -0.015700452f, -0.0034293737f, 0.006357882f, 0.02310353f, + 0.18951885f, 0.0067815133f, -0.10076583f, -0.013921492f, + 0.007498949f, 0.7416732f, 0.0037513461f, 0.054539878f, + -0.00015564871f, -0.11398945f, -0.031784594f, 0.03397751f, + -0.005137535f, 0.04105159f, 0.02143049f, -0.022283632f, + -0.02372123f, 0.048236206f, -0.0019720797f, -0.0014759179f, + 0.034462314f, 0.0067372588f, -0.024837267f, -0.35140124f, + 0.0012390171f, 0.2925385f, -0.022970855f, -0.044822335f, + 0.24989042f, 0.011126524f, -0.10097539f, 0.010904436f, + -0.005840002f, 0.0017251772f, -0.068687126f, -0.001720866f, + -0.016352346f, 0.008765576f, -0.01124869f, 0.012099247f, + 0.023032315f, -0.026833737f, 0.116050236f, -0.019849816f, + -0.18827532f, -0.020814046f, 0.031049997f, -0.012133404f, + -0.0028892283f, -0.0027900606f, 0.09288151f, 0.0072836094f, + -0.0009836467f, 0.004386162f, -0.017307742f, -0.008876932f, + 0.19600955f, 0.004216382f, 0.029062325f, 0.004452845f, + 0.0038205746f, -0.002184788f, -0.0015655898f, -0.080026895f, + 0.00038885386f, -0.021684404f, -0.016534919f, -0.15069711f, + -0.004724967f, -0.3573506f, 0.0094957715f, 0.0009163223f, + 0.0026153205f, -0.05770462f, 0.0046548597f, -0.6314811f, + 0.08157806f, 0.017379254f, -0.04180633f, -0.010335925f, + 0.0047605536f, 0.34640354f, 0.003248071f, 0.27959728f, + -0.11193876f, 0.007153666f, -0.19137728f, 0.0949576f, + 0.0020484899f, 0.08019258f, -0.0059204083f, 0.00097490184f, + 0.007372459f, -0.007669056f, 0.043062042f, 0.073498085f, + -0.0007232321f, -0.018029243f, 0.33556202f, 0.05654375f, + -0.025142409f, -0.02137831f, -0.00012779057f, 0.006249194f, + 0.007030968f, 0.016513932f, -0.17426606f, -0.118428536f, + -0.015068615f, 0.04168795f, 0.085688755f, 0.00054904027f, + -0.034921464f, 0.0043987557f, -0.047446582f, -0.09142458f, + 0.0024549256f, -0.003256329f, 0.009049515f, -0.12291348f, + 0.18209359f, 0.0019182848f, 0.17959842f, 0.0025496788f, + -0.002262584f, -0.056380436f, -0.0010155534f, 0.029330289f, + -0.004005343f, -0.00945306f, 0.036319584f, -0.009498713f, + 0.000629184f, 0.0039833873f, -0.013886289f, 0.0007966255f, + 0.0097957775f, 0.008831077f, 0.3722798f, 0.0031461574f, + -0.049343735f, 0.008536886f, 0.020236872f, 0.038403153f, + 0.053756274f, -0.03263891f, 0.0068249134f, 0.013803727f, + -0.09115391f, 0.016490206f, 0.3647389f, 0.16305877f, + 0.06287741f, -0.012857398f, -0.0051324116f, 0.021575978f, + -0.009175177f, 0.003983548f, 0.20032334f, -0.0004723955f, + 0.14943789f, 0.037528228f, -0.013108614f, -0.006404207f, + -0.25835118f, -0.28500298f, 0.031210387f, 0.011365663f, + -0.02296758f, -0.21141459f, 0.02095083f, 0.01170372f, + 0.031462464f, 0.0773008f, -0.008907009f, 0.0033667707f, + 0.47267467f, 0.0036259557f, -0.15208037f, 0.011906699f, + -0.11544234f, 0.031346347f, 0.0061938143f, -0.0033544493f, + 0.047160216f, -0.006224503f, -0.009652454f, 0.07310975f, + 0.009246666f, -0.0020599656f, 0.006037371f, -0.119669735f, + 0.13695036f, 0.09607095f, 0.16992246f, -0.03834502f, + 0.0014673173f, -0.005494337f, 0.023459807f, -0.6185468f, + 0.013610542f, 0.30393425f, 0.08041267f, 0.004394295f, + -0.04451241f, -0.0069984966f, 0.0030055225f, -5.1205934e-05f, + 0.060644418f, -0.018559957f, 0.011484976f, -0.0030914072f, + 0.006712587f, -0.5225132f, 0.022147303f, 0.041302532f, + -0.0035223376f, 0.30513653f, 0.019254237f, -0.020981206f, + 0.009562147f, -0.044713423f, -0.0041791396f, 0.056581423f, + 0.028308488f, 0.06982666f, -0.04738797f, -0.008348662f, + -0.023676675f, 0.015293587f, 0.0146838855f, 0.24694432f, + 0.004409662f, -0.0662503f, -0.17357624f, 0.003836741f, + 0.29547018f, 0.004154005f, 0.18371437f, -0.0002216253f, + 0.0070043853f, -0.0012595612f, -0.093610786f, -0.003593095f, + 0.012818295f, 0.0020164133f, -0.004081061f, 0.0060482165f, + -0.012241964f, -4.5420114e-05f, -0.0335587f, 0.036207087f, + -0.26671615f, -0.015432044f, -0.034019325f, -0.017310686f, + -0.03172954f, -0.013602279f, -0.2593032f, 0.0038321486f, + 0.010988f, 0.006868038f, 0.0028123013f, -0.008540496f, + 0.23571181f, 0.0073699118f, -0.009096909f, 0.0056220293f, + 0.002305238f, 5.3854656e-05f, -0.0036205512f, 0.006954367f, + -0.0034597742f, 0.012294962f, 0.0075871195f, -0.46942997f, + -0.009180943f, -0.19243644f, 0.017621545f, -0.0022877809f, + 0.000408634f, 0.034722038f, 5.8745423e-05f, 0.28332773f, + -0.015995832f, 0.0013969983f, 0.089428194f, -0.0019756004f, + 0.009505839f, -0.26578918f, 0.0034110837f, 0.208289f, + 0.044440713f, -0.0005744704f, 0.022953542f, 0.18938299f, + 0.0008117698f, -0.0037547403f, -0.04646158f, -0.003831687f, + 0.0005241934f, 0.008879628f, -0.004763481f, 0.0022209468f, + -0.0042569507f, -0.0047077015f, -0.22241196f, 0.009120088f, + -0.009488699f, 0.023404926f, 0.0028366325f, 0.0036167267f, + 0.0034342473f, 0.009018572f, 0.08341915f, 0.17907113f, + 0.0139568355f, -0.0059840023f, 0.032483142f, -0.0013399875f, + 0.10008096f, -0.00074635254f, 0.02324155f, 0.09281296f, + 0.0011347622f, 0.017664576f, 0.12107318f, 0.11545481f, + 0.16880924f, -0.01027624f, -0.14758193f, -0.0008436481f, + 0.0042828773f, -0.08390632f, -0.006113875f, -0.023021027f, + -0.009056124f, 0.013510696f, 0.047682196f, 0.0117661655f, + 0.008113838f, -0.0012256008f, -0.038276657f, 0.0016044491f, + 0.0042212596f, 0.0018149498f, -0.40421832f, 0.009586176f, + -0.038246065f, 0.007227846f, -0.026129242f, 0.027641697f, + 0.00677417f, -0.33004606f, 0.0014567309f, -0.009667243f, + -0.03882877f, 0.0040488103f, 0.82351613f, -0.07250374f, + 0.016626304f, -0.0027319435f, 0.00021781195f, 0.0044861827f, + -0.004268908f, -0.00278385f, -0.14839187f, 0.0019894703f, + -0.059770353f, -0.0004972092f, -0.0038830247f, 0.02039091f, + -0.33799744f, -0.25658372f, 0.0015607117f, 0.014284026f, + 0.02484911f, -0.1541334f, 0.008061391f, -0.0071867f, + 0.029858598f, -0.104053654f, -0.0007138386f, 0.0073966687f, + -0.24317546f, -0.0253548f, -0.073319346f, -0.00091472146f, + 0.00710916f, 0.021279676f, -6.962893e-05f, -0.047073364f, + 0.029513258f, -0.019710988f, -0.0015098939f, -0.14308344f, + -0.0026675109f, 0.0051960833f, -0.00315139f, 0.18731682f, + 0.06104586f, 0.044360206f, 0.14656961f, -0.18204424f, + 0.00078146684f, -0.0022310666f, -0.026711123f, -0.25557277f, + -0.0011784235f, 0.1589993f, 0.038669873f, -0.0030422218f, + -0.013219928f, -0.005083701f, 0.008372153f, -0.0059310556f, + -0.42393616f, 0.0077057793f, -0.03792437f, -0.005492317f, + 0.0032420133f, 0.24043468f, -0.056355953f, -0.01956933f, + 0.004317455f, 0.68182635f, 0.0075756526f, 0.006647063f, + -0.0015377593f, 0.008228467f, -0.03856139f, -0.032718938f, + -0.021131523f, -0.003319868f, 0.019222299f, -0.0018615214f, + -0.027181948f, -0.0007883722f, 0.013022194f, -0.44915003f, + 0.003202667f, 0.13896422f, 0.16925208f, 0.019437416f, + -0.1709917f, 0.0007951226f, -0.0051318463f, -0.003667309f, + -0.0030794858f, 0.0041203494f, -0.13992664f, 0.00082978734f, + 0.0031579055f, 0.009726659f, 0.021130914f, -4.781425e-05f, + -0.03777821f, 0.008111979f, -0.02989234f, 0.025412405f, + 0.2234346f, 0.01649072f, -0.03276912f, -0.006752618f, + -0.094560795f, -0.003689971f, -0.0057132356f, -0.0008017638f, + 0.021044878f, -0.0040540965f, 0.003545937f, -0.011351464f, + 0.1685159f, -0.022849288f, -0.0057155876f, -0.0002285373f, + -0.0011511911f, 0.0032219724f, 0.0033651257f, 0.014572777f, + -0.0022962324f, -0.003750464f, 0.018642211f, 0.34081802f, + -0.0020367287f, 0.038056053f, -0.002847237f, -0.0008854807f, + -0.005623115f, -0.008240003f, -0.0012019405f, -0.4100316f, + -0.0055726487f, 0.0064421515f, 0.122176886f, -0.01054725f, + 0.0076673417f, 0.21932273f, 0.007331189f, 0.10288871f, + 0.2759135f, -0.0067912685f, 0.19819967f, -0.5101777f, + -0.0018324518f, 0.010781074f, -0.009817874f, -0.0022379362f, + -0.013255465f, 0.002262935f, -0.0072479295f, 0.0022298482f, + -0.00046409093f, 0.017676324f, 0.013983576f, 0.017391797f, + -0.012170197f, 0.0038502451f, 0.00031595983f, -0.015023473f, + -0.0013982933f, 0.033179935f, -0.15046532f, 0.31621885f, + -0.0014917848f, 0.024134196f, -0.06170609f, -9.7218384e-05f, + 0.015298564f, -0.0045681065f, 0.02233137f, 0.02977081f, + 0.007066308f, 0.006438576f, -0.006407169f, 0.039322495f, + -0.118496075f, 0.012391368f, -0.09439947f, 0.005015643f, + -0.0026664066f, -0.3196525f, -0.0014377767f, -0.02315438f, + -5.08277e-05f, 0.02367273f, -0.06691856f, -0.005034567f, + -0.000953766f, -0.0036449053f, 0.037585195f, -0.014226065f, + 0.00030922168f, 0.0070266956f, 0.68487424f, 0.032102477f, + 0.27127525f, 0.0106146345f, -0.01775897f, 0.0060112597f, + 0.020290127f, 0.02724482f, -0.014678807f, -0.004813334f, + 0.070681185f, 0.017331315f, -0.06188916f, -0.14437632f, + 0.045751613f, -0.010942745f, -0.0019382909f, 0.0050059557f, + -0.0007534914f, 0.0012377303f, -0.43603325f, -0.0002545258f, + 0.088155925f, -0.010900731f, -0.0062280153f, 0.052731916f, + -0.28980073f, 0.18991391f, -0.0092782555f, -0.0078120213f, + 0.026560746f, -0.13207744f, 0.02339428f, -0.004739292f, + -0.0046070265f, 0.23997591f, 0.002694572f, -0.0013446758f, + -0.021136664f, -0.0044217315f, 0.2511159f, 0.011720475f, + -0.017762767f, 0.027459593f, -0.07109569f, -0.05805073f, + 0.027609829f, 0.0013557374f, 0.039838437f, 0.21084332f, + -0.00988755f, -0.002224182f, -0.0024673634f, 0.024964469f, + -0.1294097f, 0.04191041f, 0.21898152f, 0.16014162f, + 0.0046144477f, -0.0047550118f, -0.02231793f, 0.17447236f, + 0.013217317f, 0.10160377f, 0.22927497f, 0.0008806463f, + 0.003595381f, -0.0075083873f, -0.003247275f, 0.018440038f, + -0.20474926f, -0.030505354f, 0.2579901f, -0.0010520981f, + -0.001263819f, 0.20728692f, -0.07703681f, 0.026009966f, + 0.002451449f, -0.58965886f, 0.01767851f, -0.0072106346f, + 0.0026178472f, -0.043244217f, -0.11224664f, -0.069624215f, + -0.007175288f, 0.018552179f, -0.010561929f, -0.0043098014f, + -0.02279961f, 0.016362479f, -0.0096131805f, 0.4523611f, + -0.0072444705f, 0.13713479f, -0.5287701f, 0.06784521f, + 0.06995235f, 4.630126e-05f, 0.2970239f, 0.0079389345f, + -0.008194189f, -1.0537332e-05f, 0.03684533f, -0.0036321448f, + -0.0020909102f, -0.0009608812f, 0.00021652493f, -0.0031353638f, + -0.040128436f, 0.017981818f, 0.06786067f, -0.002359835f, + -0.35682443f, 0.03747929f, 0.025293166f, -0.00027452115f, + 0.0020190356f, -0.011408401f, -0.07896274f, -0.001569742f, + 0.016685346f, 0.0024745185f, -0.0037496253f, -0.005106682f, + 0.032060366f, -0.031718954f, -0.015995268f, -0.0037245674f, + -0.00045742298f, -0.0038120572f, -0.0017905846f, 0.03608829f, + -0.0038202885f, -0.0022519245f, 0.006114121f, 0.18516642f, + -0.0025151265f, -0.08793063f, 0.013186222f, -1.5537184e-05f, + 0.0019388845f, -0.0027278017f, -0.0018442562f, -0.13795489f, + 0.040528465f, -0.008046177f, -0.004429428f, 0.0070128413f, + 0.0040059565f, 0.08851571f, -0.0054653217f, -0.4672855f, + 0.022621881f, 0.0015237359f, 0.06998177f, -0.80535245f, + -0.0004582449f, -0.040095843f, -0.05259787f, -0.0031186552f, + 0.044227287f, 0.0022015127f, 0.010643712f, -0.054435104f, + -0.0022767347f, 0.024524279f, 0.4015272f, 0.02980895f, + -0.013848123f, 0.0034913481f, -0.0003070873f, 0.0063424907f, + -0.005564393f, -0.02191891f, -0.098451994f, 0.24303955f, + -0.008381204f, -0.0020293936f, 0.074278325f, -0.00091343693f, + 0.07742878f, -0.00063870056f, 0.0020330993f, 0.07956755f, + -0.0055675134f, 0.0058231135f, 0.013725786f, 0.02651671f, + -0.04536962f, 0.014673969f, 0.08878948f, -0.0033357919f, + -0.0019987554f, 0.2746307f, -0.0033964051f, -0.039115794f, + -0.0058421157f, 0.006739857f, -0.0115020545f, -0.007768266f, + 0.0057149944f, -0.0075611603f, -0.051710524f, 0.0024810818f, + -0.009179798f, -0.008835025f, -0.58989954f, 0.030080311f, + -0.29546452f, -0.0055691875f, 0.033679057f, -0.007118862f, + -0.020735225f, -0.24706471f, -0.008616091f, -0.010719405f, + -0.1865361f, -0.020306338f, -0.43398976f, -0.32927334f, + 0.016012914f, -0.009623275f, 0.00455459f, -0.012434163f, + 0.0022485368f, -0.022898156f, -0.39899963f, 0.00033754902f, + -0.27365544f, -0.019712316f, -0.008151092f, -0.020606805f, + -0.5242733f, 0.48441932f, -0.06832875f, -0.014924315f, + -0.021240957f, -0.112215176f, -0.0022908987f, -0.021678407f, + -0.044448406f, -0.4076333f, 0.0053484286f, 0.003389397f, + -0.039435495f, -0.016273245f, -0.30653152f, -0.016552566f, + -0.091276124f, -0.017483715f, -0.071939565f, -0.10449913f, + -0.015355914f, -0.018340776f, 0.029262563f, -0.33008018f, + -0.015682882f, -0.0006512179f, -0.014813037f, -0.09496328f, + -0.1455393f, 0.005323398f, 0.22298904f, -0.12500323f, + 0.0024728004f, -0.0040503494f, -0.009501682f, -0.08470648f, + -0.017352356f, -0.17578778f, -0.22247434f, -0.0105786575f, + -0.016386734f, -0.008275768f, 0.005515135f, 0.021941928f, + -0.21306078f, -0.0068538217f, -0.2673559f, -0.006917794f, + -0.0039180377f, -0.62710834f, -0.007121786f, -0.028280903f, + -0.0029860416f, 0.26930046f, -0.004577485f, -0.007994448f, + -0.017089842f, -0.025026426f, -0.016191358f, -0.009316192f, + -0.006106119f, -0.06259006f, -0.034864217f, -0.0034055412f, + -0.023781728f, 0.00026694793f, -0.0041760206f, 0.086014554f, + -0.015950687f, 0.35522807f, -0.2614138f, -0.022119474f, + -0.3185328f, -0.018055817f, -0.0070295273f, -0.007544436f, + -0.015636183f, -0.0009198487f, -0.036407374f, -0.0049594236f, + 0.0028229523f, 0.00056110614f, -0.007008695f, -0.0128360065f, + -0.081917055f, 0.01551344f, 0.015213302f, -0.007311612f, + 0.05132362f, 0.021465233f, -0.006402508f, -0.0059901825f, + -0.14641468f, -0.010065595f, -0.08414735f, -0.0012903676f, + -0.0074289045f, -0.0064615724f, -0.015104476f, -0.010063922f, + -0.12964018f, -0.006686189f, 0.011695206f, -0.011013127f, + 0.010575832f, 0.0020245458f, 0.0026200518f, 0.032540176f, + 0.003625749f, -0.025884308f, 0.009879514f, -0.0033081162f, + -0.005065944f, -0.14476047f, 0.022136912f, -0.002530654f, + -0.002933526f, -0.011140939f, -0.0038555388f, 0.04427877f, + 0.025654098f, -0.021689415f, -0.020404046f, -0.014721611f, + -0.007580192f, 0.13336009f, -0.0061214482f, 0.37259483f, + -0.21488674f, -0.007936289f, -0.004828332f, 0.27529117f, + -0.0014411202f, 0.08794673f, -0.05525752f, -0.003399421f, + 0.011741441f, 0.0036854558f, 0.011406933f, 0.0077857883f, + 0.0003629323f, 0.0028523155f, 0.3107056f, -0.02287783f, + 0.033571925f, -0.009670379f, -0.0003818231f, 0.0004068414f, + -0.0100345295f, -0.009590073f, -0.13095485f, 0.058844235f, + -0.020663427f, -0.045268036f, -0.03021923f, 0.002023659f, + 0.31443503f, 0.0029122445f, -0.010092801f, -0.05844182f, + 0.0037392292f, -0.0020694819f, -0.052120812f, 0.01733848f, + 0.43239298f, 0.0065457984f, 0.5350353f, 0.0035280227f, + -0.003272129f, 0.23856449f, -0.0031048954f, -0.048894346f, + -0.0046571363f, -0.0016615292f, 0.01840911f, -0.015423428f, + -0.0075298194f, 0.019263389f, -0.02158943f, -0.003838388f, + 0.0009271357f, -0.019160112f, 0.4896474f, -0.0023514535f, + 0.013768055f, -0.00066100847f, -0.0077187787f, -0.025395185f, + 0.025288755f, 0.10791456f, 0.015047971f, -0.012628193f, + 0.25311142f, 0.003550905f, -0.14708993f, 0.20202282f, + -0.06922064f, 0.002551107f, 0.008169807f, -0.014593704f, + 0.0018516734f, 0.012164124f, 0.2513742f, 0.0010325365f, + 0.18029627f, 0.025871614f, 0.0024939566f, 0.01998438f, + -0.53356516f, 0.10595117f, 0.011898587f, 0.019921547f, + -0.013124627f, -0.086608045f, -0.050693024f, 0.0125225475f, + -0.02749701f, 0.14926727f, 0.00025014632f, -0.007745109f, + -0.1855302f, 0.013452292f, -0.08520929f, 0.0010013898f, + 0.28377694f, -0.0029399034f, -0.062173877f, 0.0112691885f, + -0.03165091f, 0.025032528f, 0.013232698f, 0.17995358f, + 0.0047783502f, 0.0011682594f, 0.009342134f, -0.044827484f, + 0.0639132f, -0.0062321997f, -0.1888438f, -0.14366636f, + -0.00058022526f, 0.0014880075f, 0.007538069f, 0.39635003f, + 0.0051545324f, 0.120345555f, 0.07826797f, 0.007383434f, + -0.0585113f, 0.0039290576f, -0.0032862464f, -0.008178984f, + -0.11957721f, 0.025394155f, 0.05283138f, 0.013507607f, + -0.0065017585f, -0.61062783f, 0.011362503f, 0.034132693f, + -0.0012649911f, 0.36889133f, -0.03220211f, 0.028481822f, + 0.0016780441f, 0.0014241891f, 0.022412453f, -0.020245902f, + 0.0141500365f, -0.082845785f, -0.010918618f, 0.0003642479f, + 0.009643082f, -0.03604355f, -0.009614513f, -0.6338644f, + 0.00486999f, 0.33294052f, -0.17708024f, 0.0025698815f, + 0.13708024f, 0.014029667f, -0.0006262232f, -0.00366367f, + 0.011157616f, 0.0019103787f, 0.0831352f, -0.0016815278f, + -0.0072163767f, -0.0009124441f, 0.0034790577f, -0.0073664286f, + 0.03304441f, -0.0017637144f, 0.08082414f, -0.017676711f, + 0.238716f, 0.043989405f, 0.0028220047f, 0.009241451f, + 0.006865225f, 0.0018633223f, 0.1691386f, -0.00069284154f, + -0.009300744f, -0.012478698f, -0.0006683812f, 0.010799955f, + 0.03186596f, 0.025236478f, -0.020551804f, 0.0076685324f, + -0.014927445f, -0.0007155741f, 0.0002631947f, -0.021119663f, + -0.001207664f, 0.008688434f, -0.0011878847f, 0.035407044f, + 0.0050741094f, -0.14420341f, -0.014579646f, 0.0032487535f, + -0.009180867f, 0.010900409f, -0.004036282f, 0.32494313f, + -0.019443704f, 0.014841825f, 0.021095986f, -0.00972278f, + -0.0050655794f, 0.2120975f, 0.0070144287f, 0.0018029037f, + -0.11115355f, -0.002796129f, -0.18154022f, -0.31551698f, + -0.0059147943f, -0.027428815f, -0.061175413f, 0.0018324045f, + 0.00367732f, -0.01150888f, -0.018727235f, -0.0023337386f, + 0.00018144638f, 0.016664675f, -0.30317304f, 0.04597282f, + 0.004429688f, 0.010131467f, 0.0032301187f, -0.019059274f, + 0.01359044f, 0.0048805983f, 0.25822005f, -0.23306525f, + 0.008514639f, 0.025613608f, 0.11378684f, -0.00015990538f, + -0.06480074f, 0.005902124f, -0.012772496f, -0.009453209f, + 0.0010650166f, -0.015452951f, 0.035634607f, -0.03063299f, + -0.22496934f, -0.016106421f, -0.33158076f, 0.0017262864f, + 0.0001631451f, -0.071298085f, 0.0009297655f, 0.009157621f, + 0.0029171396f, -0.009348481f, -0.0006619979f, 0.01217502f, + -0.0031919782f, -0.012124728f, -0.02703068f, -0.015745256f, + -0.0045029293f, 0.017389897f, -0.86599755f, 0.026634132f, + 0.3589113f, 0.009476986f, 0.02241392f, 0.013314966f, + -0.038952123f, -0.038607705f, -0.014234417f, 0.0073916013f, + -0.03756792f, 0.016648075f, 0.3237459f, -0.43159613f, + 0.010020967f, -0.0048384084f, -0.018005835f, 0.012636984f, + -0.013308724f, -0.028613893f, 0.3065154f, 9.9992634e-05f, + -0.04670672f, -0.020910034f, -0.0064397915f, 0.0107502295f, + -0.10920006f, 0.32084304f, -0.036403958f, -0.039720528f, + 0.06358221f, -0.10726618f, 0.049015734f, -0.017028015f, + 0.034877077f, -0.32702005f, -0.0048129493f, 0.019383905f, + 0.19869669f, -0.017754337f, 0.5344908f, 0.010233092f, + 0.43050054f, -0.0061382633f, -0.054953426f, -0.12260817f, + -0.0038797362f, -0.018807199f, 0.044052355f, -0.19286534f, + 0.001138032f, -0.0048736045f, -0.019611964f, -0.0952867f, + -0.26488337f, 0.02174691f, -0.0062355823f, 0.15164812f, + -0.00031829675f, -0.0011479325f, -0.06664513f, 0.026802484f, + 0.007816841f, 0.0750818f, 0.12917367f, -0.013249276f, + -0.0431746f, -0.007763326f, -0.011974043f, 0.041756976f, + -0.07877458f, -0.020832704f, 0.004361724f, -0.0022367362f, + -0.0029798641f, -0.05914613f, -0.016119696f, -0.005043481f, + -0.0023723505f, -0.67268354f, 0.01232139f, -0.00676664f, + -0.009651564f, -0.018627876f, 0.057651423f, -0.095442794f, + -0.010289831f, -0.06505942f, -0.046386424f, -0.0019737612f, + -0.06830946f, 0.038855303f, 0.024465023f, -0.26304373f, + -0.003152338f, 0.04631653f, -0.023282558f, 0.015030831f, + -0.025278218f, -0.025541222f, 0.031791925f, -0.0018204666f, + -0.009585629f, -0.0019222201f, 0.11369815f, -0.0018028842f, + 0.025413688f, -0.0059443135f, 0.0059589203f, 0.0057377564f, + -0.11493137f, 0.028461248f, 0.06744362f, 0.03666239f, + -0.27276972f, 0.048834562f, 0.05993834f, -0.008340366f, + -0.19026822f, -0.0068540345f, 0.063633636f, -0.0023424134f, + 0.014875286f, 0.0052112634f, -0.00072043814f, -0.007253588f, + 0.41100875f, -0.0113448985f, 0.064771466f, -0.016506549f, + 0.0327144f, 0.0006753721f, 0.0012039553f, 0.01770613f, + -0.0022043486f, -0.013549918f, -0.0044671404f, 0.039195728f, + -0.004293427f, 0.061669536f, 0.03617243f, -0.003965661f, + 0.0020034672f, -0.0024052362f, 0.004476415f, 0.77706444f, + -0.037971303f, -0.034339983f, -0.025392577f, 0.00035122145f, + 0.009856201f, 0.03936984f, -0.01243664f, 0.078576565f, + -0.10936636f, -0.0024796722f, -0.008224704f, -0.044820845f, + 0.010393085f, -0.0049911076f, -0.052360956f, -0.0016068751f, + 0.039954342f, -0.0023811234f, -0.01380181f, 0.028726378f, + -5.7773286e-05f, -0.000359588f, 0.020362578f, 0.041940507f, + -0.029393302f, -0.017177004f, 0.00073381263f, 0.029836204f, + -0.020618897f, -0.04028839f, -0.4827657f, 0.16151641f, + 0.008539648f, 0.016188767f, 0.0044054585f, -0.00061201624f, + -0.23161575f, -0.00954077f, 0.04617495f, 0.0127908f, + -0.008837874f, -0.003315659f, 0.012809802f, -0.061551817f, + 0.0721287f, -0.022094179f, 0.12557973f, -0.009067152f, + 0.015056609f, -0.34677264f, -0.0011077767f, -0.054539606f, + -0.0024175302f, -0.0027661591f, 0.0027561805f, -0.021937244f, + 0.00571063f, 0.028569257f, 0.09794999f, 0.016488865f, + 0.0028544634f, 0.002921935f, -0.021370977f, -0.0033801019f, + 0.12027839f, 0.001383238f, -0.028697928f, 0.011540793f, + 0.022805389f, -0.03160213f, 0.020530121f, -0.006412654f, + -0.107322685f, -0.013737646f, -0.43041113f, 0.23743339f, + 0.037755333f, -0.0012100626f, 0.0024678987f, 0.0039998726f, + 0.00042600292f, 0.018347498f, 0.8169149f, -0.0039799623f, + -0.21084826f, 0.031769913f, 0.0028372481f, -0.04448604f, + -0.19282436f, -0.05229668f, -0.01064249f, 0.005795422f, + -0.03109593f, 0.16537222f, 0.0011220499f, 0.0006479493f, + -0.0042911693f, 0.09050834f, -0.005733661f, 0.0017842819f, + -0.570817f, 0.010209406f, -0.081355266f, 0.01097861f, + -0.2526856f, -0.0021405742f, -0.018947609f, 0.0415122f, + 0.0065651773f, 0.025914993f, -0.07262057f, 0.048399154f, + 0.0033508579f, -0.00228041f, 0.0010281156f, 0.023830222f, + 0.09828875f, 0.296076f, 0.29620665f, 0.1970912f, + -0.00045814776f, -0.00049944205f, -0.03163951f, -0.085807055f, + 0.017489146f, 0.16911681f, -0.14616503f, 0.005031023f, + 0.013917868f, 0.0061225314f, 0.00046357207f, 0.0017520469f, + 0.109170586f, 0.018863106f, 0.023850938f, 0.010267159f, + 0.0010615401f, 0.084480755f, 0.017191438f, 0.036079336f, + 0.005011137f, 0.35968602f, 0.02479556f, 0.01059267f, + 4.1966156e-05f, 0.001386054f, -0.0012114618f, -0.05003679f, + 0.032750547f, 0.08564513f, -0.0068742f, -0.00046163643f, + 0.02535201f, 0.0076581887f, 0.012972378f, 0.45613074f, + 0.01218629f, -0.2682581f, 0.19389704f, -0.05924248f, + 0.062321577f, 0.004300781f, 0.1168421f, -0.00399685f, + 0.012883129f, -0.0006976051f, -0.23403785f, 0.00027484322f, + 0.002789782f, 0.005522331f, -0.005800934f, -0.004380488f, + 0.011217865f, 0.0037874226f, -0.037134826f, -0.00020276148f, + -0.0153968455f, -0.041410957f, -0.022684049f, -0.0021517125f, + 0.053107534f, -0.001071622f, -0.0006545866f, -0.003368078f, + -0.0010152233f, 0.01162633f, 0.009396059f, 0.008040582f, + 0.21971424f, 0.032730684f, -0.030342268f, 0.0032203111f, + 0.005328149f, 0.0026300524f, -0.004235179f, -0.035444103f, + -0.00077691145f, 0.0027028122f, 0.033803888f, 0.27827156f, + -0.00029587507f, -0.1785111f, -0.00072173506f, -0.0020600588f, + 0.0021206636f, 0.009137556f, -0.004938581f, 0.5045667f, + 0.049689516f, 0.005959943f, 0.116801985f, -0.002292698f, + 0.016267398f, 0.46500427f, 0.005039246f, 0.05495305f, + -0.30964285f, -0.002372382f, 0.05359269f, 0.0097970655f, + 0.0066331495f, 0.098229036f, -0.07573792f, 0.00040341457f, + -0.04197822f, -0.01817161f, 0.006176352f, 0.0170036f, + -0.00035683106f, 0.016124142f, 0.28245118f, -0.04404235f, + -0.013561954f, 0.023802446f, 0.0035190429f, -0.006370893f, + 0.0028825358f, 0.007743412f, 0.053726f, 0.20132479f, + 0.0082088355f, -0.044040084f, -0.031394657f, 0.0019277952f, + -0.38079742f, -0.006728126f, -0.0023369205f, 0.10838989f, + 0.005277344f, -0.0035822697f, 0.040965658f, 0.047052804f, + 0.015394161f, 0.003219381f, -0.2747629f, 0.0060144006f, + 0.011354513f, 0.12086592f, -0.00037047773f, 0.043652005f, + -0.0003831059f, 0.02614042f, 0.07519322f, 0.017685689f, + 0.015642561f, 0.020278662f, 0.0027950332f, -0.002981058f, + -0.012494497f, -0.023923816f, -0.38396564f, 0.006294659f, + -0.18444358f, -0.003624503f, -0.0056417068f, -0.030693654f, + -0.026340514f, 0.016772127f, -0.0009543529f, -0.019884694f, + -0.076968655f, 0.0009542626f, -0.34282786f, -0.19628233f, + -0.03730307f, 0.0050094393f, -0.009078399f, -0.0217989f, + -0.0055141742f, -0.022464648f, -0.11685133f, -0.000699938f, + -0.05888287f, -0.008901728f, 0.0064610797f, -0.025766857f, + -0.32362357f, -0.42521688f, -0.017067f, -0.01950764f, + -0.04130647f, 0.0444004f, -0.034847442f, 0.0023262454f, + -0.007834062f, -0.2544876f, -4.5747074e-05f, 0.00086940476f, + 0.27868783f, -0.0019278397f, -0.078703746f, -0.0075209145f, + -0.009362409f, -0.019787183f, -0.063257925f, -0.01838606f, + -0.037069928f, -0.020875301f, -0.04648865f, -0.12264692f, + -0.006219089f, -0.0015053286f, -0.017708391f, -0.101536565f, + 0.24202462f, 0.033910014f, 0.09868182f, -0.09119968f, + -0.0009098568f, 0.0017785133f, -0.05337649f, 0.5480865f, + -0.007471295f, 0.19944738f, -0.008797428f, -0.021116935f, + -0.018702772f, 0.004295019f, -0.0016085147f, -0.0007066409f, + -0.14810981f, 0.011310273f, -0.11042797f, 0.006376798f, + -0.01005504f, 0.59272134f, -0.034528576f, -0.0073815375f, + -0.0017352519f, -0.01971116f, -0.04001074f, 0.014319444f, + -0.006895958f, -0.004442674f, -0.03036422f, -0.11209119f, + 0.0056550456f, 0.099951044f, 0.009306829f, 0.0017577398f, + -0.007144829f, -0.02623039f, 0.02068893f, -0.10621496f, + 0.004937214f, -0.14405479f, 0.18012047f, -0.0656584f, + -0.013878709f, -0.021133542f, -0.0053167893f, -0.0051148264f, + 0.00084969297f, -0.0025530988f, 0.24046768f, 0.0052695666f, + -0.0068318527f, -0.0059383158f, -0.009257533f, -0.018522616f, + -0.015619957f, -0.004367441f, -0.0037197298f, -0.013457486f, + -0.04646877f, -0.014090631f, -0.033495523f, 0.008855692f, + -0.030754289f, 0.0051403143f, -0.2234601f, 0.0013084363f, + -0.020810334f, -0.014247288f, 0.008416849f, 0.003529566f, + 0.33316356f, -0.006975067f, 0.00013312332f, -0.012678868f, + -0.0010016524f, -0.0010974753f, -0.0011592857f, 0.06779106f, + 0.0007305228f, -0.020519467f, -9.349506e-05f, -0.40444058f, + 0.0045231157f, 0.17413053f, 0.019963274f, -0.00076487515f, + -0.009344516f, -0.0034233513f, -0.00957272f, 0.48754525f, + -0.029904598f, -0.023701333f, 0.03600286f, -0.021938581f, + -0.014874908f, 0.07481829f, -0.0057395124f, 0.36641917f, + -0.28409976f, -0.0014782107f, 0.10970067f, -0.35484785f, + -0.007613675f, 0.019052131f, -0.0620915f, -8.8470035e-05f, + -0.029538821f, -0.018284513f, -0.0017728552f, -0.016330779f, + -4.154758e-05f, -0.038305115f, -0.15057258f, 0.016761953f, + 0.05840484f, -0.007831616f, -0.0014970729f, -0.015804598f, + -0.020965636f, -0.017861817f, 0.40913957f, -0.021664934f, + 0.010242152f, 0.0016961783f, -0.08272803f, -0.0012173448f, + 0.51129293f, -0.0058283163f, 0.0049080797f, -0.026286125f, + -0.0018120571f, -0.023369243f, 0.059298243f, -0.08029194f, + -0.06471998f, -0.012870396f, -0.02804763f, -0.00657257f, + -0.007195605f, 0.0536011f, 0.001594393f, -0.00866717f, + 0.0020024516f, -0.034086306f, 0.006119105f, -0.012675584f, + -0.009573678f, -0.007929478f, -0.019348005f, -0.0009375029f, + 0.011562661f, -0.00062094233f, -0.4717693f, -0.024697492f, + 0.03673982f, -0.0075352862f, 0.02406155f, 0.019266559f, + 0.00063258293f, 0.05732134f, -0.0015363714f, 0.006225242f, + 0.099601746f, 0.043601003f, -0.17451152f, 0.13265704f, + -0.026639147f, 0.0018137756f, 0.0022433319f, 0.020466795f, + 0.0017429834f, 0.016099278f, -0.26763088f, 0.00037561284f, + 0.25781983f, -0.001641212f, -0.001338505f, -0.011055222f, + 0.09581357f, 0.57014936f, 0.070332624f, 0.013769681f, + 0.036408007f, 0.116753705f, 0.012003658f, 0.019684082f, + 0.015884036f, 0.16427435f, 0.0044162166f, -0.0032872164f, + -0.06131702f, 0.021435002f, 0.3761729f, 0.0142280655f, + 0.2418223f, 0.021092333f, -0.001464927f, 0.021536356f, + -0.022076547f, -0.001160334f, -0.032350235f, 0.10309485f, + 0.004749799f, 0.00209303f, 0.011875772f, -0.026551351f, + 0.07774148f, -0.06289727f, 0.07924012f, 0.04664392f, + -0.0019499883f, -2.7897155e-05f, -0.014573405f, -0.6148482f, + 0.016392177f, 0.13012771f, 0.105953425f, 0.008480525f, + 0.02352931f, 0.002030955f, 0.0008044095f, -0.020984791f, + 0.14628376f, 0.03354652f, 0.23432325f, -0.0046900515f, + 0.01053582f, 0.28216296f, -0.007999511f, 0.024524864f, + -0.0013513585f, 0.45804423f, 0.021548916f, -0.015848136f, + 0.017818918f, 0.01210373f, 0.0396365f, 0.00019389563f, + 0.025078528f, -0.057512302f, 0.06586244f, -0.0019405126f, + 0.04072496f, -0.012576949f, 0.020991024f, 0.06237144f, + 0.010646197f, 0.27444336f, 0.30305338f, 0.02498521f, + 0.12367411f, 0.017488193f, 0.072822206f, 0.009179488f, + 0.0022607362f, -0.0015646177f, 0.11503916f, 0.001179295f, + -0.005945665f, 0.009045825f, 0.047904156f, 0.0069871764f, + 0.02004828f, -0.0026295409f, -0.025203861f, 0.019818522f, + 0.1590905f, 0.020200409f, -0.0084758615f, -0.0015432155f, + 2.1846408e-05f, 0.00011922567f, 0.12454531f, 0.0034565271f, + -0.0046565523f, -0.0016191169f, 0.035163287f, 0.0017965607f, + 0.04504518f, -0.010889597f, 0.0028556213f, 0.0126320915f, + -0.019686144f, -0.00067127467f, -0.0016250487f, 0.035737224f, + -0.001169358f, 0.010878393f, -0.020852346f, -0.20824033f, + 0.0010298978f, 0.30703887f, -0.027235286f, 0.00290201f, + -0.0031114223f, 0.009746449f, 0.0066014268f, 0.118894145f, + -0.02575129f, 0.020421948f, -0.01086647f, -0.0063777184f, + -0.0059606745f, -0.5202239f, 0.016749479f, -0.3295264f, + -0.3393113f, 0.0038090895f, -0.019801246f, -0.13779442f, + 8.171431e-06f, 0.10111231f, 0.073135346f, -0.0016453455f, + -0.017740967f, 0.011467862f, 0.0009498311f, 0.118537426f, + -0.0014312838f, -0.010739526f, -0.36682492f, -0.0363117f, + 0.068019226f, 0.0015445084f, -0.001615632f, -0.004827495f, + 0.014889027f, 0.018269518f, -0.22793087f, -0.11720138f, + 0.010066515f, 0.009771524f, -0.04309021f, -0.00041587738f, + -0.05209083f, 0.0017297961f, 0.016056871f, -0.004185413f, + 0.00062701275f, 0.0094968155f, 0.029773382f, 0.05718741f, + -0.02138533f, 0.0012180402f, -0.48276916f, -0.0003902057f, + 0.00027061012f, 0.54938555f, -0.0004272493f, 0.02649873f, + 0.0020846634f, 0.0044970387f, 0.0019260378f, -0.0017292271f, + 0.0052216654f, -0.02042648f, -0.05848524f, -0.0058957716f, + -0.005722869f, -0.0002776696f, 0.028434176f, -0.01685565f, + 0.23432592f, -0.005954775f, -0.04255613f, -0.009775196f, + 0.016292045f, 0.48292089f, 0.0076485486f, -0.0039385757f, + -0.07183655f, 0.0076872692f, 0.12356705f, 0.2304264f, + -0.019076083f, -0.0015653463f, -0.0004589796f, -0.006687174f, + 0.0005842844f, -0.013095616f, 0.044299077f, 0.0012283965f, + -0.00501674f, 0.01770253f, -0.0026786407f, 0.05305785f, + -0.16857925f, -0.19237337f, 0.020670649f, -0.008261809f, + -0.021198122f, -0.015304969f, -0.018978583f, 0.010030929f, + -0.034713384f, 0.23567377f, -0.0016548878f, -0.0074323886f, + 0.32444328f, -0.010449246f, 0.022968207f, 0.0041608363f, + -0.17698833f, 0.0152102765f, 0.047628336f, 0.007131262f, + 0.05350828f, -0.0106328735f, -0.047571674f, 0.06544252f, + 0.008340365f, -0.0003943877f, -0.0115702f, -0.020571144f, + 0.005814791f, -0.07741055f, -0.008286585f, 0.0670827f, + 0.0005651681f, -0.0010774717f, 0.005778671f, 0.28569937f, + 0.0048563294f, -0.14902906f, 0.003984577f, -0.009901008f, + -0.007905976f, -0.00078609f, -0.0029984347f, 0.001072629f, + 0.8117797f, -0.014230644f, 0.04717084f, -0.0042834277f, + -0.009652235f, 0.049787614f, -0.036273163f, -0.040282156f, + -0.0009469492f, 0.49683753f, -0.00032156403f, 0.0027558669f, + 0.0060606175f, -0.0047117546f, -0.06630365f, 0.039475873f, + 0.0077425726f, -0.07441144f, -0.015054599f, -0.0018818292f, + -0.0065316246f, -7.08604e-06f, -0.018963002f, 0.10521813f, + -0.0074250284f, -0.6948486f, -0.05616396f, 0.062496256f, + -0.30207267f, -0.00684071f, -0.07499042f, 0.0042546056f, + 0.0066719144f, 0.002126698f, -0.056342892f, -0.0032628342f, + -0.0045359316f, -0.01851014f, -0.009388876f, -0.010798668f, + -0.008280905f, -0.00785727f, -0.07791482f, -0.023785882f, + -0.16924982f, 0.016120875f, -0.019435877f, 0.0024213572f, + 0.07831863f, -0.00068205665f, -0.22390555f, -0.0054138754f, + -0.029618088f, -0.00465396f, -0.01617898f, -0.003563431f, + -0.13558748f, -0.044085596f, -0.04231016f, -0.0054322584f, + -0.013103733f, -0.00039812966f, 0.0016921426f, -0.015187187f, + -0.0012378712f, 0.0047959434f, -0.021110773f, 0.3110938f, + -0.0030423743f, -0.4122058f, -0.031336345f, -0.003260671f, + -0.0046851924f, 0.016112082f, -0.00846849f, -0.2838832f, + -0.010011679f, 0.001018117f, 0.04389785f, -0.0020592727f, + -0.017402232f, -0.2593915f, -0.010662479f, 0.15315521f, + 0.023649555f, 0.0024042046f, 0.07734607f, -0.109515585f, + -0.012063191f, -0.077545494f, 0.017163267f, -0.0012465798f, + 0.013808174f, 0.0012766763f, -0.0131989615f, -0.06032059f, + -0.00045077605f, -0.02128143f, -0.5344877f, -0.005798304f, + -0.02409159f, 0.017148452f, -0.0002689915f, -0.0052385493f, + -0.0073243063f, -0.018810244f, 0.058626547f, -0.095387645f, + 0.0058125844f, 0.030689577f, -0.011210697f, -0.0009345939f, + -0.051036414f, -0.007011037f, 0.002816208f, 0.10966406f, + -0.00056955725f, -0.020177508f, -0.019419562f, 0.097391054f, + -0.10784627f, 0.002681133f, -0.16466501f, 0.0019955398f, + -0.010517222f, 0.1377479f, -0.000484512f, 0.0063518235f, + -0.0015500084f, 0.0019134837f, -0.02375407f, -0.0013646968f, + -0.014562224f, -0.0014961301f, 0.16341977f, -0.013552216f, + 0.020457393f, 0.006932875f, -0.2362371f, 0.0014366335f, + -0.49809623f, 0.013422054f, 0.016074073f, 0.06427303f, + 0.029254783f, -0.46720567f, 0.00842657f, 0.0098386435f, + -0.04392909f, 0.035496343f, 0.013254038f, 0.07729318f, + 0.13209456f, -0.0052294256f, 0.00494639f, 0.033924863f, + 0.0017733815f, 0.018068127f, 0.17698447f, -5.406646e-05f, + -0.008276221f, 0.03588008f, -0.007480866f, -0.012916301f, + -0.43693855f, 0.13729084f, 0.015819438f, 0.015658638f, + 0.022908168f, 0.10347492f, 0.054267533f, 0.025121875f, + 0.068007864f, -0.048004985f, -0.003559833f, 0.01397655f, + -0.0441338f, 0.026574789f, 0.053290047f, 0.019363571f, + 0.33590943f, 0.0595692f, -0.037761163f, 0.018463315f, + 0.09600112f, 0.009551654f, -0.0036013199f, 0.06343283f, + 0.021166483f, -0.00085013715f, 0.011618206f, 0.18148363f, + -0.020195957f, 0.1963729f, 0.16859053f, 0.21508361f, + 0.0011520617f, -0.002874141f, -0.026342766f, 0.5264651f, + 0.024835832f, 0.18417934f, 0.15969989f, 0.009961862f, + 0.06401687f, -0.002082779f, -0.0056432844f, -0.015955385f, + 0.47394973f, 0.032256514f, -0.10703006f, -0.005475858f, + 0.008903209f, -0.012185635f, 0.03558249f, 0.033746492f, + -0.003592953f, -0.18853977f, 0.062096734f, 0.019468628f, + 0.0071971654f, 0.04045719f, 0.053455275f, 0.02781632f, + 0.05010866f, -0.026751557f, 0.031619154f, -0.0045718537f, + 0.060114574f, 0.0240395f, 0.02173857f, 0.047605682f, + 0.015224951f, 0.2479488f, -0.008307166f, 0.027132824f, + -0.030741718f, 0.014855251f, 0.15802172f, 0.0012735148f, + 0.021776918f, -0.0016272468f, -0.31567955f, -0.00529068f, + 0.020323904f, 0.008719695f, 0.02139729f, 0.014760292f, + 0.026825167f, -0.0007350138f, 0.052878615f, 0.05333334f, + -0.2555375f, -0.027264245f, -0.022180019f, -0.00616657f, + -0.055323824f, -0.006191737f, -0.037445128f, -0.0030640627f, + 0.02925575f, 0.014275459f, 0.030754054f, -0.0075252084f, + 0.105160594f, 0.013915748f, -0.024178043f, 0.013965228f, + 0.019548796f, 4.432267e-05f, 0.0006204228f, -0.020848554f, + -0.0016303705f, 0.0023091715f, -0.0025162462f, 0.25517774f, + -0.004449876f, -0.05413146f, 0.016161261f, -6.0246184e-05f, + -0.0015026747f, 0.038002294f, 0.0070119253f, -0.17562646f, + 0.068438426f, 0.005306528f, 0.12216254f, -0.011674816f, + 0.020814708f, -0.8383529f, 0.003186526f, 0.11741204f, + 0.048426665f, -0.0007877518f, 0.035863135f, 0.19083361f, + 0.014457508f, 0.056300286f, -0.100193664f, -9.555329e-06f, + -0.009224633f, -0.007912692f, 0.042794794f, 0.070281304f, + -0.0019539646f, 0.052358262f, -0.14463265f, -0.02650309f, + 0.018622477f, 0.029698867f, -0.0016586932f, -0.02508787f, + 0.015776714f, 0.020716667f, -0.10328947f, 0.38705355f, + 0.024394939f, 0.00012362798f, -0.03792675f, -0.0007364249f, + -0.03598467f, 0.007527723f, 0.039674837f, 0.0030834733f, + -0.007165256f, 0.04005102f, 0.15452035f, 0.24110669f, + 0.15991884f, 0.0096865315f, -0.18452752f, -0.0064381687f, + -0.008642179f, -0.111357376f, -0.002647415f, 0.02310848f, + -0.0023896617f, 0.058383558f, 0.032397367f, 0.0026597374f, + 0.020920394f, 0.020598872f, -0.098935015f, -0.0011847694f, + -0.004884279f, -0.015770013f, -0.22955917f, 0.010370734f, + -0.04681267f, -0.0052474015f, 0.028454201f, -0.0030382744f, + -0.014472241f, -0.067807764f, -0.0035376824f, -0.014764397f, + 0.016703539f, -0.0067509217f, 0.34030256f, -0.012488516f, + 0.030534608f, -0.0012278388f, 0.0033136064f, -0.006860353f, + -0.0030304857f, 0.0074701174f, -0.072997965f, 0.0005982911f, + 0.39502504f, -0.0035228718f, 0.00062152726f, -0.04517574f, + -0.14322495f, -0.14182703f, -0.019366309f, 0.010931986f, + -0.031041332f, 0.024068065f, -0.019680176f, -0.010098414f, + 0.016626766f, 0.022155534f, 0.0063097957f, -0.0022589392f, + -0.20988293f, 0.0039889393f, 0.23281953f, -0.009301461f, + 0.19260928f, -0.018242184f, -0.06346172f, 0.012343415f, + -0.05904406f, -0.02491583f, 0.00087663933f, 0.0049942057f, + -0.005174611f, 0.0012268106f, 0.004315632f, -0.048857525f, + 0.2192021f, 0.056353506f, 0.017801728f, 0.07669271f, + 0.0016237544f, -0.0020084202f, 0.021854566f, -0.04417534f, + -0.016080854f, -0.010192832f, -0.08992729f, -0.0015198734f, + -0.021116735f, -0.006974668f, 0.0040396242f, -0.018784206f, + 0.55356586f, 0.0064937323f, 0.08472239f, 0.0010438089f, + -0.002428134f, -0.4339075f, 0.028355109f, -0.0038406472f, + -0.0023880892f, -0.3731911f, -0.0096364515f, 0.02290464f, + -0.007388783f, 0.05560856f, -0.00078522967f, -0.037640937f, + -0.0069617247f, 0.100078166f, 0.06781406f, 0.0003712195f, + 0.037164353f, -0.029844765f, -0.011371137f, 0.06888713f, + -0.004827453f, 0.17726259f, -0.2068564f, -0.010974484f, + 0.013741716f, 0.005619607f, -0.124933235f, -0.00075477076f, + -0.0028292614f, 0.0010215124f, 0.02350617f, -0.0014995635f, + -0.0016031775f, 0.0076032f, -0.024744332f, -0.011803193f, + 0.025827996f, 0.0019285111f, -0.00013969862f, -0.008703024f, + -0.04496269f, 0.017980227f, -0.012637804f, 0.0008732736f, + 0.040382966f, -0.00057359616f, 0.17534016f, -0.0010253708f, + 0.008369878f, -0.013915369f, -0.016220307f, -0.0058914525f, + 0.077394605f, 0.018997854f, -0.015860785f, 0.00519558f, + -0.010453582f, 0.0006034836f, 0.003681141f, 0.038889676f, + 0.0012074219f, -0.014354479f, 0.029267445f, 0.061514296f, + -0.00166985f, 0.12959683f, 0.0043081995f, 0.0004458189f, + -0.0039472533f, -0.008412493f, -0.0060884818f, -0.45549408f, + -0.007696398f, 0.004829011f, -0.028014375f, -0.014355755f, + 0.0004417034f, 0.60584265f, 0.0038967438f, -0.0483294f, + -0.76846486f, 0.0010288553f, 0.36978185f, -0.15605538f, + -0.0074547613f, 0.017415226f, -0.073268555f, 0.00032372322f, + -0.07336632f, -0.008477587f, -0.010553991f, 0.013847317f, + 0.0010352886f, -0.0446765f, -0.08655515f, -0.06498072f, + 0.12195721f, -0.004439953f, 0.0016156995f, -0.03068431f, + 0.001697117f, 0.012786101f, 0.13320495f, -0.21548447f, + 0.00062454777f, -0.0649966f, -0.047007136f, 0.00080766465f, + 0.24163502f, 0.0012220873f, -0.0077649453f, 0.16005434f, + -0.00025912264f, 0.0017606363f, -0.026697334f, -0.06552443f, + 0.11136251f, 0.005951438f, -0.08377984f, 0.0010971152f, + -0.0063849534f, 0.044352166f, -0.00031282697f, 0.049855564f, + -0.00011328995f, -0.0033356166f, 0.08768355f, -0.0035190494f, + 0.001646553f, -0.017112657f, -0.060826212f, -0.019416992f, + 0.0100354785f, 0.016652834f, -0.10735794f, 0.03276791f, + -0.29876837f, 0.029744904f, -0.011199349f, 0.0324099f, + 0.019227762f, -0.1876335f, -0.0033221245f, 0.008962686f, + 0.046289988f, -0.014850157f, -0.1892744f, -0.2120264f, + 0.052224927f, -0.006296977f, 0.007749775f, 0.024455125f, + -0.002563932f, 0.009481969f, -0.781261f, 0.00020620551f, + 0.28422165f, 0.006440108f, -0.00529989f, -0.0005352015f, + -0.01872089f, -0.5109815f, -0.06082088f, 0.008533254f, + -0.01434092f, 0.010322057f, 0.045461394f, 0.010790861f, + 0.03135785f, -0.17866276f, 0.0006896232f, 0.007449053f, + -0.07305189f, 0.01794009f, -0.34170258f, 0.021806f, + 0.16871032f, 0.038978204f, -0.04189359f, -0.033604614f, + 0.10250199f, 0.007338012f, 0.059345454f, 0.18764268f, + 0.0034284173f, 0.00043095992f, 0.010685933f, -0.024904547f, + -0.21506773f, -0.0801793f, 0.05381674f, 0.065168664f, + 0.0009572024f, -0.0019988841f, -0.014136126f, -0.21129449f, + 0.024685485f, 0.08674521f, 0.03268239f, 0.008240819f, + 0.15116876f, -0.0030653432f, 0.0016060312f, 0.02090981f, + 0.48793313f, -0.0053286212f, 0.0130376965f, 0.0048749777f, + 0.0050190836f, 0.09409083f, 0.027330292f, 0.06361287f, + 0.0013834654f, -0.050375417f, 0.03311648f, -0.011270253f, + 0.0125173265f, 0.036465216f, -0.00030385563f, -0.030350573f, + 0.0072369594f, -0.08120768f, -0.010680576f, -0.0026767666f, + 0.012810718f, 0.024666203f, 0.017653441f, -0.6032463f, + 0.004438308f, -0.0982112f, 0.051519748f, -0.020754209f, + -0.0192981f, 0.009253281f, 0.26864713f, -0.0020422044f, + 0.0050939284f, -0.0005042748f, -0.06617159f, -0.005489871f, + -0.0030449105f, 0.0034293947f, 0.027800027f, 0.019521724f, + -0.05063748f, 0.029208602f, 0.06079091f, 0.036147367f, + 0.14837524f, -0.009777976f, -0.004486094f, 0.0015689355f, + -0.018036637f, -0.0062064235f, 0.061222196f, 0.00095582905f, + 0.024099968f, 0.015627703f, 0.015691537f, -0.00096316385f, + -0.41386315f, 0.013057633f, -0.014526963f, 0.007994271f, + -0.0050279126f, -0.001477965f, -0.002181496f, 0.0025979422f, + -0.001269903f, 0.022691607f, 0.023280548f, 0.021913199f, + -0.0027721983f, 0.04691457f, -0.015292149f, -0.0034641752f, + 0.0073864367f, 0.02164408f, 0.016395641f, 0.58878714f, + 0.04226501f, 0.0078172125f, 0.19623582f, 0.023696894f, + 0.00012741819f, 0.10117151f, 0.002406229f, 0.38168707f, + -0.18972257f, -0.0016499637f, -0.14477858f, 0.101947f, + 0.008698817f, -0.036808476f, -0.0024785425f, -0.00019441004f, + 0.02029656f, 0.003109385f, 0.020726778f, -0.086374566f, + -0.0022546647f, 0.04710873f, 0.44050974f, 0.00022780364f, + -0.08773801f, 0.008963137f, -0.00012219693f, 0.011175341f, + 0.0069338665f, 0.016088447f, -0.08084576f, 0.08725679f, + 0.005026773f, 0.017583953f, 0.0059502707f, -0.00065332354f, + -0.27749094f, 0.005678844f, 0.0168253f, -0.013816483f, + -0.003440502f, 0.033971258f, 0.078243926f, 0.15662354f, + 0.0054533863f, 0.008680111f, 0.48217463f, -0.0037665353f, + -0.0040720976f, -0.35622293f, -0.0026244165f, -0.01767542f, + -0.0054334286f, 0.027834062f, -0.032737844f, 0.017816303f, + 0.00465625f, -0.007302088f, 0.079253614f, -0.015651368f, + 0.003162613f, 0.004473438f, -0.34017888f, -0.0052412325f, + 0.019703193f, 0.00044294298f, -0.0002665933f, 0.00011660684f, + 0.010204403f, -0.2569448f, 0.0020964905f, 0.009905751f, + 0.00489786f, -0.0029552267f, -0.33534804f, -0.17691356f, + 0.02556815f, 0.00214512f, 0.006932142f, 0.006464499f, + 0.00464415f, 0.0023674655f, -0.21243699f, -0.0002033969f, + -0.0030121722f, 0.013954917f, 0.0030370564f, 0.005793f, + 0.74274737f, 0.1315128f, -0.013624065f, 0.0038311437f, + 0.026561446f, 0.039578628f, 0.016078636f, 0.00035539342f, + -0.027189588f, -0.12934947f, -0.0007276371f, -0.0034665994f, + -0.013901043f, 0.010409774f, 0.14253815f, -0.0002527824f, + 0.019891134f, -0.0014977519f, 0.05952933f, -0.009781003f, + 0.008431491f, 0.012092025f, 0.058597267f, -0.06332802f, + -0.009835684f, -0.002959004f, 0.0023283244f, 0.14310245f, + -0.046713013f, 0.10218007f, 0.079740584f, -0.005241003f, + -0.0017103516f, 0.0020760586f, -0.033062544f, 0.19565734f, + -0.0044403886f, 0.023544123f, 0.024866438f, 0.0022162294f, + -0.08045017f, 0.0063239713f, -0.0013492159f, 0.03069482f, + 0.14431904f, 0.026352277f, -0.045283318f, 0.0048693675f, + 0.0033668415f, -0.36438918f, -0.020219969f, -0.0113832895f, + 0.0009722217f, 0.115586534f, -0.014994921f, -0.00835197f, + -0.005064075f, -0.00029837343f, 0.011179535f, 0.06992249f, + 0.011430547f, 0.091566995f, -0.0017744275f, 0.0011447493f, + -0.0004153484f, 0.0041487897f, -0.023727547f, 0.14033777f, + -0.008097506f, 0.031360622f, 0.016252128f, 0.0070561087f, + -0.17001593f, 0.0055916063f, 0.015908178f, 0.0012722388f, + 0.0011893861f, -0.0043640076f, 0.27459708f, -0.00045822895f, + -0.0064938325f, -0.00095533347f, 0.0032590006f, 0.019637646f, + -0.036003184f, 0.003215775f, 0.050564367f, 0.020152532f, + 0.16275519f, 0.015833441f, -0.009477657f, -1.2642698e-06f, + -0.034204844f, 0.0026981344f, -0.4139561f, -0.0011559023f, + 0.014928441f, 0.0010513978f, 0.009525017f, 0.003632875f, + -0.157664f, 0.009231312f, 0.025574878f, 0.0011792249f, + 0.013346703f, 0.00047973054f, -0.0031733934f, 0.012365637f, + 0.00063502864f, 0.008447273f, 0.009932371f, -0.5570526f, + 0.0009627006f, -0.6431699f, 0.009640629f, 0.0042136074f, + -0.0027242263f, 0.030863462f, 2.6263233e-05f, -0.09464275f, + -0.02727053f, 0.009112373f, 0.088853315f, 0.0009394877f, + -0.0007086781f, 0.3943242f, -0.0020834021f, 0.034295294f, + 0.2196229f, 0.0011314598f, 0.13407351f, -0.56554234f, + -0.003764177f, -0.017293615f, -0.012958005f, -0.00019413336f, + 0.052446228f, -0.0067494228f, -0.004782503f, -0.025797874f, + -0.0010300662f, -0.016772568f, -0.25327f, 0.0253204f, + -0.019148633f, 0.0076526916f, -0.001415223f, 0.01927911f, + 0.0049545467f, -0.0033993977f, -0.23963727f, 0.28985676f, + -0.009085048f, 0.009505194f, 0.08766062f, -0.0014900714f, + -0.029095406f, 0.0026967453f, -0.010397897f, 0.20159817f, + -0.008966704f, 0.017285116f, -0.102201454f, 0.088873476f, + 0.36376512f, -0.00834789f, 0.011456555f, -0.0066220835f, + -0.0026169564f, -0.50728923f, 0.0011505231f, 0.025299143f, + -2.9115146e-05f, 0.016770162f, -0.022858663f, 0.002732734f, + -0.006175194f, 0.010823357f, 0.056109622f, 0.0052440427f, + -0.014746073f, 0.0013854788f, 0.29651204f, -0.0075350185f, + 0.066577405f, 0.0014192081f, -0.077284284f, -0.012950485f, + 0.011901826f, -0.023430934f, -0.0018512799f, 0.0073715155f, + 0.018944047f, -0.01876982f, 0.29865816f, 0.05597788f, + -0.04305615f, -0.0029399956f, -0.002567612f, -0.010511995f, + 0.0006531626f, -0.010761794f, 0.21614872f, -0.0023877572f, + -0.24055399f, -0.0015850652f, -0.0028684898f, 0.010322423f, + 0.4866326f, 0.56707567f, -0.017810404f, -0.021989938f, + -0.033261094f, 0.02548806f, 0.0030278973f, -0.02252723f, + -0.06884322f, -0.07485799f, -0.007305996f, -0.00677046f, + 0.055871505f, -0.024409566f, -0.07727162f, -0.0035206003f, + -0.027633408f, -0.013921181f, 0.024002826f, -0.015358601f, + -0.030524006f, -0.014340548f, 0.025990374f, 0.17819813f, + -0.0009855184f, 0.0021179784f, -0.0046765f, -0.2529165f, + -0.023415472f, -0.013728794f, 0.05770779f, 0.16642746f, + 0.0014812318f, -0.00042522597f, 0.009211946f, 0.35140237f, + -0.012319047f, 0.14019522f, -0.087226845f, 2.8762019e-05f, + 0.0065063443f, -0.0018922468f, -0.00043600862f, 0.011231263f, + -0.19830406f, -0.038737547f, -0.045134373f, -0.0043671415f, + 0.0022259098f, 0.0547479f, -0.017825177f, 0.08492959f, + 0.006752322f, 0.3939003f, -0.012476243f, -0.0055531673f, + -0.011252823f, -0.07350485f, -0.08172309f, 0.01099818f, + -0.0066257888f, 0.0014122134f, -0.07072019f, 0.00031386118f, + -0.06078973f, 0.010116073f, -0.019975118f, -0.27458093f, + -0.013644762f, 0.07290055f, -0.13790749f, -0.0036955785f, + 0.21522583f, -0.00952483f, 0.14932999f, -0.0021464755f, + -0.004126876f, 0.0015734138f, 0.059728034f, -0.001773916f, + -0.008947851f, -0.0033455505f, -0.04216518f, 0.006493015f, + -0.03578306f, -0.0027425718f, 0.008240991f, -0.012021842f, + 0.24075739f, 0.0009174034f, 0.008666543f, -0.002443655f, + 0.055930406f, -0.0035013263f, -0.050224237f, -0.000484408f, + -0.039868053f, -0.0044554016f, -0.026171295f, -0.0051152576f, + 0.33557937f, -0.0089852335f, 0.015713567f, -0.008984928f, + 0.005964639f, 0.0007317045f, -0.004496794f, -0.030566571f, + 0.0007439167f, -0.0035405264f, -0.006067697f, -0.036912337f, + -0.0017198141f, -0.10409869f, 0.016254347f, -0.001458174f, + 0.0038408884f, 0.014206565f, -0.0029393842f, -0.29602754f, + 0.016553856f, -0.01963655f, 0.010483202f, 0.0053416477f, + 0.006102137f, -0.5506027f, -0.0051003355f, 0.20911835f, + -0.7962323f, 0.0046723792f, -0.19651909f, 0.03944086f, + -0.0076264427f, 0.035109133f, 0.057018347f, 0.001736338f, + 0.036896452f, -0.013897554f, 0.015571781f, -0.024102498f, + -0.00048148245f, -0.0068731345f, 0.23727782f, 0.034994557f, + -0.05226614f, -0.0060732914f, 0.0023389459f, 0.028016564f, + -0.005780398f, -0.008691483f, 0.101019084f, 0.10331845f, + -0.008094913f, 0.038160536f, 0.091712f, 0.0015060563f, + 0.050610073f, -0.009979896f, -0.009813974f, -0.058865268f, + 0.0026283537f, -0.015465692f, -0.025477683f, -0.038095083f, + 0.070075296f, -0.021297708f, 0.29567608f, 0.005360054f, + 0.0015895689f, -0.36359784f, 0.00053232047f, -0.055798177f, + -0.002507846f, -0.008576445f, -0.04014592f, -0.013704031f, + 0.0018182815f, 0.008552673f, 0.026047787f, 0.015220382f, + -0.011888914f, -0.004020304f, 0.03156723f, 0.023939041f, + -0.021711195f, 0.0017497774f, 0.0902611f, -0.020339131f, + -0.014936974f, -0.20401034f, 0.01712438f, 0.0057471995f, + -0.0036797402f, 0.002370096f, -0.055319667f, 0.10160963f, + -0.045418836f, 0.043006487f, 0.003601884f, -0.014274456f, + 0.00313937f, -0.008963475f, 0.10607426f, 0.0047380873f, + 0.14265329f, 0.017785748f, 0.030688547f, -0.064831205f, + 0.017606493f, -0.015891543f, 0.021584256f, -0.009171981f, + -0.041967772f, 0.19774455f, -0.011534073f, 0.013074754f, + -0.03763871f, -0.02266482f, 0.008792921f, 0.0013819874f, + -0.006522574f, 0.06681147f, -0.00042233602f, 0.011680611f, + -0.043089956f, -0.046224553f, -0.01972913f, 0.09908764f, + -0.09395833f, 0.03328499f, 0.0092848f, -0.016312141f, + 0.012733165f, 0.0014537866f, 0.0002443548f, -0.012937319f, + 0.00833468f, 0.058255717f, -0.026087658f, -0.034154627f, + -0.0032972791f, 0.021335978f, 0.016454708f, 0.044640236f, + 0.016197387f, -0.011098404f, 0.0015756945f, -0.0063062133f, + -0.034448836f, 0.024719652f, 0.0013331125f, -0.008183154f, + 0.20156504f, 0.06814519f, -0.0030475925f, 0.031710673f, + 0.0039443313f, 0.045676388f, 0.10732945f, -0.006610289f, + 0.0056557204f, -0.04590124f, -0.03489313f, 0.042107955f, + 0.004813647f, 0.116037205f, 0.020173833f, -0.022271398f, + 0.037683893f, 0.05172359f, 0.13246903f, 0.016920578f, + 0.15957956f, -0.00724237f, 0.0073576444f, 0.048715264f, + 0.0022429647f, 0.056749158f, 0.11649395f, -0.11455337f, + 0.02884937f, -0.005584053f, -0.028782649f, 0.022135431f, + 0.017557215f, 0.0031383492f, -0.11581665f, 0.022639953f, + 0.014777534f, 0.0011413208f, 0.04730307f, -0.007901044f, + 0.07551854f, 0.01627414f, 0.1640773f, -0.021733444f, + 0.053239413f, 0.00609931f, 0.0060249176f, 0.03276201f, + 0.1489482f, 0.040699378f, 0.076398246f, 0.006807781f, + 0.0009895952f, -0.009421383f, 0.043114625f, 0.02832061f, + -0.09537657f, 0.09406766f, 0.027903637f, 0.00018876979f, + 0.018300962f, 0.0012231722f, 0.007806071f, 0.020807015f, + 0.0077506443f, 0.018218575f, 0.02966895f, 0.03069512f, + 0.019415863f, 0.018651037f, 0.043031137f, 0.006959412f, + 0.012735382f, 0.02409433f, 0.009902837f, -0.06254633f, + -0.06524882f, -0.009807274f, -0.06146772f, 0.023476738f, + -0.013091064f, 0.059362873f, 0.0028081613f, 0.03363885f, + -0.08580345f, 0.019170625f, 0.027890505f, -0.078981854f, + 0.009110368f, -0.0007287681f, -0.07360115f, 0.024376443f, + -0.016980104f, 0.0149620185f, -0.048842005f, 0.009342385f, + 0.008368171f, -0.0056183306f, -0.0966521f, -0.030650103f, + 0.029156175f, 0.006337148f, 0.009962917f, 0.021547763f, + 0.004620606f, -0.00975654f, 0.044757456f, -0.06869526f, + 0.0068549234f, -0.08798773f, -0.008917972f, 0.0036135323f, + 0.06625765f, 0.019687412f, 0.011808033f, -0.022966038f, + 0.0035804198f, -0.005013502f, -0.0031829874f, -0.09260652f, + 0.0058551873f, 0.0031825237f, -0.007757804f, 0.0044835326f, + 0.019890243f, 0.040189706f, 0.015973303f, 0.13963968f, + 0.029132701f, -0.035513915f, 0.0047561643f, 0.01549754f, + -0.009618935f, 0.0069606765f, 0.02377715f, 0.023591977f, + 0.0065416167f, 0.008132208f, 0.01326984f, -0.055892162f, + 0.022920648f, -0.021821592f, -0.10270732f, 0.015754778f, + -0.02673631f, 0.11336852f, -0.07182895f, -0.00083184656f, + -0.023137378f, -0.026027666f, 0.024038311f, -0.057353847f, + 0.037468474f, -0.09521488f, -0.007324955f, 0.015480151f, + -0.0067967298f, 0.001555334f, -0.05110799f, -0.017895177f, + -0.08051851f, -0.0684899f, -0.08170281f, 0.049321927f, + -0.00011361922f, 0.016896822f, -0.02778845f, 0.004594322f, + 0.023566877f, -0.13987605f, 0.019806953f, -0.049308073f, + 0.031205174f, -0.014118268f, -0.01758851f, -0.017499192f, + 0.0044444916f, -0.08773083f, -0.009554782f, -0.045404416f, + 0.02160231f, 0.018905275f, -0.012720214f, -0.075985484f, + 0.080127165f, -0.08647408f, -0.008076537f, 0.0015016827f, + -0.04734897f, -0.008966122f, -0.002364163f, 0.023337334f, + -0.007322753f, -0.017131088f, 0.029714815f, 0.020130383f, + 0.004384627f, -0.041134894f, -0.006438118f, -0.027869603f, + -0.06837809f, 0.007180524f, -0.014124481f, 0.0076230937f, + 0.01014456f, -0.06903538f, -0.006391234f, 0.0048367213f, + -0.08414919f, -0.057366293f, -0.0022359255f, -0.078314506f, + -0.0064672185f, -0.031716753f, -0.074779734f, -0.010028109f, + -0.014685086f, 0.030519882f, 0.015909249f, -0.021563938f, + -0.022550533f, -0.04539074f, -0.068031915f, 0.026894735f, + -0.077733025f, -0.03412835f, -0.085484765f, -0.037707713f, + -0.101796106f, 0.017102674f, -0.036462076f, -0.0385416f, + -0.023189122f, -0.019400321f, -0.09355599f, 0.08790226f, + -0.0029255203f, 0.004279291f, 0.0184892f, -0.026736436f, + -0.0644612f, -0.0143270185f, 0.055933107f, -0.048779834f, + -0.04087217f, -0.0079208575f, -0.07833539f, 0.007574672f, + -0.052318927f, -0.052489206f, -0.085993305f, 0.01731345f, + -0.021617327f, -0.001020787f, -0.05325072f, -0.07738959f, + -0.116405025f, -0.09222787f, -0.039534323f, -0.009336529f, + 0.002018299f, 0.008976073f, -0.0848976f, -0.07568818f, + 0.08595911f, -0.086222f, -0.021345304f, -0.005692063f, + -0.02219811f, -0.0070032384f, -0.024294961f, -0.02052105f, + -0.019033559f, -0.061519563f, -0.06722928f, -0.01721853f, + -0.048297394f, 0.0025424084f, -0.061190188f, -0.022835657f, + -0.020742442f, -0.08977117f, -0.012341092f, 0.043356497f, + 0.039190017f, 0.0028831905f, 0.04927138f, -0.056963596f, + 0.013305328f, -0.024736946f, -0.011674114f, -0.0048764287f, + 0.032553308f, -0.026580898f, -0.021131566f, 0.03074518f, + -0.012930463f, 0.0026121852f, 0.03633941f, -0.033268217f, + 0.017323053f, -0.02110249f, 0.030391358f, 0.005031176f, + -0.022956798f, -0.0071341232f, 0.060871616f, 0.027930923f, + -0.015184871f, -0.04666716f, -0.018096447f, -0.024465766f, + -0.011142142f, 0.0055313148f, -0.025555287f, 0.03051317f, + -0.04258143f, 0.063916095f, 0.004064899f, -0.012018572f, + -0.020938257f, -0.01909063f, -0.06580387f, 0.014408756f, + -0.012020113f, 0.0047221202f, -0.028014943f, 0.060760807f, + 0.008745592f, -0.0071545034f, 0.0018731601f, -0.014481752f, + -0.025577346f, -0.016192172f, -0.032562368f, -0.09597641f, + -0.07293861f, 0.016857887f, -0.005792315f, -0.05103856f, + 0.004658438f, -0.015768811f, -0.00199993f, -0.030211631f, + -0.002600054f, -0.0042607416f, -0.007917908f, 0.028474167f, + -0.012004475f, 0.011540464f, 0.051562995f, -0.008126214f, + 0.014311869f, -0.054833744f, 0.0369373f, -0.00040462567f, + 0.013296601f, 0.014269294f, -0.011428554f, 0.028200088f, + -0.019773956f, 0.048462592f, 0.0036760631f, -0.008307551f, + 0.0030873735f, -0.0017683872f, 0.025258573f, 0.00863043f, + 0.038906213f, 0.035203964f, 0.041817322f, -0.01950099f, + -0.00042852416f, -0.007289989f, 0.014659293f, -0.0027341046f, + -0.010529462f, 0.06920739f, -0.011253162f, 0.02514046f, + -0.016206505f, 0.008379632f, 0.008848354f, 0.008155408f, + -0.00079378946f, 0.043831244f, 0.00628977f, 0.023162501f, + -0.009761039f, -0.0069137374f, 0.009011385f, 0.037048712f, + -0.035232544f, 0.04402657f, 0.0047863037f, 0.00032822543f, + 0.023833947f, 0.0038952862f, 7.940183e-06f, -0.010087355f, + 0.00456638f, 0.008559601f, -0.01492566f, -0.008976767f, + -0.0032208166f, 0.021099625f, 0.0035688397f, 0.013485934f, + 0.035011787f, -0.0030298738f, 0.008533431f, -0.0048075197f, + -0.0035232946f, 0.03535635f, 0.0033412625f, -0.0018266868f, + 0.040506363f, 0.028331071f, 0.0013011734f, 0.03985858f, + 0.0026187976f, 0.016606025f, 0.036048677f, 0.006001677f, + 0.0064301807f, -0.014443134f, -0.007673616f, 0.011335043f, + 0.011621583f, 0.021678299f, 0.035080794f, -0.01287535f, + 0.03941718f, 0.014431548f, 0.040993493f, 0.019638943f, + 0.049310528f, -0.009441483f, 0.01896253f, 0.019043136f, + 0.012229059f, 0.01034216f, 0.04720456f, -0.037033454f, + 0.0011966178f, -0.0025043888f, -0.0044121603f, 0.0130588f, + 0.03309057f, 0.006354099f, -0.025116332f, 0.024811886f, + 0.019209972f, 0.0028619284f, 0.039441537f, -0.0044350913f, + 0.0255262f, 0.02689451f, 0.04307162f, -0.009086844f, + 0.010792242f, 0.0036790695f, 0.027791342f, 0.039283764f, + 0.057062443f, 0.04698086f, 0.018915882f, 0.0045453464f, + -0.0024623042f, -0.004582968f, 0.042972594f, 0.038770866f, + -0.042918492f, 0.042403128f, 0.009181754f, 0.002219724f, + 0.010032486f, 0.0035616276f, 0.012544867f, 0.013216979f, + 0.009910171f, 0.03165922f, 0.03424989f, 0.008746047f, + 0.02465262f, -0.0012721173f, 0.0293989f, 0.010741023f, + 0.010448483f, 0.04530525f, 0.006411856f, -0.02129951f, + -0.016334474f, -0.0013701759f, -0.02093842f, 0.02921294f, + -0.008255211f, 0.0111762965f, 0.0048595504f, 0.0017987386f, + -0.014321122f, 0.013369893f, 0.011507022f, -0.013721402f, + 0.0060615307f, -2.2820133e-05f, -0.013584964f, 0.016760908f, + -0.0059589264f, 0.01091609f, -0.012996184f, -0.001193319f, + 0.011758389f, 0.004764292f, -0.029973697f, -0.010684709f, + 0.008852233f, 0.02443979f, 0.008971987f, 0.011952134f, + 0.004316354f, -0.0037034778f, 0.014384863f, -0.012627914f, + 0.021223672f, -0.026904581f, -0.0011328073f, 0.0064195707f, + 0.009801844f, 0.00860491f, 0.032613374f, -0.006212554f, + 0.005791606f, -0.0035643058f, 0.014862956f, -0.027984917f, + -0.0034727587f, 0.0042986316f, -0.00024682868f, 0.0069556255f, + 0.012599349f, 0.0067637614f, 0.01625441f, 0.046136905f, + 0.03767902f, -0.0067268154f, 0.003831191f, 0.026476134f, + -0.0034305535f, 0.0068441983f, 0.000679926f, 0.013955177f, + -0.0055390573f, 0.010929194f, 0.0662119f, -0.053493347f, + 0.014243869f, -0.030600222f, -0.04106259f, 0.0013622558f, + -0.059132285f, -0.094204396f, -0.085607305f, 0.010491809f, + -0.03832661f, -0.03839295f, -0.03453522f, 0.045935623f, + 0.0027635065f, -0.089474134f, -0.007716071f, 0.009730152f, + -0.004564788f, -0.0027976267f, 0.06288752f, -0.017278844f, + 0.067244925f, -0.08155541f, -0.08468575f, -0.011105388f, + 0.027201794f, 0.0036687825f, -0.015275873f, -0.0036307354f, + -0.018175788f, 0.042175792f, 0.024899084f, -0.058266554f, + 0.0045747715f, -0.053932305f, -0.016672956f, -0.017992916f, + 0.00027070395f, -0.046864074f, -0.014924279f, -0.0541156f, + -0.022362914f, -0.033014752f, -0.045683168f, 0.011755385f, + 0.00021279432f, -0.088198066f, 0.00144228f, -0.018126113f, + -0.0535623f, -0.0061347703f, 0.0023501986f, 0.016248742f, + 0.00027211275f, 0.0534985f, 0.012542377f, -0.0136912875f, + 0.008598721f, -0.037521236f, 0.013358875f, 0.0149429245f, + -0.082999036f, -0.005637727f, -0.022454541f, 0.009506016f, + -0.03022441f, -0.07318291f, -0.008760197f, -0.0010492767f, + 0.14033592f, 0.0007421561f, -0.0045650457f, -0.07782362f, + -0.0023058478f, 0.010989768f, 0.029068926f, -0.02393187f, + -0.012741208f, -0.012261403f, -0.0141933635f, 0.022522748f, + -0.029999383f, 0.08612825f, -0.07957986f, 0.010839133f, + -0.068281576f, 0.023285132f, 0.04321195f, -0.039219476f, + 0.05227454f, 0.025862297f, -0.042872317f, 0.009882027f, + -0.030051947f, 0.044937175f, 0.011783125f, -0.018051578f, + 0.032214675f, 0.00064058934f, -0.012866848f, -0.0070586777f, + -0.0741958f, -0.011403764f, -0.06646276f, -0.0455534f, + -0.033237346f, -0.00257222f, -0.060537294f, 0.005017973f, + 0.017647242f, -0.0581678f, 0.08310134f, 0.0039236755f, + 0.043704253f, 0.0074283606f, -0.07406284f, -0.07518937f, + 0.017001666f, -0.08840735f, 0.044595804f, -0.004502464f, + 0.011913416f, 0.004992686f, -0.07338118f, -0.07972776f, + 0.007992856f, -0.0082387095f, 0.008905438f, -0.0061207614f, + -0.0020364774f, -0.007224656f, -0.025457704f, -0.0040091244f, + -0.020794362f, -0.0699814f, -0.06309776f, 0.01990749f, + -0.04835191f, 0.031071324f, -0.030263852f, -0.020677473f, + -0.014492759f, -0.10220677f, -0.0057417783f, -0.013855232f, + -0.026288014f, -0.008584529f, -0.0069554676f, -0.056154706f, + 0.01776573f, 0.038633976f, -0.011151473f, 0.04888354f, + -0.06281345f, -0.014582541f, 0.008200791f, -0.055152506f, + -0.0032142876f, 0.0019296915f, -0.040707693f, -0.019282913f, + 0.005555318f, -0.0087712165f, -0.016971579f, 0.01987995f, + -0.024387326f, -0.0184672f, -0.028943725f, 0.007180194f, + 0.015898405f, -0.06302958f, -0.0126003185f, -0.006892129f, + -0.007088552f, 0.0011114691f, 0.019914953f, -0.04534366f, + -0.05082997f, -0.013176327f, -0.0026413852f, -0.01619865f, + 0.059621625f, 0.0012182946f, -0.07643057f, -0.008604931f, + -0.014800419f, 0.0049328743f, -0.045851514f, -0.026126876f, + 0.02272361f, -0.0048062485f, -0.0073844665f, -0.017986238f, + -0.009875991f, 0.03329637f, -0.02851466f, 0.037159517f, + -0.07568096f, -0.020851444f, -0.0024914087f, -0.058793027f, + 0.0061971066f, -0.0061054444f, 0.031150086f, -0.009543884f, + 0.003353553f, 0.0055629266f, -0.018560946f, 0.018859876f, + 0.01162821f, 0.012581368f, 0.00058671815f, 0.009314839f, + 0.02645461f, 0.060832437f, 0.034067545f, 0.0061699026f, + 0.016486892f, 0.009436308f, 0.023574479f, -0.029870529f, + 0.015633343f, 0.029082289f, 0.0010796143f, 0.008940817f, + 0.00578324f, 0.01573655f, -0.034127068f, 0.013852121f, + -0.036079098f, 0.02895279f, 0.02893603f, -0.0002063352f, + -0.0035106563f, -0.003428487f, -0.00026085533f, 0.005157836f, + 0.011901379f, -0.045662828f, 0.013316687f, 0.021218715f, + 0.016492598f, 0.017123258f, 0.0031356227f, 0.020684008f, + 0.0021257629f, 0.010270925f, 0.004106588f, 0.019687055f, + 0.015745653f, 0.0113076605f, 0.015804257f, -0.019337134f, + 0.0046312064f, 0.031001672f, 0.0010650428f, 0.008978989f, + 0.023568438f, 0.013559539f, 0.011870357f, -0.011062227f, + -0.002388213f, -0.023240726f, 0.0005062402f, 0.008839324f, + 0.009499234f, 0.006613025f, -0.0032184047f, -0.011997997f, + 0.03082099f, -5.8600577e-05f, 0.0017160984f, 0.01103242f, + 0.013592874f, 0.025101945f, 0.0030530912f, 0.0048998357f, + -0.06912432f, -0.009666979f, 0.007260485f, 0.027076736f, + 0.006606448f, -0.011711793f, -0.017385133f, 0.009392487f, + 0.009050917f, 0.011882331f, 0.022655541f, -0.015026642f, + 0.007364944f, -0.04067362f, 0.024592193f, -0.0038437666f, + 0.02453733f, 0.0021362556f, -0.03047378f, 0.005402783f, + -0.040216763f, 0.010816291f, 0.021729633f, 0.0014371242f, + 0.015806325f, -0.025871973f, -0.016353196f, 0.003181197f, + -0.017430205f, 0.00437376f, -0.00717292f, 0.012711224f, + 0.029097317f, 0.016786255f, 0.03627311f, 0.01367229f, + 0.03086048f, 0.017181149f, 0.013149091f, 0.008952427f, + -0.017973755f, 0.021886455f, -0.055598136f, 0.013261934f, + -0.0114462925f, -0.007214845f, 0.026684739f, 0.025785914f, + -0.02439944f, 0.028030185f, -0.016878134f, 0.004278906f, + 0.0122849895f, 0.007261538f, 0.023333762f, 0.025162209f, + 0.0116813695f, -0.0063929902f, 0.0060668173f, 0.007563857f, + 0.015312125f, 0.0062307846f, 0.011705535f, -0.006839619f, + 0.003680727f, 0.02580664f, 0.022585021f, -0.0013482493f, + 0.016509684f, -0.008997562f, 0.020388884f, 0.017401729f, + 0.007029291f, 0.043322917f, 0.0024383264f, 0.017007736f, + 0.011977574f, 0.0043387f, 0.0004973798f, 0.020284599f, + 0.024235258f, -0.022344477f, 0.0104438905f, 0.00058015884f, + 0.034043945f, 0.0070398743f, -0.0008159997f, 0.032259632f, + 0.010005264f, -0.004313288f, 0.017226653f, 0.005836365f, + -0.0014899123f, 0.010548663f, 0.011050878f, -0.010475808f, + 0.007757561f, 0.0063874847f, 0.03180814f, 0.004033517f, + -0.010005477f, 0.023177631f, 0.008984026f, 0.0062922556f, + 0.011474935f, 0.011419744f, -0.015052885f, 0.01957466f, + 0.029619427f, 0.015781023f, 0.006067973f, 0.0012744464f, + -0.021842184f, 0.0076307715f, 0.045692798f, 0.0043988377f, + 0.0036489458f, 0.009412631f, 0.019497676f, 0.021958066f, + -0.009323586f, 0.0058729495f, 0.0036790224f, 0.003238559f, + 0.009674247f, -0.004741758f, 0.009698031f, -0.02778577f, + 0.020629264f, 0.011030848f, 0.0003439892f, 0.018878607f, + 0.02180817f, 0.019654064f, -0.008679661f, 0.013826063f, + 0.003226028f, -0.0010874361f, -0.016736478f, -0.01863871f, + 0.008517402f, -0.004943146f, -0.05229711f, 0.008659193f, + 0.0010783747f, 0.10473628f, -0.018842746f, -0.0033231557f, + -0.0067028445f, -0.0042742197f, 0.025351439f, -0.051751863f, + 0.02524938f, -0.031571876f, -0.0025332966f, 0.0054103183f, + -0.0031493264f, 0.0021155658f, -0.053377125f, -0.0063039484f, + -0.072034605f, -0.017233517f, -0.024649667f, 0.029405577f, + -0.009228286f, 0.008627437f, -0.013362604f, 0.005043612f, + 0.019032927f, -0.10341733f, 0.0031466326f, -0.012313938f, + 0.01808749f, 0.009569818f, -0.005321078f, -0.0056028655f, + 0.00021474394f, -0.039755717f, -0.003110819f, -0.011110777f, + 0.018260177f, 0.020585638f, 0.0018939152f, -0.05027453f, + 0.04319142f, -0.026465755f, -0.00782061f, 0.004170825f, + -0.012667652f, -0.005540046f, -0.00043042138f, 0.007592756f, + -0.0054093497f, -0.030205276f, 0.014102726f, 0.014747958f, + 0.00035959863f, -0.013619635f, -0.011847877f, -0.023339868f, + -0.016591555f, 0.003815424f, -0.004525586f, 0.0017388879f, + 0.012990406f, -0.020119637f, -0.0029088887f, 0.00061882945f, + -0.10478237f, -0.036712397f, -0.0016965823f, -0.024642734f, + -0.0022134725f, -0.025924955f, -0.05940502f, 0.0004146573f, + -0.0022732315f, 0.02336928f, 0.011196923f, -0.022600995f, + -0.00354808f, -0.060502477f, -0.017556855f, 0.011703127f, + -0.028755965f, -0.022679769f, -0.06741168f, -0.011567775f, + -0.08237796f, -0.000523253f, -0.014010517f, -0.032675706f, + -0.008789221f, -0.029666144f, -0.061763775f, 0.05445522f, + -0.015685676f, 0.0022968203f, 0.01117044f, -0.017087637f, + -0.018483356f, -0.0056128856f, 0.05458029f, -0.015461544f, + -0.013315829f, -0.003487268f, -0.02812459f, 0.0025651664f, + -0.038747676f, -0.015054257f, -0.08448321f, 0.008010751f, + -0.030352468f, -0.00813829f, -0.011411091f, -0.024739029f, + -0.078884594f, -0.02977257f, -0.04087976f, -0.0048618643f, + -0.00086726237f, 0.0018071294f, -0.02974773f, -0.0219246f, + 0.051656075f, -0.05157389f, -0.012935705f, 0.00028057623f, + -0.013026546f, -0.0051996256f, -0.010273896f, -0.016783418f, + -0.0063503715f, -0.017672043f, -0.022866478f, -0.01961869f, + -0.015182703f, -0.012051934f, -0.024432415f, -0.0066733737f, + -0.010788063f, -0.022154996f, -0.007926005f, 0.030683069f, + 0.02936597f, 0.004518806f, 0.029281983f, -0.020023199f, + 0.00023988598f, -0.028265702f, -0.00037771894f, -0.024685947f, + 0.038888227f, -0.014276191f, -0.01888089f, 0.038087558f, + -0.007966506f, -0.0020402088f, 0.030150097f, -0.01697247f, + 0.004707514f, -0.013429236f, 0.020355277f, -0.0075200805f, + -0.006691141f, -0.0017160164f, 0.0491787f, 0.007896737f, + -0.01820195f, -0.011348068f, -0.008319521f, -0.014350436f, + -0.0012436077f, 0.0030995056f, -0.027315706f, 0.030385688f, + -0.0120098675f, 0.0350462f, 0.0002827719f, -0.004110964f, + -0.036822516f, -0.011487029f, -0.017839484f, 0.010272476f, + -0.0024066404f, 0.004258175f, -0.0038813318f, 0.043621473f, + -0.0017222784f, -0.0064919447f, 0.0024642807f, -0.0022849457f, + -0.014531005f, -0.022557147f, -0.010109259f, -0.0719668f, + -0.023049764f, 0.013995742f, -0.005991264f, -0.014917728f, + -0.0013222356f, -0.007480457f, -0.013753673f, -0.012727955f, + 0.00965826f, -0.0013243309f, -0.04826658f, 0.017259799f, + 0.0056750877f, 0.016120883f, -0.023148129f, 0.010684373f, + 0.039764646f, 0.15117176f, 0.038353235f, -0.006586068f, + 0.023759393f, 0.018606005f, 0.04707319f, -0.07495304f, + 0.022186419f, 0.026905097f, 0.0023840487f, 0.0041389493f, + 0.0018102946f, 0.008000182f, -0.08575814f, 0.008299695f, + -0.10588871f, 0.035097256f, 0.03046706f, 0.037090894f, + -0.021690315f, 0.005528098f, -0.0029556982f, 0.006558387f, + 0.030956296f, -0.12110258f, -0.003618646f, 0.024945427f, + 0.018609243f, 0.038845703f, 0.0041667554f, 0.011249481f, + 0.0039033438f, -0.007958594f, 0.008418936f, 0.023352472f, + 0.034549702f, 0.039811786f, 0.034882747f, -0.05630324f, + 0.04703426f, 0.03122171f, -0.0042113415f, 0.018443871f, + 0.023203267f, 0.0048555224f, 0.00025251377f, -0.0027278408f, + -0.004485145f, -0.056557637f, 0.0066680904f, 0.02486554f, + -0.0012209562f, 0.00867821f, -0.013514721f, -0.029930672f, + 0.0368195f, 0.008825126f, 0.011076925f, 0.00042535734f, + 0.03391864f, 0.02714282f, 0.004719934f, 0.0059274277f, + -0.17209442f, -0.034260437f, 0.005240197f, 0.02639472f, + 9.624835e-05f, -0.028232634f, -0.06690716f, 0.016346093f, + 0.0038756412f, 0.029575413f, 0.027823262f, -0.03284f, + 0.012883217f, -0.101682074f, 0.032388087f, 0.0054218303f, + 0.019020554f, -0.03719864f, -0.088659704f, 0.011596274f, + -0.10690725f, -0.006067191f, 0.021760613f, -0.025999425f, + 0.016858805f, -0.05187017f, -0.06418544f, 0.06475808f, + -0.03079642f, 0.0032409246f, 0.019440465f, -0.003957976f, + 0.03212515f, 0.00657933f, 0.093151785f, 0.01292812f, + 0.013053384f, 0.0031534955f, 0.007979059f, 0.0032935315f, + -0.047232952f, 0.023650208f, -0.1259202f, 0.011103866f, + -0.047446024f, -0.006425545f, 0.037205644f, 0.024394464f, + -0.08303669f, 0.027259639f, -0.059948288f, -3.7537244e-05f, + -0.0044991137f, 0.0040680543f, 0.018121911f, 0.028491473f, + 0.04354696f, -0.04190339f, -0.017228916f, 0.0034915805f, + -0.0053560636f, 0.0047072074f, 0.0111831445f, -0.00807671f, + 0.0071536656f, 0.029313447f, 0.019798143f, -0.023841988f, + 0.01652442f, -0.024046948f, -0.00423676f, 0.008907893f, + 0.0029324275f, 0.04359839f, -0.0008115798f, 0.039563652f, + 0.04640474f, 0.009488742f, 0.033486597f, 0.01963485f, + 0.0022759675f, -0.04996304f, 0.0045939637f, -0.03761875f, + 0.07696637f, -0.00013648426f, -0.016614627f, 0.06882367f, + -0.00089745934f, -0.00039831016f, 0.058399327f, -0.0005539605f, + 0.006350717f, -0.00013205557f, 0.03430277f, -0.014349855f, + 0.008870186f, 0.01340642f, 0.06454458f, 0.01360239f, + -0.022140486f, 0.03134617f, 0.0031645447f, -0.005416379f, + 0.0020735622f, 0.0057952036f, -0.0319437f, 0.05844574f, + 0.026089814f, 0.05295713f, 0.007282509f, 0.0067970585f, + -0.06223892f, -0.008916954f, 0.03827825f, 0.01625922f, + 0.0058251745f, 0.0009307346f, 0.026692552f, 0.06073309f, + -0.015394629f, 0.0029377495f, 0.00824306f, 0.006585087f, + -0.0024746917f, -0.035073765f, 0.007110009f, -0.088810705f, + 0.025860483f, 0.029658731f, -1.3053855e-05f, 0.02419455f, + 0.005625279f, 0.002548419f, -0.026805926f, -0.00530075f, + 0.0019487272f, -0.011883576f, -0.024643252f, 0.05070352f, + -0.028170148f, 0.022385059f, 0.08661212f, -0.015540039f, + 0.031717554f, -0.06882026f, 0.067721166f, -0.013888412f, + 0.032618143f, 0.03119912f, -0.012503376f, 0.03327456f, + -0.042297367f, 0.086147025f, 0.008301202f, -0.02073695f, + 0.0021952237f, -0.012240517f, 0.022506297f, 0.011087386f, + 0.036228344f, 0.06570313f, 0.07556459f, -0.010825327f, + -0.013228903f, -0.0082777655f, 0.027729133f, -0.006225729f, + -0.009425541f, 0.09857216f, -0.035924666f, 0.046177797f, + -0.035591017f, 0.023942614f, 0.016882407f, 0.0051972214f, + 0.00056618993f, 0.070223406f, 0.014874454f, 0.042564675f, + -0.00791407f, 0.0039374894f, 0.031884026f, 0.05115638f, + -0.035926644f, 0.07872583f, 0.006892722f, 0.008484217f, + 0.040821344f, 0.0023499276f, -0.014119851f, -0.011661464f, + 0.008114413f, 0.002701652f, -0.023927428f, -0.0062958915f, + -0.015548103f, 0.04084797f, 0.004571493f, 0.01920211f, + 0.06475856f, 0.0038242457f, 0.025773138f, -0.020141095f, + 0.006822435f, 0.06389564f, 0.009132657f, -0.0003968699f, + 0.03701939f, 0.04213839f, 0.001895304f, 0.070928656f, + -0.0033164178f, 0.026667373f, 0.047762215f, 0.013953401f, + 0.0036254677f, -0.021506587f, -0.0117377145f, 0.015764732f, + 0.022995897f, 0.018104382f, 0.0674626f, -0.016050877f, + 0.06995554f, -0.008752649f, 0.049438093f, 0.042177804f, + 0.06533563f, -0.029354285f, 0.039498553f, 0.025684413f, + 0.02677758f, 0.012432118f, 0.05945987f, -0.028173767f, + 0.0041185953f, -0.0066566546f, 0.0131588075f, 0.012178643f, + 0.061913237f, 0.0027528822f, -0.019493815f, 0.043257974f, + 0.01581235f, -0.008887569f, 0.06742738f, -0.015192397f, + 0.035624083f, 0.049028397f, 0.055486236f, -0.020150507f, + 0.0020330765f, 0.012635732f, 0.056820635f, 0.06951451f, + 0.07958431f, 0.084031574f, 0.014268403f, 0.0041978266f, + -0.022848915f, -0.01039205f, 0.0742335f, 0.071006864f, + -0.06554926f, 0.060830012f, -0.006515241f, -0.0031595947f, + 0.0008488708f, 0.010327753f, 0.02666601f, 0.031946935f, + 0.022650056f, 0.058989953f, 0.060109578f, 0.0049122865f, + 0.044231124f, -0.0051522944f, 0.028792478f, 0.009852757f, + 0.018707346f, 0.07541377f, 0.011772586f, -0.029800743f, + -0.009670127f, -4.037717e-05f, -0.01684719f, 0.053928662f, + -0.032798376f, 0.009770602f, -0.0016550405f, -0.014211915f, + -0.0075543597f, 0.021778649f, 0.014281311f, -0.014918852f, + 0.0026872526f, 0.0069043366f, 0.0015656821f, 0.029510941f, + -0.0038762102f, 0.013340819f, -0.008604719f, 0.0021313708f, + 0.021942718f, 0.016275076f, -0.048757795f, -0.0084398715f, + 0.0148010915f, 0.050591215f, 0.011779464f, 0.0145963095f, + -0.0062118513f, -0.01211679f, 0.025351152f, -0.00068567914f, + 0.034546908f, -0.022794593f, 0.0008233622f, 0.019104868f, + 0.004472528f, 0.0018459033f, 0.04936289f, -0.004383095f, + 0.012311984f, -0.020589415f, 0.029971791f, -0.03170484f, + -0.010666649f, 0.0082120225f, 0.0015492935f, 0.015121427f, + 0.014740771f, -0.0038621603f, 0.025949469f, 0.0569342f, + 0.07426999f, -0.0006366143f, 0.010291202f, 0.052693617f, + -0.018796371f, -0.004103937f, -0.0052946336f, 0.0045923893f, + -0.024945518f, 0.02624208f, -0.0071785194f, -0.0010294695f, + 0.023708118f, -0.017896127f, 0.08172366f, 0.020973321f, + 0.0026584514f, -0.009013193f, 0.0033080666f, 0.0029500914f, + 0.098983206f, 0.066631116f, 0.018145578f, -0.0011174916f, + 0.027978303f, -0.055648576f, -0.025131391f, 0.032237396f, + 0.030647837f, 0.043807015f, -0.005629079f, 0.019316819f, + 0.012052181f, -0.040062416f, -0.05674478f, -0.028640008f, + 0.023976574f, 0.02279526f, 0.060950466f, 0.0048760856f, + -0.033910718f, 0.014568193f, 0.039304018f, 0.011596883f, + 0.031692054f, -0.01430615f, -0.03151974f, 0.03882119f, + 0.008404224f, -0.008370781f, -0.038878255f, 0.043734405f, + -0.005597831f, 0.020186637f, 0.154373f, -0.012262888f, + -0.01400686f, -0.07167845f, -0.025344923f, -0.008601456f, + 0.060912114f, 0.033149455f, 0.032649513f, -0.008720223f, + 0.0055312915f, 0.03551613f, 0.04519464f, -0.01336394f, + 0.0090468265f, -0.013700391f, 0.017263304f, 0.003966095f, + 0.029369904f, 0.0005740124f, -0.01583961f, 0.045753617f, + 0.028403552f, -0.0008622474f, -0.044553038f, -0.014164087f, + 0.016430996f, -0.0077326796f, 0.019546842f, -0.037353877f, + 0.007824029f, -0.01513098f, 0.015277253f, -0.033977628f, + 0.02882594f, -0.0046107695f, 0.048700348f, 0.011197781f, + 0.04180765f, 0.007573669f, -0.007996036f, -0.031918798f, + 0.0008763262f, 0.029658692f, 0.0026086865f, -0.051380925f, + 0.0052396934f, 0.039382607f, 0.13217086f, 0.047634076f, + 0.025687763f, 0.009341071f, -0.0008004514f, 0.014870438f, + 0.04487947f, 0.013567068f, -0.009217164f, 0.04662688f, + 0.0017809824f, 0.026551018f, 0.030022098f, -0.010771655f, + 0.09206449f, 0.02497673f, 0.04351562f, 0.047074195f, + 0.026371114f, 0.029676083f, 0.04687042f, 0.0360241f, + -0.012876297f, -0.015293528f, 0.01715006f, -0.047686026f, + -0.023916004f, -0.06676791f, 0.027559662f, -0.009643466f, + 0.0200089f, 0.020745471f, 0.10765068f, -0.04363031f, + 0.014259204f, -0.03742854f, 0.021407098f, 0.016804531f, + 0.026831372f, -0.000572376f, -0.0073520187f, 0.11275939f, + -0.049390994f, -0.09120624f, -0.06289972f, 0.0071291975f, + -0.04873263f, -0.0031719978f, 0.037531067f, 0.0155995535f, + -0.07048156f, 0.06363638f, -0.00810571f, -0.00922338f, + -0.0010561012f, -0.036901955f, 0.0136513375f, -0.09212502f, + 0.05291203f, -0.005709146f, 0.021804258f, 0.057499703f, + 0.015055209f, -0.005744907f, 0.012472864f, 0.0008730428f, + 0.02755412f, 0.01272221f, 0.09425664f, 0.061149124f, + -0.009152055f, 0.060836628f, -0.0012907978f, -0.030319655f, + -0.025877666f, 0.043185733f, -0.019509885f, 0.0068675433f, + -0.030841669f, 0.0015650996f, -0.03933981f, 0.022969028f, + 0.01896595f, 0.013232956f, -0.005172346f, -0.009459294f, + 0.055607077f, -0.014681269f, -0.0060923267f, -0.056390587f, + 0.005770612f, 0.015175439f, 0.13809739f, -0.02164838f, + -0.053826887f, 0.015040112f, 0.1001272f, -0.0047539235f, + -0.060687177f, 0.058363985f, 0.003925395f, -0.054229364f, + 0.031334486f, 0.03619109f, -0.0063002803f, 0.043536175f, + -0.070917636f, -0.0038332304f, -0.020817975f, -0.07642295f, + 0.0616289f, 0.035389695f, 0.020099297f, 0.057170115f, + 0.03156768f, 0.01397264f, -0.027016178f, -0.074452326f, + 0.030896345f, -0.02795951f, -0.06955153f, 0.05994862f, + -0.0014020762f, 0.024469646f, -0.020816287f, 0.018967273f, + 0.028504701f, 0.031512555f, -0.0137522835f, 0.008925793f, + 0.083363995f, 0.012752125f, 0.059814658f, 0.044538964f, + 0.07052792f, 0.087697834f, 0.0030050736f, 0.03244773f, + -0.015163966f, -0.008794354f, -0.011955804f, -0.059394516f, + -0.06549898f, -0.03417889f, 0.018845923f, 0.07134981f, + 0.061254304f, 0.038244348f, 0.053122595f, 0.034793813f, + 0.043979894f, 0.01841889f, 0.058139652f, 0.018501304f, + 0.020830933f, 0.017303031f, -0.029994713f, 0.005268438f, + -0.01707678f, 0.053674683f, -0.0454614f, 0.007980073f, + -0.015421152f, -0.02395881f, -0.06485704f, 0.008960804f, + 0.0019579818f, 0.04957805f, 0.0734189f, -0.08835373f, + -0.025579723f, -0.008762127f, 0.06788668f, -0.009393407f, + 0.037911884f, 0.036240295f, -0.04970598f, -0.023729218f, + -0.004426037f, -0.021662002f, 0.035885125f, 0.06273307f, + -0.012133435f, -0.00550301f, 0.07608901f, 0.05362885f, + -0.040033218f, 0.009510956f, 0.009534067f, -0.0151299f, + 0.04038754f, 0.012046966f, 0.019421104f, -0.046563394f, + 0.10373068f, -0.023815239f, 0.060977053f, -0.0272931f, + 0.03294856f, 0.0026158094f, -0.013344372f, 0.0332842f, + 0.013529577f, 0.0061894096f, 0.022238936f, 0.0680638f, + 0.018660866f, 0.027266158f, 0.02188686f, -0.07478118f, + 0.01953727f, -0.0043005277f, 0.0071492125f, -0.03608549f, + 0.008021571f, 0.06621995f, -0.06057762f, -0.051216833f, + -0.009946435f, 0.048711456f, 0.03993107f, 0.007695542f, + 0.015158603f, 0.04316979f, 0.03960755f, 0.06795127f, + 0.005949035f, -0.055101164f, -0.080270976f, 0.057738736f, + 0.0015101399f, -0.07381072f, -0.07340085f, -0.02429734f, + 0.010680816f, 0.026784731f, -0.0061580883f, 0.045874987f, + 0.045141816f, 0.020189207f, 0.016555946f, 0.0036732487f, + -0.005581693f, 0.015771694f, -0.005872309f, 0.056763798f, + -0.0067339176f, 0.050995104f, 0.038691893f, -0.01766047f, + 0.06902826f, -0.031304777f, -0.0141376415f, -0.021005275f, + 0.0024765492f, -0.014449506f, -0.03096148f, 0.045506727f, + 0.00058529864f, -0.014393164f, -0.00015672705f, -0.013790176f, + -0.043976407f, 0.06917222f, -0.082727015f, -0.036968615f, + 0.057680674f, -0.00621504f, 0.0783184f, -0.012892931f, + -0.035870403f, -0.01487499f, -0.0047641373f, -0.019595945f, + 0.009969749f, -0.027250513f, -0.02262483f, -0.013762759f, + -0.06368039f, -0.052597508f, -0.002207749f, -0.010840596f, + 0.03524336f, 0.0097454805f, -0.010235127f, -0.021841899f, + -0.034494065f, 0.0042356453f, -0.021075536f, -0.025580432f, + 0.067468494f, 0.08983126f, -0.010651849f, 0.027945561f, + 0.024657574f, -0.015495126f, -0.019870197f, 0.0823922f, + 0.04254852f, 0.024669873f, -0.002658334f, -0.010553731f, + 0.091467924f, 0.059308697f, -0.006437278f, 0.044715878f, + -0.020000942f, -0.028426355f, -0.09776812f, 0.10694438f, + -0.046122152f, -0.015459695f, 0.034204032f, 0.008300085f, + -0.00023538139f, 0.00400379f, -0.017456885f, -0.011588866f, + 0.057018314f, 0.003483618f, 0.024977114f, -0.021491567f, + -0.000755797f, -0.044665422f, -0.018456006f, -0.0186981f, + -0.016331315f, -0.012751132f, -0.024017638f, 0.013501261f, + -0.0017799091f, -0.032515287f, -0.030349506f, -0.07548862f, + 0.015781978f, 0.046264317f, -0.018058885f, 0.00951239f, + -0.033290595f, -0.016547354f, -0.014310378f, -0.04048069f, + -0.03084224f, -0.006195288f, 0.0019158587f, -0.0032519929f, + -0.013970238f, 0.0020360814f, -0.009662215f, 0.04243444f, + -0.020672455f, 0.012782469f, 0.027058687f, 0.0070763943f, + 0.0023199434f, 0.034271993f, -0.058441285f, 0.0041133817f, + -0.048706394f, 0.024351181f, -0.002878116f, -0.011422821f, + 0.008126832f, 0.0057494114f, 0.015283818f, 0.036726978f, + -0.0004499397f, 0.051951192f, 0.021907385f, 0.008195023f, + 0.014671648f, 0.039268546f, 0.01699728f, -0.0004980496f, + -0.023245862f, -0.0015531959f, -0.045333967f, -0.012788867f, + 0.025897382f, 0.0013506403f, 0.00599586f, -0.000625516f, + -0.002995399f, -0.005666789f, -0.026999313f, -0.010443403f, + 0.036861118f, -0.029097725f, 0.002239036f, -0.05177783f, + -0.009831323f, -0.022069374f, -0.02345408f, -0.0070459386f, + 0.00080631825f, -0.00082733406f, 0.00025831498f, 0.047989618f, + -0.036197502f, 0.012375012f, -0.002715004f, 0.022519536f, + 0.0010851892f, 0.0016724346f, 0.013481848f, 0.03181787f, + 0.025686312f, -0.009873425f, -0.013891775f, -0.008669807f, + 0.00788027f, -0.06306137f, 0.015187422f, 0.0012821525f, + -0.015342677f, -0.052488707f, 0.0054418286f, -0.024670836f, + 0.0009986166f, 0.0047622765f, 0.048672233f, 0.05983857f, + -0.01652678f, -0.025849469f, 0.076684274f, -0.053900626f, + -0.016988998f, -0.0025460592f, 0.017573476f, -0.035296537f, + -0.012116736f, -0.02058307f, 0.048776027f, -0.06029457f, + -0.013702341f, 0.050067224f, 0.058770355f, -0.023657959f, + -0.0120317945f, 0.01801224f, -0.014790904f, 0.04185092f, + 0.02537197f, -0.013999733f, -0.0075669265f, -0.04941231f, + -0.06462144f, -0.029677926f, 0.01572551f, 0.0051663388f, + -0.017405879f, 0.0033145156f, -0.09060399f, -0.016230408f, + -0.045239713f, -0.007134403f, -0.0048212013f, 0.037313897f, + 0.0023446637f, -0.038966965f, 0.043153364f, -0.007369382f, + -0.0009457919f, 0.0034975687f, -0.05716649f, 0.0030390348f, + -0.035501774f, -0.043853167f, -0.038490605f, -0.009797364f, + 0.014757681f, 0.00034634012f, 0.008388246f, -0.04189804f, + -0.025169006f, -0.011233779f, -0.015779773f, -0.041068938f, + -0.015575074f, -0.029574174f, 0.012770746f, 0.014800396f, + -0.032287262f, 0.00752939f, 0.037197154f, -0.028022885f, + -0.0016430522f, -0.04747601f, -0.008828012f, -0.010486311f, + 0.00016208347f, 0.00027527343f, -0.0074483147f, -0.0045240805f, + 0.00061171607f, -0.006275338f, -0.002649089f, -0.01833864f, + -0.029883843f, 0.00094386784f, 0.009668675f, -0.0011693656f, + -0.023500577f, 0.009437362f, 0.02357419f, -0.0022271413f, + 0.004734695f, -0.034340374f, -0.046541028f, -0.012129122f, + 0.007881295f, -0.04870404f, 0.007561236f, 0.0059293853f, + 0.028792923f, -0.03817207f, -0.017061893f, 0.014999111f, + -0.024366045f, -0.04703897f, 0.0058064125f, -0.043412406f, + -0.021307426f, -0.020853719f, -0.015037978f, -0.028536882f, + -0.000651465f, -0.031091236f, -0.015845923f, -0.07499202f, + 0.0008822091f, -0.004034531f, -0.012258201f, 0.014729502f, + 0.020841435f, 0.0041743196f, 0.038026184f, 0.031747166f, + 0.015780369f, 0.028886387f, 0.058987208f, 0.02798586f, + -0.0049887467f, -0.06996171f, 0.0033388247f, -0.011262697f, + 0.008246469f, 0.021016592f, 0.015008565f, -0.0011517092f, + -0.0006743537f, 0.0428299f, -0.009250118f, 0.017581172f, + -0.003295566f, -0.00072433526f, 0.011857562f, -0.045930803f, + 0.0003843544f, -0.045392904f, -0.031246306f, 0.036853872f, + -0.041826908f, -0.034439813f, 0.010294388f, -0.0151875755f, + 0.0013295708f, -0.021769665f, 0.04450508f, 0.031778056f, + -0.016919727f, -0.024377389f, -0.028443646f, -0.072511435f, + -0.017447347f, -0.047419567f, -0.009535936f, -0.0127032995f, + -0.012709417f, -0.06570916f, -0.051600955f, 0.008415978f, + 0.026322134f, 0.028787596f, 0.03646512f, -0.015409545f, + -0.010021975f, 0.0164905f, 0.0030572051f, -0.011834118f, + 0.030943742f, 0.029107088f, -0.027235374f, -0.004066218f, + -0.0771732f, 0.022907095f, -0.035161577f, -0.0025541144f, + -0.011593004f, 0.050228175f, -0.020507852f, -0.0338798f, + -0.015504492f, 0.0051483624f, 0.016782247f, -0.07174444f, + 0.054309674f, -0.00028948023f, -0.00031123497f, -0.033779595f, + 0.05144114f, -0.026408931f, 0.038817137f, -0.061756f, + -0.05522305f, 0.0049043032f, 0.04271609f, -0.018971018f, + -0.0025515272f, 0.10736401f, -0.03388846f, 0.0292024f, + -0.005493019f, 0.010832994f, -0.030314518f, 0.00029517274f, + 0.0077174315f, -0.013566471f, -0.051392455f, -0.045225386f, + 0.0072264643f, 0.008280993f, -0.09835726f, -0.042733084f, + 0.038174905f, 0.029818915f, -0.033366986f, 0.05410963f, + 0.10046508f, 0.06939685f, -0.10927409f, -0.0067910077f, + 0.010689976f, -0.08345343f, -0.1102037f, 0.009688002f, + 0.03973711f, -0.037580844f, 0.0422765f, -0.034750637f, + -0.0061101005f, 0.01463179f, 0.01941164f, 0.03230367f, + 0.053998154f, 0.0034168446f, -0.03350236f, -0.03006133f, + 0.015983248f, -0.008499604f, 0.105070725f, 0.05589698f, + 0.06776565f, -0.020138245f, 0.002129937f, -0.017467013f, + 0.011359366f, 0.03870687f, -0.070789225f, 0.013027831f, + -0.002681064f, -2.3432663e-06f, 0.116923556f, 0.055236876f, + 0.022787513f, 0.064479254f, 0.023958938f, -0.005770508f, + -0.017970018f, -0.024355065f, -0.0078058997f, 0.049420733f, + 0.05329982f, -0.020744229f, 0.06320052f, 0.037392654f, + 0.0018299688f, 0.012888123f, 0.011640452f, -0.04667929f, + 0.04070056f, -0.0015471679f, -0.00033877738f, 0.016654283f, + -0.03565898f, -0.039903447f, -0.026448656f, -0.02322396f, + -0.0046807355f, -0.0026010266f, -0.0069676414f, 0.0132063385f, + -0.011659914f, 0.021848252f, -0.02138812f, -0.021920033f, + 0.086787455f, 0.03076811f, -0.019165574f, -0.0010257284f, + 0.020463757f, 0.016303537f, -0.06776169f, 0.0100091295f, + -0.02266033f, 0.062421177f, 0.04003277f, -0.003016077f, + -0.005945528f, 0.05386383f, -0.03641078f, 0.015903665f, + -0.010772781f, -0.036566775f, 0.01173524f, -0.01786779f, + -0.024242543f, 0.0341078f, 0.047306556f, 0.04393666f, + 0.084354535f, -0.030543324f, -0.0249641f, 0.050821867f, + 0.054273f, 0.103368014f, -0.018007137f, 0.11309535f, + -0.011579336f, -0.0717363f, -0.03718493f, 0.014109482f, + -0.0235526f, -0.016456176f, 0.057026803f, -0.012253723f, + -0.011132962f, -0.058500186f, 0.0019855294f, -0.1082662f, + 0.040087286f, 0.04995066f, -0.030838745f, 0.0002537692f, + -0.089704536f, -0.02081093f, -0.039517663f, -0.07635976f, + -0.07925018f, -0.046571366f, -0.015358846f, -0.015371624f, + -0.017376686f, -0.014143468f, -0.01458233f, 0.04596281f, + -0.009731523f, 0.029659621f, 0.037761375f, -0.031527888f, + -0.013640777f, 0.0011148644f, -0.104035504f, 0.00054057944f, + -0.09208418f, 0.019467352f, -0.019239f, -0.012463024f, + -0.00086470775f, -5.4111744e-05f, 0.002537694f, 0.014434535f, + -0.0017215792f, 0.033518765f, 0.0714182f, 0.020097572f, + 0.012906186f, -0.0039380174f, -0.017355593f, 0.00014864455f, + -0.0019293441f, -0.00855987f, -0.08510015f, 0.0017131439f, + 0.021011977f, 0.021202704f, 0.0009812634f, -0.018990194f, + -0.020044997f, -0.0056350916f, -0.046682943f, -0.0028377434f, + 0.018677998f, -0.00232338f, -0.016757421f, -0.09756315f, + -0.00959202f, -0.0019391626f, -0.051468678f, -0.025086623f, + -0.0076331124f, 0.005833026f, 0.006919026f, 0.006538355f, + -0.05850282f, 0.0031160323f, 0.0033906081f, -0.006543737f, + -0.046239156f, 0.011510651f, 0.011215505f, 0.02698139f, + 0.017118586f, -0.00087819784f, 0.01107736f, -0.033900347f, + 0.003189307f, -0.013422806f, 0.010380541f, -0.0056544435f, + -0.0044387695f, -0.07430943f, 0.031721637f, 0.016667062f, + 0.0046094297f, 0.020747866f, -0.027661182f, 0.0600463f, + -0.009099071f, -0.067613825f, 0.0625548f, -0.102788284f, + -0.011472205f, -0.021505209f, 0.018167935f, 0.010880467f, + 0.014443287f, -0.026261255f, 0.030681673f, -0.11748285f, + 0.008270768f, 0.033754356f, 0.07134693f, -0.051997017f, + -0.018625828f, 0.008990146f, 0.009818685f, -0.0006066216f, + 0.022206198f, -0.022833517f, -0.017009515f, -0.06910468f, + -0.08906539f, -0.04902047f, 0.01628411f, -0.009381786f, + -0.008327738f, 0.00037980924f, -0.036426496f, -0.04044832f, + -0.029332606f, -0.017355775f, -0.013256066f, 0.058445856f, + -0.019405596f, -0.02272344f, -0.0075358823f, -0.011063223f, + -0.008843028f, -0.024570188f, 0.023885535f, -0.011267813f, + -0.04941276f, 0.00827305f, -0.032002114f, -0.038439043f, + 0.026600873f, -0.021202337f, 0.034662306f, -0.021619424f, + -0.049820825f, -0.014670059f, -0.040785678f, -0.026318738f, + -0.0013052644f, -0.042838212f, -0.0012874596f, 0.0064548803f, + -0.031257015f, 0.00965899f, 0.06559459f, -0.028937582f, + -0.003413315f, -0.07112139f, -0.011683188f, -0.01338723f, + -0.010709215f, -0.0036919392f, -0.045804184f, 0.013569338f, + -0.0103977425f, 0.0031468484f, -0.0382776f, -0.045207277f, + -0.057716884f, -0.033791203f, -0.009755227f, -0.04543906f, + -0.01030906f, 0.021758826f, 0.005025195f, -0.024496853f, + -0.012945555f, -0.03989365f, -0.0016571229f, -0.021919481f, + -0.03366185f, -0.09874838f, 0.021525832f, -0.009834083f, + 0.015313138f, -0.053248607f, 0.002496992f, -0.030393576f, + -0.06429327f, -0.03536059f, -0.011462372f, 0.0037080054f, + 0.035262514f, -0.04093468f, -0.042243656f, 0.00062229176f, + -0.010064738f, -0.013335747f, -0.022586877f, 0.005718468f, + -0.03276903f, -0.025138445f, -0.014740378f, 0.053802527f, + -0.05262133f, 0.010746198f, 0.03508462f, -0.028974958f, + 0.0076124743f, 0.0022659267f, -0.0025297096f, -0.016763233f, + -0.07903988f, -0.043051634f, -0.016116465f, -0.030752206f, + 0.0013471554f, -0.023135614f, -0.025301788f, -0.012840402f, + -0.017320856f, -0.041921724f, -0.019031636f, -0.018634835f, + -0.005630111f, 0.00541903f, 0.01367964f, -0.09650796f, + -0.015052022f, -0.022964634f, -0.026023008f, -0.021934003f, + -0.08342343f, 0.017763536f, -0.018594852f, -0.033438656f, + -0.007487229f, -0.014833847f, -0.029818103f, -0.0119535625f, + -0.050723553f, 0.0041700606f, -0.02203058f, 0.017693812f, + -0.021611165f, -0.077097625f, -0.059508853f, 0.0042393906f, + -0.10456296f, 0.04125248f, 0.0028951066f, -0.020901822f, + -0.014170127f, -0.036178637f, -0.020441867f, -0.018413795f, + 0.029126499f, -0.035713706f, -0.04068912f, -0.023379622f, + -0.015102983f, -0.0266202f, -0.026221473f, -0.006272355f, + 0.028376391f, -0.0022812337f, -0.030857636f, -0.017333858f, + -0.023920992f, 0.0129313385f, -0.05433631f, -0.083776124f, + -0.039985932f, -0.0038876408f, -0.022609368f, 0.023028798f, + -0.03472072f, -0.040208608f, -0.02577209f, -0.01820688f, + -0.027497709f, -0.020283844f, -0.06377251f, -0.038222067f, + -0.015001858f, -0.035864957f, 0.041715242f, -0.02396972f, + -0.011529214f, 0.02434636f, -0.018583452f, -0.019675605f, + 0.007754699f, -0.031339485f, -0.04113034f, -0.039743744f, + -0.0353325f, -0.042141587f, -0.010125548f, -0.16477652f, + -0.0049593723f, -0.015540937f, -0.03960263f, -0.057842482f, + -0.0070165284f, -0.02491829f, -0.03442979f, 0.012421984f, + -0.03359444f, -0.026680233f, -0.023991844f, -0.013566474f, + -0.012194242f, 0.06738883f, 0.003057398f, -0.02747322f, + -0.054081306f, -0.07926847f, 0.041279208f, 0.020448543f, + -0.008662016f, -0.01226929f, -0.025804533f, -0.039144255f, + -0.021632778f, -0.014784556f, -0.0024407713f, 0.00012342024f, + -0.0024572324f, -0.007876402f, 0.02035383f, -0.02806346f, + -0.017601144f, -0.04764525f, -0.040511247f, -0.08319357f, + -0.03318178f, 0.009250714f, 0.019524064f, -0.049148142f, + 0.02011744f, -0.001293827f, 0.019737724f, -0.019551734f, + -0.012325012f, 0.028664775f, 0.0032879473f, -0.02243275f, + -0.0805642f, -0.056438968f, -0.04074409f, 0.012524623f, + -0.048894808f, -0.015949795f, -0.029841049f, -0.07482074f, + 0.00478155f, -0.026731951f, -0.006695691f, -0.010120253f, + -0.020368647f, -0.05747951f, -0.099268496f, -0.050752807f, + -0.07304143f, -0.0681571f, -0.07852373f, -0.066125415f, + -0.023684628f, -0.0621663f, -0.018338196f, -0.12179188f, + -0.03892784f, -0.021123486f, -0.0034003954f, -0.05437736f, + -0.048729837f, -0.033546846f, -0.04447509f, -0.033346336f, + -0.018215759f, -0.118083104f, -0.06781651f, -0.04422807f, + -0.04422476f, -0.035418924f, -0.001341602f, -0.007287664f, + -0.049200535f, -0.01694033f, -0.018737346f, -0.04907433f, + 0.0030219376f, -0.055367287f, 0.0044648405f, -0.05091269f, + -0.053992525f, 0.006206451f, -0.009602827f, 0.027643368f, + 0.015675599f, -0.066732824f, -0.05434814f, 0.0061866282f, + -0.05016129f, -0.04091702f, -0.053593118f, 0.031897828f, + 0.03127838f, 0.02669378f, 0.020297315f, -0.03371888f, + 0.03371336f, -0.0020031794f, -0.046423152f, 0.02132832f, + -0.002532426f, 0.004860279f, -0.01478674f, 0.0124948975f, + 0.035511307f, 0.02795558f, 0.010507369f, 0.018765328f, + 0.00898661f, 0.026671417f, 0.030479409f, 0.022038452f, + 0.027650194f, 0.03697584f, 0.00044359156f, 0.01619613f, + -0.014720046f, 0.005716712f, -0.0021388473f, 0.031735335f, + 0.009366475f, 0.01178345f, 0.011144083f, 0.023437174f, + 0.06489462f, -0.0022657113f, 0.026524538f, 0.022535415f, + 0.013527068f, 0.010505294f, 0.02323362f, 0.00554751f, + 0.025742821f, 0.0022354259f, 0.014963127f, 0.010184767f, + 0.016638214f, 0.040314272f, 0.015139551f, 0.0009533867f, + 0.03586888f, 0.011220936f, 0.01644118f, 0.010360771f, + 0.0011497348f, 0.024500376f, 0.017959367f, -0.008005704f, + -0.025566198f, -0.0013122658f, 0.02182658f, 0.020579083f, + 0.011780489f, 0.015631061f, 0.028607039f, 0.012455224f, + 0.005926197f, -0.014727572f, 0.019179685f, 0.026581936f, + 0.01679574f, -0.017007962f, 0.0571229f, 0.06293547f, + 0.022670101f, 0.0044610053f, 0.009590699f, 0.020369181f, + 0.018481828f, 0.020212648f, 0.020119436f, 0.021912955f, + 0.02494235f, 0.013481484f, 0.03233485f, 0.026429288f, + 0.017951515f, 0.01536881f, -0.03503082f, 0.026687317f, + 0.011563277f, -0.0554147f, 0.014809317f, 0.022776594f, + -0.0010379741f, 0.027736094f, 0.022793211f, 0.016252222f, + 0.02353381f, 0.015437734f, 0.020042317f, 0.054418184f, + -0.0014342366f, 0.027004806f, 0.0015969981f, 0.059425045f, + 0.0015596622f, 0.020296259f, 0.005794367f, -0.028079443f, + -0.0020779723f, 0.0074499f, 0.027783707f, 0.02787082f, + 0.0077818534f, -0.011668845f, -0.01470731f, 0.023222633f, + 0.0017347954f, 0.03169006f, -0.0242201f, 0.020037863f, + 0.010084468f, 0.022863109f, 0.010424294f, 0.028924933f, + 0.006840561f, 0.01878555f, 0.006941517f, 0.017415678f, + -0.0018142336f, 0.015890414f, -0.042466346f, 0.013990714f, + -0.0059720804f, 0.041237574f, 0.03588409f, 0.018783709f, + 0.038170595f, -0.0121518625f, 0.026080646f, 0.019745117f, + -0.0026689474f, 0.008549168f, -0.060708933f, 0.012414726f, + 0.02377336f, -0.042575624f, 0.00053104444f, 0.018269721f, + 0.026513029f, 0.050939385f, -0.0074688816f, -0.013070511f, + 0.03598789f, 0.024612622f, 0.013620761f, 0.03236397f, + -0.008910052f, 0.027491555f, -0.010953088f, 0.012228643f, + 0.007959679f, 0.02694664f, 0.024869062f, 0.040272694f, + 0.032150697f, 0.0483193f, 0.041193962f, 0.03751053f, + 0.024344401f, 0.036197253f, 0.010401214f, 0.042730615f, + 0.014527879f, 0.0094334455f, 0.02448744f, 0.04867893f, + 0.02043798f, 0.028846119f, 0.014293723f, 0.01905963f, + 0.007733741f, 0.041147005f, 0.050134998f, 0.046832904f, + 0.036521707f, 0.011699629f, -0.010629646f, 0.0053698774f, + 0.05430496f, 0.012676146f, 0.004252787f, 0.019839562f, + -0.0037244207f, 0.040049635f, -0.0028468515f, 0.055868734f, + 0.051169254f, -0.0036692284f, 0.008321568f, -0.03407296f, + -0.032170758f, 0.042878557f, 0.04009963f, -0.015293108f, + 0.027349174f, 0.0038054746f, 0.03729282f, -0.05661808f, + 0.015534515f, 0.04173132f, 0.018384151f, 0.048300445f, + -0.005525562f, 0.027892258f, 0.041001044f, -0.014527823f, + -0.05441852f, 0.05614562f, -0.039938714f, 0.070149705f, + -0.009029721f, 0.01988474f, 0.021800127f, 0.010960936f, + 0.01971486f, -0.043135915f, 0.051953416f, 0.017235657f, + 0.03576991f, 0.0029290891f, 0.025708744f, -0.021083156f, + 0.039447434f, -0.06673286f, -0.02565914f, 0.087624066f, + 0.012811939f, 0.06766693f, 0.009079769f, 0.008278161f, + 0.028065734f, 0.014370119f, 0.010408885f, -0.038396593f, + 0.021723717f, -0.00921941f, 0.05733589f, -0.03171161f, + -0.015362192f, -0.053754747f, 0.03325873f, 0.029386686f, + 0.013938692f, 0.019642694f, 0.034020234f, -0.020167127f, + 0.027123788f, 0.028886147f, 0.09979345f, -0.011120568f, + -0.019497646f, -0.033660483f, 0.046460234f, 0.043405097f, + -0.00039353909f, -0.028856905f, -0.015801758f, 0.039584205f, + -0.024914753f, 0.01506646f, 0.064596936f, 0.026469385f, + 0.033671208f, -0.02705111f, -0.004300509f, 0.027843356f, + 0.030490732f, -0.018257428f, 0.05150007f, 0.02211041f, + 0.035108034f, -0.027732005f, -0.031452294f, 0.037488908f, + 0.05675063f, -0.02358611f, -0.037626207f, 0.08489019f, + 0.02654913f, 0.053510748f, -0.045845848f, 0.038039118f, + 0.026715936f, -0.023557529f, -0.009992071f, 0.016318591f, + -0.07730447f, 0.055094313f, -0.03754544f, 0.026406461f, + -0.024855163f, 0.0049447613f, -0.029215673f, 0.00077367097f, + -0.037994985f, -0.009201793f, 0.06573249f, 0.07472431f, + -0.019771041f, 0.035555407f, 0.06503567f, 0.14164859f, + -0.05628334f, -0.032128822f, -0.04209131f, 0.032491267f, + -0.01896107f, -0.007571913f, 0.008046055f, 0.054268904f, + -0.011379171f, 0.09318819f, 0.06736358f, -0.010066346f, + -0.0028576143f, 0.08731471f, 0.09020104f, 0.06681841f, + -0.0024703108f, -0.02908796f, 0.0011654489f, 0.07853877f, + 0.041191146f, 0.0144716315f, -0.0011882931f, -0.047258638f, + 0.0055226637f, -0.022673447f, 0.13388972f, 0.043887753f, + -0.0016630935f, -0.0280655f, -0.024275364f, 0.018270286f, + 0.036277145f, 0.039429773f, 0.04075862f, 0.0074807117f, + 0.02343431f, 0.0051100957f, 0.035158467f, -0.011737131f, + 0.120903775f, -0.061662596f, 0.07425136f, 0.02369643f, + 0.06005992f, 0.026972836f, 0.025422571f, 0.08062871f, + -0.040399026f, 0.008762524f, 0.04224552f, -0.024071896f, + 0.05000176f, 0.12912677f, -0.026353331f, -0.002330574f, + 0.01648347f, 0.05034285f, 0.014800388f, 0.14419526f, + 0.08606452f, 0.11687575f, 0.032173883f, 0.030555304f, + -0.0058581526f, 0.050123736f, 0.0041470216f, 0.012838339f, + 0.005341327f, -0.05015258f, 0.0851654f, 0.10716042f, + 0.06600122f, -0.037835702f, 0.05395574f, 0.016561083f, + -0.064220876f, -0.0024760244f, 0.04087225f, 0.05088179f, + -0.009491223f, 0.03404657f, -0.06641341f, 0.0022411924f, + 0.039273296f, 0.07270775f, 0.009651715f, -0.020845033f, + 0.009147395f, 0.07965617f, 0.09122302f, 0.029213566f, + 0.117578216f, 0.018777031f, 0.0076132603f, 0.018277729f, + 0.07348738f, 0.059491545f, 0.041368626f, 0.057365168f, + -0.051337596f, 0.0032914372f, 0.0033273238f, 0.11515516f, + 0.0051058144f, -0.007241719f, -0.23506933f, -0.015276594f, + -0.15783913f, -0.013425161f, 0.0396242f, -0.0050656185f, + -0.035297364f, 0.25705013f, -0.0048521482f, -0.0010293799f, + -0.09719481f, -0.0063537275f, -0.3219648f, -0.03124677f, + 0.025889143f, -0.006718266f, 0.006598423f, 0.009417351f, + 0.007870954f, 0.015383899f, 0.62561154f, 0.0004481653f, + -0.07648505f, -0.014177602f, -0.005621776f, 0.009936041f, + -0.06293086f, -0.051557943f, 0.013461138f, 0.025997382f, + 0.008946045f, 0.007209159f, 0.0059978277f, -0.0014776122f, + 0.04679774f, -0.03238895f, 0.0064791185f, -0.0017982613f, + 0.07572991f, 0.016269164f, 0.07169033f, -0.02295379f, + 0.19333719f, -0.02302858f, 0.048457414f, 0.012274239f, + -0.0502068f, 0.0075106146f, 0.0018726318f, -0.2062034f, + -0.008500507f, 0.00062769925f, 0.016426355f, -0.12442369f, + 0.24110818f, -0.1965928f, -0.33651137f, -0.05510573f, + 0.0007655266f, -0.0036880611f, 0.06446646f, 0.4737327f, + -0.025690166f, 0.015143883f, 0.018007582f, 0.008507666f, + -0.07577988f, -0.0057011163f, 0.0059523634f, 0.020138804f, + -0.049449317f, 0.00651317f, -0.011232963f, -0.015213755f, + 0.008857214f, 0.32891506f, 0.02881703f, -0.03560131f, + -0.004006438f, -0.23645857f, -0.016997857f, -0.0107020335f, + -0.0038170477f, 0.03724378f, 0.14182079f, 0.13029842f, + -0.006100985f, 0.030522743f, 0.0014816303f, -0.005296767f, + 0.0021324093f, -0.0191393f, -0.026651895f, 0.03723865f, + -0.0032381546f, -0.34006682f, -0.024848327f, 0.006049041f, + 0.14920892f, 0.016208382f, -0.18874039f, -0.008053412f, + -0.008443927f, 0.0030026238f, 0.37028122f, -0.0041489475f, + 4.2246254e-05f, 0.007350591f, 0.0053703887f, 0.008421637f, + -0.0053901197f, -0.025883403f, -0.011471624f, 0.0050715813f, + 0.0638181f, 0.0057613617f, 0.061176326f, -0.0039021394f, + -0.017577935f, -0.0073587904f, 0.044828247f, -0.0013064678f, + 0.019795643f, -0.005735862f, -0.007632802f, -0.0087065855f, + 0.17796126f, 0.021193728f, 0.06292831f, 0.015100581f, + 0.012181929f, -0.0021773183f, 0.0012515481f, 0.06957368f, + -0.00089406746f, -0.007314919f, -0.01083701f, -0.26009175f, + -0.0029790301f, 0.1187109f, 0.019736292f, -0.0019932524f, + -0.0022849585f, -0.0051359558f, 0.0005333218f, 0.745173f, + -0.074710414f, 0.021194067f, -0.14259124f, -0.002601296f, + 0.009887769f, -0.33566162f, 0.010878301f, -0.16052045f, + -0.004740605f, -0.0037800297f, -0.017419528f, -0.21461429f, + -0.0015727899f, -0.07911543f, 0.010948842f, -0.0047325375f, + 0.016984574f, -0.0040548025f, -0.037325725f, 0.012028515f, + -0.0009765577f, -0.019700097f, -0.34769467f, 0.020433377f, + 0.12169742f, -0.019599622f, -0.00025030127f, -0.003134264f, + 0.013296142f, 0.020788318f, 0.19293545f, -0.16628136f, + -0.0070460388f, 0.026298156f, 0.10557741f, -0.0017521966f, + 0.41230235f, 0.010587587f, -0.022563748f, -0.09676189f, + -0.0018234907f, 0.023814328f, 0.047069557f, -0.00981084f, + -0.02802163f, 0.0029201668f, -0.09502431f, -0.00067634886f, + -0.016239494f, 0.2959242f, -0.0036183216f, 0.013798851f, + -0.005890698f, -0.0064486456f, 0.07213103f, -0.0030905732f, + 0.0026422907f, -0.002432532f, -0.20087938f, 0.000402788f, + 0.0009972395f, 0.009755058f, -0.9687651f, -0.022339776f, + -0.19867152f, 0.0030844016f, 0.032373577f, 0.010906772f, + 0.014964714f, -0.16399479f, 0.012906419f, 0.010921799f, + -0.082963936f, 0.00694445f, 0.49445233f, 0.061755866f, + 0.0035893824f, 0.0060725533f, -0.0046708155f, 0.006914863f, + -0.00079106353f, -0.0027477513f, 0.2543801f, 0.00053999847f, + -0.1854739f, 0.020897362f, 0.004868171f, -0.012913433f, + 0.70867646f, 0.117565386f, 0.046587054f, 0.006853577f, + -0.0027053952f, 0.16117519f, 0.010205607f, -0.0039471732f, + 0.019794408f, -0.0025396885f, -0.0073014507f, 0.0039264183f, + 0.23704079f, 0.01252446f, 0.06006683f, -0.0038108402f, + -0.20338047f, -0.002437441f, 0.10733003f, 0.06034445f, + 0.022732992f, -0.006372797f, -0.014004311f, -0.025851026f, + -0.002470303f, -0.004155f, -0.0022192493f, 0.061584488f, + 0.21073803f, 0.039586812f, 0.010078901f, 0.07724791f, + -0.0017443498f, 0.0021816383f, 0.061090507f, -0.42423138f, + -0.00978641f, 0.1126671f, -0.046574455f, 0.0043072733f, + 0.0436192f, 0.011085659f, 0.0004912449f, -0.044728056f, + 0.10009852f, 0.016238892f, -0.04591111f, 0.0026563818f, + -0.00015544737f, -0.030097064f, 0.043014754f, 0.055467322f, + -0.0002737925f, -0.0016418952f, -0.0047932835f, 0.0045029013f, + -0.0034569178f, 0.054534875f, 0.028850624f, 0.051728383f, + 0.020977808f, 0.014632044f, 0.059008982f, 0.0014632463f, + 0.012104483f, 0.0027390632f, 0.0071648634f, 0.3628453f, + 0.0024196478f, -0.08304524f, 0.22429046f, 0.035557207f, + -0.045531284f, 0.0010200937f, -0.025576444f, 0.004107169f, + 0.0056200596f, -0.00085631176f, 0.06723966f, -0.0011016045f, + -0.0029669541f, 0.00042978657f, 0.005638325f, 0.004804113f, + 0.04090781f, -0.01161547f, -0.09467522f, 0.01662289f, + -0.22045226f, -0.04687037f, -0.03156062f, -0.004494426f, + -0.013401508f, 0.006028842f, -0.028129537f, -0.005532068f, + -0.0011651241f, 0.0063746823f, 0.019377047f, 0.010771243f, + 0.22274578f, 0.013746683f, 0.015361324f, -0.0043618986f, + -0.010326367f, 0.0010503472f, 2.2776292e-05f, 0.05752777f, + -0.0014441566f, 0.021414692f, 0.005338243f, -0.23769358f, + -9.711671e-05f, 0.095886454f, -0.024381353f, 0.00095344253f, + 0.0020602145f, 0.029175714f, 0.002894336f, -0.36613047f, + 0.016931264f, 0.00023725456f, 0.066704996f, 0.012874245f, + 0.0023039216f, -0.15101357f, 0.0026775491f, -0.061590835f, + -0.15937158f, 0.0045007244f, 0.10865402f, 0.22097842f, + 0.0027921656f, 0.04519686f, 0.07881149f, 0.0014238547f, + -0.029530209f, 0.011435077f, 0.02682911f, 0.08598978f, + 0.0019634662f, -0.027022168f, -0.21771187f, -0.06694111f, + 0.07832733f, 0.009241913f, -8.668174e-06f, -0.011190584f, + -0.004239778f, 0.0006654754f, 0.0835183f, 0.15135692f, + 0.0004606953f, -0.0018164215f, -0.15830016f, -0.0022559855f, + 0.033781517f, -0.0023550203f, 0.009774732f, 0.07305986f, + -0.0032362842f, 0.0018325454f, -0.022997858f, 0.0033059397f, + 0.18264854f, 0.014600075f, -0.2271588f, -0.008594481f, + -0.00217416f, -0.05834629f, 0.001298194f, 0.053636953f, + 0.00059230626f, 0.0055614f, 0.06001712f, 0.012445908f, + -0.0017720306f, -0.0020422023f, -0.0389582f, 0.0063345362f, + 0.010844859f, 0.0146514345f, -0.003581947f, -0.0099355215f, + 0.30001926f, -0.0073204446f, -0.043146398f, 0.011308441f, + -0.011863505f, -0.12132324f, -0.011837895f, 0.016432548f, + -0.09952297f, -0.01871716f, -0.11735872f, 0.19967166f, + 0.019644586f, -0.005864555f, 0.0022974599f, 0.020369403f, + 0.00084071665f, 0.011803625f, 0.18644899f, 0.0010446879f, + 0.22695611f, -0.02283272f, -0.0020486962f, -0.02396727f, + 0.3234641f, -0.02885973f, 0.0007610227f, 0.0048298407f, + 0.0095937215f, 0.18026161f, 0.03794124f, -0.0072429148f, + 0.03249358f, 0.18286039f, 0.0023772875f, 0.00072668784f, + -0.010000183f, 0.007329475f, -0.10068485f, -0.0013517652f, + -0.39497456f, -0.009440887f, -0.023602096f, 0.072851956f, + 0.025678392f, -0.022855991f, -0.04451608f, 0.13603695f, + -0.010348838f, 0.0026318044f, 0.014396789f, 0.17142154f, + 0.15645038f, 0.084461264f, -0.0060682213f, 0.14490403f, + -0.0005435113f, -0.0024005033f, -0.08933272f, 0.27927664f, + -0.0029917816f, -0.16523796f, 0.023156274f, 0.0132152345f, + 0.00436991f, -0.008092856f, -0.005214091f, 0.029674672f, + 0.60860014f, 0.035701804f, 0.08853064f, -0.011394207f, + 0.0021630432f, 0.32728124f, 0.038910054f, -0.014057401f, + -0.0018115449f, -0.25647935f, -0.008663601f, 0.045908183f, + -0.005488794f, 0.083082885f, -0.033688497f, -0.063633144f, + -0.014824946f, 0.029052591f, 0.03636353f, -0.0021547505f, + 0.089656286f, 0.03060459f, -0.0042053973f, 0.13494475f, + -0.0029315432f, -0.110395f, -0.2132316f, -0.009950547f, + 0.04639593f, 0.0061177495f, 0.20507103f, 0.005817206f, + -0.014911272f, 0.0010131191f, -0.18198672f, -0.0009018634f, + -0.0035211907f, 0.0034162533f, -0.017667355f, 0.017276255f, + 0.08048155f, -0.0076441215f, 0.12057022f, 0.00672382f, + 0.20687224f, 0.0100963395f, -0.042204697f, -0.008355015f, + 0.10445277f, -0.0062845987f, -0.5068189f, 0.013279929f, + 0.017029185f, 0.009792658f, -0.015182795f, -0.0072437497f, + -0.2793616f, 0.019781703f, -0.021388061f, 0.0047770557f, + 0.015791891f, -0.002498768f, -0.00112303f, -0.064869896f, + -0.0031660325f, -0.01274373f, -0.006616884f, 0.12655972f, + -0.0035265866f, 0.12890542f, 0.010201343f, 6.181811e-05f, + 0.00320701f, -0.029668797f, 0.009895498f, 0.022062926f, + -0.011012098f, -0.00034638934f, -0.008261924f, -0.0022271867f, + 0.010910033f, -0.8141421f, 0.005617122f, -0.3805108f, + 0.42760515f, 0.0066546276f, -0.041810963f, -0.19451834f, + 0.008685443f, -0.06525099f, -0.11665164f, 0.0015010745f, + 0.013571173f, -0.012835082f, -0.022265613f, -0.040376443f, + -0.0018164f, 0.018275652f, -0.2717247f, 0.0074724704f, + -0.03146354f, -0.016144454f, -0.0010205245f, 0.013940365f, + 0.0076920814f, 0.00084437407f, -0.24770907f, 0.16023444f, + -0.0084957285f, -0.0006632212f, 0.018063137f, -0.0004785692f, + -0.08076803f, 0.0031238215f, -0.02619921f, -0.076714404f, + -0.0003869675f, 0.017276088f, 0.11073273f, -0.014365375f, + -0.2762358f, -0.0056368234f, -0.19843057f, 0.00045199302f, + 0.005452056f, 0.2715952f, -0.0016444847f, 0.08409218f, + -0.0044737626f, 0.0058907997f, -0.038028456f, -0.0076436535f, + 0.006283236f, 0.009886519f, 0.106701605f, -0.006767148f, + 0.007670777f, 0.015403537f, 0.27320206f, -0.0116839325f, + 0.104564175f, 0.0059755105f, -0.016082086f, 0.0064605074f, + 0.023062175f, -0.025094133f, 0.012950476f, 0.016020244f, + 0.03440883f, -0.004840852f, 0.42712864f, 0.22188237f, + 0.018606568f, 0.0023796072f, 0.008036843f, 0.017066466f, + 0.0059466027f, 0.008891115f, 0.67803806f, 0.004057093f, + 0.18663351f, 0.015872726f, 0.0025289261f, 0.010916533f, + -0.1896592f, -0.6376288f, 0.026031818f, 0.010737786f, + -0.021851297f, -0.10721888f, 0.023476142f, 0.0069591496f, + 0.0040558567f, 0.13918784f, 0.0022289746f, 0.012738503f, + -0.0010512043f, 0.018497827f, -0.053414684f, -0.0037307409f, + 0.1773261f, 0.009544615f, 0.06534511f, 0.026968516f, + 0.00035003657f, -0.017587552f, 0.028553788f, 0.0595454f, + 0.005002144f, 0.0039632847f, 0.0067654704f, 0.06630941f, + 0.20405875f, -0.075670205f, -0.23966004f, -0.14452045f, + -0.0009865589f, -0.00034969172f, 0.09192652f, -0.33691517f, + -0.0071999365f, 0.041777443f, 0.095842846f, 0.013345892f, + -0.050985686f, 0.0031308548f, 0.005245455f, -0.0015843492f, + 0.22743966f, -0.009322799f, 0.05535024f, -0.001557899f, + 0.009217716f, -0.2299545f, 0.04962173f, -0.038542535f, + -0.00021423808f, 0.50440717f, 0.015711097f, 0.011504519f, + -0.0032434182f, 0.068988234f, -0.056605946f, 0.055900067f, + 0.012220112f, 0.014741739f, 0.022907425f, 1.4837038e-05f, + 0.012882649f, 0.02146693f, 0.014495102f, -0.034656286f, + 0.008677277f, -0.14432445f, -0.28253666f, 0.002426362f, + 0.1432984f, 0.008266901f, 0.01121842f, 0.002431026f, + 0.010175217f, 0.006732675f, -0.027244171f, 0.0030832246f, + 0.01008783f, 0.005480161f, -0.0029511803f, 0.02133696f, + 0.045467183f, -0.0025889215f, 0.017628763f, 0.013853584f, + 0.019631317f, -0.0027884082f, -0.016998207f, 0.006015582f, + 0.03830276f, 0.0021574183f, 0.19798604f, 0.0018085717f, + 0.02279613f, 0.007489132f, 0.00461886f, 0.0017577204f, + -0.031642232f, 0.04036596f, -0.018971674f, 0.0052943113f, + 0.011178069f, 0.0036340253f, 0.006287771f, 0.021685077f, + 0.00022537507f, 0.011589632f, 0.026190195f, 0.23652746f, + 0.00030110407f, -0.06415189f, 0.0051815934f, 0.00260238f, + 0.0036574446f, 0.0028748447f, 0.0056606033f, -0.66489565f, + -0.032412056f, 0.0033670901f, -0.019749705f, 0.011097971f, + 0.018363237f, 0.23201007f, 0.00031182147f, -0.11992285f, + 0.100519694f, -0.004195975f, 0.17899567f, -0.4102985f, + 0.006177695f, -0.065444864f, 0.024950678f, -0.008903012f, + 0.009856714f, -0.010312512f, -0.033497978f, -0.06321357f, + 0.0028968626f, 0.00440254f, -0.16071606f, 0.017408261f, + 0.05981706f, 0.018344872f, -0.0015432766f, -0.020383067f, + 0.005159575f, 0.007234416f, 0.22878444f, -0.0060203825f, + 0.011187433f, 0.05196887f, 0.22767186f, -0.0018783812f, + 0.14256744f, 0.00713159f, 0.011003438f, 0.06311921f, + -0.0012895048f, 0.019860681f, 0.041057613f, 0.050655287f, + -0.13965431f, 0.0133055635f, -0.2898726f, -0.0031658013f, + -0.014647958f, 0.24708128f, 0.0014135424f, 0.030142203f, + 0.0028338914f, 0.021849079f, 0.050137136f, 0.015425156f, + 0.014641457f, 0.0029842006f, -0.11487824f, 0.001780708f, + 0.006322136f, 0.012955505f, -0.4032845f, -0.043882668f, + 0.19605257f, -0.008354205f, -0.04698724f, 0.006811343f, + 0.005805233f, 0.074013196f, -0.0053149457f, 0.017970303f, + 0.09705182f, 0.015094367f, 0.13610426f, 0.033595614f, + 0.004773696f, -0.008369559f, 0.0063464325f, 0.010372607f, + 0.008933314f, 0.015714245f, 0.26891282f, -0.004564453f, + -0.4925523f, -0.0019142182f, -0.0056068767f, -0.042102046f, + 0.46688926f, 0.14056534f, 0.034326486f, 2.4671033e-05f, + 0.018867236f, -0.018121408f, 0.017716624f, 0.0085297655f, + -0.013790379f, -0.025381375f, 0.0013338419f, 0.0028872015f, + -0.07527003f, -0.016563619f, -0.012349848f, -0.0051728087f, + 0.1485284f, 0.007065945f, 0.070351444f, -0.032384083f, + -0.063420765f, -0.033557255f, -0.013163968f, -0.07130168f, + 0.012397631f, -0.00075107097f, 0.015355386f, 0.21216102f, + -0.12007383f, -0.06831785f, -0.06736112f, -0.12065147f, + -0.0005905027f, -0.0031506892f, -0.039300725f, -0.17031305f, + -0.019074602f, 0.02588861f, 0.028671533f, 0.017829118f, + -0.011855851f, -0.006229218f, 0.0009955557f, -0.010490558f, + -0.61396724f, -0.01126409f, 0.0040372196f, -0.014072541f, + 0.0076579824f, 0.231613f, -0.03622706f, -0.021314269f, + -0.0014150573f, 0.53199166f, 0.0074580642f, 0.0028426147f, + 0.0042075953f, -0.020583069f, -0.025777929f, 0.024104336f, + 0.0018522649f, -0.12954888f, -0.037047237f, -0.0024924432f, + -0.039871525f, 0.0137813715f, 0.013532136f, -0.32034668f, + 0.006201435f, 0.2875235f, -0.16920201f, -0.051966053f, + -0.030631235f, 0.013398577f, -0.05615137f, 0.013257284f, + 0.0011755415f, -0.004203332f, 0.09430644f, -0.0074739344f, + 0.0019785685f, 4.5527988e-05f, -0.002796059f, 0.01842586f, + -0.023370203f, -0.022370445f, 0.013991342f, 0.014725707f, + 0.29520467f, -0.05970609f, -0.050917882f, -0.011039068f, + -0.060025536f, -0.006216453f, 0.15623352f, 0.00797439f, + 0.017635306f, 0.010569763f, -0.0072496976f, -0.008911623f, + 0.045389373f, -0.034928747f, 0.019887257f, 0.008165024f, + 0.0025019706f, -0.0015997898f, -0.006358804f, -0.053849608f, + -0.0008839239f, -0.026274057f, -0.03648342f, 0.37206063f, + -0.004815856f, -0.1879526f, -0.017382497f, -0.0035818035f, + 0.0021441146f, 0.008707179f, 0.0048417035f, 0.22127628f, + -0.013303866f, 0.006053744f, -0.010192195f, -0.02392005f, + 0.015756516f, -0.23526584f, 0.0027489166f, -0.177067f, + 0.13437086f, 0.0079789655f, -0.17691547f, -0.31136534f, + 0.00459402f, -0.0033744667f, 0.035803925f, 0.008029079f, + -0.022973273f, -0.020366486f, 0.012154016f, 0.042107463f, + -0.0020785888f, 0.011263873f, 0.034533408f, 0.003431278f, + -0.06861265f, 0.00095258176f, -0.0007735222f, 0.003045923f, + 0.0127097685f, 0.002442129f, -0.31523427f, 0.28348795f, + 0.015040197f, 0.026155544f, 0.06026255f, 0.0018057306f, + -0.33680266f, 0.0047776513f, 0.025356153f, -0.121129476f, + -0.0049173464f, 0.014302191f, -0.013324921f, 0.024767755f, + -0.035263605f, -0.007362928f, -0.06407235f, -0.0032041566f, + -0.005643603f, -0.0132663f, -0.002746849f, -0.032538265f, + -0.0065568695f, 0.011511027f, -0.066545874f, -0.025843551f, + 0.011323848f, 0.009605953f, -0.008166552f, 0.001709396f, + 0.017641539f, 0.009767637f, 0.34851065f, 0.0039114156f, + 0.18407984f, 0.00929557f, -0.011763029f, 0.01710865f, + 0.027163215f, 0.117424875f, 0.010674342f, 0.005310158f, + 0.039306287f, 0.004717035f, -0.18405855f, 0.05587181f, + 0.023250902f, 0.007883767f, 0.010661225f, 0.018207407f, + 0.0058904076f, 0.018413752f, -0.3538231f, -0.0034097424f, + 0.06115904f, 0.00696941f, 0.004136427f, 0.03871708f, + 0.5685236f, -0.04004911f, 0.011021163f, 0.02135451f, + 0.033313017f, -0.009083755f, 0.0155659625f, 0.0059824754f, + 0.02768364f, 0.23173794f, -0.0066274726f, -0.0016864687f, + -0.34221247f, -0.0030165862f, 0.2813109f, 0.007495786f, + 0.1542964f, 0.018833527f, 0.04006987f, 0.03014058f, + 0.01780803f, 0.010912405f, 0.02113435f, 0.07903297f, + 0.0009824353f, 0.0035182438f, 0.013519114f, -0.02502152f, + 0.14134605f, -0.085768f, 0.093437254f, 0.010764716f, + 0.00087049295f, 0.0013239349f, 0.044368416f, -0.6821731f, + 0.00884396f, 0.09999328f, 0.027602393f, 0.019866992f, + -0.00079503405f, 0.0047233747f, 0.004543028f, -0.024138145f, + -0.09957576f, 0.0003538026f, 0.21714948f, 0.0056106825f, + 0.0041527157f, 0.14458941f, -0.03094357f, -0.027214134f, + 0.0030992613f, 0.08654095f, 0.03430575f, -0.0038799832f, + -0.0004049894f, -0.050172295f, 0.012094636f, 0.045515515f, + 0.0064625633f, 0.18619305f, 0.01832772f, 0.00074989116f, + -0.03156165f, 0.007385143f, 0.0099130375f, 0.42674214f, + 0.012385211f, -0.11268848f, 0.1790353f, 0.0179664f, + 0.17141934f, 0.014752388f, 0.014977914f, -0.010319397f, + 0.01672847f, 0.0017052306f, 0.24053194f, 0.0021349173f, + -0.010628838f, -0.0075883325f, -0.007866995f, 0.022040723f, + 0.014203972f, 0.0024037887f, -0.1499192f, 0.022564461f, + 0.2138391f, 0.00082271075f, -0.010590002f, -0.0019373747f, + 0.07081854f, 0.0063550244f, -0.07890328f, 0.0012465756f, + 0.018478468f, 0.012721352f, 0.0005227171f, 0.008738341f, + -0.15761864f, 0.001985197f, 0.007880017f, 0.006853513f, + 0.005261352f, 0.003441269f, -0.0026831364f, 0.0025473654f, + 0.0007237496f, 0.0058846455f, 0.0053291675f, -0.47212344f, + 0.0021424307f, 0.17639412f, 0.0022469112f, 0.00024333532f, + 0.007085747f, 0.0042552324f, 0.0036345804f, 0.22025746f, + -0.024592498f, 0.024487933f, -0.009593738f, 0.0021830762f, + 0.018403767f, 0.47174993f, 0.0012242222f, -0.4186552f, + 0.1927056f, -0.0031625868f, 0.23898292f, -0.35369208f, + 0.0028280935f, 0.00079089054f, 0.082308486f, -0.0033265445f, + 0.01328087f, 0.0038204095f, 0.017294567f, 0.002288071f, + -7.92686e-05f, -0.017898435f, -0.06815557f, 0.022446277f, + 0.009932624f, 0.013275014f, 0.005892175f, 0.0023864359f, + 0.0057378346f, 0.013734581f, -0.14204225f, -0.1260753f, + 0.006180807f, 0.04100106f, 0.06345564f, -0.00033492234f, + 0.019968467f, 0.0065766773f, -0.0013389855f, 0.20904882f, + 0.004976982f, 0.012708147f, -0.057152156f, 0.06751594f, + 0.117767096f, 0.0111645935f, -0.1680998f, 0.0012081972f, + 0.0036160557f, 0.08164993f, 0.00034408123f, -0.011682659f, + 0.0025911895f, 0.021750573f, 0.029952442f, -0.0045567f, + 0.011204378f, -0.0028025263f, -0.019961014f, 0.0041202456f, + 0.0046694926f, -0.00031832396f, -0.6130356f, -0.02946143f, + -0.12411129f, -0.004325441f, -0.012464275f, 0.013365973f, + -0.0044388482f, -0.30233592f, -0.014877291f, -0.001243705f, + -0.12850736f, -0.0195581f, 0.42049974f, -0.11912121f, + -0.013941671f, -0.00044558954f, -0.0056317016f, 0.012602522f, + 0.0023136735f, -0.009016528f, -0.12256991f, 0.0051956703f, + 0.21829413f, -0.0021382899f, 0.0010743415f, 0.046339173f, + -0.78857034f, 0.5645333f, -0.031890262f, -0.013376697f, + 0.0010935125f, -0.013559975f, 0.0046154247f, -0.0027299412f, + -0.0013958048f, -0.15736118f, 0.0018501647f, -0.00326976f, + -0.23334707f, -0.005572512f, -0.11386875f, -0.011025923f, + -0.029603587f, 0.0260963f, -0.024826963f, -0.010115404f, + 0.021243483f, -0.016235419f, -0.035978816f, -0.077931836f, + -0.004663703f, 0.0011591393f, -0.0049806987f, -0.13056755f, + -0.041144848f, -0.021891959f, -0.05116447f, -0.15855779f, + -0.0013801979f, -0.0010680483f, -0.005777684f, -0.7628361f, + -0.016760023f, 0.025274372f, 0.027137f, -0.005991788f, + -0.0024700272f, -0.0072212187f, -0.0047658007f, 0.00526932f, + 0.17722501f, 0.0016435648f, -0.025513493f, -0.0031280182f, + -0.004783488f, -0.06892282f, 0.007606413f, -0.022046598f, + -0.0017165303f, -0.037316322f, 0.016834283f, -0.008606601f, + 7.520021e-05f, 0.026116319f, 0.028325453f, -0.02689123f, + -0.0057514044f, -0.038235124f, 0.0010068029f, -0.0014864189f, + 0.0034628282f, 0.0041342787f, 0.00096513017f, -0.24050122f, + -0.005394458f, 0.112117f, -0.1753825f, 0.029700143f, + -0.116901144f, -0.0075939493f, 0.07773209f, 0.0022931367f, + -0.012128562f, 0.0023725352f, -0.038804032f, 0.00045867334f, + -0.0065714093f, -0.012163156f, 0.00070904935f, 0.0042464677f, + 0.008640904f, -0.01159555f, -0.05502137f, 0.014491782f, + 0.35398707f, 0.016114973f, -0.0001432115f, 0.0013168151f, + -0.04903262f, -0.00029701f, -0.023384633f, -0.00012573115f, + -0.011557082f, 0.00493222f, 0.0037548966f, -0.0019174027f, + -0.09905035f, 0.0032458922f, -0.005587657f, -0.0034473632f, + -0.01635669f, 0.0011858444f, 0.0060670516f, 0.06560674f, + -3.07416e-05f, -0.00017417228f, -0.0058522313f, -0.0997885f, + 0.00039003062f, -0.12254439f, -0.021997781f, 0.0002965921f, + -0.00025299116f, 0.009588805f, 0.0022568624f, 0.10771223f, + 0.049531255f, -0.008904044f, -0.01600292f, -0.0014254368f, + -0.0067394776f, -0.105602734f, -0.008274544f, -0.029654615f, + 0.32977396f, -0.002320067f, 0.04675053f, -0.48436007f, + -0.0012958334f, 0.043181527f, 0.005243511f, -0.0023180177f, + 0.0060345936f, 0.004681168f, -0.0012234881f, 0.015269785f, + 0.0016793679f, 0.026228115f, -0.034082387f, -0.0032331257f, + 0.0638347f, -0.0004055299f, -0.00047968232f, -0.0074151587f, + -0.0026186798f, -0.024000326f, -0.12851536f, -0.05271188f, + -0.0006843639f, 0.028543243f, -0.096231356f, 0.0008178195f, + 0.18683659f, -0.002370232f, -0.00057135033f, -0.0778313f, + -0.0018818039f, 0.002783539f, 0.0073601566f, -0.029214421f, + -0.19937842f, 0.019414086f, 0.23207445f, 0.0016213108f, + -0.0027965866f, -0.09055437f, -0.0015361469f, -0.010660613f, + -0.0007681816f, 0.018500092f, 0.060544647f, 0.0062139956f, + -0.0047945045f, -0.016602179f, -0.05536372f, -0.009089602f, + 3.7077818e-05f, 0.002521542f, 0.28610507f, -0.017777765f, + 0.044594396f, -0.0015455777f, -0.007132669f, 0.002782815f, + 0.03195877f, -0.017607668f, 0.0073256567f, -0.0067444146f, + -0.13584237f, -0.005028938f, 0.05731144f, 0.13960412f, + -0.009617473f, -0.008710662f, -0.00022763496f, 0.0018415815f, + 0.0052303527f, 0.012335253f, 0.30512136f, -0.004759576f, + -0.4421824f, 0.033405423f, -0.0051226523f, -0.0046670185f, + -0.16507731f, -0.04262681f, 0.032887317f, 0.018413376f, + -0.008725877f, 0.1222842f, 0.007028389f, 0.002371087f, + -0.05518015f, 0.006011439f, 0.0014479569f, -0.0013315298f, + -0.14712317f, 0.029013041f, -0.4007041f, -0.0040549403f, + -0.46460417f, 0.007559261f, 0.02643207f, 0.03874424f, + -0.009549631f, 0.01159254f, -0.039579052f, -0.026932405f, + -0.0009463958f, -0.0022685016f, 0.008559536f, -0.12269474f, + 0.19280152f, 0.0010960337f, 0.06669549f, -0.14565839f, + 0.0012970853f, -0.0027252869f, 0.0047162194f, -0.1835742f, + -6.399237e-05f, 0.05151434f, -0.13619113f, 0.00566961f, + -0.016910084f, -0.004149215f, -0.0032073755f, -0.03287087f, + -0.7468943f, 0.024344679f, -0.05583236f, -0.011091966f, + 0.0018593234f, -0.10810843f, 0.034810774f, -0.02202457f, + 0.0006465495f, 0.44345164f, 0.0075730453f, 0.009002128f, + -0.00081416266f, 0.024822166f, -0.010175626f, -0.040717285f, + 0.041977026f, 0.0291561f, 0.014737935f, -0.003138475f, + 0.04323897f, 0.0068557397f, -0.0031067028f, 0.49140513f, + 0.0062756715f, 0.096085645f, 0.15195458f, -0.016931426f, + 0.10156895f, 0.007663167f, 0.29663602f, 0.0024847672f, + 0.0065185395f, -0.0051697763f, -0.14942294f, -0.0010024386f, + -0.000611867f, 0.008268436f, 0.008925221f, -0.0041256244f, + 0.046878655f, -0.0030155831f, 0.054445554f, 0.0077389916f, + 0.36845532f, -0.0516496f, -0.04120198f, -0.008768159f, + 0.023530878f, -0.007857506f, -0.111732915f, -9.640667e-05f, + -0.0038199008f, 0.003894769f, 0.013493036f, -0.0016968232f, + -0.012159287f, 0.035669256f, -0.030093439f, 0.0042625526f, + -0.0063209417f, -0.0027944478f, -0.006680454f, 0.08302574f, + 0.000231719f, 0.015221696f, 0.006289151f, -0.04529673f, + -0.001800929f, 0.18605135f, -0.006819059f, -0.0014795982f, + 0.0005414707f, 0.033272125f, 0.0019140998f, 0.29910877f, + 0.0037960515f, 0.011697337f, 0.011191933f, -5.0614467e-06f, + 0.015008976f, -0.18183978f, 0.0043235812f, -0.04309045f, + -0.07739594f, 0.0013625893f, -0.03136932f, 0.32820413f, + 0.0073082484f, 0.06519748f, 0.041299775f, -2.991246e-05f, + -0.004959156f, -0.011681303f, 0.007027542f, -0.0033905027f, + -0.0024093434f, 0.020115588f, 0.27169093f, 0.041547816f, + 0.0810451f, 0.016398655f, 0.00054670515f, -0.010659671f, + 0.0047241463f, 0.023068644f, 0.3646372f, 0.16125406f, + 0.006818094f, 0.053417403f, -0.047898166f, -0.0011313327f, + 0.28594023f, 0.008435952f, 0.0015266733f, -0.122081414f, + -0.004386983f, -0.00048878224f, 0.06953382f, -0.068105884f, + -0.14075942f, 0.007524351f, 0.113276824f, -0.004555131f, + -0.0026417216f, 0.46544236f, -0.0030953223f, 0.014101734f, + -0.0041981437f, -0.005391754f, 0.027496655f, 0.01625428f, + 0.0111111095f, -0.0009452616f, -0.08813414f, -0.006876687f, + 0.011375182f, 0.0015412779f, -0.50550014f, -0.018582802f, + -0.14564206f, -0.0081056645f, 0.004010407f, 0.0050470685f, + -0.005505177f, 0.031989485f, -0.0011655836f, 0.0062326053f, + 0.11917531f, 0.021734599f, 0.06663312f, -0.1288088f, + 0.045630597f, -0.009703844f, 0.0031912662f, 0.008093674f, + -0.0009660444f, 0.016259078f, -0.5697133f, 0.00070683047f, + 0.2077651f, -0.0035870636f, -0.0090180645f, -0.0379578f, + -0.34577104f, -0.53679913f, 0.017408691f, 0.015169248f, + 0.052871f, -0.037450597f, 0.002606719f, 0.010730986f, + 0.013870832f, 0.17899305f, -0.0046554967f, 0.010919943f, + 0.169246f, 0.0025718187f, 0.17474966f, 0.011277145f, + -0.07990895f, 0.018856646f, -0.1471768f, -0.06600776f, + -0.007096291f, -0.0076267687f, -0.053411912f, 0.011447301f, + 0.00056431687f, 0.0029039534f, 0.018500905f, 0.3781407f, + 0.019858886f, -0.022830678f, 0.017603224f, -0.0028914711f, + 0.00025392996f, -0.0041440492f, -0.01777959f, 0.33466655f, + 0.010211294f, -0.10225638f, 0.21658324f, 0.01100306f, + -0.012900266f, -0.0046150563f, -0.0099890325f, -0.016538313f, + -0.10679876f, -0.019812062f, 0.21680395f, -0.0020210831f, + 0.0027507786f, 0.008107244f, -0.052144237f, 0.00088919024f, + -0.0023979056f, -0.09517242f, 0.014362246f, -0.028693544f, + 0.0069471183f, -0.04921555f, -0.053854678f, -0.068631865f, + 0.009170206f, -0.033806745f, -0.0011709325f, -0.0059452937f, + -0.027431777f, -0.0050914115f, -0.004918348f, 0.27899918f, + 0.0053668427f, 0.46407983f, -0.16612744f, 0.008963059f, + 0.10069211f, 0.01451292f, 0.022400366f, -0.001947036f, + -0.0022204053f, 0.0023334373f, -0.07671449f, -0.0016780586f, + 0.0061590318f, 0.008781555f, 0.011273992f, 0.0061002104f, + -0.041182324f, -0.008817613f, -0.17366257f, 0.0013908776f, + -0.39910156f, 0.045814943f, -0.00016917087f, 5.5311917e-05f, + -0.05006843f, -0.008644237f, -0.10142315f, -0.008384802f, + 0.026520204f, 0.005999422f, 0.0016260417f, -0.0015294683f, + 0.11723679f, -0.029524501f, -0.01749358f, 0.013705148f, + -0.0028654712f, 0.0017356371f, 0.0020151257f, 0.026588902f, + -0.003488277f, -0.01346676f, -0.00018135503f, 0.31560552f, + -0.005626342f, 0.018466936f, -0.011775917f, -0.0024212298f, + 0.00034050868f, -0.034481056f, 0.0026650808f, 0.111258075f, + 0.081300706f, 0.005246925f, -0.026952893f, -0.012987791f, + 0.009198423f, 0.19193834f, 0.007783068f, -0.33970916f, + 0.06947986f, -0.0040065884f, 0.049700808f, -0.13616978f, + 0.007396323f, 0.08476237f, -0.0487685f, -0.003502168f, + -0.02782093f, 0.01198936f, 0.037769653f, 0.074738584f, + -0.0011434322f, 0.013294159f, 0.3528996f, -0.046097253f, + 0.11138363f, 0.009584233f, -0.0015357231f, -0.016086675f, + 0.019321607f, 0.019752426f, -0.017275011f, 0.20462596f, + -0.00080784527f, -0.03820639f, -0.109572195f, -0.0029765551f, + 0.20438665f, 0.010875018f, 0.0062703807f, -0.017382348f, + 0.0010072335f, 0.024970207f, 0.16774672f, -0.013232833f, + -0.06402524f, 0.027100177f, -0.12843342f, -0.0019698874f, + -0.0066205245f, 0.72794414f, -0.004210546f, -0.06013563f, + -0.0030349074f, 0.037655983f, 0.040865716f, -0.007247618f, + 0.00646407f, -0.0011822673f, -0.07631864f, -0.006253181f, + 0.01327445f, 0.0067962743f, 0.22401258f, -0.011578028f, + 0.037228208f, 0.009012484f, -0.005038117f, 0.03925622f, + 0.0146646f, -0.10413597f, -0.009607097f, 0.011977544f, + 0.06651908f, -0.0054815887f, 0.39855364f, -0.03437912f, + 0.050084207f, -0.00055516727f, 0.010143276f, 0.015330474f, + -0.0015218691f, 0.015206756f, 0.05110057f, -0.0026331972f, + 0.24280883f, 0.019349935f, -0.0019800623f, -0.003301147f, + -0.008587351f, -0.19975488f, -0.0057514417f, 0.013159042f, + 0.011400281f, 0.16451152f, 0.021901468f, 0.017523028f, + 0.03362486f, 0.07028009f, -0.0005806571f, 0.0020798843f, + 0.24447943f, 0.045460768f, -0.073487565f, 0.009572455f, + 0.103294134f, 0.022779502f, 0.013114322f, 0.04049042f, + 0.012722884f, 0.02824272f, 0.009050959f, 0.24131027f, + 0.004787245f, -0.0023169692f, 0.013267768f, 0.027432242f, + -0.16138569f, -0.02312229f, -0.11927564f, 0.13934931f, + -0.0035647203f, -0.00026293096f, -0.0027615593f, -0.21581575f, + 0.0055065765f, 0.36071584f, 0.22154063f, 0.015238779f, + 0.07337514f, 0.0011697521f, 0.001094908f, -0.037685387f, + -0.10301118f, 0.010723823f, 0.20577879f, 0.0026547404f, + -0.001090728f, 0.50490934f, 0.04209597f, 0.07760994f, + -0.010033443f, -0.54808366f, 0.009184844f, -0.001088148f, + 0.010771011f, 0.077938445f, 0.050278373f, 0.010669248f, + 0.02598052f, 0.026240876f, 0.05240062f, -0.0031796673f, + 0.055852678f, 0.008151671f, -0.008499565f, -0.19657244f, + 0.0063308193f, -0.00033467033f, -0.053388823f, -0.01497968f, + 0.36549085f, 0.02027229f, 0.312347f, -0.0037414432f, + 0.0056692036f, -0.0042741685f, -0.15586251f, 0.0015775647f, + -0.003954545f, 0.0075614015f, 0.031111795f, 0.012234663f, + -0.013807673f, -0.014335624f, 0.057678923f, 0.030051108f, + -0.25968596f, -0.03317103f, -0.00862184f, 0.0017971655f, + 0.07083683f, -0.00027367802f, 0.28093717f, -0.00050971203f, + 0.020407762f, 0.0091210725f, 0.014959093f, 0.0054533123f, + 0.10889542f, 0.04337488f, 0.008621974f, 0.00939548f, + 0.0075946194f, -0.0053020497f, -0.0036374785f, 0.020572465f, + -0.0035933466f, 0.02216221f, -0.0027184496f, 0.12628551f, + -0.0016926569f, 0.042318042f, -0.00029897614f, -0.0017556658f, + 0.00026213066f, 0.015207704f, 0.012300409f, 0.34948537f, + 0.032781746f, 0.01957958f, 0.11147889f, 0.016342431f, + 0.0039957757f, -0.22414732f, 0.0003541229f, -0.040070165f, + -0.31364435f, -0.0024449169f, -0.094307266f, -0.19285974f, + 0.011246461f, -0.028454509f, 0.010541127f, 0.0035614036f, + -0.02066921f, -0.007698609f, 0.008939105f, 0.029117996f, + -0.0028703213f, 0.034244698f, 0.41565976f, 0.012251456f, + -0.009408082f, 0.01032286f, 0.00016287265f, 0.0036437172f, + 0.011874966f, 0.013180968f, -0.022292206f, 0.28869575f, + 0.004113919f, 0.007592211f, -0.0022166148f, -0.0058437027f, + -0.26177627f, 0.015566673f, -0.007623297f, -0.08791226f, + -0.0026257462f, 0.022113899f, 0.12455695f, 0.03496901f, + -0.14041674f, -0.008407861f, 0.18533501f, -0.0058516506f, + 0.0019245138f, -0.20643723f, -0.0021779446f, 0.03188146f, + 0.00026157562f, 0.025690574f, 0.02480171f, 0.022279236f, + 0.009208561f, -0.0025501223f, -0.08605375f, -0.0052080466f, + 0.005014265f, -0.001237104f, 0.046255402f, -0.00054694316f, + -0.08260754f, -0.005947308f, 0.0030364553f, 0.007020573f, + 7.8552664e-05f, 0.12151088f, -0.0053063342f, -0.00739671f, + 0.0925889f, 0.010343257f, 0.07975157f, 0.14035138f, + -0.026326561f, -0.004359117f, -0.0032035396f, -0.00023529115f, + -0.000890727f, 0.0032461493f, -0.05017323f, 0.003074225f, + 0.06635781f, -0.0015170069f, -0.0026383735f, 0.025511721f, + 0.029555403f, 0.1926165f, 0.03448851f, 0.010329867f, + -0.011645315f, -0.044931002f, -0.008341908f, -0.0053069033f, + -0.0031005517f, 0.18554926f, 0.0027932243f, -0.0022147933f, + -0.0943793f, -0.0033837403f, 0.043270964f, -0.008019092f, + 0.118047625f, -0.0009137363f, -0.038362905f, 0.0028412356f, + 0.022979485f, -0.0075697554f, 0.0034399051f, 0.070501685f, + -0.010316607f, 0.0034951777f, 0.00086755794f, -0.15846589f, + 0.08819447f, -0.051605936f, 0.09042387f, 0.116821535f, + 0.0020832764f, -0.0015864631f, -0.008286172f, -0.11518154f, + -0.006516336f, 0.026526455f, 0.017705873f, -0.0042252075f, + 0.023701068f, -0.00039458546f, 0.00039113863f, -0.0078696925f, + 0.3265327f, 0.002586898f, 0.15718034f, -0.008351203f, + 0.00493044f, -0.6122936f, 0.024316141f, 0.018850397f, + 0.0034479992f, 0.22156426f, -0.005108468f, 0.009618197f, + -0.0042534517f, 0.031753697f, -0.009139089f, 0.008951166f, + 0.0037762008f, -0.11276633f, 0.017726084f, -0.00072549045f, + 0.015661716f, -0.010223426f, -0.0014840971f, -0.065601975f, + 1.8245495e-05f, 0.14186546f, -0.18857588f, 0.046539728f, + 0.15053248f, 0.0021543715f, 0.07838574f, 0.00040844627f, + -0.011573754f, 0.0024307983f, -0.074729145f, 0.0017107138f, + -0.009861552f, 0.0068221935f, -0.010442084f, -0.008606594f, + 0.010923603f, -0.00041660204f, 0.028236901f, -0.006465851f, + 0.20337795f, 0.03654325f, -0.0047226027f, -0.0008139219f, + 0.009903558f, -0.0047338097f, 0.279816f, 0.00320497f, + -0.0051409137f, -0.0012393611f, -0.016196959f, -0.0024865742f, + -0.06913874f, -0.00054846535f, -0.026080308f, 0.0019843911f, + -0.009940284f, -0.0004364111f, 0.005085091f, -0.0032133642f, + 0.0014761579f, -0.004469746f, -0.009190423f, 0.2612136f, + -0.0021365671f, 0.28479156f, -0.002079488f, 0.0025737365f, + -0.0025828443f, -0.014094677f, -0.0022268458f, 0.32972124f, + 0.006772975f, 0.0043267068f, 0.07894453f, -0.012564044f, + 0.0014808222f, -0.40718684f, 0.007710699f, -0.21993895f, + -0.82182044f, 0.0004473598f, -0.042205937f, 0.14199187f, + -0.0040599992f, 0.046088472f, 0.025265338f, -0.0005433985f, + 0.0064255535f, -0.013121273f, 0.0110076675f, 0.03078848f, + 0.002145228f, -0.013663434f, -0.22480413f, 0.011342699f, + 0.015731944f, -0.003256557f, 0.0020964032f, -0.02375136f, + -0.00030854423f, 0.008406728f, -0.11010467f, -0.16371006f, + -0.008510481f, 0.03299085f, 0.09423087f, 0.0024655787f, + -0.22044833f, 0.0012182579f, -0.02148802f, 0.031185048f, + 0.0010706654f, -0.009373015f, -0.0213282f, 0.11577325f, + 0.03506081f, -0.009990116f, -0.3497258f, 0.002017037f, + -0.0044350293f, 0.29841322f, -0.0005200604f, 0.0043324507f, + 1.0206613e-05f, -0.002816503f, -0.0078097233f, -0.0021063131f, + 0.0030621924f, -0.0022635316f, -0.03379266f, -0.006151144f, + 0.012222683f, 0.023137236f, 0.34174472f, 0.00703264f, + 0.52964383f, -0.001609562f, 0.03768301f, 0.017827429f, + 0.009877183f, 0.55016243f, -0.00016117471f, 0.022866227f, + -0.10383171f, -0.0061201234f, 0.4418759f, 0.055434834f, + 0.041860014f, -0.011686561f, 0.01389863f, 0.01930705f, + 0.0065841097f, 0.02122215f, -0.061651543f, 0.0040538474f, + -0.33219442f, 0.009772434f, -0.01023043f, -0.0059292726f, + -0.2293796f, 0.39937153f, 0.006987741f, 0.020408364f, + 0.07584338f, -0.14516357f, 0.031328905f, 0.0073971543f, + 0.026298737f, 0.13875297f, -0.0016774167f, 0.005555051f, + 0.4877798f, -0.006794006f, 0.21642531f, -0.0040437025f, + 0.22391668f, -0.013643916f, -0.046773028f, -0.03396599f, + -0.008212748f, 0.00858076f, -0.03012281f, -0.038806602f, + -0.003922132f, 0.0047661625f, 0.022569312f, 0.050506756f, + -0.038249146f, -0.10844036f, 0.0042990847f, -0.04393511f, + 0.0054709404f, -0.00393974f, 0.01750717f, -0.32373658f, + 0.0021953993f, 0.017661234f, 0.08225373f, 0.023682833f, + -0.018344833f, -0.0038851073f, 0.0049284454f, 0.025069548f, + -0.120131195f, 0.0045062955f, 0.11135527f, -0.0048205038f, + 0.0012118483f, -0.23706311f, -0.023296386f, -0.043443568f, + 0.005286252f, -0.4241512f, 0.012802708f, -0.032119982f, + -0.0011277769f, -0.04805552f, -0.02632885f, 0.036462594f, + 0.007687187f, -0.021835933f, -0.006817727f, -0.0043238183f, + -0.028201938f, 0.029484034f, -0.002282437f, 0.40846103f, + 0.0071716183f, -0.21000208f, -0.12744167f, 0.033032358f, + -0.275443f, 0.025726637f, -0.106562905f, 0.003243997f, + 0.0056325207f, 0.004694496f, -0.14815749f, -0.004970215f, + -0.008648405f, 0.008686082f, 0.011348938f, 0.026234297f, + -0.024629911f, -0.012805153f, -0.079543225f, 0.017443143f, + -0.41958082f, -0.003580533f, 0.021591466f, -0.0101922015f, + -0.04882637f, -0.011223711f, 0.12425841f, -0.0010413658f, + 0.027840065f, 0.012048986f, 0.011360677f, -0.016236985f, + -0.021059902f, -0.014019865f, -0.005807685f, 0.00762292f, + 0.007389295f, 0.003766311f, 0.0042276205f, -0.0112076495f, + -0.0015069812f, 0.011614939f, -0.0110836355f, 0.042455528f, + -0.00535282f, -0.02924369f, 0.009768862f, 0.0019706348f, + -0.002584837f, 0.011162698f, 0.008639816f, -0.09108174f, + -0.07300034f, 0.02920201f, -0.028502477f, 0.00421301f, + 0.018624445f, -0.5031979f, 0.0051229936f, -0.07828527f, + 0.32869095f, -0.002947828f, 0.15089475f, 0.28874958f, + 0.0060855923f, -0.0505009f, -0.06347968f, -0.008167616f, + -0.0026650375f, 0.0013463426f, -0.02178825f, 0.020854663f, + 0.00011414544f, -0.008976884f, -0.25331536f, -0.0012630785f, + 0.029528257f, 0.00569989f, -0.00030620338f, 0.0032798632f, + 0.011139974f, 0.02348513f, -0.14755504f, 0.099887356f, + -0.005741467f, -0.02754518f, -0.022394648f, 0.00020510751f, + 0.10352841f, 0.01348486f, -0.004782509f, 0.067663044f, + 0.0033293222f, 0.013972282f, -0.09475662f, 0.05628574f, + -0.086918324f, 0.0049228305f, -0.10483551f, 0.00060783536f, + -0.007857012f, 0.24418837f, -0.0024366854f, -0.051099636f, + -0.0050295754f, 0.008075239f, 0.005825328f, 0.0034670068f, + 0.011337947f, 0.0068822713f, 0.14442055f, 0.00030445866f, + 0.006743378f, -0.001025262f, 0.058024373f, -0.017041108f, + -0.058912322f, -0.0030440672f, 0.013748996f, 0.014725468f, + 0.023910241f, -0.017672984f, 0.012526309f, 0.0024671585f, + -0.06704254f, -0.008853273f, 0.8087165f, 0.055723358f, + -0.010762631f, 0.0037594426f, 0.00041893497f, -0.00078702037f, + 0.0016646419f, 0.0073193912f, 0.050265085f, -0.0032265403f, + 0.06853726f, 0.04933302f, 0.0051937522f, -0.04688444f, + 0.10013189f, -0.3049905f, 0.018374491f, 0.003287354f, + 0.011081405f, 0.00087587856f, -0.02525561f, 0.011012205f, + 0.0065214694f, 0.104912095f, -0.00040443632f, -0.0075354045f, + -0.040761277f, 0.011028063f, -0.0025658922f, 0.005537136f, + -0.24657115f, -0.004684173f, -0.0057785884f, 0.036154702f, + -0.005902455f, 0.012546671f, -0.03329644f, 0.03418642f, + 0.0014929877f, 0.0008877198f, 0.0067649074f, 0.053166047f, + 0.06687595f, 0.061141893f, -0.022171095f, -0.021134028f, + -0.0018903849f, 0.0018057198f, -0.031164305f, 0.5634761f, + 0.010804048f, 0.09373491f, 0.10524275f, 0.0042473236f, + -0.074392654f, 0.004268486f, -0.0034653784f, 0.0035229237f, + -0.013677562f, 0.0037818784f, 0.08206273f, 0.008494866f, + 0.0066555934f, -0.6664512f, 0.006449347f, -0.0014226881f, + -0.0041162465f, 0.24254797f, -0.021987423f, -0.016101843f, + -0.0051454864f, 0.0058630332f, 0.115810916f, 0.020599486f, + 0.031515494f, 0.023364753f, 0.008329445f, 0.0026256866f, + -0.00424186f, -0.019476468f, -0.027392985f, -0.21399201f, + 0.0004512646f, -0.04647995f, -0.06031758f, -0.027335797f, + 0.15076992f, 0.008149417f, 0.06954173f, -0.0018209376f, + 0.015836673f, 0.0021510364f, -0.17065193f, 0.0034462018f, + -0.006233445f, 0.0025461307f, -0.0098810075f, 0.004168156f, + 0.00065526256f, -0.008410521f, -0.12138243f, 0.012819369f, + 0.23175974f, 0.009889783f, -0.0041308645f, 0.0052488684f, + 0.000475255f, 0.004132255f, -0.3834532f, 0.0016821725f, + -0.006067955f, 0.0012983017f, -0.0009792756f, 0.0016389334f, + 0.0997516f, 0.0034269202f, 0.0127745755f, 0.0077917487f, + 0.0067927237f, -0.0038610306f, -0.0044975323f, -0.043316334f, + -0.0027144146f, 0.027651073f, 0.014792015f, -0.09852378f, + 2.334302e-05f, -0.3554155f, -0.0015525738f, -0.00039247292f, + -0.0051648794f, 0.029396659f, -0.00084416696f, 0.5914207f, + 0.018252304f, 0.007951987f, 0.135595f, 0.00387854f, + -0.00899016f, -0.0035133134f, 0.005853511f, 0.037851237f, + 0.12292184f, 0.0006193803f, 0.07998678f, -0.084746964f, + -0.0012262425f, 0.004037612f, -0.070234194f, 0.0041833874f, + -0.0394372f, -0.0053256494f, 0.011399475f, 0.031556703f, + -0.0008791408f, -0.0001286753f, -0.32895714f, -0.03325593f, + -0.022154888f, 0.022388065f, -0.0052336347f, -0.015807336f, + 0.0075433017f, 0.0027155161f, -0.09835234f, 0.21701826f, + 0.0012337719f, -0.034910515f, -0.04314976f, -0.0025791624f, + -0.14302246f, -0.0011291024f, -0.011294791f, 0.12957937f, + 0.0033717246f, 0.0010591777f, 0.09856249f, 0.050844748f, + -0.01851935f, 0.00056431314f, -0.15304044f, 0.0046777716f, + -0.004201388f, -0.6563093f, 0.0012768045f, 0.006844156f, + 0.0005405163f, 0.015252491f, 0.034694076f, 0.03161216f, + -0.008728137f, 0.0042801597f, 0.0544769f, -0.014492783f, + -0.002793333f, 0.003678444f, 0.054849286f, 0.014212855f, + -0.018259306f, -0.0069079683f, 0.043758094f, -0.0036893578f, + -0.0079887025f, 0.3075636f, -0.006830559f, 0.00421013f, + -0.044992607f, -0.019577874f, -0.056386854f, 0.041525975f, + -0.024817618f, 0.006235575f, -0.0010184315f, 0.005466249f, + 0.0006083904f, -0.008159524f, -0.18005386f, 0.0007930024f, + 0.28525472f, -0.012766977f, 0.0054955618f, 0.036473446f, + -0.022375649f, -0.81374806f, 0.019825045f, -0.018959306f, + 0.0057160403f, -0.18653268f, 0.0048209624f, -0.019781422f, + 0.00075135607f, 0.0031389168f, -0.005520168f, 0.0020017715f, + 0.6976741f, -0.018378016f, -0.22914621f, -0.0028340511f, + 0.06669481f, -0.02324296f, 0.11267749f, 0.0075269397f, + 0.042259753f, 0.0028709008f, 0.02775437f, -0.09149285f, + -0.0057283156f, 5.7725698e-05f, -0.0050103525f, -0.09097373f, + 0.05135256f, -0.08738296f, -0.10221193f, -0.25088382f, + 0.0004568385f, 0.0017672231f, 0.017795218f, -0.5106263f, + -0.0030796356f, -0.09266548f, 0.016019145f, -0.0003048183f, + -0.0554576f, -0.0016233885f, -0.0029687188f, 0.024612512f, + 0.044544917f, -0.027985271f, -0.09176202f, 0.003168198f, + -0.004769082f, 0.3325845f, -0.003930059f, -0.04597863f, + 0.0010759315f, 0.500115f, -0.014327303f, -0.024734845f, + -0.0066701923f, -0.0032874253f, 0.044649243f, 0.061104976f, + -0.0134594105f, -0.027516682f, -0.009259187f, -3.6734764e-05f, + -0.021213336f, 0.011413443f, -0.010197152f, -0.33095363f, + -0.009583345f, -0.115555204f, 0.2312482f, 0.047906153f, + -0.052238435f, -0.011342183f, 0.03133229f, -0.003407469f, + -0.007685376f, 0.0020140295f, -0.15555544f, 0.0010541535f, + 0.0070185685f, -0.0055677104f, -0.003968152f, 0.012065437f, + -0.004383572f, 0.014746869f, 0.030123048f, 0.005002083f, + 0.19716698f, 0.045850698f, 0.013245194f, -0.0011128577f, + -0.013714455f, 0.0049802507f, 0.00447708f, -0.007743358f, + -0.0007382812f, 0.0010228019f, -0.010902709f, -0.00042852425f, + -0.3526492f, -0.02268493f, 0.017233843f, -0.0070256228f, + 0.028812123f, 0.00011282849f, 0.00025874423f, 0.006716067f, + -0.0020169585f, 0.0085929f, -0.012852336f, -0.17157552f, + 0.0012807825f, -0.19870374f, 0.031609148f, -0.0019313568f, + -0.0026370997f, -0.01154453f, 0.004237775f, 0.21131133f, + -0.060621977f, -0.007969348f, 0.070436016f, 0.0055717323f, + 0.0140533f, -0.36374116f, -0.008466014f, 0.39372113f, + 0.18074226f, -0.0031122668f, -0.03973252f, 0.45291927f, + 0.00073044916f, -0.095783405f, 0.05035624f, -0.0045591113f, + 0.043106966f, 0.00796541f, -0.034288406f, -0.022972506f, + 0.0010325001f, -0.032109406f, -0.19648854f, 0.035505015f, + -0.030703248f, -0.01619399f, 0.0002909787f, 0.0037629153f, + -0.009799664f, -0.019956227f, -0.13329637f, -0.10499014f, + -0.0049561383f, 0.018515842f, 0.12871805f, -0.0012789355f, + 0.027271135f, -0.0006964664f, 0.0023785094f, -0.06171621f, + 0.0023503501f, 0.00019917214f, 0.0075531784f, 0.12526295f, + 0.17496061f, -0.0004662974f, 0.093976535f, 0.0033766902f, + -0.0003792588f, -0.002458115f, 0.00088391884f, -0.015944507f, + 0.00090597116f, -0.02622026f, -0.048799716f, 0.00533903f, + 0.006380375f, 0.01749425f, 0.024741821f, -0.000642948f, + -0.010360237f, 0.0053890385f, -0.26453617f, -0.027450377f, + 0.1539258f, -0.011288393f, 0.021401193f, -0.009938412f, + -0.0059376494f, 0.053914856f, -0.004013025f, -0.0025643613f, + -0.10573814f, -0.002165234f, -0.453744f, 0.15945604f, + -0.044455096f, -0.003657761f, 0.0053727813f, -0.0072479593f, + 3.2506455e-06f, -0.006087812f, 0.40566048f, 0.004679202f, + 0.04678405f, 0.0003416025f, -0.006962268f, 0.01984997f, + -0.57150316f, -0.0026512095f, 0.0052725696f, -0.0039745066f, + 0.0015195834f, 0.05334372f, -0.01547645f, -0.005391699f, + -0.03916836f, 0.07656168f, -0.00029202722f, -0.00058747287f, + 0.14888936f, 0.013663887f, 0.07055258f, -0.004076396f, + -0.3567617f, -0.008721569f, -0.089059785f, 0.0033458865f, + 0.06207651f, -0.0057011624f, -0.05051099f, -0.005510616f, + -0.010571769f, 0.0034163631f, -0.003527637f, -0.1207567f, + -0.22354846f, 0.18659171f, 0.21397813f, 0.13691242f, + 0.00012444048f, -0.0007666f, -0.018496767f, -0.17729436f, + -0.0016683879f, 0.19467862f, 0.028847516f, -0.004196645f, + -0.0030822053f, -0.0076266453f, 0.0031956246f, -0.009603852f, + 0.19226535f, 0.030625274f, 0.08274375f, -0.008544009f, + 0.0018028528f, -0.03570806f, 0.029996946f, 0.015307062f, + -0.0010514228f, 0.29751638f, -0.00747065f, 0.009122399f, + -0.0023053717f, 0.054583065f, -0.04256552f, -0.038354147f, + 0.004481129f, -0.041208997f, 0.029077385f, -0.00075555436f, + 0.0560583f, -0.006229076f, -0.0101188645f, 0.33803713f, + -0.005319882f, -0.5810736f, 0.1362812f, 0.015204798f, + -0.051718935f, -0.0020980798f, 0.16938607f, -0.0014672972f, + -0.0036364773f, 0.003236665f, -0.35301518f, -0.0004226968f, + -0.003464035f, -2.1626714e-05f, 0.02295943f, 0.00280547f, + 0.018409459f, -0.01047531f, -0.057966292f, -0.013579993f, + -0.6332469f, -0.0055178804f, -0.021193104f, -0.014530998f, + -0.027193664f, -0.0024791074f, -0.069445975f, -0.0013877067f, + -0.008490854f, 0.0015463574f, 0.003173036f, -0.015156314f, + 0.17029275f, 0.016212467f, -0.005440943f, -0.00013076513f, + -0.01996173f, 8.7526125e-05f, 0.009330858f, 0.0028713075f, + -0.00064376206f, 0.011675501f, -0.035605494f, 0.053720914f, + -0.0036309732f, -0.25683597f, -0.030659262f, -0.000390866f, + 0.00685621f, -0.029189436f, 0.0045059067f, 0.54146576f, + 0.022778226f, -0.008226722f, 0.13333145f, 0.00062055606f, + -0.017132672f, 0.49794012f, -0.0021731912f, 0.1500556f, + 0.058193892f, -0.005467059f, -0.09774418f, 0.0181019f, + 0.005789105f, 0.047382295f, -0.004771154f, -0.006058251f, + 0.012782927f, 0.008575942f, -0.019303337f, 0.027265174f, + 0.004218955f, 0.011627564f, -0.22591352f, -0.011579417f, + -0.025402697f, 0.00039159943f, -0.0008706737f, -0.0077903615f, + 0.0010628563f, 0.00078716787f, 0.04254597f, 0.078439645f, + -0.010326997f, -0.019546334f, -0.118355066f, -0.0020456926f, + -0.46577123f, 0.01068074f, -0.0103053665f, 0.07066576f, + -0.00047039933f, -0.011509828f, 0.009886725f, 0.04314933f, + 0.02464419f, -0.0069680633f, -0.30924097f, -0.00063229515f, + 0.0009069659f, 0.3039606f, -6.859704e-05f, 0.07992739f, + -0.0026917194f, 0.0014425991f, 0.036425028f, 0.00796857f, + -0.014192695f, 0.00016073498f, 0.0053077233f, 0.004303847f, + 0.011672746f, 0.028052216f, -0.41949466f, -0.02045236f, + 0.21097383f, 0.0051568863f, 0.029101182f, 0.01948858f, + 0.002994943f, -0.02510661f, 0.0043550534f, 0.020113554f, + -0.017864166f, 0.018548185f, -0.18456335f, -0.17205606f, + 0.09069137f, 0.0014546051f, 0.004549406f, 0.033576313f, + 0.0030941854f, 0.01624741f, 0.40017077f, -0.001416636f, + 0.17201924f, 0.023156367f, 0.0012718248f, -0.033261858f, + 0.1833946f, -0.22813284f, 0.013916487f, 0.011413264f, + 0.018623345f, 0.045160893f, 0.057104036f, 0.01999819f, + 0.04093567f, -0.06883314f, -0.007589125f, 0.0100543685f, + -0.11082888f, 0.028878499f, 0.07465707f, 0.006770507f, + 0.19596152f, 0.027476028f, 0.03692842f, 0.010524358f, + -0.016262397f, -0.006516254f, 0.0037582978f, -0.21047162f, + 0.015789304f, 0.00320693f, 0.017301627f, 0.089784294f, + 0.04188983f, -0.02866054f, -0.22194596f, -0.09590883f, + -0.0013200111f, -0.00016726229f, 0.0005733983f, -0.30196708f, + 0.00092311716f, -0.45200852f, -0.029002162f, 0.021692708f, + -0.033219814f, 0.0033553431f, 0.0037486844f, 0.018573172f, + 0.21334238f, -0.0070415568f, -0.04988512f, 0.0019222852f, + 0.0076424005f, -0.6722263f, 0.044790514f, -0.08129089f, + 0.0018280243f, -0.6066714f, 0.044592623f, -0.018588394f, + 0.013011475f, 0.046043634f, 0.09175424f, 0.019658508f, + 0.03548091f, -0.008292418f, 0.0041765664f, -0.0006027205f, + 0.027184168f, 0.030067274f, 0.009973293f, 0.059056737f, + 0.01616249f, 0.22529517f, -0.0012105226f, -0.0144727295f, + 0.010770752f, 0.016880644f, -0.13855268f, 0.0070181275f, + 0.010266103f, 0.0017549383f, 0.18090682f, -0.0034298017f, + 0.012580694f, 0.0021073336f, 0.017604543f, 0.017866846f, + -0.012939873f, -0.012282297f, 0.11600256f, 0.029183382f, + 0.15095513f, -0.003960806f, 0.0129083935f, -0.0014659005f, + 0.0154679855f, 0.000604669f, 0.10665721f, 0.0014224172f, + 0.044131584f, 0.022977538f, 0.011259388f, 0.0018918441f, + -0.21143909f, 0.008278763f, 0.026883794f, 0.013875522f, + 0.013566983f, 0.0015483692f, 0.0028676922f, 0.068639725f, + -0.0006022803f, 0.0061591617f, 0.004753047f, 0.2720324f, + -0.0007939686f, -0.16378517f, 0.008577165f, 0.00030789032f, + 0.006390912f, 0.025110593f, 0.006798893f, 0.33173555f, + 0.06329981f, 0.014759393f, -0.14529955f, 0.0028877174f, + 0.015007467f, 0.4636373f, 0.0034616254f, -0.05887624f, + -0.062803775f, 0.0073363855f, 0.037758347f, 0.51654774f, + 0.008971f, 0.04441623f, 0.0071564f, -0.0011020418f, + 0.011508748f, -0.00558548f, 0.004051969f, 0.08513983f, + 0.0017744069f, 0.013450424f, 0.52260965f, 0.023688382f, + 0.10535918f, 0.020701746f, -0.00070599274f, 0.020706236f, + 0.012414538f, 0.011186954f, -0.2110454f, -0.11645164f, + 0.017962324f, 0.024115054f, -0.026850455f, 0.0009568163f, + 0.0063860873f, 0.009360817f, 0.028400058f, -0.07288133f, + 0.005620091f, 0.033520587f, 0.03188922f, -0.12925161f, + 0.021619527f, 0.02204866f, 0.38007087f, 0.009183881f, + 0.0026769359f, -0.00787106f, -0.0007572186f, 0.0053221383f, + -0.0009968643f, 0.027462838f, 0.0916856f, 0.008754095f, + 0.0146901095f, 0.007972928f, 0.05165128f, 0.0015285903f, + -0.004636616f, 0.009743438f, -0.13631004f, -0.016177222f, + 0.19027801f, -0.0041513275f, -0.0068386006f, -0.0065889773f, + -0.008574995f, 0.15042767f, -0.016070787f, 0.004072964f, + -0.046575956f, -0.01700411f, 0.05691949f, -0.039435975f, + 0.019955054f, -0.016456181f, 0.01067398f, 0.011772197f, + 0.005467863f, -0.00067644275f, -0.17149845f, -0.007643979f, + -0.11714122f, -0.018809937f, -0.019302484f, -0.081126876f, + 0.086448275f, 0.11964686f, -0.012852038f, 0.0059380713f, + 0.014561854f, 0.05834195f, 0.018195806f, -0.010451634f, + 0.012544452f, -0.031765297f, -0.011260656f, -0.00783913f, + -0.06480519f, -0.019440744f, -0.06919132f, -0.009947953f, + -0.02673653f, -0.039931014f, -0.065527394f, -0.020047814f, + -0.038977586f, -0.017389588f, -0.046309732f, 0.11494867f, + -0.011529947f, -0.006714785f, 0.0031407776f, -0.0058775987f, + -0.07287307f, -0.11620867f, -0.031384427f, 0.1165233f, + -0.0037044324f, -0.0056348704f, 0.026362093f, 0.1655151f, + -0.012324054f, -0.031703293f, -0.06883587f, 0.011448547f, + 0.068929434f, -0.017145647f, 0.007265652f, 0.006640547f, + -0.05072122f, 0.01295924f, 0.03925297f, -0.022953669f, + 0.004847822f, -0.025098298f, -0.014399359f, -0.0071539884f, + -0.0057709618f, 0.0578963f, -0.012471563f, -0.009364343f, + -0.0062582046f, -0.016648848f, -0.00142f, -0.049526244f, + -0.015155491f, -0.09906719f, -0.018888306f, -0.0036710375f, + 0.0002422918f, 0.0107219275f, -0.028560953f, 0.009493499f, + -0.010060579f, -0.13303581f, 0.026583498f, -0.08563384f, + -0.05073781f, 0.0087209735f, -0.084181115f, 0.006346423f, + -0.012069089f, -0.0074952524f, 0.059091613f, -0.008783612f, + -0.0107924845f, -0.008012274f, -0.0044295243f, 0.010156077f, + 0.002800338f, -0.016356578f, -0.10967481f, 0.0019999833f, + -0.14145558f, -0.03780753f, 0.017982746f, -0.019652996f, + -0.05459057f, -0.016177762f, -0.06284574f, -0.0060182586f, + 0.018241033f, 0.0035085452f, -0.030282049f, -0.02171506f, + -0.013490108f, -0.015426437f, 0.021970278f, 0.0037558437f, + -0.012897245f, -0.0041715354f, -0.0075004976f, -0.055050205f, + -0.006012553f, -0.0028188536f, -0.026403181f, -0.0682063f, + -0.011762416f, 0.09249254f, -0.039200757f, -0.010564122f, + 0.008836479f, -0.007100971f, 0.010353421f, 0.09090824f, + -0.051612142f, 0.00535828f, -0.023273151f, -0.005012543f, + 0.0028888094f, -0.009313499f, -0.001032057f, 0.05499404f, + -0.097571656f, 0.008710135f, -0.14698818f, 0.08921492f, + 0.005907909f, -0.012561229f, -0.06699732f, 0.011050924f, + -0.07177284f, 0.0080632055f, -0.030885631f, -0.024131045f, + -0.006003334f, -0.005962128f, -0.0029736916f, -0.08871809f, + -0.04316797f, -0.011165601f, -0.00057215564f, 0.00649828f, + 0.0057349545f, -0.0066136047f, 0.041355424f, -0.030610602f, + -0.016385617f, -0.08125657f, -0.07446056f, -0.0010968635f, + -0.05109031f, -0.00022005073f, -0.014878542f, -0.019100003f, + 0.006908897f, 0.006255416f, 0.022068236f, -0.03470117f, + -0.15502487f, 0.008637728f, 0.09075053f, 0.0034814246f, + 0.012080888f, 0.11766583f, -0.007439009f, -0.01702483f, + -0.016412787f, -0.01340385f, -0.027573675f, -0.00038537878f, + -0.010290407f, -0.0019164116f, 0.08277911f, 0.0011838584f, + -0.013500567f, -0.009522839f, -0.0020495355f, -0.02218411f, + -0.06307037f, -0.008400939f, -0.08919201f, -0.029049506f, + -0.01723471f, -0.08269396f, -0.0015616853f, -0.010884397f, + -0.0040517277f, -0.03578319f, 0.16285762f, 0.055700775f, + -0.071978256f, 0.009279537f, -0.0154772f, -0.016737696f, + -0.0115232915f, -0.022876183f, 0.09785864f, -0.0020389678f, + 0.10291452f, -0.027096393f, 0.004579488f, -0.05502411f, + -0.13669409f, 0.061231036f, -0.051598057f, -0.017763471f, + -0.058900815f, -0.03303249f, -0.029983416f, -0.013548826f, + -0.05359357f, -0.0012780752f, -0.0076060174f, -0.009685261f, + -0.04689923f, -0.008627857f, -0.10322673f, -0.0067227376f, + -0.18870491f, -0.03687977f, -0.1127711f, -0.042541802f, + -0.03573032f, -0.035571627f, -0.025222307f, 0.031119397f, + -0.004759111f, -0.00639762f, -0.02595637f, -0.1068997f, + -0.077457055f, 0.017783735f, -0.07748808f, 0.0576268f, + -0.005501133f, -0.000523357f, -0.013242243f, -0.04142053f, + -0.011952356f, -0.0051856483f, -0.06237529f, -0.017381936f, + 0.0033990713f, 0.002787263f, -0.018065613f, -0.03327598f, + 0.17668657f, -0.020943876f, -0.02732877f, -0.0062490245f, + -0.016958471f, -0.341473f, 0.051191505f, 0.0036385052f, + -0.012724677f, 0.14320219f, -0.038796827f, -0.025796575f, + -0.0049796454f, -0.0057287454f, -0.11123311f, -0.079231285f, + -0.02914108f, -0.08602285f, -0.027873788f, -0.000669452f, + 0.0037134131f, -0.020720605f, 0.0029561198f, -0.10377167f, + -0.008589802f, 0.15267582f, -0.46174335f, -0.048968103f, + 0.15055475f, -0.014606112f, 0.077306755f, -0.001422148f, + -0.006771708f, -0.0065438356f, -0.15393949f, -0.010714429f, + -0.023537615f, -0.018628625f, -0.015940806f, -0.0065925387f, + 0.0012666371f, -0.017470827f, -0.060321424f, -0.030549929f, + -0.017135222f, -0.033799488f, -0.04828633f, 0.0018098021f, + 0.016775154f, 0.008343234f, 0.0943102f, -0.020444455f, + -0.03770726f, -0.005560117f, -0.018424215f, 0.0056292163f, + 0.017162085f, 0.02944775f, -0.053072605f, -0.01479304f, + -0.022814017f, -0.0030777033f, 0.0026905758f, -0.06030447f, + -0.0036043883f, -0.020214587f, 0.0019905216f, 0.048570823f, + 9.69271e-05f, 0.074100345f, -0.043993678f, -0.0068205306f, + -0.019049365f, -0.04951228f, -0.0012027838f, -0.060182657f, + -0.016605124f, -0.02264149f, -0.021053946f, -0.009127886f, + -0.034632724f, 0.114917375f, -0.015818395f, -0.11261067f, + -0.19206697f, -0.007716286f, -0.12243851f, -0.09788195f, + -0.0046099504f, -0.020077659f, -0.06380329f, -0.00084579573f, + -0.026223175f, 0.009585278f, -0.017918685f, -0.0715227f, + 0.000646428f, 0.00888671f, -0.12396681f, -0.07366249f, + -0.06684337f, -0.016273791f, -0.0064266142f, -0.005302636f, + -0.021065092f, -0.026886525f, 0.13558878f, -0.032334365f, + -0.009258364f, -0.07402955f, 0.07964694f, -0.0072029713f, + -0.11763772f, -0.015405314f, -0.023885978f, -0.039143592f, + -0.0220459f, -0.023563677f, 0.062091954f, -0.075085126f, + -0.10601316f, 0.006081701f, -0.011729602f, -0.016896715f, + -0.01047973f, 0.17883763f, -0.00024473667f, -0.011770583f, + -0.008457084f, -0.016437253f, 0.0035207116f, -0.008413713f, + -0.035285242f, -0.022506792f, -0.056211524f, -0.037076376f, + -0.001299664f, -0.0024680425f, 0.019034874f, -0.017457677f, + -0.11462125f, 0.00483501f, 0.0045245048f, -0.026402324f, + 0.0073298905f, 0.0772757f, 0.0004930905f, 0.0028119804f, + 0.04732774f, -0.0071406006f, 0.22013967f, 0.091881834f, + -0.035070356f, 0.010007076f, 0.0031075643f, -0.014575004f, + -0.002973037f, 0.00048791635f, 0.02499193f, -0.0010428663f, + -0.111930825f, 0.012629345f, 0.0071682455f, 0.040835124f, + -0.025646042f, 0.007840885f, -0.00012008881f, -0.002864337f, + -0.01708124f, 0.23517145f, -0.013602802f, -0.0036103723f, + -0.019686867f, 0.08494912f, -0.0039785365f, -0.0017933256f, + -0.09212906f, 0.011221967f, -0.053393573f, -0.023852162f, + 0.07340088f, -0.0020100186f, 0.011107072f, 0.022900177f, + 0.06841986f, -0.008884195f, 0.03543507f, 0.20085728f, + -0.003302653f, -0.0014852129f, -0.0031129676f, -0.04746893f, + -0.060539506f, 0.013755042f, -0.109243974f, 0.21716025f, + -0.00023591328f, 0.0051986077f, 0.076865226f, -0.009646504f, + -0.028074186f, 0.08754107f, 0.0063708713f, 0.004464078f, + 0.090798706f, 0.00016264532f, -0.0046164063f, -0.04872417f, + -0.04080452f, 0.022545418f, 0.034481976f, -0.018386846f, + -0.0065073473f, 0.034128867f, 0.06330792f, 0.09010733f, + -0.0029229566f, -0.1559824f, -0.009477727f, 0.0059959837f, + -0.014807526f, 0.05677359f, -0.045141626f, -0.018651307f, + 0.019869996f, -0.040965505f, 0.024064941f, 0.0029538183f, + 0.027068796f, -0.0019419095f, -0.02641855f, 0.1321638f, + 0.0034861295f, -0.029807804f, -0.051040925f, 0.067279f, + 0.019229092f, 0.004417104f, 0.11308144f, 0.00023535163f, + 0.00520721f, -0.0006361423f, -0.14945683f, 0.0016113549f, + -0.0052588917f, 0.00036342622f, -0.017043522f, -0.0018744279f, + 0.035144813f, -0.02213246f, 0.027901392f, -0.033614147f, + -0.100177795f, -0.013676059f, -0.022475824f, -0.004668773f, + 0.0037534502f, 0.009280064f, 0.35935023f, -0.006359907f, + -0.01462047f, 0.0035773541f, -0.0128852315f, -0.0025307464f, + 0.04789214f, 0.026006555f, -0.033386987f, -0.0027552263f, + 0.0094859125f, -0.0022012785f, -0.0032315054f, 0.025544785f, + 0.0010944225f, 0.006811742f, -0.035693698f, 0.0967948f, + 0.0034560147f, 0.073412165f, -0.00838769f, 0.00045430483f, + -0.0016824584f, -0.0055645173f, 0.006808195f, 0.026101958f, + 0.08934552f, -0.0019129966f, 0.10713367f, 0.0030635614f, + -0.0040853857f, -0.068265215f, -0.00867416f, 0.008895367f, + -0.21783826f, 0.004447457f, -0.08654909f, -0.04102869f, + 0.017133595f, 0.077777624f, 0.025606746f, 0.003082965f, + 0.0043941895f, 0.012648418f, 0.049489588f, 0.06897138f, + 0.00055326294f, 0.011650927f, -0.016300531f, -0.014991299f, + 0.041419726f, 0.008379353f, 0.00044694345f, -0.008341327f, + -0.0018103387f, -0.007869061f, 0.13067861f, 0.014502151f, + -0.0054440047f, 0.014970577f, 0.043327317f, -0.002192951f, + -0.14865868f, 0.015179597f, -0.01871067f, -0.016584603f, + 0.00091260613f, -0.021008043f, -0.0009872171f, 0.039179318f, + 0.03967906f, 0.018450517f, 0.11082973f, 0.0010417491f, + 0.00020478349f, 0.11131959f, 0.0026666077f, 0.025691917f, + 0.00041907243f, 0.02123984f, 0.044773947f, 0.00846327f, + -0.0066132788f, 0.0050181895f, -0.021716675f, -0.023066528f, + -0.006461453f, -0.002860064f, -0.25872973f, -0.02584033f, + 0.14644654f, -0.00067674107f, -0.01827124f, -0.0027857495f, + 0.021373732f, 0.07039539f, 0.004864486f, -0.010959522f, + 0.11835477f, 0.016876658f, -0.08089838f, 0.10352596f, + -0.0065485043f, 0.013744915f, -0.0035109858f, -0.005767451f, + -0.0024113504f, -0.010957472f, 0.081595056f, 0.00027036457f, + -0.11355669f, 0.033193115f, 0.010424465f, -0.02341748f, + 0.17848454f, -0.092829525f, 0.0391176f, -0.006594095f, + -0.03257118f, -0.05975181f, -0.013010266f, 0.00029502084f, + -0.021161674f, 0.04363701f, -0.015430892f, 0.000409588f, + 0.12852775f, -0.01271176f, 0.081539504f, -0.008298646f, + -0.03069646f, -0.02015889f, 0.0509184f, -0.010852495f, + -0.03820022f, 0.00199667f, -0.006380524f, 0.08807583f, + 0.0014786227f, -0.0036997488f, -0.01344947f, 0.022874713f, + -0.068418086f, -0.035149198f, -0.054427132f, 8.656874e-05f, + -0.003113102f, -0.0026929113f, 0.016194453f, 0.061497264f, + -0.009649352f, -0.17159928f, -0.018773306f, -0.010072788f, + -0.005705153f, 0.005605885f, -0.005320508f, 0.004345263f, + 0.020646175f, -0.014630988f, 0.017814564f, 0.0024865181f, + -0.011909088f, -0.1991093f, -0.00656708f, 0.0013927107f, + -0.0102026025f, 0.042609587f, -0.012769387f, 0.04736983f, + -0.014265722f, -0.021563845f, -0.024931123f, 0.012787231f, + 0.022571072f, -0.2044017f, -0.034191895f, -0.0037832556f, + -0.03303907f, -0.0059708115f, -0.013459476f, -0.030127734f, + -0.000104819366f, 0.22229753f, -0.08535589f, -0.07708527f, + -0.06870186f, -0.0085138315f, -0.119629756f, -0.0047821263f, + 0.010921236f, -0.0029553915f, 0.06415916f, -0.006265256f, + -0.015812952f, -0.019471524f, -0.04428845f, -0.0015720574f, + 0.022530366f, -0.017641421f, -0.08054364f, -0.000856906f, + -0.09991743f, -0.0910847f, -0.011495886f, 0.0016542937f, + -0.063701384f, 0.01122352f, 0.04307495f, -0.010659861f, + -0.01725397f, -0.002042839f, -0.023771837f, 0.009378417f, + 0.037814625f, -0.024817267f, -0.010595405f, -0.012850594f, + -0.033260264f, -0.0041866754f, 0.0019177127f, -0.08520456f, + -0.00674226f, -0.003374232f, -0.027814114f, 0.07243287f, + 1.4787643e-05f, -0.17164189f, -0.062373124f, -0.001415342f, + -0.009223239f, 0.023102447f, -0.013387928f, 0.20904613f, + 0.00915966f, -0.009036809f, 0.018177547f, -0.013467015f, + -0.005640997f, 0.23305179f, -0.019163791f, 0.07989377f, + 0.009232488f, -0.0055054296f, -0.21858177f, 0.13006803f, + -0.010444722f, 0.016382102f, -0.0029893327f, -0.007977918f, + -0.04450929f, -0.028781986f, 0.008289244f, 0.03721693f, + 0.0015871975f, -0.017882101f, 0.07770267f, 0.0005714651f, + -0.026530486f, 0.015073705f, -0.0025435952f, -0.016299425f, + -0.017313406f, -0.016350318f, -0.080418326f, 0.037245173f, + 0.0061707175f, 0.033698753f, -0.018683665f, -0.009976053f, + -0.21955773f, -0.020037808f, 0.0056082034f, 0.006824715f, + -0.00993153f, -0.020169342f, -0.023739267f, -0.0142743215f, + 0.17413042f, -0.023454653f, -0.032533772f, -0.0130142495f, + -0.006856863f, -0.029177312f, -0.00027794595f, -0.019590471f, + -0.010461576f, -0.015744703f, 0.014065444f, -0.01531115f, + -0.010802253f, -0.0053655133f, 0.07119519f, -0.017513847f, + 0.00702657f, 0.006836529f, 0.064847745f, -0.024262693f, + -0.0021844807f, 9.21404e-06f, -0.033901937f, 0.01210641f, + 0.011980978f, -0.04238776f, -0.0071953186f, 0.012423926f, + 0.016806964f, -0.010256836f, -0.016000612f, 0.033313327f, + 0.014094f, -0.006788555f, 0.0023740686f, 0.006469409f, + -0.0039924905f, 0.008799566f, 0.13470253f, -0.0016526395f, + -0.08319831f, 0.01261466f, -0.009331805f, 0.039677124f, + -0.07587326f, -0.06206004f, -0.0074837203f, 0.008103415f, + 0.036629874f, 0.09692148f, 0.012886844f, 0.0047455216f, + 0.000673954f, 0.020401455f, -0.0031760612f, 0.00054516393f, + 0.029568408f, 0.003786769f, 0.09019435f, -0.0043543703f, + 0.020509489f, 0.038283516f, 0.037787445f, 0.008032141f, + 0.09053133f, -0.005292312f, -0.003045652f, 0.087711155f, + -0.0037548025f, -0.00072975515f, 0.0056984453f, -0.04345306f, + -0.039042685f, 0.02546288f, -0.06160867f, 0.18490702f, + 0.0003291278f, -0.002384142f, 0.050204992f, -0.021691695f, + -0.008204569f, -0.09924736f, -0.023962617f, 0.0055399197f, + 0.036105484f, -0.00775356f, 0.00045062022f, -0.00010775188f, + 0.071811035f, 0.0070982417f, 0.024647495f, -0.01736043f, + 0.005585079f, 0.120071426f, 0.018390488f, 0.00709022f, + -0.0005927037f, -0.07858139f, 0.012186078f, 0.008770923f, + -0.0013463664f, 0.04632529f, 0.011232444f, 0.0056693233f, + 0.016174782f, -0.09132891f, 0.017809417f, -0.002766045f, + -0.014887124f, 0.017735966f, -0.0032974556f, -0.06684699f, + 0.0059301704f, -0.05237431f, -0.024351912f, 0.09082658f, + -0.12235469f, 0.012227781f, 0.1085078f, 0.0049703033f, + -0.0019719058f, -0.0017608353f, -0.051937316f, -0.0022154534f, + 0.0037878205f, 0.00097137f, -0.0016991125f, 0.010159757f, + 0.02834474f, -0.016634814f, -0.056521945f, 0.011305953f, + -0.0051077614f, 0.030862099f, 0.0008319696f, -0.015489533f, + -0.020479772f, -0.008178025f, 0.23165688f, -0.0020866583f, + 0.0025516285f, 0.0075989985f, -0.0018056562f, -0.014016035f, + -0.083038084f, 0.0053579914f, 0.017050937f, 0.003523323f, + 0.0021867394f, -0.00090106524f, -0.00603034f, 0.058447387f, + -0.0018760422f, -0.0010369449f, -0.023651784f, 0.20292503f, + -0.007273431f, 0.10886698f, -0.0154712545f, 0.0018967392f, + -0.0048239296f, -0.0017336116f, 0.002559691f, -0.01809958f, + 0.018575303f, 0.0062622395f, 0.09606062f, -0.00038877144f, + 0.013185288f, 0.065404825f, -0.0012150881f, 0.07322799f, + -0.15647416f, 0.0011468976f, 0.03595144f, 0.0054921075f, + 0.0090429885f, -0.013004292f, 0.06612797f, 0.0002546803f, + 0.024555115f, 0.018284578f, -0.0032075078f, -0.033181485f, + -0.0031481308f, 0.020689456f, 0.054462273f, 0.02904698f, + 0.027079204f, 0.013066632f, 8.903992e-05f, -0.0060008517f, + 0.008036445f, 0.010234774f, 0.21343735f, 0.08676627f, + 0.0025413882f, 0.059847895f, -0.02351151f, -0.0015892861f, + -0.10967907f, 0.006839535f, -0.007837574f, 0.0602108f, + -0.0035034015f, 0.007471094f, -0.010293789f, 0.091987945f, + 0.05274382f, 0.014095458f, 0.0410614f, -0.0068019493f, + 0.004816894f, 0.11310616f, -0.00071293575f, 0.008481413f, + -0.008511193f, 0.023387283f, 0.022162726f, -0.0007441394f, + 0.0150248315f, 0.017378924f, 0.020248333f, -0.00014982716f, + -0.0059990254f, 0.007172878f, -0.045396686f, -0.0009591997f, + 0.018193929f, 0.008907888f, -0.022798933f, -0.01185216f, + -0.0028008565f, -0.10063326f, -0.008141948f, -0.001518825f, + -0.019090438f, 0.057082962f, 0.07228903f, 0.08430319f, + -0.0074979845f, -0.002856883f, -0.00093669497f, -0.0036549633f, + 0.0016072049f, -0.020174835f, 0.045761876f, 0.004506836f, + 0.003759922f, -0.014935369f, -0.005802157f, -0.056424733f, + 0.076196685f, 0.23401204f, 0.07369234f, -0.012338372f, + -0.08572316f, -0.018015025f, -0.002394729f, 0.0024371205f, + 0.01510374f, 0.006491726f, 0.0045131417f, 0.0088843275f, + -0.08808664f, -0.0027548876f, -0.029639468f, 0.0037091891f, + -0.04809536f, -0.025186572f, 0.049367454f, -0.0089951875f, + -0.056495924f, -0.017431084f, 0.017397469f, -0.03317855f, + 0.0048026587f, 0.0032110214f, -0.0151732555f, -0.24622066f, + -0.07513086f, 0.03948961f, 0.07801979f, 0.06567427f, + 0.001204123f, -0.001036823f, 0.028847693f, -0.07402418f, + 0.0089562405f, -0.04272608f, -0.091787055f, -0.009762797f, + 0.05999554f, -0.002135026f, -0.0027825201f, -0.04864788f, + -0.0746933f, 0.012180377f, -0.031578142f, -0.0128269f, + -0.012623051f, -0.08945907f, 0.0106782345f, 0.010739763f, + 0.0016281281f, 0.093681745f, -0.003224276f, 0.02987317f, + 0.0020653696f, -0.0046822345f, -0.010335593f, -0.022628691f, + -0.004398227f, -0.086284414f, -0.01951369f, 0.0016615059f, + 0.011604657f, -0.0048925695f, 0.025450287f, -0.008514032f, + 0.0051736827f, 0.049245764f, -0.30502507f, -0.11762601f, + 0.04410714f, -0.012335865f, -0.088300504f, 0.0032090303f, + -0.0054656034f, 0.0030459126f, 0.083109505f, -0.007173879f, + 0.003601805f, -0.0043968474f, 0.010643101f, -0.005189669f, + 0.0033098976f, 0.0048264028f, 0.027374968f, -0.012910796f, + 0.09045878f, -0.12758698f, -0.022464726f, -0.00848879f, + -0.023631787f, -5.5378056e-05f, 0.0913231f, -0.004045106f, + -0.0009358554f, 0.0060389424f, 0.014206129f, -0.0039027615f, + 0.025250994f, -0.005905931f, 0.009113086f, -0.011742484f, + -0.009010789f, 0.003952282f, 0.009528844f, -0.05555582f, + 0.0065700375f, 0.0056108246f, -0.0075954506f, -0.2502188f, + -0.0012849341f, 0.19698676f, -0.023935942f, 0.0038839825f, + -0.003936558f, -0.0045362376f, 0.004552495f, -0.090687156f, + 0.04338229f, -0.015921619f, -0.028184336f, 0.0063712946f, + -0.014224769f, -0.13149643f, -0.01594273f, -0.17495786f, + -0.12753469f, 0.0022813943f, -0.15581867f, -0.089735754f, + 0.0044790376f, 0.09979278f, -0.013049035f, 0.00701575f, + -0.051921334f, -0.025754953f, 0.07204324f, 0.084800005f, + 0.0052827937f, -0.0070582777f, -0.0054863864f, -0.05173867f, + -0.058523417f, -0.006135551f, 0.0034468307f, -0.024850497f, + -0.015892508f, -0.013269548f, -0.0144546805f, -0.09798909f, + 0.011139247f, -0.03350431f, 0.0529376f, 0.0069344956f, + -0.120709494f, -0.0017380797f, 0.02153849f, -0.05458464f, + 0.0018314813f, -0.0047058775f, -0.029378599f, -0.011491795f, + 0.10190057f, -0.00010328919f, 0.0021038353f, 0.0058820634f, + -0.014925343f, -0.021159438f, 0.00044011328f, -0.012561722f, + -0.004587848f, -0.012984394f, -0.008502251f, -0.0006751687f, + -0.009609917f, -0.0048051053f, -0.04888693f, -0.008441059f, + -0.0016721874f, 0.0017879005f, -0.24873807f, -0.003443232f, + -0.06967005f, 0.0038160942f, 0.016338684f, -0.017045869f, + -0.0073207673f, -0.029510826f, -0.009030737f, -0.004484417f, + -0.010486708f, 0.037777804f, 0.057824682f, 0.11283844f, + -0.001540409f, -0.005869701f, 0.008896435f, -0.004693765f, + 0.0089919595f, -0.00029572172f, -0.13245307f, 0.0004281831f, + 0.10604631f, -0.015163663f, -0.00020061289f, -0.00270571f, + 0.14844374f, 0.14365633f, 0.074518904f, -0.009075158f, + -0.04517291f, 0.050340682f, -0.008621708f, -0.008442037f, + 0.0049926555f, 0.09110698f, 0.013114825f, 0.0030009758f, + -0.04933653f, -0.022311905f, -0.021672433f, -0.003536877f, + -0.03572667f, -0.0054481537f, 0.05815397f, 0.023029463f, + -0.013560795f, -0.017290682f, -0.008642637f, 0.013750034f, + 0.0016867833f, 0.004187201f, 0.0040674475f, -0.049442533f, + 0.055714224f, 0.22201498f, 0.09349168f, -0.05858593f, + 0.0026247022f, 0.0016342308f, -0.041290045f, 0.028979035f, + -0.006210622f, 0.016250687f, -0.005604823f, 0.00014996142f, + -0.008713242f, 0.00027570076f, 0.0047848267f, -0.052031778f, + -0.13872758f, 0.004334298f, -0.013136843f, 0.005061023f, + -0.014311472f, -0.025018226f, -0.041460972f, 0.026168024f, + 0.008086388f, -0.06587633f, 0.0028433143f, 0.041555915f, + -0.0019456426f, -0.02000117f, -0.049808897f, -0.050622858f, + -0.009854363f, 0.014438192f, -0.0024267829f, 0.005477177f, + 0.0042358893f, -0.002872949f, 0.0021921182f, 0.1778285f, + 0.0032372086f, 0.07794674f, 0.19761169f, -0.02717756f, + -0.027225096f, -0.0064948327f, -0.026892103f, 0.0005326655f, + -0.008764865f, 0.0036851843f, -0.05533499f, 0.0039020139f, + -0.004536473f, -0.00016653702f, -0.02275286f, 0.0006387409f, + 0.03700833f, 0.0013277783f, 0.09009546f, -0.01685461f, + 0.09568457f, -0.100817874f, -0.036066193f, 0.010502023f, + -0.001377269f, -0.00220349f, -0.09605428f, 0.004394549f, + 0.0015203943f, 0.0040012086f, -0.004102525f, -0.004286046f, + 0.040956534f, -0.039477896f, -0.004247017f, -0.00025810816f, + -0.01423827f, 0.0004930833f, 0.00380874f, -0.02732742f, + 0.007891716f, -0.0024098186f, -0.004658808f, -0.2757292f, + 0.0075603467f, -0.18669362f, -0.020560209f, 0.0015506322f, + 0.0043133236f, -0.013022676f, 0.008838939f, -0.07625216f, + 0.11869124f, -0.0028513721f, 0.017310198f, -0.0016097733f, + -0.0032857193f, -0.1028082f, -0.0061764596f, -0.06026717f, + 0.048970502f, 0.01088547f, -0.08132822f, -0.066267334f, + 0.0040565506f, 0.14432472f, -0.003187826f, 0.01236716f, + -0.043076884f, -0.016903913f, 0.07405391f, 0.15025933f, + 0.0022493673f, 0.0124576865f, 0.076628774f, -0.042683285f, + 0.017123332f, -0.010784543f, 0.0017242521f, -0.0148136355f, + -0.0065641403f, -0.013839312f, -0.057178743f, -0.036091313f, + -0.0017393631f, -0.0031475693f, -0.085051425f, 0.008140764f, + -0.015733024f, 0.00048306157f, -0.0018150192f, -0.052925307f, + 0.01272936f, -0.0061182426f, -0.04492691f, -0.06956167f, + -0.018199107f, 0.013838566f, -0.10007337f, 0.016158262f, + -0.013484686f, -0.1678583f, 0.00200242f, 0.010219976f, + 0.011959131f, 0.009838226f, 0.02875593f, 0.0020154468f, + -0.002717191f, -0.012996444f, -0.07012981f, -0.0021883182f, + -0.009131575f, -0.0045323367f, -0.068175726f, 0.033439286f, + 0.14647341f, 0.0046762275f, -0.0108287055f, -0.007432649f, + -0.0019169605f, 0.18761496f, -0.0021699306f, -0.004850992f, + -0.14498414f, -0.00026963276f, 0.07646897f, -0.015467265f, + -0.00022671233f, -0.0030145848f, 0.002143222f, -0.003724753f, + -0.0018523985f, -0.004013291f, 0.066553265f, -0.0019480668f, + -0.15790257f, -0.004034926f, 0.0006728672f, -0.09411654f, + 0.12901628f, -0.031620722f, 0.037571616f, -0.0009619654f, + -0.012961646f, -0.059160877f, -0.004702398f, 0.0064371433f, + 0.0066793757f, 0.024656106f, -0.0062561696f, 0.0041000247f, + 0.06467574f, -0.011140634f, 0.0455383f, 0.0099281715f, + -0.08934841f, -0.031350933f, 0.0137235075f, 0.02725512f, + -0.076027684f, 0.014101399f, -0.050459944f, -0.18564823f, + 0.0059446883f, -0.006372511f, -0.008433118f, -0.20805992f, + 0.047398057f, 0.09468762f, 0.026547281f, -0.020440776f, + -0.004262243f, 0.0019867208f, -0.06834249f, -0.0058406102f, + 0.017733531f, -0.18698277f, -0.092818424f, -0.009926642f, + -0.05529283f, 0.0025756743f, 0.008767969f, -0.0066089197f, + -0.05817121f, -0.0051856576f, -0.04988852f, 0.0019782109f, + -0.0057761436f, 0.31831723f, -0.056689832f, -0.077344075f, + 0.0003126764f, -0.05385495f, -0.0071360986f, -0.011311262f, + 0.0039274064f, -0.02462064f, 0.0028061932f, -0.08096062f, + -0.014392622f, -0.046522006f, 0.00062946236f, 0.0031732586f, + -0.032867707f, -0.0044354755f, 0.014243333f, -0.13420078f, + 0.0064633028f, -0.28258696f, 0.15617773f, -0.08691997f, + -0.299753f, -0.0006224945f, -0.11013513f, 0.0018764681f, + 0.0015160462f, -0.0035895149f, 0.010307259f, 0.0012358571f, + 0.010962244f, -0.008761918f, 0.0159657f, -0.0047160066f, + 0.020849742f, 0.02023333f, -0.009719099f, 0.0064383224f, + 0.22936554f, -0.08343086f, 0.02667505f, 0.0048769685f, + 0.035818513f, -0.0019866058f, 0.0626672f, -0.007429322f, + 0.00066164834f, -0.0071022594f, 0.015805947f, -0.008714603f, + -0.15847917f, -0.030236749f, 0.027061412f, -0.0062830974f, + -0.0014274603f, -0.0013275134f, -0.0016406704f, -0.022323273f, + -0.0031996116f, 0.012032232f, 0.018119045f, 0.11848759f, + 0.0006108109f, 0.20094794f, 0.01399667f, 0.0015416989f, + -0.004585392f, -0.0038400327f, -0.003502195f, 0.063401096f, + -0.046842065f, -0.0004935387f, -0.027032992f, 0.025547553f, + 0.0033791305f, -0.11226543f, -0.007835374f, 0.07966236f, + -0.031429265f, 0.004383598f, 0.097483784f, 0.011819743f, + -0.010045089f, -0.043350965f, -0.049661998f, 0.005675816f, + -0.07386318f, -0.017368449f, -0.025588503f, -0.06032924f, + 0.00069468806f, -0.008635742f, 0.036866058f, -0.0533094f, + -0.03619604f, -0.0057225823f, 0.0025183433f, -0.003108471f, + -0.005598163f, 0.0062575443f, 0.05987255f, -0.012549924f, + 0.0101706f, -0.059713162f, -0.10325918f, -0.0004712065f, + -0.047491908f, -0.012968729f, 0.0050521716f, -0.024510162f, + 0.004754452f, -0.00071666867f, -0.07381761f, -0.06899749f, + -0.24879882f, -0.005066182f, -0.07799204f, 0.0017320431f, + 0.0022594626f, -0.04727983f, 0.0021166382f, -0.009724051f, + 0.0054672477f, -0.025524572f, -0.05964547f, 0.011722708f, + 0.0075641936f, 0.005463212f, 0.0028112594f, 0.008464174f, + -0.00094767427f, -0.0114974985f, 0.23679926f, 0.013125691f, + 0.121528804f, -0.009448645f, 0.032382693f, 0.020217849f, + -0.0023259341f, 0.03540539f, -0.005312999f, -0.002033102f, + -0.024836339f, -0.028790688f, -0.2746995f, -0.07876785f, + 0.009509541f, 0.008205078f, 0.0045116628f, 0.0036624381f, + -4.103098e-05f, 0.013208964f, -0.01477801f, 0.000304933f, + -0.10550786f, 0.008361113f, 0.00405403f, -0.044537056f, + -0.037797924f, 0.0026873345f, -0.026208133f, 0.015078334f, + 0.025703197f, 0.059854895f, 0.0070964913f, -0.0017359272f, + -0.023341635f, -0.05554933f, 0.0033390264f, -0.0035515504f, + 0.03177584f, 0.014182117f, -0.030663285f, 0.0062519168f, + 0.08407376f, -0.025152378f, 0.013266322f, 0.015490762f, + -0.07157843f, 0.029631985f, 0.014443481f, -0.014265751f, + -0.004632653f, 0.0020329787f, 0.0063626785f, 0.007707966f, + -0.047242578f, -0.12776037f, -0.05517828f, -0.07768984f, + -0.0009921746f, 0.0063799345f, 0.0225817f, -0.04673496f, + 0.0069710887f, -0.08334311f, 0.021440217f, 0.0004370743f, + -0.044595487f, 0.00011703315f, 0.0134734735f, 0.05063116f, + 0.070574746f, -0.0029445197f, 0.0036316637f, 0.021850469f, + 0.019762613f, -0.02677589f, 0.015052987f, -0.032990962f, + 0.009028565f, -0.058067095f, 0.0016404267f, -0.010176758f, + 0.0006219293f, 0.010964246f, 0.059976716f, 0.076370776f, + 0.017272664f, 0.00043135622f, 0.030340398f, 0.00632745f, + 0.011474494f, -0.0013003901f, -0.012135743f, -0.051685095f, + -0.007421661f, -0.12299187f, 0.10612391f, -0.075091735f, + -0.110524215f, 0.0057604928f, -0.017870486f, 0.0029445381f, + -0.0059981323f, -0.00032477017f, -0.04582313f, 0.008921991f, + -0.00022452329f, 0.009289864f, -0.0017747738f, -0.0041124555f, + -0.0011486537f, 0.017871551f, -0.024989804f, 0.019369338f, + -0.080328435f, 0.016397523f, 0.030463176f, 0.016858429f, + 0.023556938f, 0.0069874586f, -0.09998011f, 0.008947343f, + -0.00435961f, -0.009847805f, -0.007167826f, 0.0038187678f, + -0.17407614f, 0.011115746f, 0.018593138f, 0.010985793f, + 0.009000186f, 0.0028601831f, -2.9268109e-05f, -0.037834343f, + 0.0016976133f, 0.0052492945f, 0.01863627f, 0.026506562f, + 0.003985318f, -0.19206516f, 0.010736588f, -0.0008286099f, + 0.018709034f, 0.017308066f, -0.00085974f, 0.056858536f, + -0.10025101f, 0.010713779f, -0.043703213f, 0.008375019f, + 0.010579178f, 0.030284341f, 0.021866191f, 0.12103722f, + 0.04046663f, 0.005736606f, 0.0067353183f, -0.02112409f, + -0.0054005105f, -0.07385366f, -0.03454109f, 0.00781121f, + -0.018053569f, -0.007011345f, -0.07811577f, -0.056410395f, + -0.0006511511f, -0.011008913f, -0.021250986f, -0.008171631f, + -0.025960041f, 0.0027278934f, 0.0034044073f, 0.028855972f, + 0.0150219025f, 0.026773881f, -0.1403834f, -0.020388694f, + -0.0026696867f, -0.04258691f, -0.0039898246f, 0.0051367623f, + 0.004883678f, 0.0050686f, 0.000499824f, -0.000549045f, + 0.0105012795f, 0.0005250852f, -0.044485208f, 0.024401454f, + 0.10112575f, -0.02348295f, 0.055737533f, 0.009605343f, + 0.016351897f, -0.0695833f, 0.004253632f, 0.026336815f, + 0.01170373f, -0.027840706f, -0.011854001f, 0.0050498797f, + 0.008866888f, 0.016323777f, 0.056740046f, 0.019733723f, + 0.0008117563f, 0.001609671f, -0.08277976f, -0.026367657f, + 0.16333924f, -0.003981484f, -0.030532295f, -0.0060731396f, + 0.0069661806f, 0.06350049f, 0.0036085008f, 0.002034757f, + 0.14638738f, -0.005354533f, 0.068708256f, 0.039995637f, + -0.005120384f, -0.007192363f, 0.0031738232f, -0.0027163534f, + 0.00016645694f, -0.00045131933f, -0.09226363f, -0.0059560933f, + 0.09889801f, 0.003205592f, -0.0056813094f, 0.047688767f, + -0.016564693f, -0.22993408f, -0.03203586f, -0.005720433f, + 0.040092353f, -0.08091629f, -0.002172249f, -0.0052106073f, + -0.007310177f, 0.024068033f, -0.011502681f, -0.008935065f, + 0.08110613f, -0.024377527f, 0.03269986f, -0.0035700237f, + 0.012528742f, 0.020468796f, -0.029688288f, -0.028001187f, + 0.07178876f, -0.014338771f, -0.015877636f, 0.21941233f, + -0.0036146014f, -0.006769987f, 0.0022318028f, 0.21560541f, + 0.005369455f, -0.03277184f, -0.0067479936f, 0.05776661f, + -0.0027830396f, -0.007277674f, -0.020971471f, 0.04429352f, + -0.008452714f, 0.0014541663f, 0.020898268f, 0.009179822f, + 0.030886322f, -0.0038902932f, 0.00033132843f, 0.041027613f, + -0.01004349f, -0.008989002f, 0.042175468f, -0.008193913f, + -0.0035868997f, 0.02743802f, -0.018311707f, 0.034612536f, + -0.009453764f, 0.16848435f, -0.014485804f, 0.03147558f, + -0.0058453158f, -0.017331995f, -0.054136552f, -0.05787794f, + -0.012612567f, -0.0508669f, -0.028183645f, -0.008152106f, + -0.02215416f, 0.0050041853f, -0.022634352f, -0.04335883f, + -0.009256653f, 0.29092026f, 0.023171766f, 0.061951406f, + 0.116465576f, 0.0027851781f, 0.061302956f, 0.007831519f, + 0.004197023f, -0.005521956f, -0.004595097f, -0.008149168f, + -0.01384554f, -0.010619668f, -0.02138516f, 0.006157583f, + 0.008450549f, -0.025196698f, -0.023014326f, -0.008318986f, + -0.06970466f, 0.0956823f, -0.00050672924f, -0.011982017f, + -0.06922428f, -0.007538828f, -0.037168834f, -0.0017282034f, + 0.00054351124f, -0.002563691f, -0.02785195f, 0.00038574348f, + 0.09664788f, -0.0075465944f, -0.022363469f, -0.0032420047f, + -0.015781984f, -0.0059142145f, -0.010007381f, -0.020107249f, + -0.006749232f, -0.020682154f, -0.022830443f, 0.22578415f, + -0.0074542835f, 0.007653914f, -0.022560788f, -0.0047638537f, + 0.0008151243f, -0.008059805f, -0.004527927f, 0.06893568f, + -0.014744913f, 0.0029360526f, 0.07194317f, -0.025792811f, + -0.0025977625f, 0.076388806f, -0.004617538f, 0.16098222f, + 0.07678052f, 0.00044552155f, -0.08082877f, 0.173273f, + -0.0015527919f, -0.045912195f, -0.010880502f, -0.0062006214f, + 0.03658079f, 0.012077293f, -0.023378687f, -0.06063676f, + -0.0051092124f, 0.0011487355f, -0.048691675f, 0.045437016f, + -0.016722726f, 0.003099696f, -0.0008581316f, 0.009303826f, + 0.00077871466f, -0.020336444f, -0.050456375f, 0.081805654f, + -0.011884351f, 0.054155253f, 0.03643491f, -0.0071721077f, + -0.054520182f, -0.0055296277f, -0.013618522f, 0.038504124f, + -0.00769157f, -0.0032801398f, 0.09762241f, 0.007474431f, + -0.0367703f, -0.0055245375f, -0.018932248f, -0.010342021f, + 0.013014702f, 0.16843897f, -0.006694837f, -0.0359711f, + -0.01818555f, 0.008773684f, -0.030473642f, -0.015521862f, + -0.013301978f, -0.010182219f, 0.14468163f, -0.0058394494f, + -0.0014607742f, -0.008617562f, -0.06694015f, -0.0048838933f, + -0.08241629f, -0.006134283f, 0.0013933989f, 0.0016750944f, + 0.009246451f, 0.1092245f, -0.0089785475f, -0.007830305f, + 0.0361212f, -0.00036663027f, -0.04419957f, -0.01932955f, + -0.016055297f, -0.008956503f, -0.007881639f, -0.017003957f, + -0.010790794f, -0.0077364566f, -0.040989075f, 4.554913e-05f, + -0.16503991f, 0.018969567f, -0.0056909f, 0.033399392f, + 0.060483325f, -0.2425605f, 0.019153086f, 0.005348298f, + 0.019166697f, -0.035980467f, -0.031341415f, 0.00087810284f, + -0.008499298f, 0.05124075f, -0.0063363365f, -0.0037800756f, + 0.102703236f, -0.016205227f, 0.18021f, -0.013457264f, + 0.014684705f, 0.010164344f, 0.07533353f, 0.02534351f, + 0.008641288f, 0.011364504f, 0.0059318184f, -0.094348595f, + -0.0028640314f, -0.0035341457f, -0.014386897f, 0.0108260745f, + -0.0792994f, -0.12210302f, -0.03060695f, 0.038485102f, + -0.0008890645f, -0.00025775254f, 0.04178875f, -0.09157466f, + -0.016056292f, -0.13718538f, 0.017894162f, -0.01376151f, + 0.016889587f, -0.008407815f, -0.0097691445f, -0.0033312778f, + -0.11943751f, -0.014402088f, 0.030331416f, -0.01821652f, + -0.0047901045f, 0.35441628f, -0.02809817f, -0.013441092f, + 0.0015444715f, -0.07894209f, -0.00461573f, -0.015771404f, + -0.008531075f, -0.006327616f, 0.055293534f, 0.06796192f, + 0.0021575363f, -0.061243713f, -0.007102737f, -0.0030566466f, + -0.04027928f, -0.020228378f, -0.022452334f, -0.013766041f, + -0.0038431948f, -0.0476949f, 0.030576415f, 0.05447465f, + -0.1272364f, -0.00087911135f, -0.15800981f, -0.013557607f, + -0.00017045854f, -0.002875409f, 0.014222902f, -0.007968811f, + 0.0010764346f, -0.008847749f, -0.012187143f, -0.01687073f, + -0.0057703126f, -0.010757802f, -0.12807278f, -0.010819863f, + 0.047134828f, -0.001227137f, 0.036004595f, -0.00987939f, + -0.012266977f, -0.006960793f, 0.3380531f, -0.0040402277f, + -0.023846416f, -0.006561397f, -0.00046055653f, -0.0107622715f, + -0.007924359f, -0.035947643f, 0.016329892f, -0.009492127f, + -0.0018201052f, -0.0020240243f, -0.004553362f, 0.01382639f, + -0.0045297234f, -0.0008231223f, -0.035097755f, 0.20568796f, + -0.007518847f, 0.15576854f, 0.00027509505f, 0.008756767f, + -0.0130368015f, -0.0016750996f, -0.021608122f, 0.11765345f, + -0.0040755933f, 0.0012044786f, 0.03359842f, -0.0017766306f, + -0.012858666f, 0.062152363f, -0.0064603197f, -0.015926056f, + 0.013041366f, -0.010555822f, 0.056734335f, 0.11635159f, + -0.011518371f, -0.00408481f, 0.099722266f, -0.007783803f, + 0.010878967f, -0.016735118f, 0.008890535f, 0.008187971f, + -0.0011397082f, -0.036965266f, 0.087669276f, 0.032973155f, + 0.006816488f, 0.008735753f, -0.00282079f, -0.017864441f, + -0.0041139987f, 0.0040672915f, -0.0473944f, 0.024212219f, + -0.0009794565f, 0.04713285f, -0.020320047f, -0.0065461374f, + -0.14150572f, -0.0046101003f, -0.01029838f, 0.06319639f, + -0.006038967f, -0.019433286f, -0.08831517f, 0.07718964f, + 0.2093247f, -0.027302712f, 0.09629958f, -0.008020071f, + -0.004868308f, -0.063564874f, 0.0024243772f, -0.02425887f, + -0.008469324f, -0.0025149053f, -0.006581212f, -0.012561546f, + -0.0077495454f, 0.011382258f, 0.008689563f, -0.0018610009f, + -0.016395384f, -0.024446875f, -0.030553073f, -0.015837558f, + -0.13910304f, -0.03315757f, -0.05199118f, -0.03598848f, + -0.034369837f, 0.29591006f, -0.012178503f, -0.02069815f, + -0.041283716f, -0.08279897f, 0.2638717f, -0.082779616f, + -0.071592905f, -0.0061568334f, -0.013204319f, -0.02598936f, + -0.012230355f, -0.004162253f, -0.07625864f, -0.010431085f, + -0.047161195f, -0.03455451f, -0.002496992f, -0.1143377f, + -0.08999847f, -0.19422193f, -0.09837089f, -0.006897889f, + 0.008818378f, -0.15785713f, -0.056828264f, -0.017160263f, + -0.06513158f, 0.041291624f, -0.01173394f, -0.018293116f, + 0.08992533f, -0.03971936f, -0.053484764f, -0.015779171f, + -0.14859344f, -0.063196704f, -0.17799291f, -0.017178556f, + -0.116279416f, -0.03673339f, -0.09627782f, -0.15554927f, + -0.008913244f, -0.01296956f, -0.015405748f, 0.15420805f, + -0.06471204f, 0.026686827f, -0.051163904f, -0.15381286f, + -0.008866025f, -0.0024249067f, -0.13314156f, 0.024652204f, + -0.03326414f, 0.1000735f, 0.014610369f, -0.014055004f, + -0.115080446f, -0.007522218f, -0.013570194f, -0.016233763f, + -0.014623664f, -0.052140452f, -0.027410647f, 9.324536e-05f, + -0.010548646f, 0.081669755f, -0.03610414f, -0.053125504f, + -0.014777026f, 0.058839153f, -0.041578386f, -0.078391135f, + -0.0061411373f, -0.09678268f, -0.10622997f, -0.06429512f, + -0.05344851f, 0.10046978f, -0.036172476f, -0.0059332936f, + -0.046024386f, -0.037997916f, -0.007824763f, -0.0039059727f, + -0.013419686f, 0.0094162095f, -0.025834216f, -0.059630778f, + 0.020894298f, -0.007730873f, -0.12954421f, -0.009110513f, + -0.014961665f, -0.014134285f, -0.26747182f, -0.012362606f, + -0.02545283f, -0.016263975f, -0.020265529f, -0.011947447f, + -0.015953787f, -0.028513938f, -0.16195166f, -0.033720378f, + -0.10001283f, -0.04094613f, -0.043838877f, 0.009084918f, + 0.048872683f, -0.0058545847f, -0.011208764f, -0.013691267f, + -0.045594785f, -0.017363802f, -0.02275303f, -0.0049132355f, + 0.04113785f, -0.019043481f, -0.06563159f, -0.00992092f, + -0.012198351f, -0.0064656693f, -0.010309496f, -0.10895487f, + -0.009811025f, -0.047855202f, -0.014174809f, 0.26155847f, + -0.0057105403f, -0.19340837f, -0.0022480995f, -0.011324561f, + -0.015036925f, -0.06287233f, -0.02256588f, 0.1870175f, + -0.060053185f, -0.008903158f, -0.08726521f, -0.03001022f, + -0.025357163f, 0.19869606f, -0.005867044f, 0.00030370292f, + 0.23191024f, -0.007076815f, 0.055374116f, 0.07619691f, + -0.022728194f, -0.08595766f, -0.13122688f, -0.0001876677f, + -0.06262142f, 0.0022771386f, -0.07364406f, -0.10291936f, + -0.006805287f, -0.011168928f, -0.0711713f, -0.106786914f, + -0.07498312f, -0.028718365f, -0.0105276005f, 0.010009188f, + -0.013234713f, -0.011705351f, -0.08197964f, 0.028458547f, + -0.015975975f, -0.16313976f, -0.06023465f, -0.011845973f, + -0.058245495f, -0.02384229f, -0.041045967f, -0.019672304f, + -0.014967179f, -0.034221273f, 0.01711003f, -0.119685285f, + -0.2783396f, -0.020094875f, -0.055132207f, -0.011723472f, + 0.0015335766f, -0.0062144366f, -0.0034609002f, -0.0412312f, + -0.0102767255f, -0.023605525f, -0.0344179f, -0.033342995f, + -0.03297966f, -0.021510249f, -0.07602469f, -0.028407507f, + -0.003493371f, -0.01061349f, 0.09115147f, -0.018718349f, + 0.021002904f, -0.023781557f, -0.06112105f, -0.009576242f, + -0.01954812f, 0.13396557f, -0.009657945f, -0.014612007f, + 0.030308465f, 0.00739388f, 0.09964328f, -0.10886352f, + -0.021900915f, -0.013443803f, -0.0074078087f, -0.015123246f, + -0.003298385f, -0.015543744f, -0.115568586f, -0.0022351388f, + 0.14905809f, -0.03208593f, -0.01228619f, 0.011604911f, + -0.044809222f, -0.17597413f, -0.029756f, -0.003686272f, + 0.016650377f, -0.19295213f, -0.023281869f, -0.0040066913f, + -0.034457732f, -0.0053180866f, -0.0033254297f, -0.011205524f, + 0.11025382f, -0.03281413f, 0.114813186f, -0.0017629756f, + -0.034661643f, 0.016853463f, -0.0006471432f, -0.04729143f, + -0.0016970118f, -0.04111409f, -0.020646652f, -0.04867086f, + -0.009333449f, -0.0038356532f, -0.014462744f, 0.06304546f, + -0.081302315f, -0.037809156f, 0.021609865f, -0.018775849f, + -0.0024026898f, -0.005097225f, -0.070460334f, 0.04926651f, + -0.012977532f, 0.06067529f, 0.022239743f, -0.014334392f, + -0.03396041f, -0.005685155f, -0.0056277476f, 0.008591051f, + -0.035258867f, -0.04203779f, 0.016043346f, -0.0064821662f, + -0.005283565f, 0.10341907f, -0.050802495f, -0.030847657f, + -0.0011430876f, 0.08844592f, -0.0128720645f, -0.037056744f, + 0.007012671f, -0.08460115f, -0.035435922f, -0.003337771f, + -0.04265279f, 0.08585906f, -0.064090066f, -0.0052195294f, + -0.06375995f, -0.015909756f, -0.007044748f, -0.05663799f, + -0.011044195f, 0.03508519f, -0.136526f, 0.03464608f, + 0.13125235f, -0.01400203f, 0.011183041f, -0.010151952f, + -0.01633575f, -0.003962832f, 0.0216877f, -0.0078675905f, + -0.014589189f, -0.010824433f, -0.010755186f, -0.017256888f, + -0.06866403f, -0.020897718f, -0.024902554f, -0.013990533f, + 0.03915791f, 0.065170445f, -0.019797074f, -0.012931389f, + -0.029007096f, -0.010211002f, -0.042018414f, -0.0019799161f, + -0.024748387f, -0.009633465f, -0.022717113f, -0.0037405137f, + 0.07778344f, -0.0303544f, -0.017934486f, -0.0051411055f, + -0.0046420763f, -0.0008179604f, -0.004202516f, -0.023307705f, + -0.004100032f, -0.040190864f, -0.016231153f, -0.036275197f, + -0.010331357f, -0.026976626f, 0.011002305f, 0.001286858f, + -0.014367141f, -0.042910058f, -0.023831075f, -0.019300967f, + -0.012047258f, -0.0077815177f, 0.00017938156f, -0.038165797f, + -0.022028813f, -0.029959278f, 0.0019212364f, -0.05408359f, + 0.03806122f, -0.009832418f, 0.070802785f, 0.1267215f, + -0.018831776f, -0.047894258f, -0.003297559f, -0.010740734f, + 0.029453468f, -0.008740874f, 0.0009088327f, -0.046619594f, + -0.0016790355f, -0.01950532f, -0.05246248f, 0.011815814f, + -0.066630326f, -0.017076686f, -0.006861587f, -0.015800947f, + -0.010450046f, -0.0069178427f, -0.107149184f, 0.042165328f, + -0.0110433875f, -0.006674036f, 0.09284492f, -0.0058442815f, + 0.02890295f, -0.016201574f, -0.01632748f, 0.08153904f, + -0.0037697342f, -0.017469786f, 0.044796117f, 0.031923246f, + 0.09573125f, -0.025567578f, -0.0073794792f, -0.0024057087f, + -0.008130937f, -0.044883568f, -0.00247118f, -0.068841375f, + -0.0094371615f, -0.008840624f, -0.041242383f, -0.029068027f, + -0.021288322f, -0.012540189f, 0.012492503f, -0.004704044f, + 0.007896004f, 0.0071850303f, -0.093719706f, -0.040393487f, + -0.059568226f, -0.009062423f, -0.087697275f, 0.00022454548f, + -0.004053614f, 0.02857426f, -0.004450548f, 0.004262027f, + -0.030007035f, -0.052762266f, -0.05501989f, -0.08216758f, + 0.011690854f, -0.008915293f, 0.0037495391f, 0.010439572f, + 0.000930986f, 0.013645911f, -0.01137009f, -0.006545127f, + -0.040440395f, -0.006928248f, -0.0061053107f, 0.043723643f, + -0.035344187f, 0.058397356f, -0.0701462f, 0.005739724f, + 0.07341688f, 0.056789584f, 0.016552169f, -0.0066693006f, + -0.022502586f, -0.0103565045f, -0.0020088975f, -0.008480738f, + 0.04946329f, -0.023511669f, 0.013450983f, -0.0038392737f, + -0.08261985f, 0.039968975f, -0.032417838f, -0.04476098f, + 0.09694516f, -0.02628732f, -0.051898926f, 0.06666721f, + -0.011335394f, -0.004150482f, 0.011440396f, 0.17816874f, + -0.03386783f, 0.10896894f, -0.08444451f, 0.0855205f, + -0.0016980382f, -0.0056039f, -0.04579573f, 0.29270855f, + -0.015378805f, -0.002500497f, -0.001033051f, 0.010298927f, + -0.021524379f, -0.003850964f, 0.00058840617f, -0.0033961642f, + 0.046124894f, -0.022976821f, 0.026197972f, -0.0032521433f, + 0.0025279617f, 0.03005194f, -0.051397637f, -0.017307369f, + -0.005240899f, -0.16247986f, 0.0031281637f, -0.045316197f, + -0.00047296303f, -0.029176835f, -0.0452276f, -0.034246527f, + -0.010430018f, -0.00265373f, -0.040331677f, -0.0042971307f, + -0.06538411f, 0.02771408f, -0.0068544094f, -0.075307146f, + 0.0017747914f, -0.09492253f, 0.15094446f, 0.1193661f, + -0.1121999f, 0.0120534105f, 0.18297774f, 0.00046126588f, + -0.006597114f, -0.0050738105f, -0.02666772f, 0.0018644156f, + -0.01700055f, -0.0029645727f, -0.019930268f, 0.018181294f, + -0.02739623f, -0.030386718f, -0.04011441f, 0.009195069f, + 0.018495431f, 0.06473978f, -0.036312763f, -0.008472713f, + -0.033169024f, -0.010937143f, -0.048683286f, -0.003114238f, + -0.0014689354f, 0.008974206f, -0.026331943f, -0.012790438f, + -0.057817332f, -0.028854022f, 0.000297702f, 0.008422978f, + -0.006115247f, -0.0045468183f, -0.009985694f, 0.05565096f, + -0.004731007f, -0.021667995f, -0.019054784f, 0.14370383f, + -0.0039129495f, -0.22064453f, -0.028034188f, -0.004697079f, + -0.009868068f, -0.019387301f, 0.0035298453f, -0.007601918f, + 0.032139596f, 0.008474491f, 0.06783467f, -0.02404821f, + 0.016269373f, 0.12329226f, -0.0002485556f, 0.024673946f, + -0.030913712f, 0.0012364762f, 0.048895746f, 0.030859109f, + 0.0033899886f, -0.050809633f, 0.020519448f, 0.0008349563f, + 0.041882478f, 0.037167814f, -0.024134798f, -0.07505878f, + -0.0066464604f, 0.043144077f, 0.11095707f, 0.0154247545f, + 0.034908436f, -0.001833048f, -0.006223746f, 0.00074014376f, + 0.0055922754f, -0.0022243054f, 0.26918873f, 0.20351787f, + -0.011992818f, 0.049158204f, -0.09721276f, -0.004993307f, + -0.002489602f, -0.005186123f, -0.0327647f, 0.053248774f, + -0.0052982527f, 0.006122884f, 0.021579396f, 0.0091914795f, + -0.18121096f, 0.03580641f, -0.025512679f, -0.008100197f, + 0.0019497782f, 0.07122635f, -0.003519279f, -0.027492283f, + -0.004579491f, 0.032963004f, 0.02248749f, -0.010110825f, + 0.009724996f, -0.0009306005f, -0.008019973f, -0.004216634f, + 0.0026501582f, -0.0001311687f, -0.3654052f, 0.000583774f, + -0.16968936f, -0.005244386f, 0.012237824f, 0.01283352f, + -0.0006671043f, -0.12737902f, -0.0012286915f, -0.0064152074f, + -0.09560076f, -0.0068018762f, -0.031220756f, 0.026373357f, + 0.0043567526f, -0.008889212f, -0.010809229f, 0.00048114237f, + -0.0035308062f, -0.00049973483f, -0.19872947f, 0.005400485f, + 0.19189528f, -0.015177672f, -0.0027011593f, 0.0038892035f, + -0.05492294f, 0.029309994f, 0.041261043f, 0.0076270318f, + 0.010410987f, -0.13706098f, -0.018995268f, -0.0047103697f, + 0.017483193f, 0.04586307f, 0.0076140068f, 0.00046821908f, + -0.05690555f, -0.036535f, 0.16184986f, -0.0074463775f, + -0.1883622f, 0.012988771f, 0.012212788f, 0.030726478f, + 0.012043908f, -0.0033423246f, -0.07094324f, -0.18274458f, + 0.0015575361f, 7.99531e-05f, -0.0013374742f, -0.13202533f, + 0.04331783f, 0.08773405f, 0.094151266f, -0.07172775f, + 0.0038659815f, 1.4091444e-05f, -0.022034645f, 0.035329625f, + -0.009017813f, -0.22027914f, 0.022748983f, -0.009361302f, + -0.021228721f, -0.00096044195f, -0.010247235f, -0.0056618294f, + 0.04685158f, -0.019213207f, 0.0050694f, -0.004792697f, + -0.009300255f, 0.11332083f, -0.073678285f, -0.051552393f, + 0.010541913f, 0.10264298f, 0.007971611f, -0.002419231f, + -0.0012914833f, -0.024354309f, 0.03968142f, -0.0181022f, + -0.029450856f, -0.07396027f, -0.01690529f, 0.003078879f, + -0.021280015f, -0.015562029f, -0.017964186f, 0.024338251f, + -0.0042667706f, -0.02787957f, 0.10608892f, 0.036900062f, + -0.13151902f, -0.00045276503f, -0.12458968f, -0.013435122f, + -0.0035130756f, 0.004435767f, -0.0533129f, -0.003632929f, + 0.0011243486f, -0.0041461624f, -0.02109653f, -0.0057737706f, + 0.036556765f, -0.007617082f, -0.18526144f, 0.007857271f, + 0.1815563f, -0.018609831f, 0.059900653f, 0.010882678f, + -0.005179756f, -0.0047974004f, -0.025926135f, -0.0067963526f, + -0.008479915f, 3.525583e-05f, -0.0041714185f, -0.005734316f, + -0.015266842f, -0.06635611f, 0.026160002f, 0.0006291806f, + -0.02497655f, 0.0016097162f, 0.008529172f, 0.018781934f, + 0.0024149069f, 0.0023344494f, 0.0074303215f, -0.094988406f, + 0.0005165421f, 0.12908114f, -0.028007505f, 0.006929242f, + -0.016453704f, -0.025563888f, -0.009494973f, -0.041517764f, + 0.033720914f, 0.0019957537f, -0.0059978557f, 0.0073637557f, + -0.012246654f, -0.057113543f, 0.0045587188f, -0.0461872f, + 0.11307096f, -0.010040494f, 0.07567389f, -0.11117441f, + -0.00880549f, 0.07416843f, 0.08765825f, -0.0012844502f, + -0.026909785f, -0.0046501723f, 0.030082395f, 0.057570953f, + 0.0037879252f, -0.00469398f, 0.040994875f, -0.024145097f, + 0.014810355f, -0.003540008f, -0.005591859f, -0.02404097f, + 0.00097421947f, 0.0021681495f, 0.035642855f, -0.09477607f, + -0.0045372946f, 0.00822506f, -0.15590988f, 0.00250233f, + 0.027825033f, -0.010963438f, -0.011130193f, 0.03389923f, + -0.0048317574f, 0.0024206557f, -0.030505158f, 0.00449001f, + -0.037686456f, -0.0033573364f, -0.063721135f, 0.0005430275f, + -0.018795112f, -0.092411295f, 0.0037222507f, -0.015043105f, + 0.0052362913f, 0.004841133f, 0.02186962f, 0.005674404f, + -0.0057389187f, -0.0093265725f, -0.029604163f, 0.006133147f, + -0.016234659f, -0.014779647f, 0.013096232f, 0.0018979716f, + 0.24152629f, -0.016627565f, -0.021566495f, -0.017747011f, + -0.011671204f, 0.18526453f, 0.0046733865f, -0.02480375f, + 0.052286927f, 0.0064966595f, 0.17539655f, 0.0015579908f, + -0.055727143f, -0.0010769228f, -0.008004794f, -0.025388556f, + -0.0071126954f, -0.022804154f, -0.0018081085f, -0.0005127978f, + 0.14410825f, -0.03047165f, 0.00030293208f, -0.023544798f, + 0.028825196f, -0.057003997f, 0.00527639f, -0.018647905f, + 0.010134416f, -0.18553758f, -0.027035926f, -0.01134948f, + -0.056900308f, -0.00426713f, -0.014855522f, 0.0029735218f, + 0.07157916f, -0.024819076f, 0.050086975f, 0.006257971f, + -0.03773654f, -0.027043965f, 0.064990565f, -0.0076251444f, + -0.019987814f, -0.0002429475f, -0.017830292f, 0.07093547f, + 0.0019883572f, -0.0051148306f, -0.032348238f, -0.18058763f, + -0.109206535f, -0.031147763f, -0.11670592f, -0.0048047267f, + -0.0020277656f, -0.00035632425f, -0.056888357f, -0.021683648f, + 0.0077749505f, -0.16032273f, -0.021375544f, -0.0270533f, + -0.020785006f, -0.0001164903f, 0.0061901608f, 0.075590834f, + 0.046891965f, -0.030576697f, 0.0063290033f, 0.008940972f, + -0.015731711f, -0.047011808f, 0.00071515795f, -0.043311648f, + 0.0025198373f, 0.17716928f, -0.014535737f, 0.00019315539f, + -0.0012371453f, -0.020702034f, -0.018588623f, -0.08574538f, + -0.035060234f, -0.106757075f, -0.039431576f, 0.0034480526f, + -0.027324162f, -0.010005073f, -0.0055667446f, -0.20850092f, + -0.00866675f, 0.085059196f, -0.012957379f, -0.036429647f, + 0.022883335f, -0.028821366f, 0.058939062f, -0.003307707f, + -0.005034048f, 5.6596928e-05f, -0.023846302f, -0.0037590382f, + 0.0029156634f, -0.018784026f, -0.019918945f, -0.027662462f, + 0.004887243f, 0.010435591f, 0.05852057f, -0.011772385f, + 0.17851193f, 0.09017187f, 0.06183496f, 0.0044621634f, + -0.03341316f, 0.002584582f, 0.045574114f, -0.015861997f, + -0.036193978f, -0.015460806f, -0.028836397f, -0.0008563719f, + -0.07583247f, -0.0079093035f, -0.012647452f, -0.017984468f, + -0.010580003f, 0.0040732655f, 0.002749725f, -0.042953655f, + -0.005123157f, -0.012221625f, 0.0113238245f, 0.0619324f, + -0.0011036086f, 0.10734363f, -0.014213516f, 0.0007832347f, + -0.006329863f, -0.017769199f, -0.018753791f, -0.008222647f, + -0.08938086f, -0.012424385f, -0.003163048f, -0.0037993125f, + -0.005425253f, -0.15696378f, -0.0102759125f, 0.17804873f, + 0.021417117f, -0.00025352382f, -0.09773342f, 0.1999729f, + -0.014199804f, -0.10198644f, -0.011368045f, -0.006062463f, + 0.0050354097f, -0.014484415f, -0.056018554f, -0.12746474f, + 0.0010653731f, -0.021411851f, -0.17888308f, 0.010644693f, + -0.11859012f, -0.013231114f, -0.0028617685f, 0.0020909104f, + -0.022903632f, -0.02371144f, -0.076052375f, -0.13436207f, + -1.6328315e-05f, -0.025598649f, 0.14052905f, -0.0019784907f, + -0.09283341f, -0.02493846f, 0.009433004f, -0.008036978f, + 0.0019350603f, -0.043708928f, 0.07133913f, -0.033212345f, + -0.081205174f, -0.038245317f, 0.011990392f, 0.004239383f, + 0.00056150235f, -0.020306189f, 0.0012626807f, -0.029282827f, + -0.0008983706f, -0.06336969f, -0.10183977f, 0.0017017706f, + -0.007909134f, -0.0007898647f, 0.1347018f, 0.0029116238f +}; + +const int LangIdNNParams::kHiddenBiasNumRows[] = {208}; + +const int LangIdNNParams::kHiddenBiasNumCols[] = {1}; + +const float LangIdNNParams::kHiddenBiasWeights0[] = { + 0.011396265f, 0.008040371f, 0.2436787f, 0.03656539f, + 0.1900996f, 0.023890408f, 0.047371354f, 0.03678838f, + 0.044139795f, 0.2897346f, 0.01725061f, 0.004762776f, + 0.11439447f, 0.03279416f, 0.3277201f, 0.1069803f, + 0.060193155f, -0.017792946f, -0.011048108f, 0.031052593f, + -0.012962336f, 0.010137448f, 0.2778238f, -0.0042857407f, + 0.23577267f, 0.036993384f, -0.011054215f, 0.05196488f, + 0.29571876f, 0.38320467f, 0.041932795f, 0.0052211196f, + 0.03228098f, 0.11264719f, 0.034287225f, 0.011260535f, + 0.060079355f, 0.09542259f, -0.013681115f, 0.014489317f, + 0.26295316f, 0.019091422f, 0.1376993f, 0.019432748f, + 0.245916f, 0.025439974f, 0.1130558f, 0.052255955f, + 0.08795709f, 0.016908197f, 0.055969138f, 0.1374195f, + 0.008330878f, -0.005700882f, 0.004622275f, 0.13678238f, + 0.16561824f, 0.19681399f, 0.21430476f, 0.14534107f, + -0.0069258166f, -0.0113086505f, 0.04360687f, 0.25311685f, + 0.02421768f, 0.17362869f, 0.115767084f, 0.00030163283f, + 0.07341653f, -0.0018166929f, -0.010607928f, -0.006717243f, + 0.25546724f, 0.027004022f, 0.099175245f, -0.00075415045f, + -0.0053013503f, 0.24884938f, 0.03176513f, 0.03563826f, + -0.014009531f, 0.32043564f, 0.03521217f, 0.008288829f, + 0.009391188f, 0.05181945f, 0.08150759f, 0.08112108f, + 0.035771895f, 0.09913023f, 0.032397628f, -0.013868057f, + 0.04705419f, 0.01903745f, 0.028550914f, 0.27862012f, + 0.010615735f, 0.28763664f, 0.16200791f, 0.06144732f, + 0.16667129f, 0.001667916f, 0.19231322f, -0.0150118135f, + 0.00802721f, -0.006372134f, 0.24628732f, -0.0071077906f, + 0.007120814f, -0.00063315954f, 0.012848174f, 0.008384587f, + 0.05485106f, 0.018966973f, 0.10730723f, 0.049516995f, + 0.35504088f, 0.020661922f, 0.03301079f, -0.0050053657f, + 0.035773136f, -0.020424172f, 0.2827615f, -0.0127632525f, + 0.03236642f, 0.008378527f, 0.014926973f, -0.008034727f, + 0.20120302f, 0.019056333f, 0.05011194f, 0.0015160257f, + 0.02152339f, -0.0071306806f, -0.008201101f, 0.040748034f, + -0.008675535f, 0.029707573f, 0.014128528f, 0.30729043f, + -0.00752384f, 0.26475367f, 0.028684605f, -0.0070206523f, + -0.0072230254f, 0.04656611f, 0.009536926f, 0.4202708f, + 0.06610139f, 0.011083299f, 0.1323299f, 0.023825705f, + 0.01839199f, 0.37755314f, -0.0058085397f, 0.16203359f, + 0.36348745f, -0.010548612f, 0.17549378f, 0.33257818f, + 0.008882848f, 0.07170095f, 0.08390297f, -0.011220845f, + 0.047518153f, -0.004323575f, 0.022652045f, 0.0821825f, + -0.008283167f, 0.021947531f, 0.2896341f, 0.039290275f, + 0.047861844f, 0.023634823f, -0.00866472f, 0.003337272f, + -0.0016377621f, -0.0011196241f, 0.22494079f, 0.19896093f, + 0.01474775f, 0.07150735f, 0.1365495f, -0.011207452f, + 0.24116588f, -0.0005583029f, 0.03666552f, 0.10425114f, + -0.012291022f, 0.018157436f, 0.07008041f, 0.1452989f, + 0.2803554f, 0.004258007f, 0.21535219f, -0.016007952f, + -0.016182398f, 0.23536864f, -0.009757347f, 0.060943663f, + -0.013918014f, 0.01392646f, 0.043341875f, 0.019654056f, + 0.0094896685f, 0.020426646f, 0.086103745f, -0.0042055175f +}; + +const int LangIdNNParams::kSoftmaxNumRows[] = {208}; + +const int LangIdNNParams::kSoftmaxNumCols[] = {109}; + +const float LangIdNNParams::kSoftmaxWeights0[] = { + -0.09282309f, -0.108547345f, -0.13598846f, 0.2935005f, + -0.22216703f, -0.09205888f, 0.29311517f, 0.24608158f, + 0.002571663f, -0.09343069f, -0.14843787f, -0.035503726f, + -0.08352548f, -0.119620994f, -0.14790183f, -0.151961f, + 0.60621834f, -0.11324467f, -0.06425572f, -0.16642796f, + 0.037073184f, 0.18549868f, -0.08633856f, -0.22036766f, + -0.07269159f, -0.037178136f, -0.10050726f, -0.08639516f, + -0.045889996f, -0.052628793f, -0.023499148f, 0.4307163f, + -0.048978783f, 0.26741755f, 0.09384352f, -0.065989114f, + -0.085508294f, 0.31735733f, -0.036630046f, -0.1527248f, + -0.005571292f, 0.0908959f, -0.14436379f, 0.019805811f, + -0.21111529f, -0.005573881f, -0.0010502924f, 0.48511103f, + -0.08069997f, -0.1174281f, -0.045094498f, -0.100228615f, + -0.091828525f, 0.20255409f, -0.0509993f, -0.058460347f, + -0.14979267f, -0.12016085f, 0.049422983f, 0.41284767f, + 0.18366003f, -0.024697213f, -0.122179516f, 0.07781675f, + -0.05418773f, 0.06880125f, -0.04466383f, 0.33339784f, + -0.015949227f, -0.12352175f, -0.08714924f, -0.060157098f, + -0.08935393f, -0.16142726f, -0.118220136f, -0.123585396f, + 0.20461376f, -0.06018136f, -0.034077164f, 0.611626f, + -0.06499543f, -0.1238126f, 0.30605435f, -0.18988848f, + -0.12332835f, -0.055063296f, -0.104719214f, -0.0066457763f, + 0.39065066f, -0.12858099f, 0.07153111f, -0.09561505f, + -0.111476414f, 0.34904408f, -0.019259641f, 0.5321082f, + 0.054289725f, -0.0415095f, 0.0032603452f, 0.01986557f, + -0.17903124f, -0.097615466f, -0.14459136f, -0.11072559f, + -0.07306597f, -0.074049905f, -0.07634276f, -0.055244103f, + -0.17272125f, -0.1598377f, -0.08051392f, -0.11606808f, + 0.6693711f, -0.19633918f, -0.1821684f, 1.2227166f, + 0.39272648f, -0.033535026f, -0.1251789f, -0.20410913f, + -0.12316553f, -0.057139743f, -0.1261352f, -0.16992389f, + -0.18078576f, 0.33386132f, -0.19132896f, -0.022712614f, + -0.17095333f, -0.03927719f, -0.12578064f, -0.10827634f, + -0.18740675f, -0.15100886f, -0.010410284f, -0.06442261f, + -0.14817053f, -0.041179065f, -0.08145383f, 0.1481889f, + 1.3630648f, -0.1282142f, 0.23869514f, -0.0022799335f, + -0.02234534f, -0.1013897f, 0.33837694f, -0.14589645f, + -0.16855462f, -0.11234552f, -0.037630513f, -0.023691196f, + -0.23867139f, -0.20579968f, 0.0036941853f, -0.1427586f, + 0.11285602f, -0.15435338f, -0.3152013f, -0.05594825f, + -0.11447589f, -0.10160865f, -0.039852142f, -0.050119814f, + 0.058771882f, -0.100460544f, -0.24088702f, 0.4392848f, + 0.07113976f, 0.005996949f, -0.14596929f, -0.19830272f, + -0.092789486f, -0.115410805f, -0.10844006f, -0.101538405f, + 1.155215f, -0.05260491f, -0.13477595f, -0.07727305f, + -0.12402129f, -0.04565042f, -0.13778426f, -0.074012004f, + -0.18416126f, 1.4408584f, -0.105828054f, -0.165084f, + -0.072802894f, -1.7939417e-05f, -0.20396496f, 0.22227807f, + -0.19935787f, -0.104895465f, -0.025540818f, -0.103261866f, + -0.07526915f, 1.11476f, -0.14533922f, -0.040008515f, + -0.06824363f, -0.13605885f, -0.35596305f, -0.17211024f, + 0.15912776f, -0.23605475f, 0.047795158f, 0.11569496f, + -0.26173478f, -0.2170113f, -0.1259953f, -0.19996601f, + 0.030536108f, -0.07402856f, 0.009385659f, -0.087111406f, + 0.7407535f, -0.058832858f, 2.1932075f, -3.574459f, + -3.3839936f, -0.33975476f, -2.6625288f, 3.7084432f, + 1.1163064f, -0.35685018f, -0.26869586f, 6.300163f, + -1.0422505f, 0.29827234f, -2.1601174f, 0.9234228f, + -1.3204939f, 2.004816f, 1.3248738f, -3.9290757f, + 2.7831566f, 6.315276f, -0.9911898f, -0.34739643f, + -1.0597428f, -2.06239f, -1.9645742f, 0.5179737f, + -2.355657f, -0.12544325f, -2.5117574f, -2.3404226f, + 0.11133545f, -3.5208619f, 3.841598f, 0.4714295f, + 0.68105006f, -1.4729862f, 0.15145244f, 0.9869681f, + -2.684468f, 1.3585265f, -3.2614186f, -2.8079338f, + -0.35309017f, 0.06296166f, -3.1602607f, -1.340331f, + -0.16469164f, 0.15351206f, -3.1721416f, 7.1299434f, + 1.2226328f, -4.1984344f, -2.6357749f, -1.1449107f, + -1.3542672f, 5.6796207f, 0.9436632f, 5.275761f, + 0.15834276f, 0.9449899f, -2.3285582f, 2.7300894f, + 0.11793614f, -0.24894449f, -1.1447601f, -0.82308084f, + -1.4820242f, 1.9832526f, -1.3502942f, 2.8063197f, + 0.94667256f, 3.1928794f, 1.1079153f, -2.4885726f, + 2.2242389f, -1.4765519f, -0.7049186f, -3.1804445f, + 1.7980765f, 0.0090132635f, -1.3798629f, -4.811082f, + -0.30534112f, 0.34477946f, -3.1288097f, 0.6875961f, + 0.7910479f, -1.2802694f, 2.9639084f, -2.7343512f, + -2.3526952f, -0.084827594f, 0.96392846f, 0.06799879f, + 5.3479543f, 0.104942806f, 0.9755061f, 6.4303794f, + -0.518207f, 0.42900687f, 6.1430535f, -0.66624516f, + -1.0910883f, 2.5300202f, -0.21244676f, -2.624041f, + 1.0694516f, 0.42199135f, -2.3600597f, -0.07939699f, + -0.3582729f, -0.24459395f, 0.50890857f, 0.016059466f, + 0.21057598f, -0.11243202f, 0.40726402f, -0.018276004f, + 0.04058873f, -0.30498964f, 1.1816696f, -0.168863f, + -0.3220148f, 0.033891205f, 0.036084622f, -0.016898664f, + -0.13209915f, -0.13526948f, 0.18263574f, -0.006108605f, + -0.062013753f, -0.07478407f, -0.16915724f, 1.1858872f, + 1.1100914f, -0.06683356f, 1.6491655f, 0.11244273f, + 0.09215213f, 0.6744251f, -0.4331355f, -0.03823925f, + -0.20360771f, 0.057387628f, -0.20844638f, -0.21447676f, + -0.12363425f, -0.3162549f, -0.07884213f, -0.1519845f, + -0.32023668f, 0.13673922f, -0.20052426f, -0.17138226f, + 0.03032162f, 1.2304285f, -0.34538615f, 0.014518692f, + 0.3425816f, -0.12853645f, -0.021032702f, -0.5001375f, + 0.13982321f, -0.013372529f, 0.021414509f, -0.08335693f, + -0.027064096f, -0.18354885f, -0.3270632f, -0.11820057f, + -0.024382949f, -0.26287553f, -0.28961194f, -0.26557696f, + -0.2831514f, -0.21240447f, 0.042519484f, -0.00088560395f, + -0.50163853f, -0.33233395f, -0.16828799f, -0.039945357f, + -0.26264608f, -0.12771755f, -0.40132734f, -0.14198767f, + -0.23595683f, 1.0911974f, -0.13800748f, -0.029488362f, + -0.20775387f, -0.08492399f, -0.02170667f, 0.1206877f, + 0.21136424f, -0.14548855f, -0.49201635f, 0.26065272f, + -0.21440615f, -0.048932724f, 0.026929941f, -0.06819804f, + -0.046262577f, 0.16793679f, 0.5919821f, -0.18565087f, + -0.09513635f, -0.100867726f, 0.9269906f, -0.15597305f, + 0.23827991f, -0.04934898f, -0.31151995f, -0.19446842f, + -0.33877435f, 0.21352965f, 0.15764654f, -0.5050032f, + -2.1113799f, -0.33235526f, 1.5798695f, 0.09254823f, + 0.62507784f, -0.19953112f, -0.45403883f, -0.16009744f, + 1.9000132f, -1.7744626f, 0.94388235f, 0.052074756f, + -1.0791167f, 3.6288862f, -0.33364958f, -1.5217161f, + 0.16971464f, -1.8660903f, 2.3189955f, 3.1657095f, + -0.45585164f, -1.7272973f, -1.3079957f, 0.37890252f, + -0.26571226f, -0.48645133f, -0.092712894f, -0.23649646f, + -1.0890867f, -0.76125133f, 0.027864672f, -0.5297606f, + -1.6693345f, 0.33743376f, -0.45459345f, -1.025138f, + -1.0633131f, 1.6340947f, -1.5952576f, -0.7891294f, + 1.1856006f, -1.1908352f, -0.2914223f, -1.5835594f, + 0.31752267f, -0.577889f, -0.10126015f, -0.6673257f, + -1.280344f, -0.56026495f, 2.5735567f, -1.6193752f, + -1.6452049f, -1.0163611f, 1.0073905f, 2.42313f, + 2.603167f, -1.5731052f, 0.42190382f, 0.44539964f, + -0.5513577f, -2.102044f, -2.0404117f, -1.126049f, + -1.8346364f, -0.09992617f, -0.78549093f, 0.030882476f, + 2.2018669f, -1.011329f, -0.3928914f, 1.8534964f, + 1.9752288f, -1.0208081f, 5.8553953f, -1.6053919f, + 2.818721f, 3.1798913f, 0.25725213f, -0.057190534f, + 6.398827f, -0.7920969f, -0.85983527f, -1.3826349f, + -4.184866f, 0.4279767f, 1.5495485f, -1.5063615f, + -0.28638968f, -0.30667046f, -1.7011343f, 0.5012116f, + -2.7537332f, 0.0055888784f, -2.3224354f, -0.043928463f, + -0.97129756f, 5.224371f, -0.28040063f, 0.008421915f, + -0.83235735f, -0.53416884f, 1.698747f, 1.6617267f, + -0.57036597f, 2.63421f, 0.36546344f, 0.24196061f, + 0.7234324f, -0.21784206f, -0.25634804f, -0.22304957f, + 0.39097315f, -0.008741378f, -0.17681432f, 0.30564892f, + 0.2969692f, -0.04728322f, -0.1769129f, -0.19537492f, + 0.61476505f, 0.021090567f, -0.19044618f, -0.14660428f, + -0.04327838f, 0.009831693f, -0.10728065f, -0.047988523f, + -0.1953514f, 0.14574943f, 0.091007344f, -0.12548321f, + -0.21557896f, 0.6490816f, 0.6706153f, -0.15083398f, + 0.48909312f, -0.017384741f, -0.0691865f, 0.3273862f, + 0.41122165f, -0.053007513f, 0.055924486f, 0.11616343f, + -0.11381378f, -0.18861847f, 0.035475507f, -0.14463553f, + 0.020903034f, -0.028393472f, 0.23827375f, 0.117143854f, + -0.14295751f, -0.18281136f, -0.1315779f, 0.34399825f, + 0.1060391f, -0.13702962f, -0.007325602f, -0.054384384f, + 0.047968693f, -0.15058969f, 0.03528741f, -0.03264773f, + -0.05611374f, -0.08812282f, -0.040549017f, -0.08134948f, + -0.12322125f, 0.11173997f, -0.17985299f, -0.117379084f, + -0.04751613f, -0.0453186f, -0.17121248f, -0.120650716f, + 0.3008533f, -0.13604338f, -0.2312113f, -0.267777f, + -0.06838144f, -0.102214485f, -0.24163154f, -0.19474687f, + -0.2517283f, 0.21653143f, -0.09157197f, 0.6186702f, + 0.21792777f, 0.11362158f, -0.10750329f, 0.021646664f, + -0.0872163f, -0.06653854f, 0.04243477f, -0.06014599f, + -0.15899053f, 0.4326105f, -0.10010083f, -0.13179873f, + -0.07654102f, -0.040778946f, -0.010038068f, -0.11370343f, + 0.529933f, 0.022405999f, -0.022277465f, 0.10587728f, + 0.29940683f, -0.052601963f, -0.07646106f, -0.13687944f, + -0.13781238f, -0.107919395f, -0.16034442f, -0.11209772f, + 0.053654727f, -0.23029792f, -0.21985029f, -0.23444322f, + -0.5287187f, 0.801521f, -0.26808834f, 0.043810233f, + -0.30456012f, 0.3436382f, 0.06651039f, 0.23279819f, + -0.018761072f, 1.1525649f, -0.44277027f, -0.46935633f, + 1.2033889f, -0.1400845f, -0.3975472f, 0.27152827f, + -0.31344834f, -0.20000494f, 0.59125596f, -0.5193746f, + -0.6417476f, 0.547658f, 1.4984641f, 0.16770877f, + -0.09375012f, 1.6910841f, 0.021209031f, -0.072300024f, + 1.0841964f, -0.701817f, 0.042536065f, 0.46825033f, + -0.41319844f, -0.38649485f, -0.2542414f, -0.37790507f, + 0.22321616f, 1.5227073f, -0.24193677f, -0.13515894f, + 0.48204318f, -0.6061077f, 0.06417249f, -0.45132867f, + 2.1943748f, -0.616795f, 0.52919525f, -0.12561125f, + -0.0453486f, -0.100962184f, -0.275838f, -0.5062743f, + -0.30687466f, -0.1278186f, -0.011203384f, -0.040135473f, + -0.21950784f, -0.014023699f, -0.5689156f, -0.31990737f, + -0.62819046f, -0.7325878f, -0.22253011f, -0.26901752f, + -0.41088143f, -0.40788725f, 0.10683648f, -0.2771732f, + -0.052496053f, -0.48744166f, -0.07127866f, -0.2838143f, + -0.29535636f, 1.0662079f, -0.44651407f, -0.15743932f, + 0.98865026f, -0.3166158f, -0.56746006f, -0.0030915185f, + -0.1676328f, 0.16340098f, -0.050461367f, -0.18945758f, + -0.40491772f, -0.122527696f, -0.6039433f, -0.21733719f, + -0.193425f, 0.14421636f, 0.17070553f, 1.1028305f, + 0.24130051f, -0.22750843f, -0.40559942f, -0.52909887f, + -0.52995145f, 1.1695341f, -0.38816306f, -0.44507048f, + -0.09603342f, 0.11764391f, 0.0701394f, -0.3612054f, + 0.8245945f, 1.0583714f, -0.19053051f, -0.18359883f, + -0.28320813f, -0.23456189f, 0.2946121f, -0.40889156f, + 0.009736172f, 0.07649413f, 0.22102253f, 0.065706134f, + -0.08907329f, -0.48120788f, -0.09263865f, 0.083242625f, + -0.35432968f, -0.17747238f, -0.37146932f, 1.1576375f, + 0.16740873f, 0.052562684f, -0.27060968f, 0.4377189f, + 0.07271332f, -0.12305617f, 0.054123107f, -0.33827266f, + 0.33637735f, -0.2120195f, -0.07014158f, 0.09554993f, + 0.046502456f, -0.083503f, 0.1584022f, 0.056691844f, + 0.49514475f, 0.118390225f, 0.021038529f, -0.16262738f, + 0.8491802f, -0.20001979f, -0.14899103f, 0.04122487f, + -0.01781439f, -0.13489072f, -0.07485965f, -0.4490563f, + 0.005049611f, -0.044890907f, 0.7657999f, -0.08629194f, + -0.120190814f, 0.2350961f, -0.24878065f, -0.14938956f, + 0.3503708f, -0.056958824f, -0.1647937f, -0.2778128f, + -0.10236353f, 0.6930102f, 0.34379476f, 0.29535016f, + 0.06290854f, -0.19532746f, 0.08598317f, -0.014372199f, + 0.12364355f, -0.033260964f, 0.14872591f, -0.08283847f, + -0.13635302f, -0.17803626f, -0.15424138f, -0.22236486f, + -0.20047107f, -0.13545504f, -0.068497166f, 0.2004436f, + 0.026928816f, -0.37886053f, -0.039926454f, -0.28863356f, + -0.16515034f, 0.84477097f, -0.31454983f, -0.3209522f, + -0.014012054f, -0.010404553f, -0.04629162f, -0.013837334f, + -0.34164938f, 0.09523312f, -0.14785895f, 0.12515046f, + 0.7633839f, -0.062697954f, 0.031270403f, -0.041281544f, + 0.05953366f, 0.33388138f, -0.16169254f, -0.17160745f, + 0.0077215284f, -0.36034396f, 0.199276f, 0.015042629f, + 0.1482077f, -0.029946856f, -0.13723151f, -0.18796533f, + -0.28186372f, -0.39192715f, -0.1503892f, 0.431504f, + -0.28098878f, -0.4142621f, -0.12402334f, -0.02028827f, + -0.043540843f, -0.31288493f, -0.30291897f, 1.2958933f, + 0.1490672f, -0.33631718f, -0.33657217f, -0.36308494f, + 0.35435304f, 0.09754517f, -0.111401774f, -0.31180835f, + 0.6272829f, 0.058185097f, -0.12000916f, -0.113913514f, + 1.3351499f, 0.3601752f, -0.11812287f, -0.15129247f, + -0.19344296f, -0.10563926f, -0.0041462723f, 0.017456124f, + -0.18277758f, 0.39679068f, -0.06755673f, -0.17798342f, + -0.21949911f, 0.77046794f, -0.22799225f, -0.096470274f, + -0.16584155f, 0.21957088f, -0.12520896f, -0.110509f, + -0.22320558f, -0.21300258f, 0.14954196f, 0.6633367f, + -0.25884697f, 0.10596317f, 0.033553597f, -0.18822557f, + -0.012210129f, 0.43323874f, 0.092393234f, -0.003765035f, + -0.33335087f, 0.17822488f, 0.37895316f, 0.027047588f, + 0.19805887f, 0.025904287f, -0.22598429f, 0.055042848f, + 0.018727452f, -0.016294517f, -0.14978309f, 0.21082492f, + -0.13164519f, -0.19815104f, -0.34388208f, 0.26843324f, + -0.25592023f, -0.34622362f, -0.31193885f, -0.39658338f, + -0.034463134f, -0.07995029f, 1.3307846f, -0.0128201805f, + -0.09626083f, -0.15272719f, 0.70665646f, -0.18967377f, + -0.08395918f, -0.015629785f, -0.14296123f, -0.12569074f, + 0.07943739f, -0.1723122f, -0.266436f, -0.07925785f, + 0.02634826f, 0.21013555f, -0.13513534f, 0.16859907f, + 0.08853125f, 0.08849006f, 0.123375244f, 0.24584512f, + 0.08540219f, -0.42584068f, -0.23191947f, -0.1562568f, + -0.028772457f, 0.04441753f, -0.14506005f, 0.19076844f, + -0.19305545f, -0.3378347f, -1.2815661f, 2.3195052f, + 0.23513466f, -2.1889615f, -1.7567458f, -0.52724934f, + -0.19621283f, 1.026492f, 3.5484905f, 4.7461357f, + -0.08541619f, -2.2039154f, 4.7287707f, 0.26187676f, + 1.0493529f, 0.056926668f, -3.4218912f, -0.7294055f, + 2.009485f, -0.4943022f, -0.54420793f, -2.3109689f, + 2.2964032f, -0.51320344f, -0.4079269f, 5.5770364f, + -0.25271305f, -1.517199f, -1.0754293f, 0.13864838f, + -1.4120959f, 0.77633244f, 0.81496537f, -1.6322548f, + -1.6270533f, -2.3769603f, -0.35931483f, -2.3837388f, + -0.5858238f, 1.0401708f, -1.0375676f, -0.19178878f, + 0.8972118f, -0.47487476f, -2.136933f, -0.20744216f, + -1.1276842f, -0.5693123f, -3.0526197f, -1.2430822f, + -0.013834929f, -1.9250358f, -2.1743128f, 0.8310249f, + 3.3299127f, 2.5749636f, -2.3196511f, -0.0022389463f, + 0.37381372f, -1.5415776f, -2.1407623f, -2.4756517f, + -1.7394269f, 0.74767274f, 0.752431f, 4.1157646f, + 0.09263193f, 2.6521301f, -1.4250888f, -1.3382101f, + 2.8955317f, 0.504777f, 1.3090324f, 1.5585424f, + -2.248061f, 0.34021223f, 1.2176989f, -0.20798108f, + -0.25879228f, 2.4032428f, -2.289964f, 0.29493538f, + -1.7826364f, 4.639924f, -0.15230362f, 0.54832464f, + -2.8957746f, -0.42665747f, -1.7617737f, 0.4721964f, + 3.388569f, 2.019412f, -0.1276606f, -0.86543006f, + 0.15728688f, -0.30536222f, 1.9174821f, -2.7572086f, + -0.16182229f, -1.9096575f, -0.3039301f, 4.0389476f, + -0.8672741f, -0.34903723f, 1.5007206f, 1.5904405f, + 0.039461024f, -0.78112805f, -0.08436093f, -0.24825224f, + 0.025592381f, 0.6478985f, -0.16199392f, -0.43091974f, + -0.28180754f, -0.25090092f, -0.015304262f, -0.26878914f, + -0.19535263f, 1.8666476f, 0.04283891f, -0.16313834f, + -0.20674278f, -0.1587209f, -0.30029413f, -0.13369042f, + -0.1783596f, -0.15359487f, 0.23473135f, -0.1603238f, + -0.09598814f, -0.25224665f, 2.154507f, -0.05772303f, + -0.08173451f, 0.29443777f, -0.13814361f, -0.11952421f, + 0.8147143f, -0.23570015f, -0.27389774f, 0.005185866f, + -0.1345647f, -0.12892415f, -0.20618454f, 0.4189949f, + -0.28719035f, -0.13773736f, -0.16449283f, -0.2219996f, + -0.23598742f, -0.13278048f, -0.15563633f, -0.15606636f, + 0.6051741f, 0.33271465f, -0.15397236f, -0.023425777f, + -0.16978487f, -0.21138133f, 0.033704743f, 0.12527755f, + 0.011495239f, -0.103990704f, -0.09003131f, 0.02149359f, + 0.26734117f, 0.012367443f, -0.15167575f, -0.08532969f, + -0.24009104f, 0.008301697f, -0.08959171f, -0.1738648f, + -0.19733414f, -0.16367683f, -0.08730751f, -0.20501307f, + -0.18767008f, 0.07621155f, -0.21957405f, -0.113924846f, + -0.20235915f, -0.397544f, -0.2804616f, -0.07626827f, + 1.8957566f, -0.11615064f, -0.1022374f, -0.08005301f, + 0.37116328f, -0.14095655f, 0.008193444f, -0.12775972f, + -0.11359149f, -0.11657682f, -0.1504638f, -0.0034967228f, + -0.14520784f, -0.036062893f, -0.0014193782f, 0.87605244f, + -0.22058469f, 0.4087201f, -0.05497325f, -0.08454893f, + -0.09466476f, 1.3625481f, -0.20577246f, -0.28690863f, + -0.078399636f, -0.2735109f, -0.27761284f, -0.13880941f, + -0.13255903f, 0.5805486f, -0.26943687f, -0.16976406f, + -0.06982756f, -0.09856063f, 1.3230991f, -0.115745544f, + -0.12075958f, 1.437889f, 0.5515375f, -0.060528643f, + -0.09119927f, -0.13250007f, -0.3680678f, -0.13481387f, + -0.12505104f, -0.13050066f, -0.118254095f, 0.3965317f, + -0.13797075f, -0.28463468f, -0.117387354f, -0.10483257f, + -0.28949398f, -0.21503507f, -0.13508281f, -0.47217304f, + -0.020160777f, -0.08219967f, -0.41505033f, -0.06905233f, + -0.05093733f, 0.50464576f, 1.636901f, -0.07327187f, + 0.28298354f, -0.18058643f, -0.14896865f, -0.18857615f, + -0.10784328f, -0.061899412f, -0.04878722f, -0.10001152f, + -0.24298294f, -0.19870773f, -0.3809348f, -0.2219842f, + -0.005941358f, -0.3744718f, 0.2559465f, -0.21087526f, + -0.4094691f, -0.15416068f, -0.09937877f, -0.077830225f, + -0.0412637f, -0.030442547f, 0.0022136394f, -0.10549877f, + -0.13643372f, 0.9913382f, -0.25360903f, -0.1947213f, + -0.18271008f, -0.14867243f, -0.20128587f, -0.12788768f, + -0.34216306f, -0.046331096f, 1.366183f, -0.11503454f, + -0.090297155f, -0.084191926f, -0.16780698f, -0.09608864f, + -0.07035177f, -0.1251298f, -0.09916915f, 1.4800682f, + -0.16279575f, -0.31861454f, -0.22657223f, -0.002596071f, + -0.15101704f, -0.17189176f, -0.14298476f, -0.10916664f, + -0.08368682f, -0.37331408f, -0.075897485f, 1.3074678f, + -0.17268066f, -0.009161089f, 0.010623572f, -0.08774159f, + -0.36538914f, -0.19597016f, 0.8080526f, -0.3550649f, + -0.01577225f, 0.0101095f, 0.57400036f, -0.12670948f, + -0.09933071f, -0.16315319f, -0.0606557f, -0.08961001f, + -0.022791542f, -0.14194931f, 0.9987653f, -0.11994942f, + 1.1122749f, 1.4372432f, 0.32108647f, -0.27646768f, + 0.8836573f, -1.3577833f, -0.5748887f, -0.0096977595f, + -0.9155803f, -0.60391533f, -0.62437135f, 0.13113101f, + -1.1620464f, -0.6815617f, -0.9704845f, -0.719415f, + -0.31971526f, -1.5521828f, 1.6344692f, -0.3903355f, + 0.919178f, 0.8357637f, -1.4343774f, -0.40080035f, + -0.50934017f, -0.6721517f, 0.6934414f, -0.427786f, + -0.66969293f, -0.6511647f, -0.20074236f, -0.18157747f, + 1.0816762f, 0.1751129f, -0.47325563f, -0.015705775f, + -0.4282315f, 1.5067525f, 0.11567471f, -0.59911126f, + 0.5132431f, 0.9812623f, 1.2598015f, 0.060524188f, + -0.34407812f, -0.4682127f, 0.8816723f, 0.32947794f, + -0.40583283f, 1.3988909f, -0.2745342f, -1.119118f, + 1.1059473f, 0.62849194f, -0.27120298f, -0.2874386f, + 0.07903139f, -1.3567938f, -0.21474826f, 1.4827604f, + -0.07029011f, -0.14834237f, 0.58231556f, 1.6524523f, + 0.7067015f, -0.23309578f, 0.24449867f, -0.15490212f, + -0.5613024f, 0.06284719f, 1.2070864f, -0.053461123f, + -0.562692f, -1.196484f, -0.35733977f, 0.6875246f, + -0.28977662f, -0.53476095f, 0.3691815f, -0.007896205f, + -0.24340886f, -1.0048728f, 0.71970344f, -0.81647915f, + -0.026831822f, 0.4844168f, -0.04569298f, 1.0620259f, + -0.662667f, -0.65691805f, -0.6559576f, 0.32373813f, + -0.84927f, 1.1510181f, -0.4962945f, -0.33528128f, + 2.0250568f, -0.73306274f, -1.0351774f, -0.3780182f, + 2.1499999f, -0.72853976f, 1.1922737f, -0.85046715f, + 0.9968989f, -0.048206784f, -0.06877019f, 0.8319538f, + -0.6463578f, -0.31151533f, -0.0696477f, -0.25498357f, + -0.28795424f, 1.08308195e-05f, -0.29342607f, -0.25621444f, + 0.73717517f, -0.31286582f, -0.2629952f, -0.18843372f, + -0.13229032f, -0.22459164f, -0.16031079f, 0.123340115f, + -0.1981602f, -0.058389224f, 0.289792f, 0.5287891f, + -0.2328848f, 1.3245087f, 0.6085664f, -0.32809648f, + -0.16848487f, -0.05914133f, -0.21200486f, -0.06394738f, + -0.20456624f, -0.11637028f, -0.19433808f, -0.32059878f, + -0.18559627f, -0.039251033f, -0.019514265f, 0.12606227f, + 0.07760057f, -0.43053326f, 0.08855741f, -0.17834494f, + -0.24874118f, -0.08451061f, 1.0810332f, 1.4024812f, + -0.14988022f, -0.09458241f, 0.011524404f, 0.63525206f, + 0.08995243f, 0.29076752f, 0.05718654f, -0.08213285f, + -0.101935975f, -0.052483276f, 0.013467546f, -0.081728965f, + -0.069264315f, -0.20304224f, -0.2998753f, -0.12627845f, + 1.4067383f, -0.06201511f, -0.084494986f, -0.3202574f, + -0.031270467f, -0.11509549f, -0.2719797f, -0.2368172f, + 0.15738869f, -0.16609116f, -0.045756217f, 0.034573965f, + -0.10260898f, -0.097559385f, -0.048218526f, 0.050305724f, + -0.07038058f, -0.19726963f, -0.07573453f, -0.121048056f, + 0.6991223f, -0.042374004f, -0.2024927f, 0.4370784f, + -0.12296924f, -0.2883948f, 1.4612396f, -0.31215468f, + -0.023952246f, -0.44410402f, -0.13560586f, -0.12370176f, + 0.073652625f, -0.1580055f, 0.4566076f, -0.3121312f, + -0.24917488f, 0.54001164f, -0.12926657f, -0.03865389f, + -0.20816545f, -0.08448917f, -0.26327676f, -0.065227546f, + -0.28552118f, 0.031175064f, -0.35016882f, -0.12777117f, + 0.65371585f, -0.10202621f, 2.4087455f, -3.266491f, + 6.095844f, 0.17426135f, 3.359535f, 1.036438f, + -0.9493194f, -0.23483482f, -1.650954f, 4.5039845f, + -2.9541116f, 0.05467842f, 4.5112863f, 5.7865195f, + 1.6191982f, -2.3916495f, 0.0865164f, 1.6438348f, + -2.0106442f, 0.39147246f, 0.52980113f, -1.9196848f, + 0.7244412f, 0.06783857f, 0.6898661f, -0.25741175f, + 3.8972783f, -0.30473477f, 2.920489f, 2.5053525f, + 0.066058144f, -1.2725036f, -3.2180717f, -0.03810225f, + -0.856813f, -4.2226934f, 2.2784145f, -0.30659667f, + -2.12091f, -1.7970078f, -1.3218278f, -1.783253f, + 0.063333035f, -3.1837528f, 1.4780867f, -3.0163717f, + -0.3970922f, 0.5067658f, -4.2100677f, -2.0088894f, + 6.4740615f, -3.3785388f, -0.50790095f, 4.3015857f, + -1.4204562f, -3.7211633f, -2.1237755f, -0.9828549f, + 0.23337576f, -0.47626746f, 5.6062694f, -0.63490283f, + -2.5449953f, -1.0987254f, 5.2900076f, -1.7566563f, + 0.06390288f, 1.8769423f, -4.1036754f, -4.359991f, + 3.2178812f, -1.1620681f, -3.1524253f, 7.09223f, + -2.8750422f, 0.42394456f, -0.19523335f, 1.1832179f, + -0.9766359f, 0.030061971f, 0.15534171f, -1.1570352f, + 0.23210087f, 2.557233f, 2.6630156f, -0.06609925f, + -2.3467286f, -2.4289668f, 0.41390553f, -3.6022596f, + 5.552863f, -3.7497773f, -3.7329082f, -0.3194792f, + 0.043610178f, -0.08403635f, 1.3035899f, 2.9944115f, + -3.0667975f, -0.14423798f, -2.511715f, 1.3830131f, + 0.7811466f, -1.5587654f, 1.1133249f, 6.844821f, + -2.2599623f, 0.026614403f, -1.0513079f, -0.50249565f, + -0.38113603f, -0.6752348f, 0.0040815943f, -0.58440804f, + -0.11245597f, -0.24002707f, 0.31617233f, 0.43485394f, + -0.89328426f, -0.5245108f, -0.4981953f, -0.8809664f, + -1.475318f, 1.822441f, -0.6764871f, -0.53207177f, + 0.92198324f, 1.049346f, -0.6195634f, 0.23135683f, + -0.12806688f, 0.34087345f, -0.4947116f, 0.27793264f, + 0.3309108f, -0.35712528f, -0.055688232f, -0.07692751f, + -0.104561776f, -0.27600068f, 0.562324f, -0.23652112f, + 0.8648625f, -0.012875913f, -0.42779493f, -0.36293915f, + 0.6164516f, 0.350506f, 0.11316703f, -0.54905367f, + 1.6417748f, 0.43641415f, -0.7006657f, 1.989396f, + 0.4320936f, 0.1891744f, 0.37457675f, -1.5293186f, + 0.7627653f, 0.1260548f, -0.7640425f, -0.5942941f, + -0.97550946f, -1.267875f, -1.3515993f, -0.6393995f, + -0.42333195f, -0.021553572f, 0.6489035f, -0.19163133f, + -0.29176754f, 0.30665162f, -0.7019377f, -0.26743677f, + -0.7480349f, -1.0206965f, -0.039098527f, 0.5443362f, + 0.571772f, 0.9602582f, 1.3838924f, -0.6381134f, + -1.2501501f, 0.4280156f, 1.1424532f, 0.18656509f, + 0.58760893f, 0.06223792f, 0.15221485f, 0.24204847f, + -0.38740757f, 0.33904892f, 1.3466043f, -0.31835377f, + 0.11217311f, -0.31828997f, 1.4359462f, -0.22087432f, + 0.5546434f, -1.0068915f, -0.46132997f, -0.83066976f, + 0.15194432f, 0.07516632f, 0.008261107f, 1.0557826f, + -0.1952036f, -1.0550696f, -0.13910611f, -0.4241279f, + -0.17835413f, -0.5831741f, 1.0170734f, 1.2354813f, + 0.20353816f, 0.013965358f, 0.18969852f, 2.0707347f, + -0.2841195f, -0.8129648f, -0.6183572f, 0.93522084f, + -0.2952304f, 0.15583515f, 1.0578496f, 0.573059f, + 0.059979986f, 0.15803291f, -0.49104732f, -0.084322535f, + -0.31420475f, -0.45778072f, 0.16191567f, 0.15736192f, + 1.9677418f, 0.10755156f, 0.067414366f, -0.4081863f, + 0.8029641f, -0.14472248f, -0.41317734f, -0.18666159f, + -0.3376056f, 0.38580412f, -0.25134873f, -0.1874116f, + 0.030958945f, -0.08712697f, -0.022372497f, 1.3217231f, + 0.48999056f, 0.3689628f, -0.0322722f, 0.31244162f, + -0.25622398f, 0.27025655f, -0.23038468f, 0.14636667f, + -0.30370852f, -0.17679103f, -0.25549212f, -0.41975877f, + -0.18716364f, -0.7390592f, -0.10678755f, 1.0081719f, + 0.14901671f, -0.47000617f, -0.076202504f, 0.03414853f, + -1.0415605f, 1.0137601f, -0.034472004f, -0.32303518f, + 0.00026578057f, 0.29645503f, 1.4961746f, -0.029168999f, + 0.18210252f, 0.14360368f, -0.6744268f, -0.28373465f, + -0.039796237f, -0.21198149f, 0.050839797f, 0.8718065f, + -0.12473226f, -0.22330545f, -0.47386274f, -0.2927995f, + 0.18972886f, -0.39525503f, -0.24396339f, -0.09449901f, + 0.45069972f, -0.07413976f, -0.5068523f, -0.22930364f, + -0.09051383f, 0.5561643f, 0.7093209f, -0.4751569f, + -0.50685513f, -0.13290244f, -0.06885424f, -0.015516052f, + 0.5929322f, -0.28123194f, 0.116620995f, -0.6206043f, + 0.591219f, -0.33439574f, -0.155908f, -0.14209053f, + -0.3868695f, -0.14380379f, 0.9181801f, -0.10742192f, + -0.3092826f, -0.50159687f, -0.41850325f, 0.09181775f, + -0.49969178f, -0.025447968f, -0.27810726f, 0.8391941f, + -0.38472444f, -0.13119619f, -0.2324448f, -0.055826858f, + 0.49854004f, -0.13219981f, -0.55701715f, -0.258551f, + -0.21396837f, -0.107818834f, -0.17322089f, -0.18824607f, + 2.308375f, -0.09368748f, -0.042768367f, -0.1804826f, + -0.13848259f, 0.40300053f, -0.1832209f, -0.16628683f, + -0.15669493f, -0.03181183f, -0.18415707f, -0.15863404f, + -0.33306608f, 2.5261066f, -0.008794327f, -0.019759392f, + -0.151008f, -0.15270002f, -0.13028802f, 0.05012548f, + -0.23491031f, -0.35062093f, 0.32417506f, -0.19515914f, + -0.13614212f, -0.2313649f, 0.20398891f, -0.27064764f, + -0.10597283f, -0.24936433f, -0.19245611f, -0.36154202f, + -0.09976704f, -0.2144349f, -0.096016295f, -0.19685313f, + 1.3526001f, -0.16842547f, -0.16349222f, -0.19387081f, + -0.21767552f, -0.0679934f, 0.055550538f, 0.041548237f, + -0.045041054f, -0.13043144f, -0.0605531f, -0.22860025f, + 0.60209453f, -0.08888808f, -0.1284885f, -0.20360242f, + -0.067120455f, -0.12749858f, -0.20176163f, -0.14105466f, + -0.14222729f, -0.041401636f, -0.15930659f, -0.14328063f, + 0.04962233f, -0.19272764f, -0.18747331f, -0.13663806f, + -0.32094026f, -0.2738359f, -0.03266663f, 2.277733f, + 1.0530956f, -0.08831597f, -0.09103688f, 0.043920737f, + -0.16843553f, -0.03302202f, 0.16642562f, -0.08115893f, + -0.07000807f, -0.22666112f, -0.06476307f, -0.024925388f, + -0.082181245f, -0.03201323f, 0.4910786f, -0.24727023f, + 0.97703373f, -0.13172871f, -0.05482009f, 0.0015730319f, + 0.7582482f, -0.15719648f, -0.33771214f, -0.06384222f, + -0.26365042f, -0.27804112f, -0.10724621f, -0.2574277f, + 0.082898766f, -0.39773682f, -0.08368116f, -0.047660463f, + -0.055268764f, 0.84139085f, -0.06934373f, -0.10491718f, + 0.5042439f, 0.7592877f, -0.056321263f, -0.044695597f, + -0.06360281f, -0.33666867f, -0.029879978f, -0.06278437f, + -0.058950085f, -0.09282296f, 0.87488896f, -0.10817049f, + -0.09832582f, -0.06324502f, -0.22155645f, -0.10110401f, + -0.09616082f, -0.124087654f, -0.43062183f, -0.26907644f, + -0.042382464f, -0.2084363f, -0.07324683f, -0.08852807f, + 0.099783555f, 0.57780266f, -0.07156885f, 0.3563412f, + -0.107549556f, -0.086945996f, -0.111012094f, -0.14284222f, + -0.10690412f, -0.13439256f, -0.03168871f, -0.1243454f, + -0.2522219f, -0.11274909f, -0.15657057f, -0.0063189017f, + -0.1304752f, 0.7723169f, -0.117514595f, -0.16441704f, + -0.1208079f, -0.10375737f, -0.09737533f, -0.05241262f, + -0.03947781f, -0.0887536f, -0.06070151f, -0.1294686f, + 0.3151642f, 0.3196294f, -0.123402916f, -0.046598233f, + -0.10551649f, -0.06583032f, -0.040384594f, -0.18295354f, + -0.032555748f, 0.46381044f, -0.05056216f, -0.051094502f, + -0.05547049f, -0.06678921f, -0.08261536f, -0.065306835f, + -0.08873963f, -0.111642316f, 0.42966756f, -0.07937818f, + -0.35051635f, 0.57473093f, -0.053355295f, -0.11047752f, + -0.13087897f, -0.0930214f, -0.07408951f, -0.15162353f, + -0.1525808f, -0.044622716f, 0.48150325f, -0.116243616f, + -0.0361937f, -0.03430232f, -0.044966403f, 0.50839514f, + -0.18633325f, 0.84175676f, -0.22792114f, -0.07060765f, + -0.037386652f, 0.307682f, -0.07322931f, -0.10532315f, + -0.061389368f, -0.07845691f, -0.069962844f, -0.034359943f, + -0.04855299f, 0.32299995f, -0.118732534f, -0.13052003f, + -0.21129607f, -0.14765543f, 0.7741163f, -0.28304797f, + -0.122100286f, 1.0235435f, 0.40060794f, 0.00037895533f, + -0.104416564f, -0.2759767f, -0.23875573f, 0.019686166f, + -0.27059922f, -0.1740441f, -0.21198179f, 0.8749577f, + -0.15874304f, -0.17393464f, -0.2477471f, 0.13710655f, + -0.10917461f, -0.06393764f, -0.13451485f, -0.31405815f, + 0.08667383f, -0.094340466f, -0.08912381f, 0.057631202f, + 0.048601948f, -0.15414274f, 1.1279031f, -0.15870754f, + 0.46233365f, -0.028685553f, -0.031130055f, -0.10165199f, + 0.52506447f, -0.013705267f, -0.19499402f, 0.05246916f, + -0.15988003f, -0.14926694f, -0.15342097f, -0.35197622f, + 0.07545695f, -0.103687786f, 0.56443584f, -0.13868f, + -0.27394128f, 0.08637269f, -0.124417536f, -0.18323065f, + 0.07047054f, -0.09407884f, -0.0713883f, -0.19674529f, + -0.15313455f, 0.8161082f, 0.09717587f, 0.0688611f, + -0.109114304f, -0.20849043f, -0.06951481f, -0.07440941f, + -0.04845107f, -0.0010914217f, 0.90144587f, -0.0516123f, + -0.16539387f, -0.13193098f, -0.15375869f, -0.05470013f, + -0.28523004f, -0.10965628f, -0.18910521f, 1.0824307f, + -0.09918153f, -0.26267937f, -0.14576432f, 0.0725433f, + -0.11570334f, 0.5190122f, -0.24625795f, -0.14624517f, + -0.012077995f, -0.20233095f, -0.047745164f, 0.8216116f, + -0.19394633f, -0.05419922f, -0.10708022f, 0.03596903f, + -0.36058554f, -0.16062975f, -0.05766138f, -0.29010049f, + 0.061371796f, 0.14556165f, -0.2828521f, -0.30065766f, + -0.09859678f, -0.3003686f, 0.083196305f, -0.0576899f, + -0.06123747f, -0.047381964f, 0.76268595f, -0.15063877f, + -0.11109369f, -0.05174998f, -0.07765574f, 1.1259031f, + -0.095028654f, -0.1253365f, 0.66866153f, 0.84288746f, + -0.043506894f, -0.07915223f, -0.08746116f, -0.40622997f, + -0.018269073f, -0.081571296f, -0.04593512f, -0.110241726f, + 1.1997986f, -0.1767196f, -0.17663464f, -0.07010551f, + -0.214583f, -0.16141638f, -0.115694f, -0.0947953f, + -0.37503064f, -0.11939846f, -0.029507706f, -0.16271941f, + -0.08723539f, -0.10056567f, -0.24840713f, 0.7565219f, + -0.086489394f, 0.46073604f, -0.15962537f, -0.07161478f, + -0.07011309f, 0.13287735f, -0.12199839f, -0.27217048f, + 0.0045968574f, -0.29279864f, -0.18400094f, -0.13983598f, + -0.12913933f, 0.013736465f, -0.23320532f, 1.050348f, + -0.17954144f, -0.18498991f, -0.12037797f, -0.08224188f, + -0.10723017f, -0.0057567186f, -0.032021113f, -0.1115914f, + -0.062258676f, -0.117435604f, 0.8124806f, 0.30621663f, + -0.13320911f, -0.059633292f, -0.1374305f, -0.11186229f, + -0.019089593f, -0.19910643f, -0.031426374f, 0.6266844f, + -0.07035628f, -0.029797504f, -0.040501524f, -0.050352335f, + -0.066186346f, -0.06969192f, -0.11800144f, -0.1539169f, + 0.5749399f, -0.104958f, -0.34239277f, -0.043641273f, + -0.06847451f, -0.13746688f, 0.18500625f, -0.14006568f, + -0.09373776f, -0.06506556f, -0.1885023f, -0.039818283f, + 0.65134466f, -0.10265719f, -0.030746432f, -0.030068368f, + -0.039620496f, -0.1416703f, -0.24374117f, 0.1883926f, + -0.27613363f, -0.06519614f, -0.03011759f, -0.19671965f, + -0.14726332f, -0.09792944f, -0.05695446f, -0.07739734f, + -0.06679513f, -0.004564232f, -0.08798595f, 0.97412133f, + -0.11236392f, -0.08368292f, -0.1113367f, -0.12154418f, + 0.7901808f, -0.13464737f, -0.08069967f, 0.24245468f, + 0.59300154f, -0.05661877f, -0.116541f, -0.10440867f, + -0.46199375f, -0.036850527f, -0.09439456f, -0.004317197f, + -0.09348827f, 1.2411786f, -0.19149007f, -0.21308044f, + -0.10826191f, -0.10516452f, -0.09111764f, -0.08511498f, + -0.07900209f, -0.52987474f, -0.008239507f, -0.0912693f, + -0.1404758f, -0.11263876f, -0.11122594f, -0.17884775f, + 0.28071728f, -0.08718163f, 0.62123305f, -0.2551762f, + -0.03796279f, -0.1040174f, 0.8931919f, -0.110081084f, + -0.30444592f, -0.046192363f, -0.43073097f, -0.22790459f, + -0.10645123f, -0.2022932f, 0.08528021f, -0.26641437f, + 1.1064006f, -0.11868103f, -0.106399275f, -0.16283742f, + -0.09297128f, -0.060101897f, 0.07692893f, -0.04196958f, + -0.02826893f, -0.08139377f, -0.12163745f, 1.1855142f, + 0.58798856f, -0.09762801f, 0.018026179f, -0.14270791f, + -0.14172679f, 0.029590499f, -0.122279145f, -0.09207396f, + 0.25393918f, -0.04165743f, 0.02619407f, -0.07000153f, + 0.012718133f, -0.085064545f, -0.0939306f, -0.06788999f, + -0.13000627f, 0.0013943916f, -0.080618486f, -0.4527379f, + -0.20644818f, -0.064025246f, -0.1130632f, 0.98146373f, + -0.1867183f, -0.107692696f, -0.04935813f, -0.11360012f, + 0.021498853f, 0.27727717f, -0.18011096f, -0.045388345f, + -0.080351576f, -0.07905102f, 0.9679014f, -0.21509098f, + -0.025141614f, -0.23827997f, -0.082579516f, 0.029328687f, + -0.16472152f, -0.20232582f, -0.061896894f, -0.09893113f, + -0.08643843f, -0.03902357f, 0.014971803f, -0.0673121f, + 0.5138868f, -0.16759382f, -1.9519805f, -0.602176f, + 2.5295804f, 0.00910939f, 2.749339f, -0.7643367f, + -0.45122433f, 0.11093682f, 4.175706f, -0.9199247f, + -2.0908785f, -2.489833f, -1.8552456f, -3.386875f, + -2.2906144f, -3.4749703f, -0.45806634f, 0.90675986f, + 2.6211383f, 1.8535618f, 0.06659838f, -1.5123895f, + -2.414913f, -0.5025387f, 2.8002784f, -0.06677548f, + -3.3078015f, 0.08455167f, -3.4263701f, -2.8238158f, + -0.5129066f, 0.7717553f, 1.0060759f, 0.12290679f, + 1.6582808f, -2.0790713f, -0.48421285f, 0.88037455f, + -2.2000124f, -0.6396533f, 0.31693137f, 3.0822368f, + 0.39549902f, -3.2363648f, 6.7484465f, -2.237169f, + 0.3689931f, 1.039334f, -1.9417852f, -1.1327552f, + 4.00565f, 0.85055447f, -2.3645377f, -1.2822101f, + -2.809311f, -1.2797421f, -0.02811723f, -3.0291812f, + 0.40678772f, -0.4798976f, -1.3187723f, -2.3703682f, + -0.64878005f, 1.0855045f, -2.136626f, -2.8678892f, + -2.8210955f, -2.1351926f, -2.8291335f, 6.646664f, + -0.4292809f, -1.1415133f, 5.9634523f, -0.6078361f, + 6.9101014f, 5.501686f, 1.0687903f, -1.7215645f, + -0.044915143f, 0.17561024f, 2.6164596f, -0.5921682f, + -0.4663366f, 4.4552207f, -2.4679074f, 0.3372961f, + 0.29786673f, 1.5549171f, 1.4567565f, 5.5117316f, + 2.6437716f, -0.8412153f, 1.1736205f, 0.04915113f, + 3.5898423f, 0.1774926f, -1.9637988f, -2.275763f, + -1.4954418f, 0.33605453f, -3.170017f, -1.7549049f, + -1.9897196f, 7.4508157f, -1.9688671f, -2.3286178f, + 0.97663367f, 0.4127904f, 2.9624517f, -0.055959385f, + -0.053461473f, -0.061439205f, 0.3257586f, -0.08307456f, + -0.059519436f, -0.06429129f, 0.07658212f, -0.058101323f, + -0.07431584f, -0.067218475f, 0.36571473f, -0.050496545f, + -0.062153175f, -0.05466894f, -0.059337236f, 0.4748401f, + -0.0826262f, -0.10921034f, -0.07743116f, 0.15071645f, + -0.07615701f, -0.08337393f, -0.09784244f, 0.5043117f, + -0.029467536f, -0.066183165f, -0.07269186f, -0.045365922f, + -0.053049695f, -0.050670587f, -0.09495533f, -0.073250934f, + 0.39143428f, -0.108917676f, -0.056214742f, -0.053949352f, + 0.6833067f, -0.056178708f, -0.25434515f, -0.03574544f, + -0.19147204f, -0.08579028f, -0.045416966f, -0.10326086f, + -0.041296992f, -0.009446609f, 0.5023429f, -0.09795358f, + -0.076330565f, -0.071467936f, -0.059395038f, -0.010989187f, + -0.03009351f, -0.024900738f, -0.05331427f, -0.06350744f, + -0.056164544f, 0.54528564f, 0.31808436f, -0.016547022f, + -0.06929774f, -0.11007714f, -0.069392994f, -0.0077741304f, + -0.038647097f, -0.02652827f, -0.031298693f, -0.06218128f, + -0.05430283f, -0.0527219f, -0.04105249f, -0.06946334f, + -0.04962562f, -0.061021216f, -0.15101607f, -0.040421356f, + -0.046151347f, 0.20808704f, 0.0063791643f, -0.05846619f, + -0.07833108f, 0.6632375f, -0.15314995f, -0.05286955f, + -0.08915751f, -0.056781124f, -0.052497f, -0.011494591f, + -0.05846685f, -0.040417556f, -0.04534528f, -0.038942464f, + 0.41981885f, -0.1909183f, 0.075824924f, -0.07734033f, + -0.07750642f, -0.021268297f, 0.05423624f, -0.053912878f, + -0.06638679f, -0.07497318f, -0.06153621f, -0.025031418f, + -0.043833416f, -0.0917129f, 0.28302687f, -0.11614219f, + 2.258061f, -1.130483f, -2.1507313f, -0.31885573f, + 1.9658018f, 3.9673738f, -1.6244081f, 0.5256587f, + 0.51154083f, -1.5373716f, -2.1380854f, 0.48148265f, + 1.6754879f, -0.8518128f, -1.2529751f, -0.48321536f, + -0.23504835f, -3.9271803f, 0.8208844f, 1.5294725f, + 0.019425107f, 1.2700267f, -0.75609094f, -1.7399364f, + 1.282176f, 0.15173934f, -1.8892016f, 0.77775383f, + 5.8974185f, 5.907216f, 0.26897433f, 0.7408122f, + -1.5962063f, -0.02350243f, 1.9175878f, -0.41626465f, + 5.733645f, 0.17419395f, 1.1746888f, -0.9446142f, + 0.2715788f, -1.0101184f, 0.20566608f, -0.5399954f, + 0.8357004f, 1.3517275f, 0.5734244f, 1.374214f, + 1.7202739f, 0.63113636f, 2.42144f, -1.4812343f, + 2.621398f, -2.5555568f, -2.075362f, -2.4599626f, + -1.3214525f, -2.8623428f, 0.5414248f, 0.4933636f, + -0.9312378f, -3.5117433f, 1.0347116f, 0.8151741f, + -2.3293688f, -1.5083746f, -0.3210831f, 0.49568018f, + 1.1332704f, -4.682554f, 4.4328794f, -1.842575f, + -2.310571f, -3.552708f, -0.9017628f, 1.2981378f, + 1.2370092f, -0.37713897f, -1.5743316f, 0.017195078f, + -0.5020347f, -2.624885f, -0.71366477f, -1.5710014f, + -1.7532756f, 0.30926597f, 0.49650398f, 2.9881744f, + 0.99009097f, 1.1868433f, -1.1227673f, -1.535681f, + -1.4868444f, 0.07720787f, 1.4918412f, -0.20241548f, + 3.8292606f, -2.9665334f, -2.577595f, 0.40156195f, + -1.1673509f, 0.40748745f, 1.5127902f, -3.381581f, + 3.4542062f, -0.46698022f, 1.1181062f, 0.5968714f, + 1.8243774f, -0.36589947f, -0.33298156f, -0.30428368f, + 0.2774564f, -0.19253935f, -0.56849235f, -0.12622485f, + -0.20710973f, 0.020447982f, -0.32427529f, -0.18700576f, + 2.0565345f, 0.32879916f, -0.17255752f, -0.34050736f, + -0.2779344f, 0.08193694f, 0.0033037725f, -0.1917348f, + -0.21289009f, 0.5353999f, -0.12903704f, -0.16374524f, + -0.12719786f, 2.4100482f, 0.48129904f, -0.21071427f, + -0.100414224f, -0.23934543f, -0.14513764f, 0.02024158f, + -0.13327871f, -0.22057733f, 0.3373589f, -0.02577686f, + -0.17155854f, -0.26434088f, 0.3183f, -0.21790639f, + 0.4776627f, -0.12858164f, 0.23045908f, -0.31305844f, + -0.16201746f, -0.17363302f, -0.37596813f, -0.036145784f, + 0.7926746f, -0.2589597f, -0.16691214f, -0.084440485f, + -0.13243808f, 0.022239791f, 0.21432239f, -0.09046132f, + -0.17807402f, -0.18007255f, 0.07682247f, -0.02963357f, + 0.18300244f, -0.025872918f, -0.14018619f, -0.3228517f, + 0.03583287f, -0.20707402f, -0.13665022f, -0.22907318f, + 0.19519438f, -0.24653406f, -0.088317156f, -0.28194505f, + 0.016002513f, -0.098977275f, -0.20688125f, -0.41651037f, + -0.31299374f, -0.17795981f, -0.02623531f, 2.1250062f, + 0.4408557f, -0.062165014f, 0.1613344f, 0.2690011f, + -0.3070227f, -0.030017281f, 0.49405694f, -0.0045733494f, + -0.14140908f, -0.07388163f, 0.004902877f, -0.127181f, + -0.065995924f, 0.10192054f, 0.17294356f, -0.18375298f, + 0.38328654f, 0.10179841f, -0.114494085f, -0.007949122f, + 0.36007428f, -0.08969911f, -0.45596796f, -0.2823271f, + 0.09961858f, -0.23501326f, -0.04887572f, -0.0791287f, + 0.06190683f, -0.39841965f, -0.08146379f, -0.22428338f, + -0.031078693f, 0.44891346f, -0.17180671f, -0.4159691f, + -0.21786802f, -0.041202184f, -0.1146307f, -0.20055325f, + -0.17740759f, 2.0063798f, 0.014682035f, -0.09555009f, + -0.2163191f, -0.15372388f, 0.023703266f, -0.14373448f, + -0.11658951f, -0.11343396f, -0.040715534f, -0.16070846f, + -0.13298877f, -0.28574017f, 2.2630024f, 0.6764999f, + -0.02743622f, 0.5139466f, -0.15650484f, -0.11325717f, + 0.24466977f, -0.1666842f, -0.27603313f, -0.085557826f, + -0.11506133f, -0.099987134f, -0.22774358f, 0.0069206934f, + -0.26057214f, -0.1533427f, -0.18737665f, -0.08503808f, + -0.26358393f, -0.08055295f, -0.1758331f, -0.090465344f, + 0.042837895f, 0.7714962f, -0.1363173f, -0.08769977f, + -0.20687135f, -0.18984738f, -0.06199439f, 0.0710344f, + 0.018933993f, -0.08388959f, -0.094034374f, 0.0058218082f, + -0.21522002f, -0.03659938f, -0.084743075f, -0.07118662f, + -0.16966565f, -0.03354038f, -0.11499422f, -0.17792515f, + -0.13906342f, -0.122735396f, -0.06472666f, -0.23499188f, + -0.18467985f, 0.046319783f, -0.19699596f, -0.11430557f, + -0.22009252f, -0.27565956f, -0.2130918f, -0.090810396f, + 2.0035002f, 0.59360594f, -0.025011906f, -0.05228649f, + -0.07847551f, -0.13294424f, -0.004805883f, 0.36581734f, + -0.057543825f, -0.1221756f, -0.13642736f, -0.027458264f, + -0.06614139f, -0.081170745f, -0.04798978f, 0.19378024f, + -0.15153123f, 0.92219967f, -0.03334791f, -0.04962749f, + -0.117188565f, 0.91285485f, -0.1490035f, -0.26970622f, + -0.058945976f, -0.2642649f, -0.22594811f, -0.1609646f, + -0.19306104f, -0.00606466f, -0.29056796f, -0.24774908f, + -0.24269848f, -0.3535273f, -0.3360429f, -0.09070311f, + -0.67680675f, 0.43361825f, 0.25972846f, -0.18742833f, + -0.279565f, -0.12943245f, -0.2862977f, -0.20921081f, + -0.30378515f, -0.5829959f, -0.21499456f, 0.08932297f, + -0.57107633f, 1.6252655f, -0.7376641f, -0.29194584f, + 1.9313775f, -0.28734753f, -0.47400555f, -0.25546187f, + 0.7606984f, -0.23398405f, 0.33286953f, -0.17640056f, + -0.33401752f, 0.7483067f, 0.05494246f, -0.124012575f, + -0.07381293f, 2.2735856f, -0.21068306f, -0.48754716f, + -0.34609443f, 0.041532777f, -0.16075137f, -0.21829452f, + 1.9472218f, 0.89465487f, 1.9130241f, -0.62047744f, + -0.068095684f, 0.18740201f, -0.43873352f, -0.69254404f, + -0.3124421f, -0.57539296f, -0.42734516f, -0.110984735f, + -0.50547856f, -0.27836904f, 0.078305036f, -0.17600177f, + -0.2863839f, 0.10359244f, 0.27707243f, 1.7311449f, + -0.33253628f, -0.44208482f, 2.529758f, -0.053324386f, + 2.0904443f, -0.5084616f, 0.23615299f, -0.5400558f, + -0.37108588f, -0.58447546f, -0.16286045f, -0.22648291f, + -0.25674757f, -0.17262784f, -0.58403844f, -0.210909f, + -0.43018106f, -0.33658296f, 0.7780641f, -0.28507668f, + -0.7907123f, -0.12883268f, -0.59148836f, -0.44443488f, + 0.41152853f, 1.8250066f, -0.016163599f, 0.06199628f, + -0.55652964f, -0.37390107f, -0.15890448f, -0.3599273f, + 0.056732256f, 0.36199394f, 0.20709242f, 1.5563772f, + -0.13581239f, -0.032195877f, -0.36661747f, -0.19979157f, + -0.3557424f, -0.21971254f, -0.0748019f, -0.5149769f, + -0.47239813f, -0.3035448f, -0.16423817f, -0.40378055f, + -1.872856f, -0.8346107f, -0.32050467f, 0.66322196f, + -1.1142993f, -0.5907424f, 0.08787416f, -0.09120813f, + -3.7481368f, -1.553146f, -2.357213f, -3.268571f, + -5.0136642f, -0.5117248f, 0.81506926f, 6.045549f, + -0.44010428f, 2.4528077f, 0.44482863f, -1.0440376f, + 0.28858107f, -1.775211f, -2.1447012f, 4.0594344f, + 0.12862672f, 0.2684586f, 1.6364721f, 0.25992772f, + -3.8094316f, -3.406886f, -0.0015407663f, 1.5792661f, + 2.7942355f, 0.40592578f, -0.5638791f, 1.3874054f, + -0.6494374f, 1.0033513f, -4.5927086f, 1.1549906f, + 0.040286172f, 3.4282484f, 0.33645535f, -3.0670278f, + -2.1237833f, -2.4560168f, 0.901273f, -0.940578f, + -1.6366261f, -0.38220486f, -3.200345f, -1.4483316f, + 5.9034204f, 1.1738936f, 3.8852453f, 1.9945848f, + 0.19830084f, -2.034182f, 0.5209124f, 0.8063045f, + -1.474743f, -4.2811537f, 3.576022f, -2.24559f, + 1.0956688f, 0.6466695f, -1.810356f, -0.6289412f, + 1.0533452f, -3.7753458f, 4.5794916f, 3.9345498f, + 4.9681454f, 0.38930517f, -3.0756674f, 3.2549937f, + 2.0736017f, 3.205904f, 4.7800045f, 0.16311073f, + 6.738544f, -0.26688567f, -0.48815536f, 1.4873935f, + -3.1892915f, 0.5883324f, 0.155257f, -3.577728f, + -1.8864398f, -1.3671508f, -0.4395791f, 1.4579653f, + -0.37167105f, 0.19402628f, -1.0650605f, 0.28688723f, + -0.50026554f, -0.58012414f, 0.22083804f, -0.10480119f, + -2.5430624f, -0.13440323f, -3.5802124f, 3.884498f, + 2.3259788f, 2.259197f, -4.038143f, 0.011734716f, + 0.42162162f, -1.4810863f, -0.53019875f, -2.1035078f, + 0.49896437f, -0.97183806f, -2.7104938f, -1.6605629f, + 0.57491654f, -2.5428684f, 0.68268263f, -1.6444156f, + 0.122288816f, -1.3489932f, -1.0716188f, 0.037274677f, + -2.8204086f, -0.7257868f, 7.178178f, -0.3081288f, + -0.967814f, -0.04098258f, 4.437071f, 12.356197f, + 1.703795f, -1.1284454f, -0.13770817f, 3.0358803f, + 0.8831436f, 3.0425205f, 2.8286f, 0.23681363f, + 0.9278844f, -1.3969556f, 0.84774154f, -2.444841f, + -0.091070555f, -2.603667f, 0.3761728f, 7.606547f, + -0.33816537f, 0.19841924f, -0.41852197f, 0.42962542f, + -1.7426646f, 0.80124855f, 0.6179469f, 0.62130433f, + -0.9219821f, 6.472293f, 4.558964f, -1.6759437f, + -0.9349778f, 0.33162814f, -3.5089884f, -2.304115f, + 2.0977242f, -0.81631994f, -3.4775565f, 0.22755583f, + 0.55033123f, -1.2082682f, -1.3737621f, 5.7381587f, + -1.2874542f, 7.5302024f, -0.26987734f, -1.7709676f, + -1.3393884f, 0.41659424f, 0.91181755f, -2.4823523f, + -4.726355f, -3.9462419f, 4.5797706f, 2.231614f, + -0.21272695f, -0.6071537f, -3.1969872f, 0.11386541f, + 0.43461284f, 2.4327812f, -3.2700272f, 0.11031984f, + -1.886708f, -1.5895752f, 1.0891662f, -0.1972963f, + -2.7681046f, 1.3309795f, -2.4369628f, -1.0575382f, + 0.6796156f, -0.17277111f, -0.15233439f, -1.4807302f, + 0.24751456f, -2.5830517f, 2.9050612f, -0.028462779f, + -0.14801787f, -2.3124244f, 1.8340447f, -1.3047233f, + -0.4266637f, -2.182621f, -1.4125471f, -3.9194782f, + -0.021604473f, -0.21874578f, -0.5445973f, -0.080094986f, + -0.399418f, -0.02392249f, -0.24972425f, -0.4721212f, + -0.085990414f, 0.6785231f, -0.2840741f, -0.26309028f, + -0.24430272f, -0.27295628f, -0.28752077f, -0.38776258f, + 0.75253856f, -0.15038326f, -0.052184f, 0.769763f, + 0.29379177f, -0.25637004f, 1.1434729f, 0.17955464f, + -0.41866323f, 0.1314276f, 0.16519034f, -0.02531221f, + 0.028396102f, 0.022699457f, -0.036944017f, -0.11141576f, + -0.15821752f, -0.0021184522f, -0.089033104f, 0.031006882f, + 0.40385783f, -0.17615126f, -0.5960328f, 0.27880055f, + -0.366448f, -0.0871859f, 0.09567977f, 1.4739381f, + 0.85210514f, -0.19013385f, 0.25014684f, 0.29895732f, + 0.73606306f, 0.21224989f, 0.27583215f, -0.17706157f, + -0.11267108f, 0.1535531f, 0.23554017f, -0.12448216f, + -0.16318452f, -0.24784334f, -0.26901543f, -0.3513373f, + -0.103869185f, 1.0244842f, -0.05652998f, -0.055757497f, + -0.50525767f, -0.43678963f, -0.19100308f, -0.34598666f, + -0.4765931f, 0.17689952f, -0.32168776f, 0.077399276f, + 0.056532126f, 0.1339527f, -0.17722127f, -0.32881388f, + 0.061036408f, 0.31383362f, -0.13945404f, 0.066857524f, + -0.086943224f, 0.21085489f, 0.028129932f, -0.016187288f, + 0.6317473f, 0.20802714f, -0.44119355f, 0.5939548f, + -0.41528854f, -0.2910421f, -0.28649506f, -0.18657205f, + -0.24638273f, 0.2869094f, -0.2565089f, 0.52948374f, + -0.42578813f, -0.15967949f, 0.3393653f, -0.25811613f, + -0.36954427f, -0.1699381f, -0.11172593f, -0.45919457f, + -0.16915442f, -0.36356342f, 0.36556304f, -0.20634206f, + 0.0013483386f, 0.6559224f, 0.5954273f, -0.043030556f, + -0.040855613f, -0.043355256f, 0.69099647f, -0.0861944f, + -0.04397181f, -0.09590073f, 0.46372288f, -0.05685021f, + -0.060775682f, -0.07465221f, -0.30911782f, -0.076909535f, + -0.058542404f, -0.073255405f, -0.07499335f, 1.3375994f, + -0.085460156f, -0.11142948f, -0.07417113f, -0.17166245f, + -0.06965331f, -0.080698736f, -0.04696198f, -0.30537727f, + -0.07281143f, -0.04319762f, -0.14492385f, 0.012259152f, + -0.06119066f, -0.18869506f, -0.118794635f, -0.04700955f, + 0.73677856f, -0.13900182f, -0.027772538f, -0.03658812f, + 0.44120154f, -0.03817648f, -0.32821894f, -0.024237731f, + -0.17674342f, -0.15320285f, -0.06626018f, -0.09689588f, + -0.0033688452f, -0.106582984f, 1.2320218f, -0.038242117f, + -0.072363354f, -0.072158426f, -0.082239926f, -0.02381895f, + 0.014599029f, -0.043257624f, -0.024809333f, -0.048081208f, + -0.07489059f, 0.71166295f, 0.41147915f, -0.019741314f, + -0.04164276f, -0.10881466f, -0.08162738f, -0.028775131f, + -0.0022553597f, -0.016944874f, -0.026089387f, -0.041787427f, + -0.026026888f, -0.052143093f, 0.038326025f, -0.0680127f, + -0.068928316f, -0.06942738f, -0.17909352f, 0.026487391f, + -0.064849004f, -0.30803254f, 0.06636305f, -0.048310824f, + -0.090871185f, 0.3343948f, -0.14109924f, -0.07077531f, + -0.018946331f, -0.048319288f, -0.06156078f, -0.08313412f, + -0.06565459f, -0.00059745787f, -0.04582683f, -0.073381186f, + 0.6949801f, -0.26241383f, 0.32847652f, -0.095710285f, + -0.104701705f, -0.072139084f, -0.04013684f, -0.1147423f, + -0.07495047f, -0.06857431f, -0.086990274f, -0.07002961f, + -0.027244298f, -0.018977445f, 0.06346441f, -0.16380443f, + 0.098154396f, 0.13397996f, 0.093210004f, -0.15188697f, + -0.17419443f, -0.52437705f, 0.95690036f, 0.3272007f, + -0.17880972f, 0.14872235f, 0.23977265f, 0.044290714f, + -0.2996216f, 0.1722113f, -0.25309166f, -0.13567126f, + 1.2431539f, -0.14075789f, -0.2910195f, -0.31969365f, + -0.04481161f, -0.30662373f, -0.27739096f, 0.41634306f, + -0.56653374f, -0.29258472f, 0.26386628f, -0.1905988f, + -0.1506832f, -0.13451315f, -0.17401992f, 0.17389823f, + -0.055538002f, 0.39749908f, 0.11512798f, -0.15357864f, + -0.21393579f, 0.09543668f, -0.04977111f, -0.11259978f, + 0.08914388f, -0.76914316f, -0.015345324f, 1.0750146f, + -0.36840314f, -0.123286776f, -0.15853597f, 0.71138835f, + -0.20089245f, -0.44904256f, -0.30639288f, -0.4575384f, + -0.30133826f, 0.72904754f, -0.10422764f, -0.20554397f, + 0.96745145f, -0.40602523f, -0.12360836f, 1.2919941f, + 1.2393206f, 0.08263727f, -0.43068543f, 0.8293988f, + 0.1552003f, 1.1948608f, 0.2582932f, 0.6150054f, + -0.15338397f, -0.23166977f, -0.36111012f, -0.36022413f, + -0.21158406f, -0.22998472f, -0.23097205f, -0.00063695805f, + 0.41777387f, -0.16149028f, -0.2845907f, 1.580618f, + -0.29985735f, -0.49509433f, 0.12458877f, -0.38226032f, + -0.26209164f, -0.056077957f, 0.7182428f, -0.28809524f, + -0.40339407f, -0.20477541f, 0.044111077f, -0.08072533f, + -0.43396217f, -0.0876826f, -0.54051775f, 0.3221258f, + -0.20357272f, 0.319258f, 0.019490348f, -0.142399f, + -0.46692273f, -0.44483334f, -0.35169676f, -0.23840936f, + -0.42538533f, -0.07345452f, 0.23768015f, 0.13487348f, + -0.3496262f, -1.4163631f, 2.1090786f, -1.0601047f, + 0.87989163f, -0.81826746f, -1.0057493f, -0.093946904f, + 0.6694673f, 0.63598776f, -2.0222082f, -0.321465f, + 0.32966283f, -0.61785626f, -0.21369423f, -0.15369979f, + -0.61839265f, -0.99945056f, -0.2922375f, -0.98332095f, + -0.98262864f, 0.935124f, 0.93269134f, -0.4607865f, + -0.18850096f, -0.2399803f, 0.04408756f, -1.5683246f, + 0.9324286f, -1.7013559f, -1.6967642f, -0.45271593f, + 0.56541157f, -0.00820597f, 0.9196751f, -0.93278056f, + 0.93905413f, -0.07815178f, 0.048115637f, 3.7262414f, + 4.959271f, -1.72892f, 0.547625f, 0.6540449f, + 0.8012197f, -0.678316f, -0.50359493f, 0.4762272f, + 1.6458333f, -0.300769f, -1.0551964f, 0.05437001f, + 1.3893167f, 0.30159402f, -1.1015186f, -1.4051142f, + -0.8151909f, -0.43010253f, -0.939897f, -0.48863295f, + 0.041247074f, -0.34316355f, -0.4267096f, 4.255318f, + -1.0146745f, 0.07528014f, -1.0783662f, -0.56059384f, + -0.8936682f, 0.8443006f, 0.9047391f, -0.74745613f, + -0.8400601f, 1.285876f, -0.8336623f, -1.2308185f, + 1.7965453f, -0.2087574f, 0.06923234f, 0.81520766f, + 0.599484f, -0.94943595f, 1.555195f, 0.17118247f, + 1.5018576f, -1.6774395f, 0.926328f, -0.3977151f, + -0.39695293f, -0.81466746f, 0.030553397f, -0.17638284f, + -0.36931592f, -0.66065615f, 0.85012025f, 0.54283535f, + -0.17976667f, -1.0593966f, 0.44267696f, 0.4066066f, + -0.17736535f, -0.42112502f, -0.0726795f, -0.99410427f, + 2.7895443f, 0.45812353f, -0.024932958f, -1.573182f, + 0.34525457f, 1.2986095f, -0.23432322f, -0.3226443f, + -0.23734103f, 0.8379689f, -0.33693078f, -0.20473304f, + 1.4488261f, 0.104681574f, -0.07161999f, -0.1613122f, + -0.453959f, -0.2141037f, -0.053636808f, -0.33769906f, + -0.23026857f, -0.3752652f, 1.1139752f, -0.21080194f, + -0.07023501f, -0.40930623f, 0.26689154f, -0.1422906f, + -0.11136127f, -0.21603152f, -0.38796672f, 0.18313578f, + -0.11299865f, -0.14909612f, 0.04607653f, 0.034207445f, + -0.22004928f, 1.6327896f, -0.13438256f, 0.61254674f, + -0.06726384f, 0.018001188f, -0.17025548f, 0.94602746f, + 0.010040466f, -0.26268902f, -0.087147646f, -0.16452388f, + -0.18006596f, -0.27015963f, -0.47702226f, 0.0828887f, + -0.1267261f, 0.565344f, -0.21524581f, -0.3210431f, + 0.10992644f, 0.037535578f, -0.30666986f, 0.14874998f, + 0.045704547f, -0.01299553f, -0.19652563f, -0.27444628f, + 1.3492163f, -0.09736664f, 0.082850546f, -0.07190945f, + -0.16931564f, -0.1448025f, -0.10723879f, -0.11337835f, + -0.020834f, 1.2494979f, -0.008183859f, -0.25203055f, + -0.2553563f, -0.23875096f, 0.18407705f, -0.5477307f, + -0.06166429f, -0.23856182f, 1.5334507f, -0.070313744f, + -0.38667405f, -0.2023646f, 0.26243478f, -0.20790009f, + 0.9354315f, -0.4022652f, -0.2863819f, -0.035849378f, + -0.25953665f, -0.14714935f, 1.1140316f, -0.32195538f, + -0.24743539f, -0.25662875f, 0.047025893f, -0.49023545f, + -0.17139858f, -0.16458258f, -0.5577741f, 0.25742745f, + 0.42723936f, -0.36024547f, -0.36859244f, -0.24261265f, + -0.42162463f, 0.41941366f, -0.12314933f, -0.053309545f, + -0.14429626f, 0.7992471f, -0.12091434f, -0.10655437f, + -0.1377751f, -0.07431122f, 0.1498292f, -0.12206556f, + -0.22405066f, -0.19175658f, 0.005621554f, -0.07315084f, + -0.09818621f, -0.09205117f, 1.0709935f, -0.05786682f, + -0.045445565f, -0.089465395f, -0.084345125f, 0.34180662f, + -0.11767075f, -0.15166672f, -0.104586646f, 0.9616489f, + -0.16767354f, -0.13914394f, -0.2076902f, 1.1865098f, + -0.3562195f, -0.062776774f, -0.14982904f, -0.07624143f, + -0.08934266f, -0.16463436f, -0.1746892f, -0.14732707f, + 0.5848878f, -0.24476591f, -0.06721479f, -0.17480643f, + 0.4239139f, -0.12058381f, -0.11714428f, -0.11160952f, + -0.24330293f, 0.018205814f, -0.05927082f, -0.19630623f, + -0.063635625f, -0.21734393f, 0.8644332f, -0.060927253f, + -0.122341655f, -0.09738659f, -0.14869206f, -0.06326119f, + -0.006409125f, -0.004031961f, -0.096534714f, -0.068707675f, + -0.11520502f, -0.1803806f, 1.1239697f, -0.07726639f, + -0.05882626f, -0.15065436f, -0.0909295f, -0.08762611f, + -0.087679915f, -0.08848537f, -0.068917476f, -0.04835329f, + -0.06605867f, -0.0829682f, 0.018007524f, -0.12992078f, + -0.07821812f, -0.08361824f, -0.27552268f, -0.16343103f, + -0.008475716f, 1.0485393f, 0.6088237f, -0.087580115f, + -0.052297413f, 0.3913713f, -0.14166336f, -0.026734518f, + 0.4276865f, -0.089126244f, -0.065909415f, -0.23573169f, + -0.09994381f, -0.017818496f, -0.0732983f, -0.053056657f, + 0.63465637f, -0.19448687f, -0.092440724f, -0.13219067f, + -0.072045006f, -0.0086378865f, -0.12187769f, -0.10748507f, + -0.14040041f, -0.09100955f, -0.14713201f, -0.19572218f, + -0.057189338f, -0.10828741f, 0.5992207f, -0.3014566f, + -0.37196195f, -0.46802777f, -0.74665266f, 0.88256264f, + -0.30485776f, 0.34106046f, 1.2330216f, 0.4149317f, + -0.017046237f, -0.15210728f, -0.49216056f, -0.06008579f, + -0.24185337f, -0.4021089f, 0.15116148f, 1.0208654f, + 0.9524529f, -0.23149718f, -0.2836259f, -0.2940894f, + 0.36748427f, -0.06619639f, -0.24664938f, -0.47964516f, + -0.3184792f, 0.21491088f, -0.14817631f, -0.21117248f, + 0.36198023f, 0.23542562f, 0.086537f, 1.3007596f, + 0.29467008f, 0.11971072f, 0.51229846f, 0.06691215f, + -0.25013858f, 0.50997996f, -0.17801264f, 0.36199176f, + 0.3364647f, 0.21780315f, -0.20758857f, -0.2665953f, + -0.37273487f, -0.35300103f, -0.09980935f, 0.50883406f, + -0.10576248f, -0.50924385f, 0.025370909f, 0.059301548f, + -0.518361f, 0.286068f, -0.27919936f, -0.2926577f, + -0.03523629f, -0.048985858f, 1.1525463f, -0.053280212f, + 0.08426257f, -0.4681139f, -0.48221758f, -0.31242675f, + 0.12235712f, -0.06714449f, -0.1888631f, 1.3384446f, + -0.2736398f, -0.42460704f, -0.05230771f, -0.3551564f, + -0.036852792f, -0.2488434f, -0.40960613f, -0.10280948f, + 0.8573936f, 0.18347634f, -0.30381718f, -0.23996325f, + -0.13794987f, -0.15939985f, 0.6874648f, -0.30233064f, + -0.37214094f, -0.010740588f, -0.2471081f, -0.086446315f, + 0.93504065f, -0.4468216f, 0.6849216f, -0.42876047f, + 0.04570991f, -0.4698483f, -0.160407f, -0.07750239f, + -0.18194287f, -0.1297124f, 0.36373878f, -0.24797405f, + -0.6020235f, 0.32051507f, -0.49431667f, -0.40697387f, + -0.16121222f, -0.07821748f, 0.11935984f, 1.0427276f, + -0.5235174f, -0.024079535f, -0.25093082f, 0.009732045f, + 0.03619203f, -0.19068156f, -0.5395434f, -0.1681003f, + 0.3086054f, 0.010197822f, -0.19316912f, -0.100101985f, + 0.39090133f, -0.78674746f, -1.2288977f, 0.44164088f, + -0.49684575f, 0.2015345f, -0.32611448f, -0.11352833f, + -0.32294694f, 0.3820172f, -0.6439946f, -0.40717143f, + -0.31545046f, 0.88618165f, -0.04997423f, 1.9144874f, + -0.13525833f, 0.075452685f, 0.107292466f, -0.23098063f, + -0.010409044f, -0.08988294f, 0.38426363f, -0.27158734f, + 0.8324293f, -0.017331103f, 0.35478234f, -0.37975922f, + -0.51174885f, -0.035101686f, 0.28563586f, 0.22978106f, + 0.26267412f, -0.15397605f, -0.06391036f, -0.14409362f, + 1.2248772f, -0.6432569f, 0.92564857f, -0.35690898f, + -0.8616214f, 0.30989486f, 0.6635455f, -0.9524541f, + 0.19268464f, -0.42881483f, -0.83281976f, -0.13524516f, + 0.8020838f, 0.1269911f, -0.20142554f, -0.41543543f, + 0.031825703f, -0.25853583f, -0.3533632f, 0.36253294f, + 0.42302144f, 0.20300195f, -0.5299035f, 0.76761246f, + 1.6167742f, -0.789332f, -0.83892006f, -0.41180214f, + -0.5724753f, 0.12210439f, 0.32860038f, 0.45697537f, + 0.7678344f, 0.37304366f, -0.46929714f, 0.0656309f, + -0.39290962f, -0.84019345f, 0.51806146f, -0.1289343f, + 0.084747024f, -0.20135167f, -0.055603012f, -0.7209466f, + -0.20356007f, -0.87462074f, 0.2982724f, -0.41739586f, + 0.23715672f, 1.4021106f, 0.6902209f, -0.4505435f, + -0.110736296f, -0.11626132f, -0.35480046f, 0.4694372f, + -0.796762f, 1.5864918f, 0.7747323f, -0.0315684f, + -0.15344979f, 0.16401765f, -0.10873585f, -0.1036058f, + -0.080569446f, 0.8279817f, -0.036646344f, -0.15174277f, + 0.042866774f, 0.7661282f, -0.042268362f, -0.078590654f, + -0.0531081f, -0.22457376f, -0.0452906f, -0.027749263f, + -0.0434221f, -0.08548918f, 0.91222936f, -0.09499076f, + -0.09701237f, -0.06154282f, -0.26103088f, 0.044343784f, + -0.044611588f, -0.1132723f, -0.26598632f, -0.35603955f, + -0.08881648f, -0.059066482f, -0.10014606f, -0.13243273f, + 0.317566f, 0.36575422f, -0.05870719f, 0.35622326f, + -0.21586874f, -0.10182897f, -0.080440275f, -0.2360619f, + -0.054861072f, -0.1904108f, -0.04335062f, -0.21349293f, + -0.30332047f, -0.098769695f, -0.25126013f, 0.008817065f, + -0.28783715f, 0.9053309f, -0.029124094f, -0.17651589f, + -0.12714618f, -0.07312992f, -0.08112163f, -0.036334127f, + -0.03322529f, -0.067229755f, -0.051948212f, -0.09723294f, + 0.40758166f, 0.28813547f, -0.076245405f, -0.016349306f, + -0.10304382f, -0.11355779f, -0.094903246f, -0.13087608f, + -0.05184694f, 0.13613574f, -0.036705498f, -0.02728073f, + -0.063594624f, -0.08160189f, -0.06939752f, -0.09193871f, + -0.030884804f, -0.055295445f, -0.26133698f, -0.04992433f, + -0.23441511f, 0.5311594f, -0.07644633f, -0.097639926f, + -0.045968566f, -0.033497002f, -0.03192958f, -0.18582818f, + -0.09367896f, -0.053400468f, 0.43033254f, -0.113506354f, + -0.0043429257f, -0.059262555f, -0.0576214f, 1.1180391f, + -0.14785902f, 1.0766019f, -0.29717588f, -0.03683365f, + -0.062560394f, 0.86480165f, -0.08277735f, -0.09927048f, + -0.05956859f, -0.17850037f, -0.10280509f, -0.059278034f, + -0.082146145f, 0.084875844f, -0.15937914f, -0.059800792f, + -0.09177154f, -0.082309075f, 0.32806838f, -0.09507484f, + -0.08449841f, -0.009536183f, 0.012745848f, -0.08303054f, + -0.06968296f, -0.07903274f, 0.4340802f, -0.0599457f, + -0.0668841f, -0.07061916f, -0.04168026f, 0.018207926f, + -0.11530055f, -0.09764417f, -0.10717339f, 0.28742057f, + -0.082518406f, -0.11359775f, -0.09635683f, 0.53395766f, + 0.01955221f, -0.055599324f, -0.040749483f, -0.010435031f, + -0.045928393f, 0.025122857f, -0.02369869f, -0.0706488f, + 0.33239415f, -0.109380804f, -0.037935987f, -0.090020284f, + 0.945929f, -0.05849789f, -0.2002414f, -0.0636184f, + -0.21749954f, -0.05267842f, -0.053313617f, -0.058381185f, + -0.055296123f, 0.110214755f, 0.021074608f, -0.050749604f, + -0.13374032f, -0.045997076f, -0.09294681f, -0.029001005f, + -0.05196487f, -0.021968914f, -0.06622613f, -0.08034149f, + -0.061808217f, 0.7418964f, 0.039002568f, -0.021638718f, + -0.05703948f, -0.115225025f, -0.09472714f, -0.028385183f, + -0.028626865f, -0.05509256f, 0.027896237f, -0.10585836f, + -0.05352996f, -0.06823693f, -0.09035105f, -0.05681995f, + -0.02287815f, -0.071338855f, -0.16888024f, -0.011591807f, + -0.042992517f, 0.2818652f, -0.044841617f, -0.02081284f, + -0.10087115f, 0.9268934f, -0.15223986f, -0.085207015f, + -0.090712786f, -0.10064631f, -0.06946227f, 0.015392107f, + -0.06680117f, -0.09589479f, -0.009233919f, -0.04523364f, + 0.43634182f, -0.15885802f, 0.02889221f, -0.07610303f, + -0.0482863f, 0.0784286f, 0.09344511f, -0.06269076f, + -0.06605838f, -0.065772414f, -0.06723921f, -0.0100588165f, + -0.045806125f, -0.08183508f, 0.39480808f, -0.07869994f, + -1.1326522f, -1.92271f, -1.8024542f, -0.31231052f, + 0.17289022f, -1.2156676f, -0.96961933f, -0.29576904f, + -2.7108932f, -3.2664897f, -2.3284986f, 1.5483862f, + -1.3943373f, 6.931444f, -1.1560041f, -0.08874233f, + 0.8209577f, -0.8122962f, 1.5697749f, 1.2443657f, + 0.45456377f, -0.69560957f, -3.9789448f, 2.7349322f, + -0.83211f, -0.26521277f, 2.9534667f, -0.2835687f, + 5.2664614f, 5.5390725f, 0.09664031f, -0.6134988f, + -2.3272367f, 0.1818881f, -1.3130448f, -1.2984147f, + -1.7431798f, 1.1070229f, -0.3654684f, -0.7758429f, + -1.0624274f, -0.5708364f, -0.25875086f, 2.0180275f, + -2.0100815f, -1.756065f, 0.12656662f, 0.46135908f, + -1.3836097f, -2.6253777f, 0.043934405f, -1.3589953f, + -1.2777644f, -2.3875663f, -1.4222138f, 2.2712739f, + 1.0293254f, -0.6412017f, 0.4061253f, 0.50554526f, + -0.44288573f, 0.16181485f, -2.141078f, -1.0163494f, + -0.9750269f, 2.8272195f, 5.0521717f, 1.204332f, + 2.6761365f, -3.0788834f, 3.0376716f, -1.4323355f, + -0.9471735f, 2.5680904f, 3.6516223f, -0.12471782f, + 0.95176613f, 0.43099174f, -0.9280608f, -0.17760077f, + 0.36666948f, -1.689902f, -0.3950663f, -1.6516852f, + 4.0772653f, 0.30785787f, 2.169132f, -1.9250263f, + 0.17029326f, -0.5810375f, -4.037572f, 4.0786285f, + 3.1603305f, -0.08061267f, -1.2112786f, -0.10018094f, + 3.2529263f, -0.42034623f, -2.8122659f, -0.005545627f, + -1.4450713f, -1.6017598f, 1.1488465f, -1.7681971f, + -0.93034357f, 3.6096225f, -0.5120243f, -0.057421397f, + 0.761712f, -0.19513537f, -0.17139535f, -0.23840521f, + 0.14121602f, -0.17499934f, -0.43336675f, -0.17146918f, + -0.09318297f, 0.040055476f, -0.29925472f, -0.23632099f, + 1.498797f, -0.26691633f, -0.109305896f, -0.08270584f, + -0.215347f, -0.08804351f, -0.35849553f, -0.15202387f, + -0.24172285f, 0.90383846f, -0.20498383f, -0.29070413f, + -0.27814066f, 1.6989839f, 0.0732146f, -0.14400315f, + 0.11601759f, -0.1826766f, -0.2511705f, -0.14447701f, + -0.19002342f, -0.3018704f, 0.4985808f, -0.26109335f, + -0.10652302f, 0.18352129f, 0.11172793f, 0.4342268f, + 1.0637351f, -0.4040867f, -0.2419523f, -0.11116487f, + -0.1933341f, 0.02688354f, -0.13567436f, 0.08875418f, + 0.6782351f, -0.24844933f, -0.014514352f, -0.02153232f, + -0.17715721f, -0.05435819f, -0.0019951537f, -0.18420163f, + -0.07375348f, -0.21525289f, -0.10208302f, -0.25381324f, + 0.41405654f, -0.21931309f, -0.11570851f, 0.09167857f, + -0.19043377f, -0.36102542f, -0.20647883f, -0.0834061f, + -0.089167f, 0.13486883f, 0.009214479f, -0.054857884f, + -0.21725932f, -0.06339946f, -0.27532715f, -0.16594023f, + 0.29381916f, -0.20200467f, -0.10423895f, 1.4783708f, + 0.6498721f, -0.16968943f, 0.08168405f, 0.07944013f, + 0.18073247f, -0.07817148f, 0.9807704f, -0.21374887f, + -0.15486321f, -0.24512543f, 0.028625542f, -0.192715f, + -0.14237987f, -0.10080641f, 0.25691855f, 0.41121715f, + 0.025481546f, -0.21043488f, -0.06353534f, -0.06409209f, + 0.19213697f, -0.14720853f, -0.34763354f, -0.27664006f, + 0.33483857f, -0.014282831f, -0.15903743f, 0.04411944f, + 0.44842374f, -0.43741733f, 0.16575342f, -0.41932365f, + 2.9586134f, -0.23865263f, 1.3018605f, -0.867943f, + 0.46999463f, 0.3188575f, -0.3116299f, 0.6853578f, + -0.02860385f, 0.16674817f, -2.317509f, -1.5751435f, + 0.09935584f, -0.9743408f, 0.43221962f, 1.2829081f, + -0.165302f, 0.2007603f, 0.35850155f, -0.42892396f, + -2.3981133f, 1.5496103f, 1.3231186f, 0.3294053f, + 3.4479222f, 0.10383228f, -0.48469332f, -0.19594112f, + 0.25758466f, 0.03224479f, 1.2300776f, -0.20902883f, + 0.84263754f, 3.443299f, -0.5071586f, -0.08566997f, + -1.0368904f, -0.79072464f, 3.0770605f, 1.0845158f, + 0.4203608f, -0.37539622f, -0.3435165f, -0.10189978f, + 0.020602822f, -0.1949287f, 2.0554686f, -0.113777645f, + -1.7495492f, -0.6259046f, -1.1197841f, 0.78266686f, + -0.6983109f, -0.57198405f, 0.9311513f, -0.541812f, + -0.13735686f, 0.43444443f, 0.03794291f, -1.4870057f, + -1.9552104f, 2.3473167f, 0.27683142f, 1.071447f, + -0.7408096f, 0.39245358f, 0.52969265f, -0.17388238f, + -0.4609671f, -1.7234824f, -1.321333f, -0.48867926f, + 0.89663196f, 1.2376497f, -0.32886058f, 0.15988548f, + -0.9021836f, 0.29779974f, 1.0245061f, -1.1200298f, + -0.19698389f, 0.38277778f, -2.6267688f, 0.48388746f, + -0.78307635f, -0.7103735f, 0.2144078f, 0.025013251f, + 1.4868823f, 0.5713356f, -1.7901824f, -0.018173931f, + -1.2423793f, 0.63449526f, 0.3540982f, 0.045088716f, + -0.874824f, -0.12391579f, -1.8264902f, 0.116435066f, + 0.7882354f, -1.8179978f, -1.2865481f, 0.2479189f, + -0.7021129f, -0.2582422f, 1.1402391f, -0.08778791f, + -0.22024935f, -0.04131864f, -0.018024303f, -0.05161924f, + -0.103413396f, -0.19421555f, 1.0130792f, -0.028521206f, + -0.11042733f, -0.12956169f, 0.49750948f, -0.1012928f, + -0.14139709f, -0.15235783f, -0.20530386f, -0.05947958f, + -0.037330195f, -0.12741415f, -0.13265459f, 0.66760296f, + -0.17255488f, -0.10345657f, -0.19209823f, 0.51553833f, + 0.6640762f, -0.07001908f, 0.31629562f, -0.010990693f, + -0.019421699f, -0.1729626f, -0.24572353f, -0.19266187f, + -0.2629248f, -0.21725965f, 0.024483519f, -0.013650228f, + -0.15478122f, -0.23296005f, -0.17856716f, -0.09130613f, + -0.41498265f, 1.1314006f, -0.03010942f, -0.17255512f, + -0.08416659f, 0.7299083f, 0.21118408f, -0.10488189f, + -0.018910222f, -0.09963583f, -0.13831028f, -0.09206149f, + 0.21270016f, -0.048035633f, -0.06182452f, -0.08524242f, + -0.13993247f, -0.082584694f, 0.541634f, 0.06736175f, + -0.06646017f, -0.21383496f, -0.0146539295f, -0.13064805f, + -0.05107058f, -0.038083404f, -0.06917374f, -0.004713674f, + -0.1599584f, -0.048119403f, -0.03808956f, -0.088658445f, + -0.15652151f, -0.11453644f, -0.3654242f, -0.079561755f, + -0.092842415f, 0.44112912f, 0.6332853f, 0.0016175469f, + -0.067502744f, -0.089069024f, -0.090124756f, -0.08081974f, + 1.600004f, -0.01609524f, -0.0564043f, -0.21683833f, + -0.037718967f, -0.052270852f, -0.07480935f, -0.052255668f, + -0.051465802f, -0.13248068f, -0.13430703f, -0.16481401f, + 0.024308866f, 0.0990428f, -0.19927302f, -0.00016093631f, + -0.18076722f, -0.0990595f, -0.20367602f, 0.020736815f, + 0.04299969f, -0.020918472f, 0.3858811f, -0.23562846f, + 0.93877983f, -1.6898617f, -2.1202464f, -0.09513914f, + 0.31243795f, -1.0650842f, 0.74318403f, -0.25383857f, + -1.1675135f, 7.300824f, 1.0616609f, 0.058234952f, + -2.54347f, -0.18986428f, 1.1274393f, 4.685074f, + 0.50034595f, -1.418629f, 1.5416602f, 1.0516078f, + 0.7336826f, 1.0045049f, -0.38905635f, -1.5097184f, + 0.40477982f, 0.09459551f, 1.256005f, -0.28644568f, + 0.46566322f, 0.19961897f, 0.3197087f, -0.6657925f, + 3.8278527f, 0.35972896f, 1.1050547f, -0.28973272f, + -1.3285891f, 1.2307599f, -1.4737246f, 1.9728298f, + 4.1128306f, 0.65008986f, 0.08982111f, -2.0696495f, + 1.2475315f, -2.7543423f, 0.55621886f, -0.41845766f, + 0.37313443f, -0.32622543f, -2.5820067f, 0.021937082f, + -1.2087622f, 1.6202984f, -1.3026087f, -1.5341401f, + -0.44062886f, -2.1065094f, -0.037094787f, 0.6114546f, + -1.5140557f, -2.8404968f, -2.1646543f, 2.0230033f, + 3.3797047f, 0.05467345f, -0.9658402f, 1.1832929f, + -1.6903812f, -1.4993231f, 0.3692876f, -2.8041844f, + -0.12512992f, -1.4269731f, 1.8363916f, 2.263533f, + -1.3687755f, -1.9299107f, -0.20674872f, 0.24643916f, + 4.8004355f, -0.9700158f, -0.45131883f, -1.242062f, + 0.0425447f, 0.7819957f, 0.09632986f, -1.48075f, + 0.52672476f, -3.1744156f, -1.1854855f, -1.7386541f, + 1.6188182f, 0.54169476f, 2.7533092f, 0.14497522f, + -0.06392406f, -2.9349203f, -1.049658f, -0.0634909f, + 0.65975684f, -0.98365533f, 1.9927137f, -1.1720389f, + -0.081166916f, -0.46135992f, 1.0082024f, 0.18070975f, + -1.2238231f, -0.26825908f, -0.4103043f, -0.33882308f, + -0.34985176f, -0.29669967f, -0.22279394f, -0.28123924f, + 0.6671638f, -0.11514206f, -0.27975145f, -0.4150369f, + -0.2540752f, 0.13301997f, -0.3194665f, -0.35967824f, + -0.41183138f, 0.9157113f, -0.105489746f, 0.21173753f, + -0.43932697f, 1.1439438f, 0.7745788f, -0.15194161f, + -0.3121807f, -0.45969746f, -0.13370675f, -0.34293264f, + -0.20683599f, -0.06646297f, -0.10224704f, -0.1022459f, + 0.058967706f, -0.18284437f, 0.10941016f, 1.0455753f, + -0.020613164f, -0.25940505f, 0.18878044f, -0.35805333f, + -0.3097461f, -0.113988355f, 0.827879f, 0.8650434f, + 0.8643596f, -0.35241684f, -0.07311047f, -0.13821322f, + 0.68773776f, -0.24139008f, -0.28388044f, -0.22884221f, + -0.23334932f, -0.015387671f, 0.4838098f, -0.15342402f, + -0.09032152f, -0.23518074f, -0.14732164f, -0.111274324f, + 1.2610352f, 1.1540552f, -0.10493925f, -0.41553462f, + 1.2091055f, -0.09651995f, 0.8470594f, -0.31660372f, + 0.019507615f, -0.0783029f, -0.24000175f, -0.2118718f, + -0.21544969f, -0.39112946f, -0.17120777f, 0.16673066f, + -0.5141272f, -0.4299567f, -0.093242206f, -0.39996815f, + 0.9046487f, -0.38017142f, -0.2726966f, 0.59585214f, + -0.3307999f, -0.34827638f, 0.91831696f, 0.5085791f, + 0.23297445f, -0.3900022f, -0.28783593f, -0.13488363f, + -0.22864364f, -0.1367288f, 0.66957706f, -0.15389936f, + -0.22802603f, 0.54003537f, -0.06979376f, 0.39024544f, + -0.16524798f, -0.063739106f, -0.059955038f, -0.3399116f, + -0.29514486f, -0.18733886f, -0.14622036f, -0.35339504f, + 0.30339843f, -0.14703073f, -0.17664053f, -0.19383244f, + -0.109832935f, -0.090426825f, -0.565548f, -0.42885435f, + -0.15886661f, 0.57897264f, -0.7537268f, -0.19474971f, + -0.7665776f, -0.31856066f, -0.7666842f, -0.4466032f, + -1.0439634f, -0.15060535f, -0.60091066f, 0.03303638f, + 2.1505315f, 0.422693f, 1.6756526f, 1.7247988f, + -0.48333415f, 1.4884597f, -0.35117838f, -0.053957157f, + -0.69615257f, 0.1412726f, -0.2739019f, -0.22469373f, + 0.6595408f, -0.4156334f, 1.4350772f, 0.19091578f, + 1.060779f, -0.5558242f, -1.1285672f, 1.424887f, + -0.8050098f, -0.012943955f, -0.65940845f, 2.118391f, + 1.6131907f, -0.9686684f, 0.6072122f, -0.52189845f, + 2.260655f, -0.3908547f, -0.47017968f, -0.98729265f, + -0.119957f, -0.26468754f, 0.82379645f, -0.39526778f, + 0.58856875f, -0.48428845f, -0.9901037f, -0.47774553f, + -0.16149247f, 1.3084915f, -0.32047263f, -0.4643128f, + -0.22465822f, -0.112344414f, 0.12672482f, 0.27311662f, + -0.29577222f, -0.7225504f, -1.1551617f, -0.66849095f, + -0.09258383f, 0.7436432f, 0.49868482f, -0.18708487f, + -0.67700255f, 0.7126372f, 0.08127915f, -0.6624651f, + 0.24215385f, -0.48299658f, 0.14468813f, -0.5903056f, + 0.6505168f, -0.6021134f, -0.5438075f, 0.29151735f, + 0.4113837f, -0.81388617f, -0.08522866f, -0.09702132f, + -0.3502639f, -0.10999098f, -0.079070464f, 1.377031f, + 0.7112482f, -0.6325512f, 0.8358935f, -0.5580531f, + -0.564934f, -0.6945037f, -0.49531394f, -1.1191815f, + -0.89742273f, 0.29002434f, -0.45646602f, -0.2597457f, + 0.9540984f, 1.1956733f, 1.830646f, -0.32866517f, + -0.037243586f, -0.52484095f, 0.06474544f, -0.3031927f, + 0.41346532f, -0.19656233f, 0.012301649f, 0.017278144f, + -0.5867554f, -0.40538305f, 0.59334445f, -0.6430021f, + -0.52424115f, 0.8075793f, -0.2956663f, -0.44438186f, + -0.013013787f, -0.30888706f, -0.44005996f, 0.5043425f, + -0.29905573f, -0.2562749f, 0.8052296f, 0.72647166f, + 0.08365841f, -0.487133f, 0.47816232f, -0.086018115f, + -0.057505496f, -0.16547707f, -0.24954635f, -0.28985578f, + 2.432281f, -0.13636647f, -0.21580343f, 0.6087598f, + -0.12288782f, 0.34719962f, 0.9241715f, -0.5370938f, + -0.0469575f, -0.009528804f, -0.2013813f, 0.43018764f, + -0.36488444f, 0.23076685f, 0.45694432f, -0.21119295f, + -0.08191996f, 0.04489875f, 0.05832469f, 0.049515225f, + -0.41197345f, -0.57195455f, -0.39562592f, -0.53285736f, + -0.08476418f, -0.3927633f, 0.63206077f, -0.14457744f, + -0.53759044f, 0.568121f, -0.49293515f, -0.5062061f, + -0.16328885f, -0.49642217f, -0.20045573f, 0.18855172f, + -0.047709852f, 0.28228867f, -0.1399053f, 0.037158366f, + -0.6247128f, -0.48717964f, 0.66465163f, -0.27335563f, + -0.1819916f, 0.8369322f, 0.46849564f, -0.34340674f, + -0.18619147f, -0.21223937f, 0.770242f, -0.35824996f, + 0.5848968f, -0.32313353f, 0.048985004f, -0.28175363f, + 0.1561818f, -0.30412862f, -0.37446535f, -0.20143946f, + 0.38863748f, 0.6071733f, 0.116461605f, -0.17816712f, + -0.50537777f, -0.41225126f, 0.26110786f, -0.2575009f, + 0.58829945f, -0.49209455f, 0.47206402f, 0.71355766f, + -0.30187455f, 0.8340184f, 0.15004337f, 0.8441394f, + -0.5388964f, -0.65271527f, -0.90491587f, -0.19543234f, + -0.45223835f, -0.62748885f, 0.6630471f, -0.16208999f, + -0.32800114f, -0.22945872f, 0.4099674f, 0.11956817f, + 0.19552554f, -0.45986825f, -0.6778313f, 0.63053507f, + 0.9486214f, -0.5505163f, 1.0168884f, -0.84848404f, + -0.096487f, 1.626748f, -0.4501776f, -1.1556908f, + -0.16344094f, 0.08930772f, -0.5232577f, -0.2537583f, + 0.14321262f, 0.050429814f, 0.44903272f, 0.9177606f, + -0.5046937f, 0.16131811f, 1.9341797f, 0.42702636f, + -0.5344596f, 0.41132492f, -0.12965272f, -0.02324302f, + -0.65569085f, 1.5200096f, 0.16888751f, 2.230085f, + -0.5227585f, -0.42806312f, -0.24649335f, 0.31733087f, + -0.9008309f, -0.6184494f, -0.5984355f, -0.84687984f, + -0.24055105f, -0.46897137f, -0.3339603f, -0.321772f, + -0.13376804f, -0.07351151f, 0.10665898f, 0.1993621f, + 2.2813852f, -0.18833718f, -0.15582836f, 2.0212228f, + 0.14101078f, 1.668164f, -0.48339954f, 0.7736288f, + -0.08926953f, -0.40497687f, -0.58802587f, -0.26457494f, + -0.4919645f, -0.6114556f, -0.4902151f, -0.9853185f, + 0.5156768f, 0.4828003f, -0.15029693f, 0.22822396f, + -0.42796913f, -0.7951039f, 0.5086343f, -0.53630793f, + -0.3167668f, -0.27167553f, 1.7812233f, 0.4675815f, + -0.000807627f, -0.3293155f, -0.38383892f, -0.5291207f, + -0.29876158f, 0.0046018227f, -0.3197427f, -0.1360236f, + 1.7887568f, 0.1302344f, 0.99634326f, -0.110868f, + -0.40209338f, -0.1289955f, -0.24477823f, -0.28985533f, + -0.54254264f, -0.00959388f, -0.22372265f, -0.15414439f, + -0.31456053f, -0.22473413f, -0.32324594f, -0.17152773f, + -0.010694106f, -0.15264979f, -0.36849955f, -0.22951159f, + 0.68939424f, -0.014006473f, -0.33094162f, -0.22052096f, + 1.730836f, -0.19362153f, -0.36438653f, -0.26282284f, + -0.13225086f, -0.038500857f, -0.14350247f, -0.08662109f, + -0.032953557f, -0.11714467f, -0.24647804f, -0.14894883f, + 0.13876314f, 1.7776184f, 1.6311812f, -0.04620414f, + 1.3445445f, -0.07687119f, -0.10860529f, -0.0738506f, + -0.40616235f, -0.018061947f, -0.38844907f, -0.09259112f, + -0.17684457f, -0.35456824f, -0.25574872f, -0.24891816f, + 0.65932274f, -0.17091118f, -0.19259562f, 0.42699754f, + -0.20797896f, -0.28306037f, -0.17001386f, 0.25338304f, + 0.55737776f, -0.17874904f, -0.109964885f, -0.27832824f, + -0.009114884f, -0.053927217f, 0.0094650965f, -0.1342862f, + 0.031220276f, -0.047082655f, 0.005208158f, -0.100168236f, + -0.036391985f, -0.28742838f, -0.0841545f, -0.40818918f, + -0.2826112f, -0.29153448f, -0.15591094f, -0.3406946f, + -0.1906612f, -0.105188884f, -0.10396257f, -0.27631554f, + -0.06475261f, -0.14125912f, -0.26633513f, -0.3779327f, + -0.3551989f, -0.25325844f, -0.086132385f, 1.661512f, + 1.3137137f, -0.101864345f, -0.14601256f, -0.16887006f, + -0.29649442f, -0.070064455f, 1.8108699f, 0.06322216f, + -0.12909648f, -0.30711383f, -0.29654846f, -0.17009047f, + -0.1701908f, -0.054557744f, -0.15158732f, 0.026437696f, + 1.1125377f, -0.22083059f, -0.19369397f, 0.00921229f, + 0.08505037f, -0.012710225f, -0.31741616f, 0.037438508f, + -0.14698128f, -0.18838048f, -0.1218511f, 0.6265398f, + -0.21363966f, -0.41152054f, -0.13732928f, -0.32651034f, + -0.13809071f, -0.12125335f, 0.017778698f, -0.2740679f, + 0.70817614f, 0.7348887f, -0.16027986f, 0.20772205f, + -0.39843926f, -0.27925837f, -0.51471037f, -0.4535445f, + -0.26786646f, -0.14472945f, -0.070457034f, -0.46715057f, + 0.97995675f, -0.1436241f, -0.0913406f, 0.91935086f, + -0.5717511f, -0.28604427f, -0.16812265f, 1.8050696f, + -0.3989845f, 0.79318863f, -0.30027655f, -0.31104657f, + 0.41366202f, 0.5475838f, 0.56002337f, -0.20709644f, + 0.67614895f, -0.4424152f, -0.7435126f, -0.26183423f, + -0.15122603f, 0.085869044f, -0.49301288f, 1.002503f, + 1.0100877f, -0.45700628f, -0.014468892f, -0.20875207f, + 0.48908255f, -0.30845f, -0.28963488f, 0.5157761f, + 0.11921009f, -0.0015334955f, -0.09025386f, -0.07394696f, + 0.18219194f, 0.050843574f, -0.19991301f, -0.24248876f, + -0.078186385f, -0.1778625f, -0.06409071f, -0.20094736f, + -0.19777627f, 0.5576951f, -0.121631764f, -0.015074864f, + -0.048308235f, 0.55814743f, -0.21419913f, -0.4336517f, + -0.16820565f, -0.14809492f, 0.1258602f, -0.38670546f, + -0.21736494f, 0.7463599f, 0.47517756f, -0.25477946f, + -0.17214563f, 0.7686194f, 0.015779128f, -0.5725435f, + -0.275724f, 0.04691544f, -0.25079614f, 0.6301613f, + -0.09543101f, -0.22273959f, 1.2870951f, -0.62280077f, + -0.20458572f, -0.19131567f, -0.124244f, -0.26621556f, + 0.84862715f, 0.7304462f, 0.4058797f, -0.29707813f, + -0.53202486f, -0.4394363f, 0.20019011f, -0.41952488f, + -0.35128796f, 0.37307283f, -0.14819236f, -0.46229452f, + -0.20083304f, -0.16852671f, -0.6318532f, -0.34071004f, + 0.80835855f, -1.1337019f, 0.6812201f, 1.2102109f, + -1.1741934f, -0.21967031f, -0.032193802f, -0.963668f, + -0.976328f, -0.44657323f, 1.0898983f, -0.35385877f, + -0.24356385f, -0.90512794f, -0.7502535f, 0.7692646f, + -1.6943814f, 1.3688967f, -1.3199594f, 0.31668815f, + 1.3132946f, -1.2218748f, -1.1785786f, -0.98413193f, + 0.40892407f, -0.8201537f, -0.18611902f, -0.5278764f, + -0.32265547f, -0.16968027f, 0.70884013f, 0.14415708f, + 0.09835572f, -0.942235f, 0.10699672f, 0.47296727f, + 1.0634974f, 2.0073984f, 0.7425164f, -0.9512889f, + 0.37452433f, 0.36471325f, 0.81406325f, -1.3421866f, + -0.4666948f, 0.0062712235f, 0.75404763f, -1.6863875f, + 2.00201f, 1.6536381f, -1.1594226f, -0.27827665f, + -0.5538258f, -1.8913176f, -0.51333076f, -1.0264671f, + -1.2057621f, 0.06648871f, 0.59697413f, 0.31086308f, + 0.64299005f, 2.424769f, 0.55034614f, 2.7969975f, + -1.569126f, 0.5163261f, -0.10226878f, -0.32004845f, + -0.73082924f, 0.41024676f, -0.43915737f, -0.82381576f, + -0.7691663f, -1.4024571f, 0.2825937f, 0.37103447f, + 0.46214953f, 0.34609106f, 0.86730444f, 0.7233089f, + -0.99955547f, 0.37689602f, 0.042848006f, -1.4534297f, + -0.120819665f, -0.20042296f, 1.04801f, -0.6412162f, + -0.48216724f, -0.85329074f, -0.7296434f, -1.0217127f, + 0.3174752f, -0.9103821f, -0.10708326f, 2.197291f, + 2.168559f, 0.664089f, -0.17062391f, 1.5269588f, + -1.8852652f, 1.9886502f, 0.4591112f, 1.1734504f, + 1.714374f, -0.65599f, 0.13417839f, -0.0916282f, + -0.09753666f, -0.12068632f, -0.03430777f, 0.68308336f, + -0.04995184f, -0.22729816f, -0.18219039f, 0.15557364f, + -0.13177283f, -0.090840556f, -0.13041982f, 0.76121557f, + -0.05193281f, -0.06299091f, -0.1248315f, -0.12250005f, + -0.20058052f, -0.08873647f, -0.22645526f, -0.061955325f, + 0.63442165f, -0.19728692f, -0.039451323f, -0.12111365f, + 0.8247188f, -0.13542046f, -0.06489395f, -0.11634677f, + -0.0784402f, -0.08515961f, 0.50754684f, -0.13613534f, + -0.13327901f, 0.14790943f, -0.25919402f, -0.056892205f, + -0.18820192f, 0.5896002f, -0.15722783f, -0.16052693f, + -0.04524951f, -0.35064572f, -0.020148292f, -0.11199864f, + -0.0953981f, -0.10952142f, 0.8111164f, 0.1850351f, + -0.09287503f, -0.15366359f, -0.08507776f, -0.17750306f, + 0.020713056f, 0.0062553296f, -0.061639395f, -0.11130623f, + -0.11445909f, -0.114571564f, 0.45696732f, 0.4494273f, + -0.14387503f, -0.09665234f, -0.058039535f, -0.18450439f, + -0.030147348f, -0.11509533f, -0.13691035f, -0.035329726f, + -0.07595128f, -0.082045f, -0.07505233f, -0.02625549f, + -0.15424223f, -0.12925847f, -0.032397747f, -0.30059597f, + 0.0031500356f, -0.033772912f, 0.7392067f, -0.10639927f, + -0.1083419f, -0.13090342f, 0.5298167f, -0.17429748f, + -0.065595396f, -0.2689311f, -0.19636458f, -0.07579319f, + -0.06392717f, -0.1460543f, -0.088026725f, -0.029092746f, + 0.020135943f, 0.743938f, -0.12894359f, -0.07457395f, + -0.16136366f, -0.12797275f, -0.0058550863f, 0.5143326f, + -0.03852704f, -0.073922195f, -0.079910785f, -0.12199703f, + -0.034957346f, -0.058310226f, -0.049010307f, 1.1111803f, + -0.18915059f, -0.05462836f, -0.06985265f, -0.097447105f, + 0.07241867f, -0.113854825f, -0.06432796f, -0.10435448f, + 0.038741134f, -0.021954075f, -0.12054996f, -0.11883457f, + -0.05283621f, -0.020585282f, -0.090348005f, -0.06792721f, + -0.07549066f, 0.64830655f, -0.109418206f, -0.12324362f, + -0.09240216f, 0.3103019f, -0.010391475f, -0.03208255f, + -0.056028076f, 0.046766438f, -0.0011306778f, -0.08314565f, + -0.07881744f, -0.047946673f, -0.03046768f, -0.05498653f, + -0.1418305f, -0.06621948f, 0.54861856f, -0.14012676f, + -0.07068458f, -0.0737217f, 1.1573616f, -0.059793815f, + -0.2801909f, -0.005201564f, -0.16464217f, -0.08332634f, + 0.011316427f, -0.14176245f, 0.039665744f, -0.03530733f, + 0.61192733f, -0.0983324f, -0.056159247f, -0.09467163f, + -0.09419269f, 0.019707516f, 0.014433033f, -0.03480497f, + -0.051238302f, -0.09834921f, -0.029921798f, 0.5608852f, + 0.5648366f, 0.018117892f, -0.015272781f, -0.13010809f, + -0.031019405f, -0.0045767147f, 0.01641698f, -0.023585781f, + -0.017946843f, -0.06451226f, -0.029901069f, -0.056608655f, + -0.02296124f, -0.07569932f, -0.07149305f, -0.0764328f, + -0.17185959f, -0.043989263f, -0.022927258f, -0.10440901f, + -0.03198454f, -0.04645653f, -0.086597815f, 1.1742536f, + -0.19934812f, -0.108464964f, -0.046764653f, -0.06605945f, + -0.05381676f, -0.10786623f, -0.12666157f, -0.039387565f, + -0.021235712f, -0.02118875f, 0.60463756f, -0.1656358f, + -0.022913517f, -0.042839255f, -0.046046887f, -0.02828037f, + -0.1498768f, -0.12173429f, -0.045656294f, -0.09127231f, + -0.04852999f, -0.03512028f, -0.053822894f, -0.10735359f, + 0.17064485f, -0.12579603f, -0.10353951f, -0.10481333f, + -0.128335f, 1.2578788f, -0.12571533f, -0.13481918f, + 0.892528f, 0.81076473f, -0.097620346f, -0.070945546f, + -0.10997518f, -0.47695744f, -0.05547775f, -0.08198409f, + 0.049234144f, -0.09189605f, 1.0631332f, -0.22183084f, + -0.2393268f, -0.08672441f, -0.22583164f, -0.1750421f, + -0.16384289f, -0.17839372f, -0.58195716f, -0.11381048f, + -0.020718604f, -0.33764994f, -0.08309717f, -0.09623258f, + -0.029668443f, 0.979481f, -0.13719553f, 0.45866153f, + -0.21335478f, -0.11574105f, -0.07825863f, 0.17212296f, + -0.09217147f, -0.09087002f, -0.047691707f, -0.43466783f, + -0.27312073f, -0.27355456f, -0.22922091f, 0.06565533f, + -0.38380548f, 0.86467767f, -0.18009596f, -0.1900419f, + -0.15884046f, -0.09437018f, -0.14297663f, -0.00626517f, + -0.019608086f, -0.08452518f, -0.063183576f, 0.06469277f, + 1.368588f, 0.14973804f, -0.17132059f, -0.061841313f, + -0.18630362f, -0.21096176f, -0.035635564f, -0.23834653f, + -0.0621279f, 0.78453326f, -0.055065956f, -0.06462024f, + -0.042877853f, -0.08521256f, -0.039732948f, -0.14326541f, + -0.06289648f, -0.18952349f, 0.5018134f, -0.09096161f, + -0.46575657f, -0.28719562f, -0.033565316f, -0.06402683f, + 0.37134558f, -0.19240095f, -0.09718161f, -0.10512735f, + -0.2743405f, -0.047217965f, 0.7888947f, -0.08168805f, + -0.031848744f, -0.04664353f, -0.055497114f, 0.32860255f, + -0.264296f, 0.23948534f, -0.35077745f, -0.075986035f, + 0.0064114076f, 0.2600404f, -0.24361749f, -0.14711924f, + -0.09919141f, -0.092269614f, -0.06925685f, -0.020651491f, + -0.06290698f, 1.0711867f, -0.12939873f, -0.56575525f, + 4.6279f, -0.91050726f, -0.25223944f, 0.0417749f, + -0.6166157f, 0.049802423f, -0.14339665f, -0.3582109f, + -0.90088314f, -0.30425656f, 0.054889835f, -1.3982153f, + -0.37142193f, -1.1167077f, 1.1821871f, 0.7512161f, + -1.2383982f, -0.35453975f, -1.3107115f, -0.28454354f, + 0.2992178f, -1.6399783f, -2.0123858f, -0.8543826f, + 0.386484f, -0.057638526f, -0.2643288f, -0.54587966f, + -0.72456753f, 0.9948174f, 2.2111452f, 1.025258f, + 0.18931012f, -1.4840238f, 0.86115026f, 1.1876967f, + 0.6298784f, -0.7032725f, -0.12458587f, -1.1450917f, + -0.51116216f, 0.28513896f, 1.4075987f, -0.6622601f, + -1.3507575f, 0.1172559f, 1.5183861f, -1.0958291f, + -0.8724933f, -0.6737998f, -0.91974884f, -1.1948738f, + 7.0009894f, -0.15338203f, -1.7565901f, 3.2467177f, + 0.27079073f, 0.029073456f, -0.2306452f, 1.808277f, + 2.1086266f, -0.2139741f, 1.6237531f, -0.9080442f, + 2.0691803f, 0.2927567f, 1.0739841f, -0.8196379f, + -1.0105622f, 1.0558069f, -0.21407937f, 2.0468752f, + 0.53634447f, -0.59064424f, -0.6730369f, -0.088851124f, + 0.20738664f, 0.033999097f, 0.2215048f, -0.67073333f, + 3.0659847f, -0.19127066f, -2.144655f, -0.9146684f, + -0.32330033f, 1.1479243f, 2.3053079f, -1.1354623f, + -1.0472949f, -0.6329205f, -0.85622376f, -1.6022238f, + -0.1652791f, -0.48014176f, -0.09813208f, 1.8247988f, + -1.4331149f, 0.39753705f, -0.103675865f, -0.3525228f, + -0.8160608f, -0.9548168f, -0.13622274f, 0.61385983f, + -0.059669897f, -0.8771193f, -0.030074013f, -2.147628f, + 1.1360304f, -1.3734316f, -1.4514599f, -0.3755506f, + -0.9826977f, 1.953196f, 1.4615626f, 0.5545234f, + 1.1889209f, -0.4882715f, 0.1084841f, -1.7769637f, + 0.019121913f, -1.0073205f, 3.028085f, 1.2277423f, + -0.2024642f, 0.28916913f, -0.48972937f, -1.2346588f, + 0.42470843f, -1.1344911f, -0.44037202f, -1.6382407f, + 1.3439572f, 0.45418876f, -1.1084528f, 0.8442094f, + -1.0207256f, -0.90936106f, 0.16934575f, 0.31776458f, + -0.7757774f, -0.09300356f, 3.706672f, -2.055698f, + 1.0121989f, -0.8412044f, -0.91356134f, 0.9267261f, + 0.84802026f, 1.8587351f, 0.27776727f, 1.1244574f, + -0.15952352f, 0.35621634f, 0.55506855f, 0.42480817f, + -1.0700768f, -0.27881408f, 0.3152868f, 3.0126522f, + -0.70202225f, 0.6419099f, 0.03412417f, -1.6364516f, + -0.5232957f, 1.1978455f, 0.1139548f, -0.33512518f, + 0.40876037f, -1.5239811f, -1.3993722f, 0.83354634f, + -1.206491f, 0.7911835f, -0.280928f, 0.3170723f, + -0.74463314f, -1.9085807f, 0.9049346f, 1.1121849f, + 0.7913572f, -0.30167308f, -1.2491792f, -0.45133412f, + -1.1037858f, 0.5169217f, 0.68872535f, -0.041761342f, + 1.7016255f, 3.2810295f, 1.0288575f, 1.7231157f, + -1.114953f, 0.22699118f, 0.0057295356f, 0.80215764f, + -0.5941404f, 0.9369243f, 0.34848556f, 0.5707486f, + -0.41651866f, 0.033234186f, -0.47261804f, 0.02924633f, + -0.2948239f, -0.97748554f, -2.3267684f, -0.09240121f, + -2.1606088f, -0.33848718f, -1.3545653f, -0.4267353f, + -0.92469066f, -1.5084553f, -0.17214775f, 0.10765261f, + 0.3150268f, -1.0942271f, 0.5705382f, -0.45130008f, + 0.04745762f, 2.7444663f, -0.17254639f, -1.3886417f, + 0.42065108f, -0.020793244f, -1.4054772f, -0.62936324f, + 0.012944343f, 1.6205044f, -1.07194f, 0.58327967f, + -1.125682f, 0.28438777f, 1.978448f, -0.9321829f, + -1.0233917f, 1.3410542f, 1.5247141f, 0.51864016f, + -0.6864025f, -0.14701703f, 0.38859034f, -1.22316f, + 0.0057992144f, 0.37505108f, 0.6065053f, 0.27051455f, + 1.7351289f, -1.3512013f, 1.5814826f, -0.57937825f, + 1.5157081f, -0.4598167f, 0.27076274f, -0.09312992f, + -0.31399286f, -0.78526086f, 0.53883034f, 0.013998611f, + -0.2891965f, 1.4114921f, -0.24826747f, 0.24166831f, + 0.37727585f, 2.4512503f, 1.8454673f, -1.6895237f, + -0.44241133f, -1.4011135f, 0.32151562f, -0.74614996f, + -0.37673724f, -0.87802184f, 0.06164881f, 0.8075236f, + 0.17834648f, 0.9653205f, 0.4424586f, 1.1142926f, + -0.8711625f, -2.1596935f, -1.3349278f, -0.79985636f, + -0.05207473f, -0.26826394f, 1.0458577f, -0.7182075f, + -1.0488945f, 0.07144158f, -1.3686941f, -0.8179755f, + -0.17300098f, -0.08368621f, -0.91314876f, -0.26487023f, + -0.10311247f, -1.1680231f, 0.36149767f, 1.9425431f, + 0.79288614f, -0.6059864f, -0.31451958f, -0.15716702f, + 0.78487045f, 1.704474f, 3.914537f, -1.3704987f, + -1.1108671f, -1.1456809f, 0.18451224f, 0.5534135f, + -0.0006009787f, 0.34461704f, -0.2200322f, 0.4231373f, + 0.16656224f, -0.15923412f, -1.1252607f, -0.9825976f, + -0.6810947f, -1.7468992f, -0.52950513f, -1.4086509f, + 0.14290006f, 3.1435795f, -1.4606413f, -1.4032458f, + -1.6052881f, -0.30125993f, 1.0295255f, 0.6797233f, + -0.41453794f, 0.818103f, -0.5106876f, -1.6983169f, + -0.05115552f, 0.5378516f, 2.5276895f, -0.9246178f, + 0.074596696f, -0.25959238f, 1.4711412f, 3.8867722f, + -0.80570626f, -0.85293615f, 1.5619923f, 1.6278149f, + 0.28263536f, -1.299526f, -0.56422395f, 0.689206f, + -0.6849304f, 0.054065462f, -0.59579206f, -0.72911215f, + 0.11557167f, 0.6631459f, -0.9621304f, 0.8623776f, + 0.06159256f, 2.2410693f, -1.114809f, -0.15685886f, + -0.83850586f, 0.16746871f, -0.6174656f, 0.7718721f, + 0.28610417f, -0.5093715f, -1.414729f, 3.7192569f, + 0.32403094f, 0.02545421f, 2.9030297f, 3.9031563f, + -0.2829744f, -1.0615755f, -1.5456461f, -0.64362234f, + -0.41027746f, -0.14678906f, -0.09971536f, 1.1494067f, + 0.57017356f, 1.0258287f, -0.13708638f, 0.23456784f, + -0.6435267f, -0.57209915f, -1.0115556f, -0.11650024f, + -1.5101265f, -0.015386956f, 0.584149f, -0.7324359f, + -1.4342597f, -0.907397f, -0.09618274f, 0.26136124f, + -0.21742482f, -1.5928209f, -0.91966283f, -0.33957788f, + -0.004837333f, 0.35257214f, -1.444851f, 0.789198f, + 1.8578433f, -0.983993f, -0.7257963f, 0.1329607f, + 0.1046111f, -0.8712878f, 1.5172634f, 3.2354157f, + -1.5248847f, -0.5551041f, -0.7485186f, 0.44131237f, + -1.3540319f, -0.22968759f, 0.12592702f, 0.91567254f, + 1.832156f, -0.089143716f, -0.7613987f, 0.76173645f, + -1.2539423f, -0.05214712f, -1.2005016f, -0.19924651f, + -1.1680022f, 0.3501367f, -0.14501543f, -1.7726158f, + -1.1561803f, -0.70352453f, 0.58699167f, 1.3918281f, + -0.89362323f, 0.54195684f, 0.23139147f, -0.57999325f, + -1.1023191f, -0.32814202f, 0.45994255f, -0.44669074f, + -1.2855685f, -1.6217114f, -0.21885069f, 0.5003492f, + 0.7876935f, -0.56714445f, -0.37112048f, 0.28109723f, + 1.0471895f, -1.6742476f, -1.1631812f, 0.19288199f, + 0.8448245f, 0.5553348f, -0.0047552106f, -1.4572163f, + -1.1595637f, 0.32969904f, 1.0829419f, 0.7765458f, + 0.05386427f, -0.83947474f, 3.7498126f, -0.18056384f, + 0.2463649f, 1.4536493f, 0.061307468f, -1.0826098f, + 1.1959502f, 0.955787f, 1.0237025f, -1.3537987f, + -0.6283195f, 0.11970676f, -0.19521022f, 0.050009146f, + 0.64853466f, -0.45627224f, -0.6757204f, -1.5549458f, + -0.5534075f, -1.6946002f, 0.0069934265f, -0.29095617f, + -1.0968149f, -0.026561499f, -0.0013912735f, 0.5047461f, + -0.5087077f, 2.8593621f, 0.84754664f, 2.566076f, + -1.3076143f, -0.04859938f, 0.4927884f, 0.4983412f, + 1.3509537f, -0.83139086f, -0.8581676f, -0.5953354f, + -0.23058698f, -1.2116524f, 0.20529187f, 0.0012862342f, + -0.3519058f, -0.4974222f, 0.5802958f, 0.01826554f, + -0.7492601f, 0.37656054f, 1.4719508f, -1.3895295f, + -0.14304303f, -0.15035003f, -0.6487513f, 0.23634717f, + 1.4274381f, 2.0445874f, -0.8610088f, 0.1850316f, + -0.15863925f, -1.1676755f, 0.36991307f, 1.0185448f, + 2.2202172f, 2.2167642f, -0.35451034f, -0.5142228f, + 0.58095944f, -0.298247f, 1.4213024f, -0.8493213f, + -0.018114142f, -1.075452f, -0.18148853f, -0.529935f, + -0.019190159f, -0.030807072f, -0.04891715f, 0.18601684f, + -0.055961374f, -0.072265245f, -0.087106414f, 0.02589026f, + -0.062631845f, -0.13852698f, -0.074530244f, 0.5178091f, + -0.040542096f, -0.087508105f, -0.041364342f, -0.07474421f, + 0.7070819f, -0.060000088f, -0.07978055f, -0.07264355f, + -0.063026704f, -0.09050781f, -0.061463572f, -0.082453124f, + 0.66127604f, -0.017167633f, -0.09762222f, -0.11120126f, + -0.0030072336f, -0.04819706f, -0.03491252f, -0.058411635f, + -0.06450123f, 0.41928884f, -0.05731618f, -0.05605673f, + -0.07183287f, 0.7056129f, -0.05401107f, -0.2489066f, + -0.009502937f, -0.22129744f, -0.028702393f, -0.029441018f, + -0.102413654f, -0.077371284f, -0.063075736f, 0.36461258f, + -0.09885472f, -0.032187734f, -0.09364781f, -0.08452322f, + -0.036246672f, -0.009754941f, -0.023804834f, -0.043817777f, + -0.09665502f, -0.08074018f, 0.787878f, 0.03797245f, + -0.023239654f, -0.037845645f, -0.09127772f, -0.06043957f, + -0.041355975f, -0.022279399f, -0.01182362f, -0.034193017f, + -0.07328232f, -0.09257405f, -0.059749413f, -0.04751234f, + -0.042723563f, -0.08429413f, -0.052790016f, -0.111533694f, + -0.012384924f, -0.030807642f, 0.2555325f, -0.021240305f, + -0.035021305f, -0.08057817f, 0.7279307f, -0.16032745f, + -0.07208911f, -0.038624533f, -0.051438063f, -0.072088934f, + 0.06544274f, -0.066039056f, -0.06356856f, -0.066210344f, + -0.0025171314f, 0.26771298f, -0.09801044f, 0.18840316f, + -0.11841589f, -0.108799145f, -0.043948155f, 0.15904698f, + -0.060737208f, -0.03476145f, -0.089615874f, -0.08722297f, + -0.022090536f, -0.035832457f, -0.12131406f, -0.062439885f, + -0.11693447f, -0.079965696f, -0.085035264f, -0.042563476f, + 0.7939703f, -0.042621594f, -0.2018127f, -0.19125469f, + 0.5697639f, -0.10481425f, -0.047589645f, -0.058277346f, + 0.46785587f, -0.04251166f, -0.04382008f, -0.07781854f, + -0.08214721f, 0.39520338f, -0.069797166f, -0.111951314f, + -0.07658323f, -0.07569994f, -0.1394061f, -0.08953965f, + -0.16478151f, 0.4959372f, -0.29030684f, -0.016307442f, + 0.040306825f, -0.07045954f, -0.0666162f, 0.40350735f, + -0.17491573f, -0.13045286f, 0.3176466f, -0.20294712f, + -0.031175165f, -0.1734339f, -0.009551505f, -0.1046419f, + -0.06312895f, -0.056767434f, -0.18347545f, -0.09594906f, + -0.08784586f, -0.17769052f, -0.036853228f, -0.047516745f, + 0.8046329f, -0.062443808f, -0.15521143f, -0.105685286f, + -0.12089143f, -0.101890236f, -0.053915203f, -0.03754339f, + -0.06395913f, -0.08265049f, -0.092264816f, 0.18770206f, + 0.53818655f, -0.11964719f, -0.055266038f, -0.07983574f, + -0.1367586f, -0.06719095f, -0.14397784f, -0.055249926f, + -0.08997812f, -0.01495139f, -0.022053879f, -0.07712611f, + -0.03175916f, -0.1094098f, -0.09337541f, -0.07303798f, + -0.19450115f, -0.0211124f, -0.06004321f, 0.440824f, + 0.42316493f, -0.073421225f, -0.085513584f, -0.090886235f, + -0.1177909f, -0.059619088f, -0.2283915f, -0.13427112f, + -0.055282313f, -0.10236669f, -0.09393899f, -0.034815315f, + -0.058953818f, -0.04925126f, 0.91032064f, -0.14400196f, + 0.66010934f, -0.15197298f, -0.060991388f, -0.021163303f, + 0.6881632f, -0.09105425f, -0.10050727f, -0.087101564f, + -0.17045216f, -0.09752714f, -0.04128709f, -0.10025938f, + 0.55400836f, -0.25644112f, -0.5252849f, -0.50092226f, + -0.17606834f, 0.3246151f, -0.3680127f, -0.24985354f, + 1.8010844f, 0.49736604f, -0.0005436355f, 0.066804275f, + -0.39508876f, -0.17648186f, -0.08008137f, -0.2924562f, + -0.26136217f, -0.20860444f, -0.005376632f, -0.10686318f, + 0.047078975f, -0.21069308f, -0.35770684f, 0.18609866f, + -0.74181354f, -0.073847234f, 0.14140168f, 1.0764521f, + -0.5727689f, -0.076415315f, -0.33297157f, -0.3555353f, + 0.56951404f, 0.90824205f, 0.90391463f, 0.07549135f, + 0.7325787f, -0.484219f, -0.9004867f, 0.030826328f, + 0.22331446f, 0.6246833f, -0.40271443f, 1.1047429f, + 0.7812234f, -0.1905303f, -0.27203238f, 0.031637594f, + 0.427688f, -0.14980686f, -0.11995228f, -0.32420805f, + 0.54052055f, 0.6580302f, 0.09692002f, -0.27970883f, + -0.2653758f, -0.04738379f, -0.20548949f, 0.49067852f, + -0.17413804f, 0.1623857f, -0.022560539f, -0.3957322f, + -0.57208484f, 0.8692256f, 0.55629677f, 0.5213278f, + -0.20798813f, 0.89717066f, -0.32449204f, -0.20129578f, + -0.28176275f, 0.028431544f, -0.5617971f, -0.3956093f, + -0.46405947f, 1.3908412f, 0.24173819f, -0.26441616f, + -0.29131186f, 0.29738298f, -0.24952883f, -0.3117442f, + 0.26164964f, 1.3071462f, -0.3707573f, -0.45215833f, + -0.8629678f, -0.35783428f, 0.94043404f, -0.6077173f, + -0.13276611f, 0.14255212f, 0.009282825f, -0.35044166f, + -0.32060677f, 0.5184059f, -0.36346677f, -0.3815082f, + -0.38385904f, -0.41762024f, 0.0809342f, -0.5737104f, + -0.24435556f, 0.67792284f, -0.32999057f, -0.34154895f, + -0.13630325f, 0.475051f, -0.6605333f, 7.960914f, + 0.66954553f, 0.42203844f, -0.11197413f, -1.3508316f, + -3.7394853f, -1.810372f, -0.13336752f, -3.4066782f, + -2.2568069f, -0.20438232f, -0.6421696f, -4.5685253f, + -1.9721928f, 2.5270965f, 4.8022847f, -0.94663596f, + -1.3525171f, 0.4675411f, -3.5640557f, -1.6673669f, + -0.66745895f, 1.9553022f, -2.5462472f, -0.7170252f, + 0.10125614f, -2.5305326f, -0.2754266f, 0.12833986f, + 0.44185966f, 0.08223241f, 0.23453198f, -0.31170893f, + -0.73745424f, -1.0273823f, 8.888385f, -0.7364107f, + -0.25455534f, -2.7692282f, -0.32268733f, -2.9512477f, + -0.07149163f, -0.0021231358f, 6.341163f, -2.895886f, + -1.9024682f, 0.06686282f, -0.69552606f, -2.706524f, + -2.1855562f, -2.8870485f, 4.011944f, -4.8262606f, + 2.3062506f, -2.887326f, -1.0293889f, 5.593495f, + 1.5461315f, -0.27753246f, 0.26940802f, 0.76021683f, + 8.134427f, 5.5838046f, -1.5337025f, -1.1797743f, + -4.7419815f, -3.4636621f, 3.1625721f, 1.8111312f, + 10.043274f, -2.9059045f, -3.6101694f, 3.9925888f, + 4.735002f, -2.1225257f, -3.195592f, -1.6722633f, + 3.1597018f, -0.32104206f, -0.11854318f, -2.0929284f, + 2.3497174f, -0.7946553f, -1.6601566f, -4.194384f, + -0.0005774121f, -2.2078772f, 1.056473f, -2.5630965f, + -2.6713827f, 6.7092733f, 4.0516243f, 0.5766658f, + -0.26849627f, -2.4346306f, -0.24923247f, -0.7861625f, + 0.5378298f, -1.4282367f, -0.10054147f, 6.0223393f, + -1.2900764f, 6.2461176f, -0.3973054f, 2.494013f, + -3.8566148f, -0.59005535f, -0.11482846f, -1.7155418f, + -0.09400954f, -0.36316344f, -0.10290246f, -0.06287613f, + -0.14734046f, -0.13828433f, -0.29842368f, 1.0130395f, + -0.018510083f, -0.09211513f, -0.18577932f, 1.0361755f, + -0.058169637f, -0.29272956f, -0.18134648f, -0.24204113f, + -0.14484142f, -0.013038923f, -0.0717918f, -0.162621f, + 0.7027984f, -0.22426093f, -0.13985881f, -0.17975415f, + 1.0936202f, 0.9379569f, -0.09089162f, 0.8142169f, + 0.017918862f, -0.011620676f, -0.06767168f, -0.38175097f, + -0.2734832f, -0.44247591f, -0.09612553f, 0.014821307f, + -0.19761668f, -0.26865265f, -0.2156384f, -0.105433375f, + -0.119334996f, -0.43533257f, 1.1642954f, -0.103413776f, + -0.22416593f, -0.11218251f, 0.92101157f, 0.25961304f, + -0.11326186f, -0.0020223444f, -0.15380189f, -0.1416423f, + -0.1692758f, 0.2603514f, -0.08528058f, -0.10701507f, + -0.028995095f, -0.11301107f, -0.12769894f, 0.53541404f, + 0.010276069f, -0.10684295f, -0.24338023f, -0.15059555f, + -0.20236605f, -0.19387388f, -0.06854222f, -0.13931786f, + -0.02345084f, -0.21911108f, -0.15502651f, -0.057637647f, + -0.21102928f, -0.26127f, -0.183749f, -0.49184924f, + -0.2220888f, -0.080753766f, 0.9385605f, 0.88654464f, + 0.047425732f, -0.10993328f, -0.18266766f, -0.13226792f, + -0.13163157f, 1.9641384f, 0.0049684034f, -0.121424936f, + -0.3093316f, -0.02627653f, -0.081825525f, -0.078208104f, + -0.05098504f, -0.08199462f, -0.14548151f, 0.050718017f, + -0.19989379f, 0.020862514f, 0.119311795f, -0.19084656f, + -0.016311387f, -0.2743515f, -0.029267129f, -0.33449933f, + -0.08628577f, -0.033873085f, 0.20953783f, 0.36046726f, + -0.34738448f, -1.4895788f, 0.517706f, -1.3616003f, + 0.067999914f, 2.8498695f, 1.4654734f, -0.38100874f, + -0.06693601f, -0.5386105f, 3.1449418f, 0.5870799f, + 1.0741698f, 1.0534772f, -1.5277253f, -1.4619223f, + 1.295883f, 0.40985867f, 0.39490938f, -0.99825597f, + 0.62853324f, 0.62759066f, 3.4393961f, -0.6449674f, + -1.586973f, -1.2405819f, 0.06963305f, -1.0035335f, + -0.06128926f, -0.48875573f, -0.8035316f, 0.41840366f, + -0.31723264f, -0.8942675f, 0.31563607f, -1.1507595f, + -0.66772395f, 2.3901303f, 0.54330266f, 0.37813574f, + 1.9002252f, 0.17075603f, -1.2034855f, -0.007397356f, + -0.15105309f, -1.8211484f, -0.9353147f, -0.25325045f, + 1.1486044f, -1.498305f, 3.793511f, 1.7827554f, + -1.7270339f, -1.4988083f, -0.062731326f, -2.5092158f, + 0.07900781f, -1.5556484f, -0.6824679f, -0.086985424f, + 0.070148215f, -0.9929909f, -1.0583661f, 0.20524098f, + 0.14582114f, 3.5866134f, -0.2297251f, 1.5218673f, + -0.27944055f, -1.6271621f, -0.7740852f, -1.2604367f, + -2.3419602f, 0.95379776f, 3.7341175f, -0.4232276f, + 1.0070947f, -0.7831853f, -1.2408884f, 0.2381926f, + 0.5375229f, 0.6222608f, -1.3854114f, 0.47988316f, + -0.861587f, 0.006967767f, -0.39894268f, -0.42138195f, + -2.3002152f, 2.8144317f, 3.3680942f, -1.6691906f, + -1.3476094f, -0.2652999f, 0.26121327f, 1.8171134f, + -0.076725945f, 2.5373268f, -0.9782978f, -0.6805266f, + 0.43114832f, -1.8134831f, -0.2139686f, 1.437447f, + -0.7995949f, -0.8183015f, 2.6482809f, -1.8835198f, + 0.31609654f, -1.6813555f, 0.62996715f, 0.69758403f, + -0.018340008f, -0.002944146f, 0.16725533f, -0.76180726f, + -0.4285053f, 0.04907789f, -0.7501441f, 0.8192934f, + -0.5358465f, 0.85721874f, -0.6105799f, -0.4980207f, + 0.27287924f, -0.49905777f, 1.276518f, -0.8344684f, + 0.25094733f, -0.8536093f, 1.2700204f, 0.06651175f, + -1.3963568f, 0.071302935f, -0.17318392f, 0.42230693f, + 1.0714334f, -0.16221766f, 1.3786439f, 1.255099f, + -0.07392258f, 0.12133094f, -0.6343489f, 0.27214703f, + -0.17088099f, 0.19627716f, -0.056563362f, 0.67796975f, + -0.49115777f, -0.40156287f, 0.4450625f, -0.24088453f, + 0.02325804f, 0.8342655f, -1.1501614f, -0.88315326f, + -0.101109184f, 1.4957049f, -1.1143591f, -0.2181184f, + 0.82660234f, -0.9340353f, -0.38076928f, 1.7405573f, + -1.1566197f, 0.22105551f, -0.14600225f, -1.2151536f, + -0.039038286f, 0.68327147f, 0.6361185f, 1.2306731f, + -1.5068989f, 0.60426176f, -0.081860416f, 0.18208314f, + 0.6075538f, 0.6736436f, -0.70031804f, -0.22452676f, + -0.12806922f, -1.1093501f, -0.6387804f, 0.5788749f, + 0.22029798f, 0.123841956f, -0.00941046f, -0.42360094f, + -0.8365658f, 0.57573766f, -0.5264076f, -1.0190887f, + 0.095923446f, -1.2246488f, -0.73425406f, 0.11267476f, + -0.09299752f, -0.33710042f, 0.22404636f, -0.5666127f, + -0.7684971f, -1.1775466f, -0.04726114f, 0.10205497f, + 0.79756063f, 0.024283776f, 1.600099f, -0.8809205f, + -0.16923924f, -0.045949627f, 0.20303781f, -0.83308375f, + 1.6119001f, -1.2521385f, 2.0674515f, 0.95784616f, + 1.0257199f, 0.31962335f, -0.39744347f, -0.12115193f, + -0.060598113f, -0.078551024f, 1.0416111f, -0.16364135f, + -0.123756565f, 1.1344017f, 0.596065f, -0.081013314f, + -0.11276181f, -0.11672551f, -0.2979981f, -0.12526798f, + -0.13645613f, -0.09342995f, -0.066016845f, 1.0696527f, + -0.16617724f, -0.28545302f, -0.11822461f, -0.20215636f, + -0.2009186f, -0.1269129f, -0.1474439f, -0.32505596f, + -0.04637094f, -0.041523833f, -0.1101048f, -0.07805641f, + -0.0958373f, -0.26892722f, 1.1528f, -0.12869886f, + 0.3884001f, -0.11781932f, -0.09134802f, -0.13711601f, + 0.38811922f, -0.0976234f, -0.21623649f, -0.056077227f, + -0.30425078f, -0.19782543f, -0.21492094f, -0.19359222f, + 0.022328662f, -0.23925406f, 0.7861495f, -0.21415706f, + -0.2520154f, -0.113193214f, -0.08859163f, -0.08439253f, + 0.06073613f, -0.024431149f, -0.042937513f, -0.13778898f, + -0.06921891f, 1.1664963f, 0.16731161f, -0.12960006f, + -0.121535145f, -0.14926311f, -0.11601315f, -0.09769292f, + -0.15778014f, -0.02729154f, 0.9903379f, -0.08365973f, + -0.04681396f, -0.058638357f, -0.07852008f, -0.044518907f, + -0.07756439f, -0.12022675f, -0.20285907f, 0.98010993f, + -0.11887263f, -0.294497f, -0.21170336f, -0.017701885f, + -0.15856622f, 0.46206972f, -0.20932592f, -0.11715274f, + -0.047049146f, -0.3212236f, -0.025083553f, 0.89877397f, + -0.12704687f, -0.05211127f, -0.08101581f, -0.02210089f, + -0.4815588f, -0.24813473f, -0.107899375f, -0.3124688f, + -0.013001763f, 0.05369435f, -0.34294373f, -0.20697439f, + -0.12184811f, -0.12667026f, -0.07562452f, -0.034035675f, + -0.019048171f, -0.07381557f, 1.1307786f, -0.17841849f, + -0.8911193f, -0.18618797f, -0.58952355f, 0.6095083f, + 0.024976723f, -0.34612688f, 0.2833388f, 0.34968516f, + -0.48834774f, -0.859522f, -0.40608165f, 0.4353929f, + -0.05741975f, -0.103158906f, -0.81539005f, 0.47579408f, + 0.19579095f, -0.21196972f, -0.14124443f, -0.2577148f, + 0.25161827f, 1.1736884f, -0.272247f, -0.50002164f, + -0.34676737f, 0.30210772f, -0.29183173f, -0.009219122f, + -0.14333718f, -0.3638206f, 0.2238708f, 0.64212793f, + 0.46450022f, 0.27063516f, -0.2768949f, 0.14323424f, + -0.21642621f, 0.48789623f, 0.90192395f, 0.18401507f, + -0.44475794f, 0.66391236f, 0.5790484f, 0.09652636f, + -0.5690377f, 0.3913855f, 0.40909165f, 0.18413836f, + -0.08696776f, -0.026223242f, 0.20690265f, 0.086525515f, + 0.2721793f, -0.6639634f, -0.597208f, -0.4795398f, + -0.16434158f, -0.15852676f, -0.004216471f, 0.33466262f, + 0.26685393f, -0.34487566f, 1.0511477f, -0.15606616f, + 1.5566698f, -0.27198973f, -0.24243475f, 0.26260325f, + 0.038721845f, -0.67579305f, -0.533776f, -0.27397442f, + -0.63178813f, -0.30571648f, -0.57651424f, -0.13417721f, + 0.15284146f, 0.1403806f, 0.23879369f, 0.2064172f, + -0.0013619002f, -0.045177218f, 0.30106843f, -0.21188648f, + 0.011421341f, 0.01828272f, -0.14172871f, -0.30777878f, + 0.42671296f, -0.37172183f, 0.10074122f, -0.44427985f, + -0.002927576f, 0.10661804f, -0.43037403f, 0.053484358f, + 0.49051636f, 0.19255976f, 1.2406723f, -0.16635711f, + -0.06817304f, 0.5914672f, 0.0073873745f, -0.30359212f, + 0.148039f, -0.1636093f, -0.36440158f, 0.43788952f, + -0.54608506f, -0.11078897f, -0.16443409f, -0.048272576f, + 0.71869195f, -0.13521361f, -0.39818618f, -0.27579558f, + 0.08462129f, -0.15230882f, -0.15154812f, -0.13906457f, + 1.6343167f, -0.019862486f, -0.10287361f, -0.17084764f, + -0.12693752f, -0.12878294f, -0.09791659f, -0.12728442f, + -0.11654825f, 0.2623964f, -0.14714603f, -0.071403526f, + -0.27518433f, 1.800577f, -0.06381664f, -0.060725644f, + 0.42957726f, -0.12847112f, -0.11453474f, 0.52450395f, + -0.24865551f, -0.26388732f, 0.028333098f, -0.1527122f, + -0.08834418f, -0.1961583f, 0.12308083f, -0.2522723f, + -0.1416556f, -0.15249434f, -0.19115378f, -0.20085502f, + -0.0812266f, -0.16032997f, -0.116831936f, 0.5904607f, + 0.49930784f, -0.07839011f, -0.07375253f, -0.20354857f, + -0.1855164f, -0.07970588f, 0.030249791f, -0.011580562f, + -0.08275222f, -0.11806686f, -0.0625189f, 0.22510049f, + -0.054773092f, -0.08396246f, -0.048612837f, -0.1742276f, + -0.094181456f, -0.07551029f, -0.1583283f, -0.10277977f, + -0.14785992f, -0.008648019f, -0.15879183f, -0.1298084f, + 0.025948355f, -0.17323309f, -0.121044815f, -0.11174735f, + -0.3196017f, -0.24324238f, -0.042722408f, 1.6309026f, + -0.090287216f, -0.06895254f, -0.092551164f, 0.08785382f, + -0.13124041f, -0.027042767f, -0.072582826f, -0.076020345f, + -0.07529071f, -0.19584174f, -0.03634897f, -0.008562656f, + -0.0509318f, -0.009278459f, 0.8163749f, -0.16199182f, + 0.40398192f, -0.08490269f, -0.049748536f, -0.056523725f, + 1.1049541f, -0.18056364f, -0.22674999f, -0.06950584f, + -0.24750812f, -0.23965523f, -0.082875885f, -0.17855874f, + 0.4941343f, -0.26388985f, -0.08419361f, -0.099429585f, + -0.041638076f, 0.5004325f, -0.05823009f, -0.07665647f, + 0.88190526f, 0.5608558f, -0.08728955f, -0.0607426f, + -0.13591185f, -0.38704425f, -0.097447656f, -0.1447571f, + -0.11836638f, -0.14462589f, 1.2148792f, -0.12097401f, + 0.067216806f, -0.052737586f, -0.23352334f, -0.1337242f, + -0.117719404f, 0.007662752f, -0.39833555f, -0.2644608f, + -0.05425401f, -0.2554606f, -0.10002738f, -0.086743586f, + -0.27233255f, 0.7033545f, -0.075019926f, 0.43453905f, + 0.035988353f, -0.110955305f, -0.119224966f, -0.05146393f, + -0.13996534f, -0.24549638f, -0.07187416f, -0.04371189f, + -0.1780429f, -0.18404397f, -0.21524635f, 0.014839267f, + -0.11513966f, 0.9980235f, -0.14614761f, -0.2460508f, + -0.14611882f, -0.10848519f, -0.09638311f, -0.012337308f, + -0.024372837f, -0.044764407f, -0.056857314f, -0.16726641f, + -0.19865851f, 0.768384f, -0.16722694f, -0.07015513f, + -0.070301086f, -0.032733824f, -0.054984313f, -0.10294296f, + -0.03944811f, 0.7383121f, -0.078158855f, -0.092321314f, + -0.042187683f, -0.09129268f, -0.10967075f, -0.092899114f, + -0.15025562f, -0.10937828f, 0.9628553f, -0.105292246f, + -0.34627426f, 1.4133352f, -0.02150285f, -0.14390501f, + -0.16531838f, -0.08977595f, -0.07353188f, -0.137821f, + 0.016181745f, -0.044671845f, 0.616518f, -0.12513907f, + -0.095838435f, -0.04472702f, -0.056288157f, -0.19960909f, + -0.24172707f, 0.84151864f, -0.28192186f, -0.07022315f, + -0.07674882f, -0.26653147f, -0.12299514f, -0.13668673f, + -0.08511696f, -0.033129852f, -0.09219426f, -0.0496291f, + -0.028429031f, 0.23226324f, -0.12852393f, 0.17649904f, + -0.27003404f, -0.20931922f, -0.077400856f, -0.1295823f, + -0.22488351f, 0.40816355f, 0.1560424f, -0.10195919f, + -0.30709097f, -0.013667226f, -0.32063538f, -0.17257154f, + 0.24215032f, -0.06106245f, -0.20082763f, 1.1154475f, + -0.099756986f, 1.2891301f, -0.0008999992f, -0.25938255f, + -0.5590645f, -0.23359731f, 0.008224368f, -0.24750853f, + -0.29308158f, -0.35736024f, -0.10351258f, -0.1555447f, + -0.0721146f, -0.18579772f, -0.14535472f, -0.1389735f, + 0.718629f, 0.35086316f, -0.4534514f, -0.27158654f, + 0.68448925f, -0.08810966f, -0.25869778f, -0.40147328f, + -0.6551867f, -0.12247157f, 0.02934682f, -0.4193084f, + -0.05211683f, -0.16529904f, 0.5439482f, -0.13765283f, + -0.21974368f, -0.17541946f, -0.31366193f, -0.14902991f, + -0.018033413f, 0.03449552f, 0.020110264f, 0.8910442f, + -0.3666622f, -0.06440432f, 1.2011441f, -0.09621833f, + -0.22415401f, -0.12998576f, 0.24630082f, -0.054286726f, + 0.23019262f, -0.2897905f, 0.77566475f, 0.04933603f, + -0.1977466f, -0.1852801f, -0.20409471f, -0.11077336f, + -0.27221262f, 0.34278697f, -0.33407605f, 1.3641058f, + 0.22309756f, -0.21794228f, 1.0459623f, -0.1715456f, + -0.06347759f, -0.23378795f, -0.27671805f, -0.357571f, + -0.0021175316f, 1.4248016f, -0.19781984f, 0.04211555f, + -0.15542626f, -0.31132865f, -0.21789098f, -0.050059635f, + -0.084416434f, -0.3264254f, 0.13133143f, 0.13442032f, + -0.08298471f, -0.17731583f, -0.14540173f, -0.14734368f, + -0.052295055f, 0.39542106f, -0.039688777f, 0.10894176f, + -0.17995022f, 0.47941133f, 0.38065398f, -0.36412206f, + 0.46294487f, -2.3553226f, -2.5323517f, -0.26091403f, + -2.0266566f, 0.49159956f, -2.9142866f, 0.096036844f, + 4.28395f, -0.19754615f, -0.9452832f, 0.15997241f, + -1.3661814f, -0.39127687f, 0.054183945f, -1.2106922f, + -0.87352353f, -2.836962f, -0.7550528f, -1.9728729f, + -0.75200313f, -1.7670515f, 0.24926978f, -3.5575678f, + 4.2460933f, 0.073438995f, -1.8968366f, 0.2292511f, + 6.3692f, 6.597084f, -0.116786174f, 1.2807181f, + -0.632229f, 0.21012425f, 0.7784188f, 5.951225f, + 6.1096854f, 0.5996849f, 3.679713f, -1.3258882f, + -3.030696f, -0.8763502f, 0.23300113f, -0.5934267f, + 2.3953705f, -1.454476f, 0.49003744f, 0.05010974f, + -0.41522995f, -1.1534789f, -1.9314218f, -1.3827652f, + -2.3863f, -2.9163983f, -3.0341206f, -3.9612658f, + -0.21198435f, -2.27265f, -0.3574891f, -0.47651875f, + -1.7237221f, -4.5456953f, 6.104373f, 2.1089044f, + -0.11881127f, -2.6778686f, -1.1893226f, 1.7214928f, + 5.699658f, -2.5532844f, 1.0148431f, -2.245012f, + -3.7635179f, -2.4798484f, 0.58403915f, 2.677361f, + 0.5407201f, 0.6477776f, -3.3476527f, -0.1540321f, + 1.7351344f, 0.30555636f, -0.11517568f, 0.35127345f, + -2.648491f, 0.19525166f, 1.3200608f, 4.1838245f, + 0.11953614f, 0.12570794f, -0.8861305f, -4.6982946f, + 4.5470605f, 0.23465925f, 2.2320867f, 0.117387585f, + 0.7522104f, -0.038076513f, -1.5340579f, 0.29831967f, + -2.2340782f, 6.519719f, -0.070719615f, 3.755893f, + 5.742652f, -2.4117448f, -2.5223906f, 0.39895847f, + -0.018629571f, -0.14809382f, 0.2668079f, -0.41609004f, + 0.25043234f, -0.23961605f, -0.0779132f, -0.07889772f, + -0.03931678f, -0.018563036f, -0.24742743f, -0.35433167f, + 0.739545f, -0.31941327f, -0.3209194f, 0.37032038f, + -0.33134985f, -0.21013084f, 0.04725023f, -0.06163462f, + -0.18213128f, 0.3252845f, -0.024237284f, 0.058238782f, + -0.29930767f, 0.7250727f, -0.1337685f, -0.27005368f, + 0.15781645f, -0.117059015f, -0.20456696f, -0.075766444f, + -0.06555119f, -0.35271943f, 1.6647934f, -0.1596857f, + 0.18679065f, -0.101995505f, 0.072288014f, 0.8131432f, + 1.2295564f, -0.16441737f, -0.11156378f, -0.1173709f, + -0.04567767f, 0.16196169f, -0.14636488f, 0.117639f, + 0.38159716f, -0.0022345816f, 0.2672279f, -0.1566554f, + 0.1582368f, -0.26237583f, -0.2800653f, -0.24968861f, + -0.3543261f, -0.22899848f, -0.27874973f, -0.13431107f, + 0.35522714f, -0.104810536f, -0.2397949f, 0.5241473f, + -0.08802511f, -0.18049186f, -0.104556f, -0.34411702f, + -0.064427875f, 0.16948457f, 0.10859759f, -0.042448744f, + -0.26346081f, -0.04005416f, -0.29428777f, -0.020106755f, + 0.2610074f, -0.10335218f, 0.002645572f, 0.7266491f, + 0.23746222f, -0.012492392f, -0.13987449f, 0.051023003f, + 0.10399293f, -0.23130372f, 0.29073948f, -0.23935083f, + -0.058463152f, -0.124855176f, 0.031086603f, -0.39749223f, + -0.084497966f, -0.3912747f, 0.38970768f, 0.1117711f, + 0.07462744f, -0.08238401f, -0.21798971f, -0.14923714f, + 0.23229237f, -0.1896615f, -0.26658937f, -0.21951461f, + 0.23850441f, -0.02649164f, -0.23457225f, 0.11567377f, + 0.12489242f, 0.20846534f, -0.38842762f, -0.24382186f, + -0.30211952f, 0.11588516f, 0.23002319f, -0.7526559f, + -0.09329939f, 0.05698157f, 0.018913401f, 0.15893528f, + -0.29105157f, 0.28494406f, -0.6599804f, -0.7087611f, + -0.09278686f, -0.15649731f, 0.43489733f, -0.9862935f, + -0.42058378f, -0.6010658f, 0.2678604f, -0.42524037f, + -0.8728936f, -0.08571212f, 0.0009050544f, -0.09788861f, + 1.6829336f, -0.093793035f, -0.27233508f, -0.42911232f, + -0.1417101f, 0.061521687f, -0.7366901f, 0.585583f, + -0.36172324f, 1.3339931f, 1.5816587f, 1.0108571f, + 0.84406555f, -0.19523928f, 0.6265568f, -0.5568335f, + -0.08276194f, 0.5927004f, -1.0334198f, -0.14848381f, + -0.12951224f, 1.028889f, -0.7391619f, 0.14463727f, + 0.40324175f, -0.904096f, 0.40453717f, 0.7131071f, + -0.99284285f, 1.0583549f, -0.07742344f, -0.8518291f, + 0.20074858f, 0.6997964f, 0.4601901f, -0.64828426f, + -0.3472982f, 0.5723569f, 0.62630576f, -0.19739147f, + 1.1631132f, 0.35580304f, -0.27869734f, -0.7615167f, + 0.1117386f, 0.026188988f, -0.914157f, -0.5013694f, + -0.5667545f, -0.34290963f, 0.3105646f, -0.08548017f, + -0.3806787f, -0.0073340074f, -0.05987275f, 0.0006121755f, + 0.6471124f, -0.4374903f, -1.20055f, -0.055029232f, + -0.0719591f, -0.72581327f, -0.11503035f, -0.4166544f, + 0.32489055f, -0.67653215f, -1.3371906f, 0.44303623f, + -0.62133986f, -0.04227854f, 1.7528225f, 0.7513945f, + 0.236208f, -0.14071135f, 0.2109171f, -0.26626816f, + 0.90282303f, -0.8206861f, 2.3818395f, 1.5156224f, + -0.3142489f, 0.014541436f, -0.088439666f, -0.14142625f, + -0.32519853f, -0.06059172f, -0.109074235f, -0.01198102f, + -0.19187595f, -0.3182718f, 0.9163231f, -0.012283807f, + -0.21753083f, -0.19417338f, 1.3679692f, -0.07442334f, + -0.26297215f, -0.1899094f, -0.21156532f, -0.08626601f, + -0.013559078f, -0.11695432f, -0.14765719f, 0.08685829f, + -0.26171312f, -0.112410426f, -0.2114959f, 1.4814451f, + 1.3329538f, -0.05524541f, 0.754913f, -0.020505223f, + -0.0021258914f, -0.08187226f, -0.4009018f, -0.23540197f, + -0.43479306f, -0.27041352f, -0.09637592f, -0.16448279f, + -0.14030203f, -0.27455878f, -0.048223555f, -0.15089874f, + -0.33818913f, 0.94155955f, -0.15442869f, -0.22915687f, + -0.1377937f, 0.37114137f, 0.40559143f, -0.08506112f, + 0.012582877f, -0.20444638f, -0.11493526f, -0.115319885f, + 0.18390366f, -0.031187909f, -0.032709f, -0.09117981f, + 0.026239205f, -0.11065731f, 0.44859108f, -0.10296126f, + -0.08016613f, -0.23115584f, -0.15242508f, -0.29978704f, + -0.14117754f, -0.19976127f, -0.16330266f, -0.054808654f, + -0.19940002f, -0.2121338f, -0.040035922f, -0.13514428f, + -0.20212795f, -0.14455931f, -0.43153653f, -0.20123148f, + -0.066452034f, 1.2996639f, 1.2094126f, 0.022999942f, + -0.058377188f, -0.1103805f, -0.16660045f, 0.006570653f, + 1.9679648f, -0.0017114935f, -0.16153443f, -0.2849549f, + -0.09784363f, -0.08378339f, -0.07024177f, -0.08464118f, + -0.03929748f, -0.1216627f, 0.6015996f, -0.1570687f, + -0.06645245f, 0.043394282f, -0.28028587f, -0.090576544f, + -0.29764247f, -0.088364124f, -0.27371582f, -0.04703137f, + -0.042431034f, 0.04235019f, -0.14108235f, -0.39012945f, + -0.12285795f, -0.0587379f, -0.062406015f, 1.0270125f, + -0.09205075f, -0.10249022f, 0.642366f, 0.7120161f, + -0.06839489f, -0.05020134f, -0.081062555f, -0.37947518f, + -0.06480002f, -0.09382491f, -0.08921949f, -0.1147676f, + 0.5766359f, -0.15279733f, -0.18992683f, -0.08851649f, + -0.24891815f, -0.15401964f, -0.07795846f, -0.14433789f, + -0.48399583f, -0.18643212f, -0.0723601f, -0.37744635f, + -0.10583535f, -0.08878775f, 0.6365733f, 0.80128384f, + -0.101385f, 0.3968146f, -0.20975979f, -0.11495628f, + -0.14345983f, -0.02168061f, -0.09509327f, -0.09367446f, + -0.029693985f, -0.22212417f, -0.27190775f, -0.20917438f, + -0.21654005f, 0.0030441738f, -0.3401374f, 0.5072916f, + -0.17215097f, -0.17774512f, -0.13701849f, -0.09408228f, + -0.08442589f, -0.06257961f, -0.03675375f, -0.08410633f, + -0.067764476f, -0.14214064f, 0.7950402f, 0.22419326f, + -0.15597065f, -0.06233684f, -0.08543232f, -0.14217062f, + -0.079136774f, -0.26203078f, -0.048577152f, 0.6554676f, + -0.030333271f, -0.030176302f, -0.05380925f, -0.11898572f, + -0.068299234f, -0.08592791f, -0.10283964f, -0.099229574f, + 0.71672827f, -0.11408568f, -0.36277422f, -0.09150463f, + -0.061160214f, -0.16880155f, -0.05676354f, -0.121809326f, + -0.058232043f, -0.11831048f, -0.24502432f, -0.057298884f, + 0.654107f, -0.09462272f, -0.04855136f, -0.0150308395f, + -0.07296246f, 0.75546366f, -0.19270726f, 0.79699546f, + -0.2512139f, -0.045797125f, -0.005112976f, 0.6215531f, + -0.10503175f, -0.110065795f, -0.07489892f, -0.068080954f, + -0.08979587f, -0.0052138874f, -0.08332907f, 0.63606834f, + -0.11700663f, -2.9360719f, 7.417647f, 1.2830306f, + 0.43933985f, 4.55941f, 6.5437975f, 0.98566586f, + -0.16722292f, -4.69681f, -1.767284f, 5.3091474f, + 5.723231f, -3.471847f, 2.762686f, -3.5397062f, + 2.1237185f, -0.9885293f, -4.246712f, -1.7657958f, + 0.24101901f, 0.8379823f, 2.967348f, -2.7045238f, + 4.665987f, -4.658255f, -0.95576584f, -4.049722f, + 0.9191266f, -0.4501422f, -0.4722458f, 0.5841199f, + -1.3575604f, 6.383036f, 0.06028108f, 1.4320763f, + -2.1812222f, -0.14482982f, 0.16232349f, 0.66108084f, + 2.166708f, -1.1809461f, -1.983383f, -0.3077051f, + 0.85189605f, -3.1156313f, 5.3507605f, 0.014805271f, + 0.35668522f, -3.5633013f, -3.7984338f, -3.365382f, + 5.309252f, -0.91856855f, -5.677884f, -3.4302666f, + -2.153246f, -1.2517222f, -2.9774559f, -0.034497518f, + 0.6259106f, -4.668775f, 3.5175645f, 2.6141045f, + -4.206535f, 0.7469843f, 1.6842898f, 5.5866284f, + -0.76397586f, 1.5631874f, -4.0994334f, -4.05738f, + -2.1315036f, 4.493727f, 2.0073547f, 4.5922565f, + -2.56662f, 0.272414f, -0.43489605f, 2.5213857f, + -0.013438602f, -2.0522149f, -1.1633118f, -1.2098055f, + -2.4337883f, -3.686609f, 0.77388746f, 1.8082199f, + -1.6000379f, 0.4753603f, 3.1224833f, -0.30001932f, + -3.4680626f, -2.9185934f, 0.5037284f, 0.8194583f, + 0.799107f, -2.2182198f, -2.2905052f, 0.9717309f, + 0.4704152f, -3.1092024f, 6.839785f, 2.5561244f, + -2.3920655f, -2.9273207f, 1.2452544f, 3.2615304f, + -0.1439213f, 5.189765f, -0.23962474f, -0.19947192f, + -0.41560143f, 0.118623935f, 0.0012575939f, 0.0061752694f, + -0.07788626f, -0.25022656f, 0.6530863f, -0.29118943f, + -0.46167684f, 0.15550077f, -0.5853621f, -0.21942838f, + 0.29900455f, -0.27979735f, -0.30388165f, -0.42507935f, + -0.11759697f, -0.23405613f, 0.3121268f, -0.2569767f, + -0.49683732f, -0.0737465f, 0.6383602f, -0.18969218f, + -0.43858743f, -0.034785774f, -0.26909798f, -0.27321976f, + -0.18362677f, -0.23460504f, -0.256411f, 1.5078452f, + -0.25648886f, -0.2817091f, 0.3029941f, 0.7349207f, + 1.2773894f, 1.0461065f, -0.75892717f, -0.028989669f, + -0.12044626f, -0.31926662f, 0.9342633f, -0.34664568f, + -0.073781125f, 0.3758208f, -0.53936565f, 0.17775619f, + 0.469314f, -0.45094758f, -0.24098027f, -0.5068926f, + -0.44791943f, -0.3460319f, -0.050827272f, -0.15085253f, + -0.27311116f, 0.5360011f, -0.1694382f, -0.28784856f, + 0.824027f, -0.21573362f, -0.08276362f, -0.4081254f, + -0.25016063f, -0.14878187f, 0.48778498f, 0.4993979f, + 0.6161539f, -0.47287282f, -0.5924905f, -0.6505962f, + -0.19002163f, 1.6355854f, -0.25795916f, -0.12699933f, + 0.28257158f, 0.38580483f, -0.44573328f, -0.073491246f, + 0.7550106f, 1.5545108f, 0.029535022f, 0.30055743f, + -0.49789235f, 0.2907997f, -0.07809363f, 0.07121975f, + -0.29318932f, -0.25164917f, 0.06456088f, 0.34209034f, + 0.9511694f, -0.10888153f, -0.36110345f, -0.3017654f, + -0.2279373f, -0.0061461306f, 0.03422336f, -0.18055609f, + -0.43302682f, 1.0084068f, 0.28340825f, -0.5088862f, + 0.045828287f, 0.23757441f, -0.61438847f, -0.18214181f, + 0.17983477f, -0.7190359f, 0.0931693f, 1.155613f, + -0.41913882f, -0.05017795f, 0.82609135f, -0.41810474f, + -0.51421535f, -0.24071075f, 0.25156054f, 0.27987754f, + -0.51987064f, -0.56087047f, -0.15824138f, -0.070240214f, + 0.101017945f, 0.04923886f, -0.5417319f, 0.019485071f, + 1.4682062f, -0.60885036f, -0.48154965f, -0.28437594f, + 1.3924737f, -0.48630914f, 0.66361594f, -0.48640767f, + -0.3879053f, 0.61486727f, 0.78167033f, 0.3511713f, + -0.21695213f, -0.24461484f, -0.30357832f, -0.21232876f, + -0.25644735f, 0.49354628f, 0.17684633f, -0.2394912f, + 0.82525814f, 1.2693895f, 0.0025586889f, -0.6015824f, + -0.16281028f, -0.063414104f, -0.030329892f, -0.022853998f, + 0.9561334f, 0.31957698f, -0.08777725f, -0.09485205f, + -0.53158736f, -0.5537853f, -0.10326844f, -0.1403512f, + -0.6553209f, -0.052374102f, 0.077941716f, -0.104090154f, + -0.2823853f, 0.6463097f, 0.09966926f, 0.8930202f, + -0.57824796f, -0.16422468f, 0.01172114f, -0.25232407f, + -0.48824716f, -0.5433899f, -0.21597189f, -0.010178311f, + -0.031052759f, -0.6156893f, 0.26890907f, 0.07690539f, + -0.24305418f, 0.045159418f, 1.0014454f, -0.030104263f, + -0.28299156f, -0.12634473f, -0.12735106f, -0.049461663f, + 0.34811282f, -0.21690482f, -0.026448093f, 0.96547496f, + 0.64899164f, -0.09128104f, -0.24945259f, -0.10855101f, + 0.0340845f, -0.08331121f, 0.794807f, 1.0249598f, + -0.33135918f, -0.0743035f, -0.35831964f, -0.13636105f, + -0.18112466f, 0.26270574f, -0.17938232f, -0.3211616f, + -0.07683446f, -0.3126213f, -0.33509678f, -0.53839725f, + -0.083560124f, -0.060549404f, -0.023496868f, 1.126115f, + -0.04796566f, -0.06740694f, -0.10078889f, 0.8696441f, + -0.09328896f, -0.059003033f, -0.042979967f, -0.50733316f, + -0.05074225f, -0.051396243f, -0.05519288f, -0.07080653f, + 1.4913118f, -0.13459514f, -0.19912656f, -0.07449951f, + -0.27856103f, -0.17237335f, -0.06470305f, -0.055739317f, + -0.5560634f, -0.11645225f, -0.013472242f, -0.22558822f, + -0.09673724f, -0.06858356f, -0.15660723f, -0.11514374f, + -0.081430934f, 0.7517176f, -0.25518316f, -0.055587597f, + -0.053383272f, 0.34412012f, -0.16549154f, -0.3551076f, + -0.024742212f, -0.29804474f, -0.281088f, -0.093390815f, + -0.09093288f, -0.010429024f, -0.3280106f, 1.4273076f, + -0.103272215f, -0.10719001f, -0.12070635f, -0.1167389f, + -0.038120385f, -0.029838953f, -0.0019892596f, -0.07161039f, + -0.047242474f, -0.12938026f, 1.2063516f, 0.5499403f, + -0.10382478f, -0.0657449f, -0.09691487f, -0.124650024f, + -0.035071753f, -0.12141817f, -0.0035622872f, -0.02741969f, + -0.049641334f, 0.033740107f, -0.034895293f, -0.03854355f, + -0.08791392f, -0.044074316f, -0.08532671f, -0.20651628f, + 0.17180352f, -0.09435528f, -0.5483845f, -0.20823766f, + -0.058974437f, -0.108081765f, 0.25099787f, -0.15589206f, + -0.09329981f, -0.0670667f, -0.16538277f, -0.018244635f, + -0.09065423f, -0.061861686f, 0.0013382526f, -0.038582418f, + -0.038146853f, 1.1508734f, -0.32107368f, 0.3459198f, + -0.13881679f, -0.07416676f, -0.017252535f, 0.17631476f, + -0.12319713f, -0.056095306f, -0.08236915f, -0.109352104f, + -0.011383761f, -0.008003356f, -0.059236765f, 0.6634414f, + -0.16523887f, 3.2493489f, -0.83198607f, 4.3695226f, + -0.23635542f, -2.4146416f, -0.6643497f, 0.10467811f, + 0.3745251f, -2.1517324f, 2.112686f, 4.6391516f, + 0.22490591f, 4.989621f, -3.0274765f, -0.071626894f, + -0.5503402f, -0.45265418f, 5.4162464f, 2.3064508f, + 0.43164498f, -0.5356831f, -0.2789652f, 1.3130108f, + -0.6905482f, -0.71338433f, -0.4790786f, -4.5521407f, + 0.24255411f, -2.0010889f, -2.2413158f, -0.07256683f, + -0.66022414f, -1.2224905f, -0.121300474f, -0.8076443f, + -0.88721627f, -0.7010758f, -0.2932995f, -1.8788337f, + -1.6588477f, -0.8523685f, -1.4967486f, 0.34407148f, + -2.5194633f, 4.0863433f, 8.339587f, -0.15185493f, + -0.89419055f, -2.6330602f, 3.6660094f, 2.499951f, + -0.79089177f, 4.1003623f, -0.42614588f, 4.060239f, + -3.3253777f, -1.5813466f, -1.6090637f, 0.6266538f, + -0.2573581f, -1.3914815f, -1.7670588f, -3.078264f, + 0.9937327f, -1.3677309f, 0.021288423f, -1.0951452f, + -1.3107287f, -0.8011009f, -0.14263926f, -1.3486457f, + 5.9875093f, -1.8756752f, -1.6681067f, 2.0772924f, + -0.40502015f, 0.20402578f, 0.030309007f, 0.20063396f, + 0.5934352f, -0.849473f, -1.8203727f, -0.77699316f, + -1.7634451f, 2.31134f, 0.47461015f, -1.4169213f, + 1.7377629f, 1.9731216f, 2.9827678f, -4.629668f, + 2.7919686f, -2.852662f, -0.34117642f, -0.64497143f, + 0.6980269f, -0.25371242f, -0.6521596f, -3.6128938f, + 0.15677688f, 0.20772271f, -1.2663095f, 1.1095146f, + -1.2833093f, -0.49311414f, 2.36679f, -0.047373127f, + -0.11140971f, 1.3916476f, -0.3222247f, -0.318744f, + -0.16535243f, -0.112748906f, -0.41860875f, -0.12650205f, + -0.01011773f, -0.024063969f, -0.087818086f, -0.04910701f, + -0.342707f, 0.012591901f, 0.08244142f, -0.33474544f, + 0.03966115f, -0.2838756f, 0.92707396f, -0.035671517f, + -0.09667311f, -0.29325056f, 0.85498077f, 0.17510204f, + -0.047266793f, 0.14086396f, -0.07402087f, 0.40540564f, + -0.0965102f, -0.16724116f, -0.027127651f, -0.053148538f, + -0.034253847f, 0.020938907f, -0.064478874f, 0.4823128f, + 0.10690623f, 0.08300567f, -0.22294772f, 1.5095601f, + -0.14127763f, -0.24698359f, -0.07866863f, 0.22515924f, + -0.13544424f, 0.06378123f, -0.25768828f, 0.15853289f, + -0.12752607f, 0.5564362f, 0.033855066f, -0.2536845f, + -0.010903843f, -0.32084423f, -0.095260076f, 0.2876785f, + -0.17867664f, -0.15312643f, -0.24605231f, -0.10509935f, + 0.66530025f, 0.8501762f, 0.41399455f, -0.08395541f, + -0.37856367f, 0.3388988f, 0.103469305f, 0.28638625f, + -0.2906751f, -0.05728423f, -0.08380238f, -0.11146603f, + -0.3352914f, -0.204873f, -0.2656677f, -0.17685403f, + 0.09509693f, -0.22999907f, -0.17741139f, -0.00033889833f, + -0.20452857f, -0.14450054f, -0.12551051f, -0.2441675f, + 1.7408111f, -0.34636196f, -0.24990416f, -0.12121512f, + -0.15501022f, -0.02907495f, -0.31558067f, -0.41508868f, + -0.053318724f, -0.13667527f, 0.13141605f, 1.1875167f, + -0.09772618f, -0.081181884f, -0.1816482f, -0.0045444034f, + 0.58887327f, -0.24677965f, -0.084220715f, -0.024565116f, + -0.15368824f, -0.05213556f, -0.068622254f, -0.104785256f, + -0.19265898f, 0.07406227f, -0.25053158f, 0.17343001f, + 0.33320215f, -0.3741788f, -0.11155209f, -0.16540346f, + 0.12549582f, -0.28318307f, 0.61143976f, -0.26650915f, + -0.35826f, -0.5445002f, -0.011573227f, -0.3910991f, + -0.21620543f, 0.47048634f, -0.23129f, -0.045362376f, + -0.2001089f, 1.1966714f, -0.34778705f, 0.12173801f, + 1.0352737f, -0.047508903f, -0.2442855f, -0.026523534f, + 0.61543137f, -0.3231377f, 0.16111301f, 0.029239977f, + -0.020463632f, 0.020401673f, -0.1524035f, -0.019964743f, + 0.82906026f, 0.12848325f, -0.16804615f, 0.4428795f, + 0.017808048f, 0.61024475f, 1.4540994f, -0.33290854f, + 1.0604022f, 0.93277f, -0.33582732f, 0.47502038f, + -0.35833016f, 0.3151776f, -0.4007742f, -0.14921647f, + -0.07069162f, -0.1235081f, -0.20444229f, -0.31692788f, + -0.49856248f, -0.38400728f, -0.42741883f, -0.31477064f, + -0.19543779f, -0.099755764f, 0.6658764f, -0.6198956f, + -0.2547231f, 0.763141f, -0.123319104f, -0.40261775f, + -0.52407473f, -0.22594841f, -0.21468723f, -0.32721278f, + -0.21038213f, -0.019356834f, -0.39806148f, 0.21717155f, + -0.39397314f, -0.20888793f, -0.23548542f, 0.02817893f, + -0.3747644f, -0.008234085f, 0.7315f, -0.2540953f, + -0.27827835f, -0.2357267f, 0.6174205f, -0.14320904f, + 0.81785804f, 0.19981162f, 0.40694696f, 0.1467925f, + 0.05096987f, -0.38640872f, -0.18914811f, -0.4461208f, + -0.06565536f, -0.93539995f, -0.07360351f, 1.047711f, + -0.20246512f, -0.3785084f, -0.18803938f, -0.09102549f, + 0.15531918f, -0.30128002f, 0.40945664f, 0.27780664f, + -0.49326703f, -0.21780372f, 0.14857848f, 0.39604777f, + -0.100641064f, -0.079164654f, -0.04139667f, -0.024719434f, + -0.07675755f, -0.055283345f, -0.14898911f, 0.81257725f, + -0.06053289f, -0.06231683f, -0.06785489f, -0.07808652f, + -0.0559577f, -0.051058773f, -0.071022175f, -0.08431292f, + 0.14775398f, -0.07150917f, -0.09686858f, -0.08630607f, + 0.81414986f, -0.08367042f, -0.0429543f, -0.14651267f, + -0.059862744f, -0.09100849f, -0.045729194f, -0.013355001f, + -0.03170174f, -0.06274579f, -0.1718385f, -0.14865208f, + -0.08667195f, 0.079898626f, -0.16583957f, -0.04850296f, + -0.03064521f, -0.07662814f, -0.10657943f, -0.21590951f, + -0.08919943f, -0.19883756f, 0.9100154f, 0.019300349f, + -0.124826804f, -0.05468137f, 0.36156183f, 0.29918462f, + 0.016270922f, -0.04993346f, -0.067955054f, -0.1219226f, + -0.005049039f, -0.02330441f, -0.072066166f, -0.073758654f, + -0.062370077f, -0.10861537f, -0.12605786f, 0.8309573f, + 0.05685353f, -0.045839116f, -0.0971746f, -0.004503727f, + -0.058943998f, 0.043747935f, -0.021757366f, -0.038570855f, + -0.009876959f, -0.08282457f, 0.03489131f, -0.038912956f, + -0.08811864f, -0.07138975f, -0.0327295f, -0.18486539f, + -0.044050407f, -0.07501776f, -0.09918028f, 0.603364f, + -0.03986403f, -0.060504783f, -0.018466594f, -0.078576244f, + -0.06026426f, 0.9989428f, -0.008746259f, -0.0741501f, + -0.18490286f, -0.056675322f, 1.4854984e-05f, -0.046616036f, + -0.048745938f, 0.1318883f, -0.07651242f, -0.080799766f, + -0.09319375f, -0.035905637f, 0.007126688f, -0.09144419f, + -0.018386565f, -0.060347673f, -0.06649842f, -0.100561455f, + -0.068719804f, -0.051193643f, -0.0618952f, 0.635109f, + -0.1967069f, -0.15588313f, -0.18285145f, -0.69359905f, + -0.17298102f, -0.35174623f, -0.12579f, 0.24984357f, + -0.14923766f, 0.54478604f, -0.7761816f, -0.70619065f, + -0.22727089f, -0.6743209f, -0.5080362f, 0.28268847f, + -0.517086f, -0.08842097f, -0.69246215f, 0.5227362f, + -0.5834853f, 0.14396848f, 0.30812135f, -0.65959483f, + -0.03582512f, -0.09216117f, -0.14248134f, -0.7659162f, + -0.05430202f, 0.069542445f, -0.097567596f, -0.14080186f, + 0.16383943f, -0.41748035f, 2.654387f, 0.5596587f, + 0.012933386f, 0.63640285f, 0.97101164f, 1.2532467f, + 1.4301101f, -0.8056706f, 0.59102285f, -0.15668409f, + 0.040951926f, 0.7665565f, -0.22659174f, -0.02103819f, + 0.48755535f, -0.5010985f, -0.48504862f, 0.4449264f, + 0.21524285f, -0.2785476f, -0.6850409f, -0.49711895f, + -0.5313891f, -0.37246475f, -0.5589967f, 0.027461419f, + 0.23304394f, 0.36522f, -0.65267164f, 0.78570753f, + 0.15762044f, -0.41988498f, -0.06845066f, -0.3659318f, + 0.11437183f, 0.43296948f, 0.368645f, -0.20950104f, + -0.61319554f, -0.18283954f, -0.9866157f, -0.23005715f, + 1.139369f, 0.43231186f, -0.35877028f, -0.36631218f, + -0.026832983f, -0.42286372f, -0.020284675f, 0.5932596f, + 0.97116196f, -0.54338497f, -0.1851281f, 0.24304295f, + 0.3480946f, 0.040884178f, -0.25173408f, -0.40284315f, + -0.4333857f, -0.42935237f, 0.13843648f, 0.8479549f, + -0.10864669f, 0.32624894f, -0.5103778f, -0.34697255f, + -0.0015234645f, 0.1039414f, 0.3675277f, -0.64461994f, + 1.0405436f, 1.0578108f, -0.34989724f, -0.013788954f, + 0.17013425f, 0.6367595f, -0.02392858f, -0.59964055f, + -0.69455564f, 0.4255757f, -0.90242183f, 0.5809387f, + -0.15851259f, 0.10627477f, 0.5269163f, 0.118443996f, + -0.52124333f, 1.4273409f, -0.19601145f, -0.9218799f, + -0.5385269f, -0.13524126f, 0.19419628f, 0.253651f, + 0.14028467f, 0.73322874f, 0.7596742f, -0.08505828f, + -0.3107628f, 1.6714996f, 1.600497f, 0.3007777f, + -0.6153829f, 1.1290426f, -0.09214911f, -0.17133752f, + 0.33404303f, -0.57717633f, 0.50510037f, 0.25372803f, + 0.6395591f, -0.27592453f, -0.6460075f, 0.1845208f, + -0.35913622f, 1.2934179f, 0.36541992f, -0.18174964f, + -0.16719998f, -0.53856343f, -0.5249155f, -0.5058662f, + 1.0242208f, 0.77575463f, 0.3516664f, -0.9622758f, + 0.37943885f, 0.41953912f, 0.5746904f, 0.012621304f, + -0.32548976f, -0.19329064f, 0.6002018f, -0.50319546f, + 0.0012278322f, -0.06397019f, -0.37405518f, -0.7638915f, + -0.21924087f, -0.4688643f, -0.19783299f, 0.009364976f, + -0.33538538f, 0.06796912f, -0.74338686f, -0.08998163f, + 0.18921076f, -0.6837038f, -0.34476754f, -0.682455f, + -0.75167704f, 0.6163693f, -0.004064118f, -0.32677865f, + 1.2386727f, -0.113761194f, -0.96553236f, -0.6460945f, + -0.20456643f, -0.5673037f, -0.34323773f, 0.18649076f, + -0.03732361f, -0.52453935f, -0.5043756f, -0.280785f, + 0.9447144f, -0.1156984f, 0.3951227f, 0.91349304f, + 0.10282173f, 0.36064157f, -0.24804695f, -0.6816688f, + -0.33063614f, 1.186187f, -0.92086893f, -0.67136484f, + -0.64463955f, -0.11909309f, -0.39353102f, -0.12263304f, + 2.5878234f, 0.21407065f, -0.48291904f, -0.011753646f, + -0.34181917f, -0.35893247f, 0.16344225f, -0.97426224f, + -0.05286716f, 0.6004592f, 0.12222906f, -0.14015275f, + 0.7530633f, -0.5701888f, -0.32981768f, -0.6207341f, + -0.47554913f, -0.69895506f, -0.54431933f, 1.1425894f, + 0.3760672f, 0.5973384f, -0.0655889f, 0.023098981f, + 0.54889655f, -0.44721627f, 0.7924068f, 0.009349255f, + 0.21057339f, -0.6421706f, -0.21903345f, -0.20144007f, + -0.23107572f, -0.1690056f, 0.3699225f, 1.7552505f, + 0.2613605f, 0.38883302f, -0.11824999f, -0.57384455f, + 0.41932005f, -0.47952527f, 0.16175793f, -0.4645134f, + 0.66748697f, -0.08544733f, -0.50870246f, -0.5886923f, + -0.5332116f, -0.08669448f, 0.8682504f, -0.2712052f, + -0.1707062f, 0.015392875f, 0.08834593f, 0.43885586f, + 0.070908785f, 0.23618351f, 0.095158204f, -0.22715457f, + 0.012320328f, 0.2004783f, 0.3146035f, -0.41278526f, + -0.12908965f, -0.13068242f, 0.54535145f, -0.01631169f, + 0.8203366f, 0.084239386f, 0.6479491f, -0.41293642f, + 0.09581829f, -0.058509924f, 0.4457866f, 0.1680085f, + 0.002588934f, -0.2623438f, 1.6550684f, 0.50758135f, + -0.6375206f, -0.2708747f, 0.66183484f, -0.57083875f, + -0.4009861f, -0.0012751506f, -0.7153751f, -0.30296087f, + -0.07565536f, 0.16415164f, -0.22131127f, 0.8100964f, + -0.9828568f, 0.3596644f, -0.35019636f, 1.0274247f, + -0.03885198f, 0.6289656f, 0.4388146f, -0.19154802f, + -1.0046338f, -0.7595624f, -0.06822518f, -0.380107f, + -0.31162512f, -0.9859716f, 1.0961376f, -0.24878128f, + -0.38563877f, 0.2054802f, 0.24382776f, -0.782815f, + -0.3206224f, -0.27344185f, -0.3458312f, 0.17385007f, + -0.32347378f, -0.6680408f, -0.17342184f, -0.17233942f, + -0.03760989f, -0.33458734f, -0.16312903f, 1.7720572f, + 0.145215f, -0.10641033f, -0.2165515f, -0.24701414f, + 0.045689914f, -0.005965972f, -0.19357097f, -0.3234427f, + 0.87316674f, -0.075759806f, -0.3187098f, -0.16661721f, + 2.0515208f, 0.060517617f, -0.20937034f, -0.14694506f, + -0.3353316f, -0.29235f, -0.094233036f, -0.17771219f, + -0.26390636f, 0.49844578f, -0.24337384f, -0.17943226f, + -0.32855144f, 0.6586753f, 0.18020836f, 0.95279735f, + -0.16136366f, 0.087674946f, -0.102666646f, -0.12674214f, + -0.20347509f, -0.11946039f, -0.04286386f, 0.8172888f, + -0.1641867f, -0.15828224f, -0.062307473f, -0.12035761f, + 0.027984357f, -0.026460188f, -0.14956534f, -0.1763685f, + -0.22481214f, -0.024610668f, -0.18043302f, 0.5917245f, + -0.1940063f, -0.14649948f, -0.169229f, -0.08159261f, + -0.22712089f, -0.17749642f, -0.11947405f, 0.19561525f, + -0.17164813f, -0.068342224f, -0.26817486f, -0.12344898f, + -0.12443161f, -0.21252503f, -0.25240362f, -0.029219182f, + -0.21218634f, -0.08305396f, 1.7680112f, 0.45936272f, + -0.14881806f, 0.30453545f, 0.75825256f, -0.30416235f, + -0.16611502f, 0.6914644f, -0.10551617f, -0.14651033f, + -0.20446351f, 0.08602447f, -0.14730924f, -0.07992274f, + 0.15578365f, 0.6360922f, -0.08870283f, -0.04752104f, + -0.01793844f, 0.038283315f, 0.04208007f, 0.020013304f, + -0.14753349f, -0.63554096f, -0.37232313f, 0.41501772f, + -0.11553225f, -0.08251885f, -0.1285659f, 0.3170265f, + -0.4379908f, -0.19364473f, 0.80589896f, -0.57572967f, + 0.6734866f, 0.29555285f, 2.8491797f, 1.0783544f, + 0.23160772f, 0.3838632f, 0.32587546f, -0.19965582f, + -0.62361497f, -0.19334194f, 0.0867236f, 0.6255389f, + 0.6695613f, -0.5767867f, -0.8055614f, -0.59436303f, + 0.55133283f, -0.29470873f, 0.094465084f, -0.20093215f, + -0.807509f, -0.20868099f, -0.7686701f, -0.32414538f, + 1.2895329f, -0.87658894f, -0.6443934f, 0.969774f, + 0.06955318f, -0.65840757f, 0.30503583f, -0.18884002f, + -0.024605451f, 2.3509274f, -0.6082475f, -0.52623475f, + 1.1752683f, -0.26323572f, -1.1456463f, -0.4122169f, + -0.45670614f, -1.1767f, -0.8064345f, 0.59996575f, + 0.031282205f, -0.42105934f, 0.8792798f, -0.33734867f, + -0.09500109f, -0.4565834f, 0.8409596f, -0.47654018f, + 0.12745944f, -0.12931567f, 1.4995502f, 1.4440975f, + -0.41830507f, -1.1645752f, -0.8779915f, -0.22193131f, + -0.18344346f, -0.94884837f, 0.70208305f, -0.27387738f, + 0.7115777f, -0.28039846f, -1.2438499f, 0.74528927f, + -0.27715746f, 1.2374766f, 0.7059456f, -0.31007016f, + -0.13033223f, -0.24576557f, -0.44860598f, 0.2146104f, + -0.37133038f, -0.21856207f, 0.54005176f, 0.09640648f, + 0.4734302f, -0.26330137f, -0.45376244f, -0.4413179f, + -0.73569506f, 1.1553972f, 1.1754336f, -0.38466874f, + -0.32588243f, -0.3351695f, 0.9853702f, 1.9155335f, + 0.34280264f, -0.35474664f, -0.46245944f, -0.36099857f, + 2.151012f, -1.5967754f, -0.15510967f, -0.52613574f, + -0.98247975f, -1.0398004f, -0.47499377f, -0.71776557f, + 0.7739135f, -0.8853458f, 0.0042237616f, 0.19207068f, + -0.3547116f, -0.09309435f, -0.2756582f, 0.23781072f, + -0.05578745f, -0.0772447f, 0.18884532f, -0.035448212f, + -0.2914102f, 0.33504233f, -0.4397298f, -0.3824476f, + 0.42143628f, -0.37493157f, -0.33907226f, -0.24595267f, + -0.3617337f, -0.578737f, 0.66571295f, -0.16713639f, + -0.29108772f, 0.16796766f, 0.46589294f, -0.21960169f, + -0.27075687f, -0.1942991f, -0.08664848f, -0.2296685f, + -0.20894247f, -0.106237486f, -0.24422497f, 1.3562249f, + -0.2423016f, -0.022928458f, 0.27609935f, 0.0041536028f, + 1.0571799f, 2.303784f, -0.5616675f, -0.29398134f, + 0.18206915f, 0.005284357f, 0.17893907f, -0.22232483f, + -0.08483204f, 0.4624998f, -0.14891411f, 0.06800109f, + 0.036200035f, 0.16384389f, -0.25533536f, -0.5215799f, + -0.5113894f, -0.44873425f, -0.39653438f, -0.17473136f, + -0.25868523f, 0.8599986f, -0.042011846f, -0.45061812f, + 0.40142214f, -0.06632186f, -0.51675284f, 0.08880637f, + -0.077954106f, -0.11780407f, 0.5839777f, -0.1741161f, + -0.06570812f, -0.53837925f, -0.05631169f, -0.1615481f, + -0.47854087f, 0.96934956f, -0.12818696f, -0.5166967f, + 0.31132123f, 0.5405264f, -0.66567755f, 0.5113458f, + 0.18924111f, 0.9078355f, -0.56540924f, 0.7686364f, + -0.14168431f, 0.43369058f, -0.18189056f, 0.07754213f, + -0.36218882f, -0.5183614f, -0.77408314f, 0.12405502f, + 0.5339788f, -0.17728081f, -0.12519781f, -0.13576612f, + -0.6436594f, -0.24316269f, -0.2572956f, 0.7020175f, + -0.61175233f, 0.89430773f, 0.66425943f, -0.45652068f, + 0.0051566046f, 0.1437964f, 0.8583364f, -0.058550753f, + -0.0800835f, -0.030542595f, 0.84051925f, -0.037073564f, + -0.1960574f, -0.18935724f, 0.5974451f, -0.11202957f, + -0.050432112f, -0.06740208f, 0.2556606f, -0.0308727f, + -0.03450173f, -0.049928598f, -0.07703484f, 0.86371875f, + -0.11926897f, -0.06988518f, -0.06368371f, -0.30979958f, + -0.112969175f, -0.034553334f, -0.1619048f, 0.28905398f, + -0.31063354f, -0.051491864f, 0.1217766f, -0.08100787f, + -0.07453777f, -0.057956535f, -0.1661975f, -0.112945445f, + 0.40669924f, -0.14794853f, -0.06858976f, -0.1336027f, + -0.13674709f, -0.14389792f, -0.20933442f, -0.042389352f, + -0.0910488f, -0.33146945f, -0.05506176f, -0.17686796f, + -0.013649271f, -0.17999935f, 1.2373143f, -0.055224635f, + -0.12823905f, -0.097137645f, -0.11951992f, -0.07695379f, + -0.04659627f, -0.0379294f, -0.054945607f, -0.060522806f, + -0.06846248f, 0.040187575f, 0.23148207f, -0.07009838f, + -0.05169014f, -0.06565858f, -0.09409733f, -0.055789877f, + -0.09242994f, -0.056179337f, -0.08793601f, -0.037960175f, + -0.029779464f, -0.05598786f, -0.021021152f, -0.111263484f, + -0.0902543f, -0.081627905f, -0.1986794f, -0.018834664f, + -0.05855816f, 0.26035598f, 0.9958224f, -0.039430305f, + -0.1077066f, -0.23545526f, -0.10064534f, -0.05993942f, + -0.24913877f, -0.09060418f, -0.048168052f, -0.078298494f, + -0.099454574f, -0.03733617f, -0.0693643f, -0.046338838f, + 0.8130984f, -0.19392365f, 1.2519735f, -0.15310246f, + -0.04223386f, -0.017556861f, 0.9316549f, -0.092174165f, + -0.120273486f, -0.04579627f, -0.1730681f, -0.11723757f, + -0.0357312f, -0.09244046f, -0.077901065f, -0.20618269f, + 0.25283375f, 0.17687227f, -0.57183427f, 0.36910236f, + -0.32705075f, 0.29417914f, -0.06888298f, -0.11297269f, + 0.24644776f, -0.77417135f, -0.6848491f, 0.54173434f, + -0.75619394f, -0.5648228f, 0.8929561f, -0.32402518f, + -0.41448757f, -0.12784657f, -0.2091412f, -0.72771525f, + 0.44951427f, -0.17811236f, -0.18560134f, 0.0035433231f, + 0.47171143f, -0.073201105f, -0.71996117f, 0.31867093f, + 0.058300667f, -0.085373715f, -0.10338045f, 0.046935048f, + -0.55665934f, 2.3366303f, -0.3692659f, 0.16002625f, + 0.6027281f, 0.014281623f, 1.3307047f, 1.7488679f, + -0.70902795f, -0.25545213f, -0.14826864f, -0.17813022f, + 0.5730056f, -0.20897883f, 0.33180258f, 0.3536007f, + 0.004360649f, 0.06241795f, 0.75670683f, 0.224112f, + -0.6048232f, -0.74232423f, -0.71931076f, -0.5834445f, + -0.41625795f, -0.35367224f, -0.3126076f, 0.17521244f, + -0.120382f, -0.44553176f, 0.8415658f, -0.37189215f, + -0.6841877f, -0.1320558f, -0.40576625f, -0.26065302f, + 0.83448416f, 0.39618346f, 0.22714496f, -0.5723813f, + -0.08386428f, -0.9782629f, -0.17008245f, 0.80578053f, + -0.21238442f, -0.49209517f, 0.42222422f, 0.13454379f, + -0.5617698f, 0.14940834f, 0.059609022f, 0.7742956f, + -0.47703484f, 0.23402844f, -0.38310373f, 0.3102058f, + -0.19097582f, -0.104172744f, -0.76501316f, -0.44780642f, + -0.20269468f, 0.21240881f, 0.91651964f, -0.061060667f, + -0.24909063f, -0.37173182f, -0.014151138f, 0.34525624f, + -0.06267062f, 0.16691172f, -0.6132017f, 1.0036784f, + 1.2660526f, -0.3843422f, 0.18575902f, 0.58723855f, + 0.33620113f, -0.22840904f, -0.19151507f, -0.16271935f, + 0.42888528f, -0.20816828f, -0.19622624f, 1.3024986f, + -0.045826852f, -0.026480744f, -0.204104f, -0.30769894f, + -0.10256694f, -0.04993364f, -0.21201478f, -0.30866176f, + -0.30486903f, 0.5356701f, -0.2902586f, 0.057707388f, + -0.2335143f, -0.011927023f, -0.12739183f, -0.009080477f, + -0.22770299f, -0.17585547f, 0.044223297f, -0.15247594f, + -0.072915375f, -0.021809436f, 0.028654799f, -0.08935762f, + 1.3727816f, -0.167461f, 0.44712326f, -0.009710546f, + -0.04542405f, -0.18835872f, 0.98122066f, -0.051206954f, + -0.26761934f, -0.08600599f, -0.043474942f, -0.09061073f, + -0.16424638f, -0.20645161f, 0.04539659f, -0.07533322f, + 0.11041837f, -0.24917327f, -0.28406382f, 0.041345265f, + -0.030915858f, -0.20868903f, -0.030710181f, 0.0013510184f, + 0.042593f, -0.08683754f, -0.19203039f, 0.87950987f, + -0.00438865f, 0.13944687f, 0.040647227f, -0.17750101f, + -0.06775155f, -0.062398966f, -0.015438208f, -0.072928436f, + 1.1455705f, -0.048084017f, -0.21739703f, -0.15788579f, + -0.21532245f, 0.06849368f, -0.41462237f, -0.03406558f, + -0.26757902f, 1.4421564f, -0.036526933f, -0.21462107f, + -0.08569348f, 0.17976919f, -0.330147f, 0.84907573f, + -0.28511763f, -0.19982779f, -0.010992601f, -0.093121916f, + -0.10988649f, 1.0099573f, -0.22581223f, -0.25430652f, + -0.1392582f, -0.0664731f, -0.32662904f, -0.18895958f, + -0.107851356f, -0.34788802f, 0.2199519f, 0.3316652f, + -0.25369167f, -0.27701366f, -0.19845755f, -0.29695857f, + 0.23892677f, -0.15676124f, -0.05566864f, -0.13779084f, + 0.5905695f, 0.028246215f, -0.1880463f, -0.158211f, + -0.093261994f, -0.21338391f, -0.12827787f, -0.1248872f, + -0.23330842f, 0.27136317f, -0.07161912f, -0.08860815f, + -0.1454992f, 0.045975402f, -0.039693728f, -0.12860975f, + -0.069132864f, -0.13061541f, -0.24247862f, -0.09513792f, + -0.15155111f, -0.12337352f, 1.9032909f, -0.052695416f, + -0.023909645f, -0.26015466f, 0.065147f, -0.16039348f, + -0.18719393f, -0.28195515f, -0.067011856f, -0.12260026f, + -0.23486756f, -0.18357794f, -0.10384673f, 0.24335086f, + -0.34279415f, -0.08243848f, -0.1415118f, 1.368997f, + -0.017992727f, -0.36591917f, -0.031406403f, -0.4369986f, + 1.0178086f, -0.054738052f, -0.036603298f, -0.009158183f, + 0.92351335f, -0.025364432f, -0.05366998f, 0.04193047f, + 0.0029592875f, -0.25004998f, -0.15179779f, -0.030619493f, + -0.038603045f, -0.12015034f, -0.135503f, 0.011338909f, + -0.28314266f, 1.1493077f, 0.060987405f, -0.14128809f, + -0.05792581f, -0.10161759f, -0.075040564f, -0.04538528f, + 0.06956525f, -0.10002697f, -0.04886154f, -0.04252012f, + 0.0030279835f, -0.047484003f, -0.15519822f, -0.1097196f, + -0.056154016f, -0.26957414f, -0.14621131f, 0.031601448f, + 0.023409266f, -0.2908017f, -0.0981981f, -0.11827429f, + 1.4680561f, -0.18534367f, -0.070913956f, 0.51700115f, + -0.10618579f, -0.05003601f, -0.34164247f, -0.0844686f, + 0.03617472f, -0.0065685376f, -0.07554547f, 0.675076f, + -0.23642074f, -0.17815247f, -0.107637405f, -0.0053464207f, + 0.11566401f, -0.28004172f, -0.062665306f, -0.12347386f, + -0.17128979f, -0.12777811f, -0.16823606f, -0.04019591f, + -0.051530566f, 1.2629687f, -0.20550388f, -4.3168464f, + -0.24886626f, -1.431114f, 0.05540148f, -2.5580401f, + 1.3831843f, 2.3626356f, -0.003909311f, 1.7558163f, + 0.16587234f, 0.8989113f, -2.1229873f, -2.347771f, + -1.0293839f, 6.8205566f, 0.0730506f, -0.07527148f, + 4.3677545f, -0.5455533f, -1.974138f, 0.18869023f, + -1.5495026f, -1.2175992f, 0.16089408f, 1.401868f, + 0.14134784f, 2.3598516f, 0.25893706f, -2.9612389f, + -2.8121846f, 0.37797537f, 1.1979729f, -1.9995649f, + 0.11241398f, -1.5454179f, 1.1737751f, -0.6895833f, + -1.2254364f, 2.894213f, 2.3188658f, -3.3266892f, + 1.5436358f, 0.108194105f, 0.4806176f, -1.7371562f, + -1.2830426f, 0.22276694f, -1.620491f, 4.261439f, + 0.90288895f, -0.65445954f, -1.426307f, -2.7032154f, + -1.8229043f, -0.40056947f, 1.9999362f, 0.97119737f, + 4.3827453f, -0.48015392f, 0.48166102f, -2.8060193f, + -0.073997624f, -1.5639548f, -0.29844198f, 0.036378663f, + 3.0989087f, 0.12699266f, -1.3432045f, 1.5167955f, + -1.0569842f, -0.65430695f, 1.7084807f, 0.4692697f, + 3.5047426f, 0.3088521f, 1.7873335f, -1.046757f, + -0.118189275f, 0.5911035f, 0.18856372f, 1.2541101f, + 4.7505903f, 2.3271286f, 1.9932852f, -2.9223294f, + -0.27396408f, 0.07537805f, -1.0606399f, -0.85909736f, + 2.7495646f, -1.2174144f, 1.764061f, 1.4387304f, + 0.09071019f, -2.0339723f, -0.08251524f, -1.1719716f, + 0.7349904f, 4.021179f, -0.06853537f, -4.849576f, + -2.9034114f, -1.591728f, 2.089637f, -3.1576686f, + -1.3907044f, -2.6523864f, 0.07671407f, -1.2163798f, + -0.07359346f, -0.08668753f, -0.09085469f, 0.017082071f, + -0.08985676f, -0.11185875f, -0.09880342f, 0.029206404f, + -0.016286856f, -0.07524284f, -0.08198292f, 0.47820142f, + -0.03137328f, -0.07714865f, -0.07571334f, -0.067629434f, + 0.21930242f, -0.1429074f, -0.20590474f, -0.08309826f, + 0.5917472f, 0.005481364f, -0.06757667f, -0.1386418f, + 0.5646645f, -0.108243525f, -0.086436845f, -0.15647627f, + -0.060578432f, -0.08247181f, -0.09058331f, -0.10174875f, + -0.07713522f, 0.5127588f, -0.14212419f, -0.06696708f, + -0.14584361f, 1.0354104f, -0.06953503f, -0.20755054f, + -0.066146545f, -0.028360311f, 0.06889669f, 0.016393527f, + -0.1418715f, -0.028697541f, -0.050186716f, 0.4988721f, + -0.05107486f, -0.101799786f, -0.07933962f, -0.10999379f, + -0.050055157f, -0.03158206f, -0.078531794f, -0.08713288f, + -0.060743734f, -0.07998166f, 0.033845607f, 0.7490313f, + 0.086723655f, -0.06903709f, -0.115419805f, -0.074922904f, + -0.009422413f, 0.0116548035f, -0.080853306f, -0.021401875f, + -0.059212353f, -0.02900329f, -0.05556725f, -0.02860889f, + -0.0885862f, -0.085872956f, -0.064990796f, -0.21712591f, + -0.0643311f, -0.042169385f, 0.49360728f, 0.09765816f, + -0.0660171f, -0.08976767f, 1.0600802f, -0.14567176f, + -0.037014004f, 0.16465048f, -0.17666201f, -0.068531305f, + -0.14201103f, -0.08385357f, -0.024248812f, -0.049390864f, + -0.07698153f, 0.49063954f, -0.20889933f, -0.07089814f, + -0.073463246f, -0.0807254f, -0.011625342f, -0.19396365f, + -0.08568955f, -0.097195044f, -0.07670138f, -0.057440586f, + -0.0749174f, -0.057740826f, -0.08242015f, 0.24813698f, + -0.1661102f, 3.6731f, 1.1918759f, -0.8780679f, + -0.10124991f, 3.1446059f, -0.6971279f, -1.1949688f, + -0.095232055f, -1.8547423f, -1.3424116f, -1.8010441f, + -0.7013633f, 1.2372379f, -0.81290853f, 1.9391007f, + -0.9062321f, 0.49327886f, 2.9787655f, 1.2946081f, + -0.8306096f, -0.11101006f, -0.52624744f, 0.45194706f, + -1.934489f, -0.60675496f, -0.47821927f, -0.09266448f, + -0.2381736f, -1.6736f, -1.8030536f, -0.28228125f, + 2.4630873f, -0.638226f, -0.14869046f, -1.359076f, + -4.579007f, -1.3367974f, -0.18328483f, 0.6602551f, + -1.330997f, 2.5504007f, 0.429872f, 0.074421495f, + -2.2314956f, 1.9423418f, 2.4958863f, 0.20023459f, + 0.3403407f, 4.75503f, 4.0494385f, 3.5329075f, + -0.6882337f, 3.1716566f, 3.6320724f, 0.27711946f, + -2.7652895f, 0.029787945f, -1.7705483f, -0.054495957f, + 0.16389212f, -0.008755913f, 2.5298347f, -1.4101384f, + 0.21967898f, -1.5492338f, -1.7267256f, -1.716968f, + -0.33292118f, -1.717969f, -1.7068119f, 6.3889236f, + -1.9824315f, -0.47809413f, -1.7881655f, -0.7471201f, + 1.4683284f, -0.5628763f, -1.7478974f, 1.027078f, + 0.5941963f, -1.7425231f, 2.7673564f, 0.65283954f, + -1.3281808f, -1.8015102f, 0.27141455f, -0.8302308f, + 5.469293f, -0.4764163f, -0.9356305f, -0.22512823f, + -0.023895506f, -1.1855983f, -0.23431231f, -1.338334f, + -0.17689793f, 1.078155f, -2.5652318f, 0.8010266f, + 0.025854954f, 3.2429273f, -2.9569576f, -1.2682651f, + 0.10815208f, 0.13421017f, -1.1775419f, -0.16431786f, + 0.017210174f, -2.0076933f, -1.1561013f, 2.2529395f, + -0.6535061f, -0.1044888f, -1.6199961f, 0.41495577f, + 1.9077429f, 1.5495837f, -1.5090318f, -1.0511693f, + 5.2863235f, -0.1858281f, 0.7282059f, -2.4932678f, + 1.6848266f, 1.972652f, -0.53303945f, 0.31275666f, + -0.63367575f, -0.20547912f, 0.22068618f, -0.7165349f, + -1.3619326f, 5.552196f, -1.0717317f, 1.2562604f, + -1.3965939f, 1.3779693f, -1.1423243f, -1.5711361f, + 0.52395236f, -0.9623952f, 0.18831152f, -0.27463368f, + 0.8250733f, -0.12563594f, -1.5874671f, -0.49330857f, + -1.8544326f, 4.7781878f, 0.54886687f, 0.6841308f, + 0.8353607f, 1.8692322f, -2.3503385f, 1.9887958f, + 0.85565704f, 1.2644293f, -0.6959518f, -1.7566197f, + -2.0049534f, 0.9246352f, 2.1070392f, -1.3016248f, + -1.9830322f, -2.7593164f, -1.2194784f, 0.9417308f, + 0.2323362f, 0.7743562f, 1.2568893f, -2.7961514f, + -1.424966f, -0.8219906f, -1.9414895f, 3.572039f, + -2.0913305f, -0.96042466f, 2.8467674f, -0.7712584f, + -1.6290495f, -2.0401282f, 2.8088295f, -1.6513517f, + -2.1289403f, -1.208127f, 1.940771f, 3.5589206f, + 1.3088957f, 0.45183805f, -0.5713082f, -1.027957f, + -0.76495796f, -1.0387921f, 0.2461054f, 1.0788473f, + 2.6320438f, -0.74531955f, -2.8921676f, -0.03143121f, + -0.25720713f, 0.24268164f, -1.6701624f, 0.4995069f, + -0.54359585f, 0.2937094f, -2.4054916f, -0.41559443f, + 0.5241131f, -0.23202682f, -3.0114722f, -1.1641957f, + -0.5638207f, 0.106554255f, -0.5123931f, -0.8979652f, + 3.2366462f, 0.08196721f, 4.444518f, -0.06259689f, + -0.33450896f, -0.14763285f, -0.4205563f, -0.28950304f, + -0.77576846f, 0.53227943f, 0.44850776f, -0.37589377f, + -0.3072115f, -0.059073724f, -0.21370003f, -0.21901844f, + -0.54393184f, -0.58641475f, -0.23208618f, 0.7518133f, + -0.5241223f, 0.10624801f, -0.83465976f, -0.09642914f, + 1.5639068f, -0.55612284f, -0.46815133f, -0.4724137f, + 0.12378365f, 0.031124895f, -0.122639075f, -0.19352186f, + -0.23171085f, 1.2708188f, -0.103020996f, -0.51447076f, + -0.17693104f, 2.8417432f, -0.28806293f, -0.45132315f, + -0.454802f, -0.21391906f, -0.19921713f, -0.35537198f, + 1.4092975f, 1.4423138f, 3.919447f, -0.419335f, + -0.38433605f, 0.09175738f, -0.3864537f, -0.52750653f, + -0.5047468f, -1.0184945f, -0.8278297f, -0.27164137f, + -0.04158763f, -0.45525834f, -0.15944031f, -0.026521616f, + -0.66158086f, 0.1304416f, 0.82900536f, 3.824954f, + -0.36706346f, -0.41734704f, 4.028651f, 0.08966365f, + 3.7075465f, -0.44909388f, 0.4534223f, -0.6792766f, + -0.5956197f, -0.42047516f, -0.31450605f, -0.5311029f, + -0.122758135f, -0.11698179f, -1.0400174f, -1.0178877f, + -0.4353168f, -0.40116578f, 0.45234287f, -0.5230108f, + -0.69381285f, 0.1835223f, -0.46963155f, -0.33560964f, + -0.03586719f, 2.062213f, 0.0555504f, -0.77976567f, + -0.5761823f, -0.023946784f, -0.32501066f, -0.23298149f, + 0.27052367f, -0.42512324f, -0.40886405f, 1.4059507f, + -0.051237796f, -0.23254468f, -0.4443852f, -0.49906063f, + -0.13372438f, -0.32222295f, -0.27907786f, -0.64064837f, + -0.34407055f, -0.7378993f, 0.31072235f, -0.3847739f, + 0.77840286f, -1.5014623f, -1.6369667f, 0.15721892f, + 2.310001f, 1.6780571f, -0.84452516f, -0.0037365658f, + -0.030043738f, -1.4446723f, -2.4107285f, -0.30585098f, + -0.9760401f, -1.522058f, -1.8837268f, -0.057901166f, + 0.91551715f, -1.197007f, 1.272301f, 0.518048f, + 0.44767168f, 1.2804598f, -2.5173817f, -1.285402f, + -0.1446033f, 0.21932782f, -1.5994515f, -0.08048569f, + -1.5461478f, -1.3743409f, 0.3367965f, 0.59793293f, + -0.96541584f, -0.17938598f, -0.25899762f, -2.4993424f, + 3.7861621f, 0.8685263f, 0.32286248f, -0.8386966f, + 0.82897764f, -0.3816823f, 0.6157397f, -0.47600618f, + -1.4087876f, 0.5339306f, 0.6141896f, 1.5369879f, + -1.1329072f, 2.8894613f, 6.131606f, -1.7651651f, + 2.0428774f, -0.044124477f, -1.6903048f, 1.6138542f, + -0.49217358f, -1.6181629f, 0.114441745f, 0.07868073f, + -0.8997363f, -2.2917824f, 0.47612783f, -0.22145548f, + 0.4379871f, -1.4979626f, 1.306742f, -0.6269978f, + -0.99029934f, -0.189361f, 4.113698f, -0.84382695f, + 0.34869865f, -0.24937488f, -0.55380696f, 2.0434349f, + 0.2995072f, -1.107016f, 1.3580266f, 0.2007551f, + -0.78020656f, -1.2906488f, 0.7410638f, 0.3529165f, + -1.3341801f, -0.13892464f, -0.46074846f, -1.4699724f, + 1.8885388f, 1.9661734f, 1.4118576f, -1.0406173f, + -0.36125627f, 0.425911f, 0.9285509f, -0.2971367f, + 3.5788145f, -1.0758419f, 0.54847276f, 0.045025583f, + -0.5043927f, -1.5574447f, 0.510544f, -0.46078518f, + 3.1153083f, -0.36788052f, -0.71594995f, 0.8629354f, + -2.0090997f, -0.09261695f, -0.04030692f, -0.092586756f, + 1.0057175f, -0.09463941f, -0.101231255f, 0.59447837f, + 0.71764845f, -0.04739154f, -0.07274321f, -0.10161236f, + -0.40883014f, -0.022305872f, -0.09957483f, -0.08537533f, + -0.11913863f, 1.1634334f, -0.12230817f, -0.18902598f, + -0.06518236f, -0.17977642f, -0.14797439f, -0.11493504f, + -0.08873729f, -0.42345977f, -0.12336724f, -0.017169485f, + -0.1936536f, -0.06164696f, -0.09775351f, -0.21300812f, + 0.6730627f, -0.07706275f, 0.47714815f, -0.14249925f, + -0.06471867f, -0.06404842f, 0.17092016f, -0.11141843f, + -0.25502458f, 0.0049186954f, -0.24975294f, -0.20645344f, + -0.14156981f, -0.16339763f, -0.009144268f, -0.19147013f, + 1.011594f, -0.18478268f, -0.17337438f, -0.11914083f, + -0.10647544f, -0.104771666f, -0.0012048809f, -0.0023030143f, + -0.05556736f, -0.07684619f, -0.15629049f, 0.7064602f, + 0.34064645f, -0.12119072f, -0.056598656f, -0.14417525f, + -0.11970901f, -0.029404746f, -0.15484911f, -0.027769716f, + 0.60703295f, -0.049053393f, -0.07335732f, -0.046390034f, + -0.049851365f, -0.06333611f, -0.0828848f, -0.11796604f, + -0.12937586f, 0.58962154f, -0.11010461f, -0.36409235f, + 0.08990689f, -0.05999607f, -0.12456095f, 0.14591037f, + -0.15315439f, -0.0935054f, -0.0581339f, -0.18935508f, + -0.0614902f, 0.5972278f, -0.1255121f, -0.018779743f, + -0.029626636f, -0.075243935f, 0.109197296f, -0.20716187f, + 0.3798646f, -0.2572378f, -0.07228504f, -0.03968359f, + -0.090084374f, -0.09916183f, -0.098055534f, -0.058550783f, + -0.06984982f, -0.063209385f, -0.021898052f, -0.06662524f, + 0.6956958f, -0.116753064f, -0.26199383f, -0.9773308f, + -1.1369494f, -0.43667504f, 0.15893255f, -1.1515857f, + -0.4880996f, 0.574554f, -0.19744523f, -0.78930545f, + 0.072843395f, 0.65452546f, 0.8738918f, -0.6940727f, + -1.257824f, -0.6783757f, 0.88782537f, -0.63197905f, + 1.8010767f, -1.0759754f, 0.969156f, 2.9260292f, + -0.59735084f, -1.5745115f, -1.2379751f, 1.3596989f, + -1.6962247f, 0.75249046f, -0.697698f, -0.6691517f, + 0.42209643f, 0.42191496f, -2.4835668f, -0.17649966f, + 1.5051452f, -1.3261797f, 1.3449857f, -0.29870632f, + 1.7764349f, 0.49866235f, -1.661181f, -0.011293771f, + 1.4164718f, 3.1416929f, -1.2430165f, -0.687653f, + 0.39141482f, 1.0759271f, -2.2902806f, 1.2346398f, + 1.8559798f, -1.232507f, -0.44538176f, -0.6452678f, + -0.61875886f, 0.2757739f, -1.4767425f, -1.8914642f, + 0.061856497f, -0.012764602f, 2.8324437f, 0.95154285f, + 0.9354157f, 1.224731f, -0.8016376f, 0.3166127f, + 2.0025215f, -0.67323744f, -0.27247533f, -0.54617447f, + -1.5076663f, -0.5256402f, -0.86952937f, -1.5374383f, + -0.9415668f, -1.9337566f, 0.31937236f, -0.6165179f, + -0.062132336f, 1.117609f, -1.1759263f, -0.34810877f, + 0.022053836f, -0.8445917f, -1.4070222f, 1.6191514f, + 2.8135695f, -0.022204898f, 0.76820695f, 1.3381451f, + -2.1617403f, -1.2567042f, -0.20020778f, -0.23368911f, + 1.4091364f, -0.34981513f, 3.108128f, 2.7400885f, + 1.9121646f, -0.5477137f, -0.06646584f, -1.2305988f, + -1.3047715f, 0.19171669f, 1.0599023f, 1.9179039f, + -1.4593551f, -0.07324092f, 0.6686651f, -0.21047509f, + -0.052781418f, -0.08911627f, 0.9020384f, -0.15637892f, + -0.26905745f, 1.5784374f, 1.0472809f, -0.029584995f, + -0.12501834f, -0.14950213f, -0.27969247f, -0.09379165f, + -0.09567663f, -0.113214515f, -0.19516513f, -0.4315594f, + -0.17201786f, -0.013874925f, -0.15550871f, -0.4854814f, + -0.2833937f, -0.18899699f, -0.19616668f, -0.41518807f, + 1.1753173f, -0.16596186f, -0.49706194f, -0.0787877f, + -0.06627953f, 1.0995164f, 1.9384638f, -0.13958824f, + -0.045567162f, -0.29601428f, -0.20971927f, -0.29498008f, + -0.2911737f, 0.020279696f, -0.0566716f, -0.02800226f, + -0.29484183f, 1.1009415f, -0.2896551f, -0.18021879f, + -0.04599055f, 0.23129186f, -0.41612124f, -0.2593999f, + -0.47816712f, -0.18672895f, -0.20362999f, -0.16457576f, + -0.18468784f, -0.1013179f, 0.10127057f, -0.047669016f, + -0.22046356f, -0.4732283f, 0.4543924f, -0.118310906f, + -0.13793153f, -0.12817395f, -0.25757387f, -0.068370976f, + -0.29307798f, -0.0053827735f, 1.5706465f, -0.12631188f, + -0.16801304f, -0.03201667f, -0.20394081f, -0.12519988f, + -0.09314133f, -0.20099038f, -0.14220533f, 2.0537908f, + -0.15232505f, -0.2967952f, 0.537042f, -0.003362433f, + -0.25209048f, -0.3086927f, -0.02799718f, -0.071936354f, + -0.5316695f, -0.03805935f, -0.09132485f, 1.5993769f, + -0.2120136f, -0.051855188f, -0.053084534f, -0.10816766f, + -0.5575374f, -0.25037828f, 0.85418326f, -0.39173344f, + -0.104531616f, -0.069062375f, -0.58834356f, 0.012626199f, + -0.1463345f, -0.13635512f, -0.106418744f, -0.10494553f, + -0.127434f, -0.19671795f, 0.9263381f, -0.18191715f, + -0.108005404f, -0.19404201f, -0.040611632f, 0.5639991f, + -0.17386454f, -0.47936752f, -0.19546188f, -0.113354936f, + -0.07663137f, -0.23196691f, -0.16083972f, 1.8644203f, + 0.01375263f, -0.097260885f, -0.22084597f, -0.15388726f, + -0.10175068f, -0.12909955f, -0.20129582f, -0.15371777f, + 0.36761668f, -0.14043592f, -0.14530292f, -0.21623395f, + 2.0977392f, 0.059948843f, -0.086177595f, -0.063414805f, + -0.14592728f, -0.13199866f, 0.34161857f, -0.17914885f, + -0.2310431f, 0.20942773f, -0.1336883f, -0.101135015f, + -0.22417536f, 0.59556293f, -0.24786331f, 0.037057962f, + -0.1594399f, -0.18982817f, -0.15628637f, -0.11587675f, + -0.15841216f, -0.13274929f, 0.20310661f, 0.53131896f, + -0.09314031f, -0.07334235f, -0.1523432f, -0.21035738f, + 0.022186302f, 0.14052668f, -0.039876632f, -0.1055619f, + -0.11666578f, 0.0020968032f, 0.20315881f, 0.11038799f, + -0.12932496f, -0.071984075f, -0.1944466f, -0.014725659f, + -0.071346685f, -0.13549173f, -0.15953307f, -0.054878734f, + -0.07500111f, -0.17161822f, -0.18586704f, 0.029007705f, + -0.23494439f, -0.123335764f, -0.1964132f, -0.32239738f, + -0.1998691f, -0.09735949f, 1.8788278f, -0.015312608f, + -0.10811126f, -0.040638812f, 0.53924626f, -0.15184991f, + -0.049407512f, -0.03708832f, -0.07195476f, -0.12182032f, + -0.10722368f, -0.023354108f, -0.10979252f, -0.03978507f, + 0.01630108f, 0.5866805f, -0.177437f, 0.31403586f, + -0.04232291f, -0.04919688f, -0.09016743f, 0.69189465f, + -0.16394953f, -0.2715775f, -0.10495f, -0.21401823f, + -0.23191936f, -0.13289666f, -0.18050006f, 0.3992159f, + -0.25052407f, -0.026259944f, -0.04291076f, -0.06599167f, + 0.30476677f, -0.088437855f, -0.057536f, -0.08890348f, + 0.052292034f, -0.07146929f, -0.11709304f, -0.07164754f, + 0.21328828f, -0.08144019f, -0.072987f, -0.06559479f, + -0.054943558f, 0.70656586f, -0.083294936f, -0.1395102f, + -0.100768425f, 0.13032448f, -0.10295206f, -0.074603334f, + -0.07574017f, 0.38391972f, -0.024419945f, -0.08236121f, + -0.10870505f, -0.046874505f, -0.045049924f, -0.080128245f, + -0.17790586f, -0.075514756f, 0.56320155f, -0.14215477f, + -0.06811527f, -0.06316031f, 0.9980656f, -0.053473268f, + -0.29322404f, 0.0027916038f, -0.263273f, -0.07497117f, + -0.049055483f, -0.07917196f, -0.008322976f, -0.07669762f, + 0.66211003f, -0.12515971f, -0.07263492f, -0.08363722f, + -0.07629105f, 0.003384127f, 0.019355072f, 0.00044333367f, + -0.036863428f, -0.090355515f, -0.07918566f, 0.84256744f, + 0.27607182f, -0.0017770889f, -0.06777987f, -0.11072644f, + -0.08535083f, -0.021249678f, -0.034372624f, -0.028265059f, + -0.06370129f, -0.069741316f, -0.059303727f, -0.056258f, + -0.029151311f, -0.061341554f, -0.040974185f, -0.059032463f, + -0.18910545f, -0.06214295f, -0.029329348f, 0.079982184f, + -0.06913066f, -0.0758385f, -0.08224567f, 0.9832021f, + -0.1972713f, -0.06511421f, -0.071230486f, -0.060222734f, + -0.070533335f, -0.08823043f, -0.05673278f, -0.011073243f, + -0.047130175f, -0.028229313f, 0.4773505f, -0.18822634f, + -0.01799291f, -0.10730629f, -0.071527906f, -0.030331893f, + -0.05182831f, -0.062070902f, -0.07819976f, -0.08130331f, + -0.060268153f, -0.022450477f, -0.04501708f, -0.09298025f, + 0.21584122f, -0.13829896f, 0.5941255f, -0.60148454f, + 1.1278609f, -0.3192112f, -0.6342735f, -0.5594282f, + 0.43779454f, -0.1304103f, 0.49742323f, -0.8783934f, + -1.0611418f, -0.7419473f, -3.0265706f, -0.97900903f, + -0.7798701f, 0.27610895f, 0.9389303f, -0.6283463f, + 1.9119084f, -1.7713927f, 2.5593395f, 0.8980702f, + 0.07858713f, -0.33077815f, -0.058641534f, 0.0942297f, + -1.3521281f, -0.08244909f, -0.20634562f, 0.22672436f, + -0.05643908f, 0.34191704f, 1.4178926f, 0.13122846f, + 1.5809171f, -0.7293213f, -0.49273962f, 0.90367085f, + -0.93585616f, -0.87088764f, 2.3684309f, 2.082579f, + 0.042808644f, -0.13689524f, -1.0876788f, -1.0195911f, + 0.385444f, 0.42845413f, 0.04048017f, -0.10003363f, + -1.281881f, 5.007208f, 0.10830239f, 0.034152053f, + 3.7036364f, 2.1764076f, -0.42992985f, 0.40712696f, + 0.2189693f, 0.75290304f, -1.0877707f, -1.746042f, + -1.0279312f, 1.4179698f, 2.0813947f, 0.64143395f, + -0.35989678f, 0.23701258f, -0.6245644f, -1.0611823f, + -1.194882f, 2.8087394f, 0.97500634f, 0.91774476f, + -0.81203717f, 0.08533289f, -0.5479782f, 0.16091727f, + 1.0793566f, 0.55938005f, 4.7970314f, -0.43696874f, + 0.91577375f, -0.17259556f, -2.670788f, 0.90620905f, + -0.9384425f, -1.3309355f, -0.4822158f, -1.7670957f, + 0.58780557f, 0.9418557f, 0.5045298f, 0.35241732f, + -0.6512243f, -0.11385758f, -1.6205927f, -1.5609951f, + -2.0394218f, -0.11318686f, -0.01230678f, -0.9514283f, + -0.681172f, -2.2977889f, -1.1220875f, -2.3791733f, + -0.72869736f, 0.35630295f, -0.28271896f, -0.061559483f, + -0.13897419f, -0.077770084f, 0.8444761f, -0.06775763f, + -0.30433103f, -0.0064366423f, 0.21340701f, -0.102665074f, + -0.12345311f, -0.10876255f, 0.6627697f, -0.016621169f, + -0.082696974f, -0.09823506f, -0.08337386f, -0.016008312f, + -0.08389742f, -0.115061365f, -0.09932064f, -0.09668162f, + -0.15487789f, -0.060424406f, -0.18795997f, 0.67516303f, + -0.21523239f, -0.06486029f, 1.1534078f, -0.093063235f, + -0.08198707f, 0.5383196f, 0.015633289f, -0.15575992f, + 0.05566862f, -0.17587951f, -0.10186054f, -0.14158933f, + -0.23394512f, -0.08142413f, 0.027268816f, -0.09765914f, + -0.18237518f, -0.32506323f, -0.13441281f, -0.2087243f, + -0.051046863f, 0.42060983f, 0.3642175f, -0.0427164f, + -0.05798518f, -0.13962187f, -0.06777634f, -0.10705565f, + -0.025356669f, -0.03806695f, -0.10217237f, -0.084113695f, + -0.090018936f, 0.26929906f, -0.08463043f, -0.14289328f, + -0.032634623f, -0.12289233f, -0.16731706f, -0.12811576f, + -0.22194967f, -0.053121805f, 0.0020362006f, 0.013136508f, + -0.10881163f, -0.15495521f, -0.061626695f, -0.09583786f, + -0.08645877f, -0.13627309f, -0.18976258f, -0.06583352f, + -0.07066883f, 0.641905f, 0.113827825f, -0.030817354f, + -0.11641156f, -0.24656433f, -0.08951639f, -0.041229274f, + -0.22886792f, -0.17276016f, -0.065224335f, 0.11128837f, + -0.005138242f, -0.07346115f, -0.03908621f, -0.041177012f, + 0.6544546f, -0.1196209f, 0.74367803f, -0.17626856f, + -0.034414977f, -0.027113896f, 1.6718704f, -0.119087815f, + -0.16951309f, -0.06875866f, -0.18549304f, -0.1893909f, + -0.0644383f, -0.102258965f, 0.46536827f, -0.1276183f, + -0.10186119f, -0.14165424f, -0.08205723f, 0.5787698f, + -0.021412399f, -0.095147304f, -0.24397609f, 0.218232f, + -0.11331542f, -0.058344286f, -0.14520341f, 0.24356014f, + -0.050770737f, -0.11239975f, -0.06464873f, -0.08147771f, + -0.36730203f, -0.15715337f, -0.23336639f, -0.10126757f, + 0.51874983f, -0.1495705f, -0.09533939f, -0.12543266f, + 0.29181698f, -0.12303502f, -0.038557976f, -0.36796385f, + -0.013189616f, -0.04466073f, 0.9456755f, -0.29851595f, + -0.1859127f, 0.2652495f, -0.25712794f, -0.060414962f, + -0.21380919f, 1.1565217f, -0.15439083f, -0.12629908f, + -0.05534439f, -0.38690674f, -0.060293756f, -0.10807224f, + -0.19283654f, -0.004433716f, 0.82285815f, -0.17129686f, + -0.08470987f, -0.17174429f, -0.10640827f, -0.12212534f, + -0.06767069f, -0.058274813f, 0.026342165f, -0.14814194f, + -0.07874961f, -0.10288869f, 1.2240345f, 0.26997092f, + -0.085033104f, -0.060423728f, -0.16603002f, -0.15469463f, + -0.033361703f, -0.115449555f, -0.061311368f, -0.11323095f, + -0.124373555f, -0.043921035f, -0.058168847f, -0.08969436f, + -0.08963596f, -0.07320588f, -0.015290561f, -0.20968929f, + -0.23826353f, -0.082043774f, 0.20435615f, -0.27697298f, + -0.13326542f, -0.09752573f, 1.1459304f, -0.15850823f, + -0.095249765f, -0.36554846f, -0.16226625f, -0.05343386f, + -0.23799032f, -0.11458801f, -0.015429758f, -0.002539024f, + 0.043885853f, 1.9157556f, -0.13710584f, -0.16206227f, + -0.17021836f, -0.12062582f, 0.03219496f, 0.59024704f, + -0.096943595f, -0.081032224f, -0.051900517f, -0.17546643f, + -0.041656774f, -0.06075241f, -0.008864291f, 0.67406183f, + -0.1728804f, -0.0676053f, -0.12962463f, -0.12455265f, + 0.6114089f, -0.11458178f, -0.101230934f, 0.08998323f, + 0.103958026f, -0.021101171f, -0.12008325f, -0.11066182f, + -0.03763638f, -0.06597272f, -0.06722311f, -0.010186448f, + -0.067686856f, 0.4906695f, -0.07607523f, -0.17732504f, + -0.084387094f, -0.064110495f, -0.018664442f, -0.111581415f, + -0.095659696f, -0.008484789f, -0.0447406f, -0.08526642f, + -0.24750766f, -0.08697282f, -0.14370473f, 0.1764961f, + 0.25856063f, -0.08103737f, 0.39771882f, -0.20233105f, + -0.08090545f, -0.13299991f, 0.8492318f, -0.09103781f, + -0.08630398f, -0.10447156f, -0.32894555f, -0.10483754f, + -0.093136445f, -0.1920325f, -0.011478198f, -0.1954818f, + 0.44575623f, -0.026591705f, -0.020081732f, -0.12322651f, + -0.017247545f, -0.066123776f, 0.0481129f, 0.015131368f, + -0.0344175f, -0.073034465f, -0.04047052f, 1.1535819f, + 0.08578877f, -0.049611725f, -0.025564719f, -0.11264489f, + -0.19392562f, 0.00042181523f, -0.12539913f, -0.07103489f, + 0.17104256f, -0.05175872f, -0.056902513f, -0.093104415f, + -0.06689917f, -0.07105359f, -0.09896184f, -0.07369876f, + -0.088342085f, -0.20116213f, -0.05528966f, -0.04554144f, + -0.14860569f, -0.03815804f, -0.081449434f, 0.9548166f, + -0.13118109f, -0.07809058f, -0.08782942f, -0.074990526f, + -0.104767375f, 0.3721641f, -0.112889916f, -0.012052116f, + -0.05326769f, -0.045693178f, 0.97640157f, -0.102519386f, + 0.17698808f, -0.25636744f, -0.07472169f, -0.027820364f, + 0.5478384f, -0.16766417f, -0.16285634f, -0.08590056f, + -0.14835012f, -0.08164314f, -0.07546314f, -0.098467335f, + 0.3163805f, -0.10818502f, -0.22968379f, -0.18031064f, + -0.1519225f, -0.3019484f, -0.19531368f, -0.11708601f, + -0.35493913f, 0.66802764f, -0.14091909f, -0.18341523f, + -0.1849875f, 0.7584279f, -0.16325769f, -0.11426192f, + -0.14884567f, -0.17725572f, -0.088033125f, -0.09876734f, + -0.33458883f, -0.24738221f, 1.7558635f, -0.28932807f, + -0.18412319f, -0.112525016f, 0.5747782f, -0.08736915f, + 0.028841933f, -0.23721708f, -0.015803307f, -0.16466154f, + -0.34501633f, -0.34536913f, -0.22436315f, 0.31865832f, + -0.6035561f, 0.014648969f, -0.22838464f, -0.1690392f, + 0.027432611f, 0.5908184f, -0.12857807f, -0.5664905f, + 1.282564f, 0.17036298f, -0.19642398f, -0.087453395f, + 0.1926829f, 0.5331883f, 0.0023192216f, -0.17131181f, + -0.094434194f, -0.10808443f, -0.059824467f, 0.15293339f, + -0.104379445f, -0.13487233f, -0.11558163f, -0.1680402f, + -0.26423994f, 1.4475054f, 0.13594751f, -0.12886676f, + -0.21545781f, -0.33174017f, -0.2841013f, 0.174303f, + -0.07029643f, -0.19252846f, 0.02760378f, 0.12250622f, + -0.10535864f, -0.15025522f, -0.12653081f, -0.24595048f, + -0.041840572f, -0.19832228f, -0.22665587f, -0.02751366f, + 0.56202614f, 1.2427742f, -0.20002605f, -0.060487654f, + -0.083780654f, -0.037830736f, -0.05396574f, 2.4116507f, + 0.111853614f, 0.009762549f, -0.39183816f, -0.15347971f, + -0.02930885f, -0.10539488f, -0.15945706f, 0.08307468f, + 0.06310973f, -0.36644623f, -0.44726697f, -0.006095996f, + 0.121388525f, -0.2985333f, -0.14891455f, -0.23816957f, + -0.22299832f, -0.031214502f, -0.11856185f, -0.018885657f, + 0.2206502f, 0.6242639f, -0.27392358f, -0.17696789f, + -0.060161345f, -0.08284439f, 1.3601472f, -0.19142073f, + -0.111392714f, 1.4823298f, 0.97833294f, -0.0936868f, + -0.09600656f, -0.1523041f, -0.37329695f, 0.021657921f, + -0.15605403f, -0.13597399f, -0.010797003f, 1.1257063f, + -0.18671197f, -0.3147147f, -0.16217417f, -0.16337554f, + -0.28247184f, -0.16359085f, -0.13239625f, -0.37580997f, + -0.07339118f, -0.04491724f, -0.17162925f, -0.115817994f, + -0.05322758f, -0.27103993f, 1.4945308f, -0.1146796f, + 0.21184602f, -0.1045753f, -0.12464826f, -0.16583087f, + 0.07007481f, -0.15167369f, -0.25422767f, -0.07218378f, + -0.42808318f, -0.18354452f, -0.30127436f, -0.23079953f, + -0.063431114f, -0.2925307f, 0.81703573f, -0.25911063f, + -0.32954547f, -0.15876034f, -0.09446164f, -0.106434755f, + 0.07882648f, -0.0053168912f, -0.05032121f, -0.10674659f, + -0.12698229f, 1.0387524f, 0.14620245f, -0.2694137f, + -0.1602534f, -0.18091154f, -0.22682297f, -0.098407865f, + -0.33984047f, -0.030529605f, 1.2893776f, -0.08741957f, + -0.105371915f, -0.06422729f, -0.1125131f, -0.035067778f, + -0.098380715f, -0.17054527f, -0.2057726f, 1.3332717f, + -0.20855938f, -0.3146948f, -0.1960705f, -0.019851746f, + -0.23376982f, 0.1410738f, -0.109309345f, -0.12397192f, + -0.09876571f, -0.39209354f, 0.001087319f, 1.3177013f, + -0.16446617f, -0.08184799f, -0.08173835f, -0.027363272f, + -0.65192825f, -0.2212995f, 0.1071583f, -0.39807388f, + 0.007206194f, 0.04445621f, -0.27988386f, -0.21165423f, + -0.11974586f, -0.16224419f, -0.14540572f, -0.0412059f, + 0.0035500093f, -0.087124534f, 1.4846128f, -0.095585614f, + -0.15961523f, -0.1477299f, -0.4425534f, 0.3631182f, + -0.15624237f, 0.2161543f, -0.15873916f, 0.19096652f, + -0.2197013f, -0.5783342f, -0.40531516f, 0.43903947f, + -0.39504886f, -0.5373414f, 0.93052f, -0.3878318f, + -0.30396816f, -0.23774143f, -0.19634879f, -0.38106012f, + 0.32346284f, -0.28847876f, 0.04995997f, 0.30286685f, + 0.5189715f, -0.1646156f, -0.39687702f, 0.24181712f, + 0.061709102f, 0.06685497f, 0.1851299f, -0.11920728f, + -0.50478137f, 3.5593767f, -0.24214017f, -0.18919367f, + 0.3259599f, 0.13398221f, 0.844858f, -0.0014203767f, + -0.48865497f, -0.15379505f, 0.058050632f, 0.07316261f, + 0.5396791f, -0.3111192f, 0.37788272f, 0.25711894f, + -0.2324713f, 0.1377098f, 0.2116928f, -0.13164149f, + -0.11913067f, -0.5062507f, -0.6905722f, -0.4784423f, + -0.34932497f, -0.0387059f, -0.10114358f, 0.41112995f, + -0.024062641f, -0.30971992f, 0.6145075f, -0.25210717f, + -0.30955768f, -0.18472499f, -0.21254764f, -0.17639285f, + 0.08455481f, -0.10083708f, 0.24169463f, -0.21947852f, + -0.20053005f, -0.39466745f, -0.36473313f, 0.7575502f, + -0.19667885f, -0.34846509f, 0.5552072f, 0.07575532f, + -0.30798393f, -0.0020207209f, 0.0718931f, 1.1408312f, + -0.32627726f, 0.10158326f, -0.30109173f, 0.59343636f, + -0.30277717f, -0.15106277f, -0.4772168f, -0.46803352f, + -0.4222703f, 0.41761604f, -0.5137398f, -0.015272645f, + -0.16394147f, -0.6527686f, -0.3094431f, 0.2916544f, + -0.16264035f, 0.059038837f, -0.53436345f, 0.58927983f, + 0.74883527f, -0.45920688f, 0.34326237f, 0.52533597f, + 1.0686816f, -0.023865229f, -0.20758916f, -0.1025933f, + -0.08665877f, -0.071389094f, -0.09658281f, -0.31777793f, + 1.2066866f, 0.018803261f, -0.039822917f, -0.15380044f, + 0.42781934f, -0.12558748f, -0.2601148f, -0.03008824f, + -0.14474228f, -0.16110997f, -0.06933707f, 0.06094168f, + -0.19695461f, 0.24962777f, -0.14849488f, -0.08288458f, + -0.20442511f, 0.47704592f, 1.5997927f, -0.098912515f, + 1.6235687f, 0.061482508f, 0.01455922f, 0.039753288f, + -0.38364935f, -0.2802207f, -0.21791196f, 0.14679825f, + -0.082009055f, -0.15180372f, -0.22026585f, -0.1781253f, + -0.19941229f, -0.16851147f, -0.24026242f, 1.3522575f, + -0.120523155f, -0.238645f, -0.03779989f, 1.473887f, + -0.56302416f, -0.14570183f, 0.037778914f, -0.18889368f, + -0.050867736f, -0.19254039f, 0.09682664f, -0.0043427953f, + -0.0035352171f, -0.054069802f, -0.12321849f, -0.07210236f, + -0.10766924f, -0.0010079714f, -0.09866926f, -0.1342901f, + -0.047748312f, -0.1275037f, -0.11949954f, -0.18670987f, + -0.14671722f, 0.0014341834f, -0.29468632f, -0.2027678f, + -0.08429267f, -0.021755382f, -0.22010686f, -0.03930447f, + -0.27089378f, -0.15295677f, -0.118349195f, 0.4072705f, + 0.49795812f, 0.0037448031f, -0.10076144f, -0.1304637f, + 0.039687302f, -0.11897828f, 1.9355478f, 0.105870895f, + -0.21455713f, -0.21528473f, -0.2200973f, -0.13063991f, + -0.06227775f, -0.062418777f, -0.26641342f, -0.07573588f, + 0.08006094f, -0.2758226f, -0.039636746f, 0.004576654f, + -0.42735505f, 0.034683287f, -0.07568413f, -0.040412847f, + -0.20563865f, -0.067054294f, -0.10038301f, 0.057991832f, + -0.026492536f, -0.2762205f, 0.5420894f, -0.17256866f, + -1.121371f, -0.36154947f, 0.7319255f, -0.6960644f, + -0.4505671f, 0.7340403f, -0.10257483f, -0.52287465f, + -0.9074013f, -0.6256625f, -1.5854049f, -0.49357384f, + 0.29445663f, -0.34543207f, -0.20218076f, -0.9904373f, + 2.4090528f, -0.5542025f, 1.3370781f, 1.2701106f, + -0.06787479f, -0.884406f, -0.6845491f, 1.0669148f, + -1.0346956f, 1.016292f, -0.26294303f, -0.34901047f, + 0.18624662f, -0.2239802f, -0.826165f, 0.4385783f, + 1.3331845f, -1.191661f, -0.16625138f, -0.46351606f, + 0.49017298f, 1.5803488f, -1.328091f, 1.6833773f, + 1.3388318f, -0.20871481f, 2.2450702f, -0.40904304f, + 1.1044267f, -0.5206759f, -0.15661052f, 1.0074289f, + 0.16278544f, 0.27253133f, -1.3421316f, -0.8849983f, + -0.55261225f, -0.30903944f, -0.729469f, -1.237332f, + 0.10175694f, 0.3476956f, 0.49571872f, -0.38311112f, + 0.24614395f, -0.06077394f, -1.845432f, -0.7117886f, + -0.649977f, -0.7043598f, 0.5645651f, 0.103460744f, + 0.39598873f, -1.1469188f, 1.6892332f, -1.3135213f, + 0.8852702f, -0.05270132f, 0.09534033f, -0.84901667f, + -0.003358512f, 0.73365194f, 0.6167993f, -0.48205727f, + -0.80359995f, 0.3299386f, -0.39818674f, 1.7648283f, + 0.9679186f, 0.32967973f, 0.5938209f, -0.8399336f, + -1.3805199f, -0.34342444f, -0.3180734f, -0.19407775f, + 3.725385f, -0.47905558f, 0.1118694f, -0.12443465f, + -0.6014113f, -0.4352444f, 0.5952659f, -1.1280854f, + -0.8507722f, 1.2696242f, 1.2089683f, -0.87075216f, + -0.52857363f, 0.49793246f, 1.550014f, -0.14920056f, + -0.28445473f, -0.07479021f, 0.4858375f, -0.41395485f, + -0.10650677f, 0.558682f, 0.12292604f, 0.015028963f, + -0.13705726f, -0.44650486f, -0.18816864f, 0.057194255f, + -0.44942307f, -0.19159831f, -0.40951404f, 1.1915126f, + 0.0047821896f, 0.008288269f, -0.23776686f, 0.3836254f, + -0.0162356f, -0.09201239f, 0.24564826f, -0.41931424f, + 0.20419522f, -0.18276404f, -0.08800804f, 0.120526284f, + 0.10058008f, -0.1108946f, 0.57842296f, -0.12562533f, + 0.49001834f, 0.0695201f, -0.07561312f, -0.09940605f, + 0.99744105f, -0.19796485f, -0.17136113f, 0.16819912f, + -0.10187153f, -0.15680516f, -0.074543774f, -0.50656265f, + -0.057356685f, -0.07638613f, 0.7979082f, -0.205974f, + -0.23336609f, 0.17620331f, -0.13739969f, -0.18977891f, + 0.42115104f, -0.0015141456f, -0.071066804f, -0.32094538f, + -0.09282156f, 0.90378886f, 0.2591793f, 0.30883446f, + 0.026663871f, -0.26145354f, -0.0127002f, -0.04649101f, + 0.08409823f, 0.09391574f, 0.4967249f, -0.17771281f, + -0.15630054f, -0.23506011f, -0.18155655f, -0.1483346f, + -0.3110853f, -0.2069929f, -0.13036321f, 0.7495217f, + -0.015806878f, -0.34691182f, -0.12015907f, -0.11548592f, + -0.24228565f, 0.95918286f, -0.25288036f, -0.1946273f, + 0.0017970725f, -0.18078645f, -0.1541034f, 0.40296414f, + -0.31034836f, -0.085719354f, -0.121858224f, 0.1147378f, + -0.054238617f, -0.1113041f, -0.11452829f, -0.21905561f, + 0.0975093f, 0.16721782f, -0.25198728f, -0.24288145f, + -0.08853213f, -0.37893724f, 0.09241831f, -0.089507304f, + 0.07670963f, 0.0472931f, 0.5201585f, -0.14196154f, + 3.00308f, -1.5764521f, -0.63818866f, -0.33997452f, + -2.4247515f, 1.6907567f, -0.135787f, -0.08344564f, + -0.37125728f, 1.4240844f, -0.27991676f, -2.03627f, + 1.4295287f, 0.22490548f, 0.9746426f, 1.0808784f, + -1.1095698f, 0.09564222f, 1.497122f, 1.482253f, + 0.017412005f, 1.0882617f, 5.36333f, -0.6735945f, + -0.567026f, -0.7121823f, -2.24366f, 0.30319914f, + -2.6704054f, -2.4659843f, 0.2763374f, -0.2610869f, + -2.0498335f, 0.41988513f, 5.4607215f, -3.6056304f, + 0.9744555f, 1.0718869f, -1.6893843f, 0.025939964f, + 2.134419f, 1.0201564f, -0.38690504f, -2.2673419f, + 4.158644f, 2.5307853f, -0.09863266f, 0.10915043f, + -1.9880115f, -1.3374059f, -2.0802636f, 2.6421468f, + 4.889054f, -0.21410684f, 4.273005f, -1.3458354f, + -1.216228f, -1.8088161f, 0.6975902f, -0.006806802f, + 0.94878507f, -2.2798793f, 0.47976422f, -0.94574934f, + -2.1313f, -1.7409943f, -1.7555293f, -0.25862667f, + -1.365109f, -2.2056139f, 1.2176151f, 3.908354f, + -0.9809741f, -3.840567f, -2.1010132f, -2.970835f, + 0.97695535f, -0.41880727f, 2.2630594f, -0.34995243f, + 1.108299f, -0.53510964f, -0.6031154f, -1.1870165f, + -0.14318563f, 0.40582585f, 0.9681265f, -0.50629693f, + 0.63940233f, -2.301425f, -0.019789787f, -1.1789504f, + -1.065349f, 0.14052142f, 3.4715436f, 0.37710816f, + -1.6511139f, -1.2059654f, -2.483163f, 0.32957265f, + 0.3173964f, 0.7180238f, -1.4567027f, -1.8383194f, + 2.8280802f, -0.44567356f, 3.078956f, 0.07497677f, + 4.033932f, 1.4323299f, -0.3933588f, -0.12618895f, + -0.35552996f, -0.3281665f, -0.911075f, 0.85057515f, + 0.24836454f, -0.30740157f, -0.016370684f, 0.4656131f, + -0.028667606f, -0.47011057f, 0.03878904f, -0.62708896f, + 0.054417513f, -0.292776f, -0.43631625f, 1.5056092f, + -0.7044145f, -0.57217425f, 0.42272574f, -0.66527694f, + -0.41121802f, 0.030667426f, 0.9897962f, -0.08850218f, + 0.055992506f, -0.20066413f, -0.14662623f, 0.9969778f, + 0.14650579f, -0.0829889f, -0.13160554f, 1.9013904f, + -0.18206996f, 0.110209174f, -0.4240809f, 0.38957578f, + 0.010650433f, -0.4429466f, -0.80394745f, 0.7510726f, + 1.9914575f, -0.5095548f, -0.35583913f, 0.04824109f, + -0.4611302f, -0.57079726f, -0.549549f, -0.18109488f, + -0.75637835f, -0.27426538f, -0.19030938f, -0.16650769f, + -0.399768f, 1.3858218f, -0.59827965f, -0.093568504f, + -0.026185235f, 1.683647f, -0.33787313f, -0.6433546f, + 2.1542284f, -0.23620205f, 2.0557654f, -0.25709024f, + 1.1757916f, 0.24038179f, -0.54826576f, -0.49766865f, + -0.39212373f, -0.34467265f, -0.75100493f, -0.66617405f, + -0.74346745f, 0.70023847f, -0.44874603f, -0.5500947f, + 0.6279592f, -0.6339841f, -0.818437f, -0.23940352f, + -0.70922995f, -0.30768606f, 0.116695955f, 2.0596833f, + 0.29318258f, 0.10966904f, -0.32481158f, -0.3017226f, + -0.13023835f, -0.7902047f, -0.09903174f, 0.38479134f, + 0.49501657f, 1.2123947f, -0.028880484f, -0.2937486f, + -0.20034997f, -0.6246323f, -0.055660382f, 0.43057403f, + -0.55079025f, -0.31515464f, -0.47615942f, 0.7570758f, + -0.058055583f, -0.6502056f, 0.09970006f, -0.52591795f, + -0.2690605f, 0.8440321f, -0.24602537f, -0.13722259f, + -0.01683005f, 0.8253175f, -0.2621835f, 0.011417657f, + -0.35018414f, 0.95944077f, -0.42106304f, -0.25901818f, + -0.14265229f, -0.130633f, -0.2611672f, -0.39715093f, + 0.19839716f, 0.6522068f, -0.28812194f, -0.35548463f, + -0.1981392f, 1.0797652f, 0.9444378f, 1.0398633f, + 0.19758895f, 1.5782477f, 0.12201613f, 0.1698805f, + 1.0791184f, -0.8476935f, 0.3486277f, -0.29768038f, + 0.28549632f, -0.20318992f, -0.30890018f, -0.51549894f, + -0.16723067f, -0.3093801f, -0.18017882f, -0.48155737f, + 0.55092424f, -0.3693531f, -0.38622284f, -0.19760594f, + 1.474265f, -0.3370546f, 0.06309024f, -0.32841513f, + 0.019959737f, -0.07743185f, 0.12432953f, -0.27848336f, + -0.2511766f, 0.2378562f, 0.48104876f, -0.40966132f, + -0.24333909f, -0.24868564f, -0.5264447f, -0.3964825f, + -0.3889971f, -0.23015255f, 0.124079406f, -0.14334677f, + -0.5627087f, 0.09641568f, -0.06985442f, -0.06287371f, + -0.39349368f, -0.4770353f, -0.5651642f, -0.41854876f, + 0.31703392f, -0.004221735f, 0.5201598f, -0.25347838f, + 0.6727407f, -0.33245265f, -0.4006659f, -0.404762f, + -0.21241459f, -0.36057013f, -0.056638163f, -0.063903265f, + -0.037660204f, -0.45218286f, -0.21394688f, -0.41641283f, + 0.3571241f, 0.10724707f, -0.067917034f, 0.6730494f, + -0.17072015f, 0.8800175f, -0.34336293f, -0.5839172f, + -0.13750827f, 0.94799423f, -0.19634286f, 0.1957077f, + 0.8881317f, -0.5933747f, -0.24255905f, -0.26535258f, + 1.6068975f, 0.16800088f, -0.1931759f, -0.0065743714f, + -0.31696945f, -0.08789007f, 0.24635114f, -0.0023993142f, + -0.20478785f, -0.38518733f, 1.1744897f, -0.09273858f, + -0.2371807f, -0.21399558f, 1.2445673f, -0.1044853f, + -0.22525536f, -0.1538712f, -0.1597927f, -0.053444173f, + -0.07123603f, -0.20809679f, -0.15826425f, -0.4301957f, + -0.28690472f, -0.10954287f, -0.17275462f, 1.3400387f, + 1.404985f, 0.024264442f, 1.235252f, 0.050771523f, + 0.05329575f, 0.45179954f, -0.34384412f, -0.2073749f, + -0.45895937f, -0.33095804f, -0.19117947f, -0.15079461f, + -0.182507f, -0.24799664f, -0.17753604f, -0.048418865f, + -0.35762674f, 0.8655828f, -0.16545166f, -0.193545f, + -0.05653657f, 0.3276152f, 0.47779936f, 0.016993409f, + -0.032183606f, -0.20256008f, -0.050104532f, -0.21105707f, + 0.12649919f, -0.023948988f, -0.048892323f, -0.14677247f, + -0.042818945f, -0.23064333f, 0.16172127f, -0.1028542f, + -0.095756344f, -0.17025746f, -0.25724936f, -0.22788577f, + -0.29977587f, -0.22026625f, -0.2128194f, -0.075260445f, + -0.2552324f, -0.25899038f, -0.035265576f, -0.1978276f, + -0.18743324f, -0.10272222f, -0.39480695f, -0.24872698f, + -0.08891863f, 1.1739706f, 1.0178154f, 0.004280441f, + -0.018077834f, -0.14699808f, -0.0948811f, 0.038047876f, + 1.1535907f, -0.091852106f, -0.16069384f, -0.20378143f, + -0.1206604f, -0.056362487f, -0.07154377f, -0.074818425f, + 0.35427353f, -0.15544146f, 1.1707228f, -0.24840929f, + -0.064124845f, 0.009480719f, 0.085968986f, -0.069111705f, + -0.10781745f, -0.06586908f, -0.3043338f, -0.010374428f, + -0.11712369f, 0.012622767f, -0.35526446f, -0.45023662f, + -0.3192064f, -0.22302537f, -0.4611692f, 0.07228626f, + -0.33824617f, 1.2196138f, -0.3314699f, 0.30140722f, + 0.37159836f, -0.8103827f, -0.6437753f, 0.6492667f, + -1.0658495f, -0.032065354f, 0.29109877f, 0.10896513f, + -0.73180914f, -0.7667943f, -0.67691916f, -0.22882731f, + 0.2390776f, -0.3230283f, -0.0007543883f, 0.12649041f, + 1.1346502f, 0.25162306f, -0.41390607f, 0.66014695f, + -0.3592229f, -0.2566284f, 0.041753963f, -0.53106904f, + -0.35901457f, 1.1583247f, -0.24012606f, 0.4583887f, + 1.805386f, -0.3810752f, 0.46816108f, 1.4753085f, + -0.8299185f, -0.50347614f, -0.0044106967f, -0.18453053f, + -0.072953686f, -0.071448006f, 0.18027472f, 0.42322725f, + -0.52104646f, 0.06545444f, -0.39725128f, -0.20471708f, + -0.175757f, -0.51053566f, -1.0970505f, 0.27657443f, + -0.51635355f, 0.041382488f, -0.4604737f, 0.44550502f, + -0.28941292f, -0.5530657f, 1.2577735f, -0.67284924f, + -1.0098054f, -0.40894046f, -0.7021875f, -0.1273512f, + 1.074469f, -0.11638624f, 0.41988835f, -0.28824425f, + 0.36833495f, -0.44298095f, 0.13941476f, 0.40021393f, + -0.34991282f, -0.27380055f, 1.292406f, 0.6209476f, + -0.43385217f, 0.5908461f, -0.42263764f, 1.2389411f, + -0.24474083f, 0.6562904f, -0.16719484f, -0.5522935f, + -0.29424548f, -0.15414813f, -0.65496796f, -0.6105816f, + -0.115787685f, 0.65430206f, 1.1851165f, 0.53224283f, + -0.47186095f, -0.31893414f, -0.24312462f, 0.46031442f, + 0.15654448f, 1.4318689f, -0.77742475f, 0.67117923f, + 1.3839366f, -0.48295417f, -0.04378236f, -0.006427122f, + -0.51734596f, -0.095744915f, -0.20965807f, -0.042230304f, + 0.59558225f, -0.14376393f, -0.48324552f, -0.32136577f, + -0.05576855f, -0.09930785f, -0.14667796f, -0.17450431f, + 2.0257375f, -0.07391893f, -0.009321558f, -0.16577198f, + -0.15132087f, 0.5675718f, -0.16350903f, -0.1332681f, + -0.14384696f, -0.2950026f, -0.18837571f, -0.15612482f, + -0.30982572f, 2.2075987f, 0.15041165f, -0.021673905f, + -0.03159342f, -0.12868f, -0.107750125f, -0.09365272f, + -0.23069263f, -0.34884626f, 0.23634373f, -0.21490958f, + -0.14021814f, -0.23520133f, 0.054874543f, -0.26576278f, + -0.19805667f, -0.1773753f, -0.16153055f, -0.35734f, + -0.08900924f, -0.16397503f, -0.07198382f, -0.17933594f, + 1.5066329f, -0.15050252f, -0.17679651f, -0.19915155f, + -0.17857595f, -0.07423965f, 0.057517722f, 0.014431803f, + -0.078830265f, -0.12666512f, -0.054200605f, -0.24363196f, + 0.31811044f, -0.088110775f, -0.10385965f, -0.18094228f, + -0.08140875f, -0.08778824f, -0.1449781f, -0.14719062f, + -0.10886277f, -0.05465815f, -0.15536626f, -0.119474836f, + 0.028004475f, -0.15265954f, -0.17497623f, -0.13726762f, + -0.26256305f, -0.23960377f, -0.047021005f, 1.9911456f, + 1.2298088f, -0.042417563f, -0.10003631f, -0.08544405f, + -0.188126f, -0.011722002f, 0.09695929f, -0.10386952f, + -0.07899336f, -0.21033679f, -0.097072266f, -0.016690211f, + -0.09345243f, -0.031344455f, 0.33031055f, -0.22491647f, + 1.3172897f, -0.14097571f, -0.06762415f, 0.005124453f, + 0.96712637f, -0.1121984f, -0.32193714f, -0.04053792f, + -0.2926389f, -0.2487063f, -0.090163045f, -0.24832983f, + -0.09753492f, -0.38552925f, -1.4902261f, -1.4963496f, + 0.4159158f, 0.4885328f, 2.2574039f, -1.8026096f, + 0.36719996f, -0.31399968f, -1.3992434f, 2.3613193f, + -0.39398262f, 0.37880802f, -0.30568674f, -1.3473021f, + -1.9630283f, 0.75505704f, 0.0034844936f, -1.4931836f, + -0.89593834f, 2.7595353f, 0.0010778602f, 2.0993953f, + -2.3851612f, 0.24672578f, -0.06412031f, 0.22046019f, + 5.5575914f, -0.5008434f, -1.8948023f, -2.3435557f, + -0.008923511f, -1.7918508f, 4.2516f, 0.64336103f, + 0.58371896f, -2.210794f, -1.3535779f, 1.895044f, + 0.84881395f, 0.24520703f, 1.0441041f, 1.5359674f, + 0.5974573f, -2.4257724f, 4.428258f, 0.26618516f, + 0.13509683f, 0.44828317f, 0.81957895f, -1.0986233f, + -0.8296453f, 0.32310092f, 0.92889607f, -1.5586345f, + -2.2803557f, -0.7464109f, -0.9337864f, -1.9209919f, + 0.47250837f, 0.37619552f, 0.053280868f, -2.2575493f, + -1.0860722f, 1.734949f, 4.072291f, -0.35068712f, + 0.115913734f, -0.9118049f, -1.1974417f, 0.39213142f, + -1.0173906f, -2.0964677f, -2.153499f, -3.3192801f, + 0.18003711f, 2.875882f, -0.7552012f, -2.4341037f, + -0.06717655f, -0.45019835f, -0.9501549f, -1.1787181f, + -0.504052f, 3.1536992f, 5.550135f, 0.10869231f, + -1.0534685f, -1.8873006f, 1.3429649f, -1.0952842f, + -0.11110257f, -1.4002973f, -0.76502067f, 0.68706036f, + 3.7021391f, 0.17042015f, 0.57459056f, -2.4780438f, + -0.59907955f, -0.3344541f, 1.9659357f, 2.811122f, + 0.17905644f, -0.59874856f, -0.73552185f, 0.13989826f, + 0.17018974f, 0.3604801f, 0.94696766f, -0.1286779f, + -0.062022217f, -0.08568493f, 1.1065475f, -0.120624535f, + -0.09313597f, 1.0623524f, 0.77242196f, -0.07098678f, + -0.07074234f, -0.11376867f, -0.47336355f, -0.07910606f, + -0.111565314f, -0.08977616f, -0.117419206f, 0.73875487f, + -0.18692958f, -0.23534858f, -0.10179684f, -0.18499275f, + -0.16305983f, -0.13584344f, -0.17713004f, -0.58418626f, + -0.24424247f, -0.11118174f, -0.3504515f, -0.10586617f, + -0.09974077f, 0.5092644f, 1.2269855f, -0.11635749f, + 0.31538004f, -0.17873721f, -0.08071274f, -0.13246384f, + -0.22503497f, -0.09602977f, -0.115677744f, -0.042831175f, + -0.24786396f, -0.32083762f, -0.29116115f, -0.23025037f, + 0.05308094f, -0.4074036f, 0.61263627f, -0.1734716f, + -0.2784456f, -0.17457284f, -0.08983628f, -0.108502366f, + -0.10078404f, -0.054940682f, -0.07828141f, -0.06752613f, + -0.16362022f, 0.6107547f, 0.22119454f, -0.2280412f, + -0.0888841f, -0.13658637f, -0.20700887f, -0.0945897f, + -0.3340315f, -0.043420535f, 0.9948023f, -0.03305459f, + -0.10428058f, -0.0645846f, -0.101942636f, -0.03954471f, + -0.10017186f, -0.1099546f, -0.10143653f, 0.99149156f, + -0.1311452f, -0.46731925f, 0.35299f, -0.04974157f, + -0.15511367f, -0.21399987f, -0.08880927f, -0.07151597f, + -0.15998629f, -0.30476308f, -0.05831411f, 1.0393947f, + -0.12950197f, -0.030518824f, -0.017611155f, -0.06984851f, + 0.38415554f, -0.19087926f, 1.0069295f, -0.36448506f, + -0.0536043f, 0.00893949f, 0.59735215f, -0.1503527f, + -0.14732577f, -0.10376889f, -0.1078074f, -0.12478651f, + -0.0065302886f, -0.07265687f, 0.6884109f, -0.14083773f, + -0.12037172f, -0.29218906f, -0.29194492f, 1.1749462f, + -0.19714198f, -0.074949466f, 1.1589689f, 0.35909948f, + 0.06145985f, 0.036948934f, -0.26474103f, -0.35004354f, + -0.10194756f, -0.13347639f, 0.12905166f, 0.09857264f, + 0.75699985f, -0.31396544f, -0.23626585f, -0.23298582f, + 0.04444105f, -0.19472799f, -0.2121144f, -0.19966057f, + -0.54054207f, 0.010274865f, -0.076279044f, -0.49804154f, + -0.0150694335f, -0.11234447f, 0.4571225f, 1.3190987f, + -0.010912927f, 0.3832419f, -0.16107358f, -0.063524656f, + -0.13115533f, 0.35801724f, -0.061391555f, 0.11570918f, + -0.036010835f, -0.29004127f, -0.24242562f, -0.4433553f, + -0.2245404f, -0.08674266f, -0.27662227f, 0.47535825f, + -0.074420385f, -0.2299348f, -0.027081903f, -0.077111766f, + -0.39593366f, 0.27729073f, -0.0488782f, -0.08984921f, + -0.123010464f, 0.03025033f, 1.439083f, -0.16078776f, + -0.11590599f, -0.06249763f, -0.39744824f, -0.34366795f, + -0.1002199f, -0.18331337f, -0.04631572f, 1.0703025f, + -0.18408188f, -0.1973999f, -0.24203038f, -0.1467578f, + 0.036721982f, -0.2714014f, -0.10947473f, -0.17988476f, + 0.81067336f, -0.08136624f, -0.47268796f, -0.29934815f, + 0.08530626f, -0.06815242f, 0.46668097f, -0.25153252f, + -0.23027469f, -0.07441455f, -0.32878536f, -0.09037745f, + 0.93519825f, -0.2364386f, -0.074439906f, -0.054208163f, + -0.14688703f, 0.26433754f, -0.18677703f, 0.31552288f, + -0.41883284f, -0.058256365f, 0.14774963f, 0.6912567f, + -0.2522151f, -0.22283636f, -0.23424396f, -0.08247458f, + -0.18315017f, -0.017052483f, -0.015450651f, 1.0024397f, + -0.12979153f, -0.16139594f, -0.11588098f, -0.15456983f, + 0.62178797f, -0.19786799f, -0.13491069f, 0.7011509f, + 0.2285666f, -0.03270757f, -0.09463957f, -0.14825651f, + -0.0729047f, -0.021884564f, -0.10571383f, -0.1725434f, + -0.1385692f, 0.3720802f, -0.13208613f, -0.16976409f, + -0.14509058f, 0.039931696f, 0.0068882797f, -0.09516735f, + -0.17438371f, -0.10353632f, 0.0602398f, -0.07022806f, + -0.025311744f, -0.04415762f, -0.061034434f, -0.025933826f, + 0.89309186f, -0.101629436f, 0.296554f, -0.058182742f, + -0.010628632f, -0.12788796f, 0.49648073f, -0.059877317f, + -0.120581545f, -0.07024613f, -0.009947099f, -0.041499227f, + -0.10485758f, -0.15598351f, -0.01294721f, -0.006187218f, + 0.23316988f, -0.06870517f, -0.22738087f, -0.06437704f, + -0.11685062f, -0.059029434f, -0.082728945f, -0.07909313f, + 0.001398751f, -0.10809889f, -0.17980239f, 0.45384842f, + 0.03735221f, 0.054374456f, -0.097992964f, -0.09802092f, + -0.060324848f, -0.03668729f, -0.035431966f, -0.09547777f, + 0.6427418f, -0.061911166f, -0.07660555f, -0.049778555f, + -0.102790795f, -0.049787287f, -0.14666508f, -0.09405036f, + -0.11931977f, 0.7431854f, -0.094094776f, -0.08888601f, + -0.03236449f, -0.013214349f, -0.13560787f, 0.48010975f, + -0.20384397f, -0.09561831f, 0.0060243295f, -0.16959299f, + -0.056468535f, 0.71248645f, -0.076162525f, -0.053158928f, + -0.106727876f, -0.08176685f, -0.119346075f, -0.057392254f, + 0.12860002f, -0.12542756f, -0.02254172f, 0.19932824f, + -0.090238474f, -0.20423584f, -0.12679185f, -0.12946305f, + -0.02059523f, 0.00038489467f, -0.021301271f, -0.08855466f, + 0.46084094f, -0.060839362f, -0.22702968f, -0.06826973f, + -0.09451533f, 0.13581051f, -0.29386458f, -0.220394f, + -0.35077965f, 0.74121827f, -0.06841032f, -0.18767814f, + -0.1572812f, 1.0384288f, 0.00735248f, -0.2469592f, + -0.07121093f, -0.21811354f, -0.31901842f, -0.07493634f, + -0.29871237f, -0.25380743f, 1.7129573f, -0.22880574f, + -0.15745668f, -0.08945876f, 1.0732634f, -0.055782765f, + -0.11613492f, -0.0706342f, -0.13911568f, -0.24268581f, + 0.0028370034f, -0.32326594f, -0.2669438f, 0.07745403f, + -0.39454997f, -0.05078543f, -0.15987185f, 0.21705632f, + -0.052930016f, 0.6186477f, -0.15470219f, -0.48199317f, + 1.2020736f, -0.080526255f, -0.27612934f, -0.09075286f, + 1.3287567f, 0.37048563f, -0.092237405f, -0.108553566f, + -0.09644949f, -0.12884687f, -0.008633782f, 0.15374093f, + -0.14559746f, -0.17437969f, -0.13272141f, -0.026707925f, + -0.45330015f, 0.8835039f, -0.101331696f, -0.20753504f, + -0.18849415f, -0.22953416f, -0.18237084f, -0.0069239256f, + -0.0806203f, -0.2023487f, -0.023738988f, -0.05791007f, + -0.1338509f, -0.13389651f, -0.1256687f, -0.06785544f, + -0.13047425f, -0.25699148f, -0.2756709f, -0.06567985f, + 0.97851086f, -0.002686222f, -0.18394968f, 0.07455805f, + 0.38838324f, -0.047528557f, -0.14093389f, 1.0868821f, + -0.1062099f, -0.09556015f, -0.4247028f, 0.002680472f, + -0.047199253f, -0.07991734f, -0.12035689f, 0.651101f, + -0.11327955f, -0.29878044f, -0.28293702f, -0.0341368f, + 0.03265927f, -0.3689836f, -0.1737349f, -0.28778747f, + -0.19080248f, -0.115167834f, -0.12511791f, -0.018659983f, + -0.056489266f, 1.2510804f, -0.279218f, -0.12698452f, + -0.21817961f, -0.025131239f, 0.19176644f, -0.16147624f, + -0.42207527f, -0.14329837f, -0.09337276f, -0.044887003f, + -0.25114834f, -0.20664722f, 2.0061452f, -0.08341994f, + -0.084647454f, -0.20213586f, -0.16159774f, 0.24918112f, + -0.15380895f, -0.13948031f, -0.13994606f, 0.37679145f, + -0.19150724f, -0.1756653f, -0.3416077f, 2.2218487f, + 0.288402f, -0.04180787f, -0.10222575f, -0.15346597f, + -0.104339294f, -0.11798264f, -0.12385877f, -0.31518233f, + 0.17458507f, -0.1668768f, -0.17242225f, -0.18768558f, + 0.079093456f, -0.264637f, -0.108020104f, -0.13468996f, + -0.11432203f, -0.3316826f, -0.08255139f, -0.19155316f, + -0.07654373f, -0.06247611f, 0.99599624f, -0.114517234f, + -0.05159744f, -0.17095907f, -0.2156656f, -0.029821875f, + 0.102918684f, 0.018312868f, -0.10646084f, -0.12898229f, + 0.012451878f, -0.13114394f, 0.44798347f, -0.086405955f, + -0.076958604f, -0.19705701f, -0.012778671f, -0.12378086f, + -0.13149655f, -0.12658112f, -0.016535722f, -0.033906665f, + -0.20692776f, -0.1251842f, 0.04363443f, -0.17079741f, + -0.16650426f, -0.1575094f, -0.36216947f, -0.14112496f, + -0.022538431f, 2.004048f, 0.9699398f, -0.07756849f, + -0.03765529f, 0.005301168f, -0.10241244f, -0.015196876f, + 0.90016526f, -0.07147478f, -0.09497109f, -0.11631105f, + -0.0141888345f, -0.040720914f, -0.07151749f, -0.01922684f, + -0.014607882f, -0.198411f, 0.5224543f, -0.05778318f, + -0.03427515f, -0.018512718f, 0.17317744f, -0.124830365f, + -0.30897632f, -0.053604696f, -0.28071183f, -0.2745621f, + -0.09332919f, -0.12652111f, 0.15717374f, -0.3506686f, + -0.1466425f, -0.6488971f, 2.2163503f, -0.0038995491f, + 5.5111775f, -0.74744517f, -0.8514677f, 0.07464531f, + -1.2113308f, -1.6669939f, -0.26855266f, 0.3067848f, + 1.3358834f, -1.2794425f, -0.9959278f, -0.8180957f, + 0.04629712f, 3.149168f, 0.1642454f, -0.6760832f, + 0.029255075f, 1.1742233f, -2.2782164f, -1.3213329f, + 0.1222093f, 0.09001999f, -0.7270009f, -0.038056474f, + -1.2443163f, -1.1074288f, 0.066275656f, 0.44580355f, + -0.09130677f, 0.38895282f, -0.85758966f, -0.5602621f, + -0.11809422f, -0.253739f, -0.98303884f, -0.8416472f, + 1.8353148f, 0.9993895f, 0.2611717f, -0.04502728f, + -1.8145003f, 0.7116927f, 0.14161608f, -0.60942024f, + 1.3686461f, 2.291472f, 3.5405376f, 0.89808005f, + -1.4553726f, -0.4532268f, -2.4641356f, -0.29059365f, + -1.7684573f, 0.0069304975f, 0.081979305f, 0.4188347f, + -0.8015619f, 0.003124955f, -1.3094321f, 0.3977017f, + 1.706374f, -0.80416363f, -0.5534955f, -0.13283491f, + -0.5385319f, 2.0739431f, -1.8302102f, -3.026737f, + 1.9163349f, 5.208952f, 1.1762769f, 1.0477731f, + -0.3568694f, 0.3964332f, -0.53318375f, 0.12109558f, + -0.11273015f, 0.70148f, 0.93457997f, 0.619443f, + -1.2197416f, -0.23245664f, -1.0423045f, -1.9252013f, + 1.1123309f, 4.278642f, 2.5277417f, 0.047110293f, + -1.1301806f, 0.003537692f, -1.9769785f, -0.08968034f, + 1.5182261f, -1.270569f, -0.47648507f, -0.04222886f, + -1.8360426f, -0.9432039f, 3.017425f, -0.42738944f, + -2.712806f, 0.38485774f, -2.0055897f, 0.20870644f, + -1.1125991f, -0.13152775f, -0.09268163f, -0.31009772f, + 0.079803534f, 0.118652426f, 0.16407685f, -0.11413712f, + -0.07756231f, 0.37021774f, -0.29569134f, -0.3600026f, + 1.0159371f, -0.32914057f, -0.20499636f, 0.08074022f, + -0.1616296f, -0.15867634f, -0.52832985f, -0.16612957f, + -0.13899203f, 0.12636246f, -0.22884902f, -0.2991632f, + -0.22717734f, 1.2867084f, -0.019607594f, -0.28845567f, + 0.11675105f, -0.27401957f, -0.27285284f, -0.21975152f, + -0.3828467f, -0.25261196f, 1.0348498f, -0.119996004f, + -0.31831533f, 0.4831145f, -0.07669671f, 0.87502855f, + 1.214759f, -0.51368517f, -0.24687658f, -0.19784874f, + -0.24533963f, 0.43718693f, -0.24284397f, -0.120811835f, + 0.6100874f, -0.5547218f, 0.29489627f, 0.23372082f, + -0.37204325f, -0.27476633f, -0.23287152f, -0.34046388f, + -0.21599644f, -0.12531035f, -0.0805775f, -0.28035024f, + 0.42576823f, -0.23516634f, -0.21459432f, 0.51595575f, + -0.17949812f, -0.33173642f, -0.28197125f, -0.23081449f, + -0.16893443f, 0.28274524f, 0.17797032f, 0.30712095f, + -0.3914206f, -0.30918467f, -0.44586143f, -0.046529006f, + 0.7055027f, -0.24675028f, -0.117242835f, 1.0921177f, + 0.941259f, -0.2658568f, -0.09274022f, -0.059668887f, + 1.0152694f, -0.054766774f, 0.66743547f, -0.29585347f, + 0.07551295f, -0.11757679f, 0.21741603f, -0.309914f, + -0.16273472f, -0.11267593f, 0.33042732f, 0.754229f, + 0.409853f, -0.31491104f, -0.21907197f, -0.27077353f, + 0.32843772f, -0.08161764f, -0.18167268f, -0.2986215f, + 0.5141131f, -0.26793587f, -0.34087163f, 0.085759014f, + -0.01903612f, -0.6157404f, -0.037903998f, -0.31655395f, + -0.19305907f, 1.3992374f, -0.13540603f, -0.08196486f, + 1.3798162f, 0.76063615f, -0.24171044f, 0.022622263f, + -0.47705385f, -0.5362687f, -0.26611617f, -0.39651668f, + -0.39066416f, -0.19360238f, -0.28865144f, -0.096597396f, + -0.28010634f, 0.18819515f, -0.22736768f, -0.29506963f, + -0.17116012f, 0.65050405f, -0.8111549f, -0.3252069f, + -0.27406698f, 1.4660335f, -0.07711788f, -0.045452353f, + 1.1312827f, 1.1216697f, 0.31858113f, -0.0391304f, + -0.18109153f, -0.052308403f, -0.27464575f, -0.48307663f, + -0.11658943f, 0.29241666f, 0.099433504f, -0.2254438f, + -0.50037336f, -0.5877589f, -0.48281798f, -0.26277947f, + 0.93972933f, -0.3634974f, -0.002067816f, -0.4833337f, + -0.11474459f, 0.52443606f, 0.11064332f, 0.009806723f, + 0.03170172f, 0.2076377f, -0.09759824f, -0.14115584f, + 1.1113065f, -0.28889543f, -0.43727553f, -0.258321f, + -0.22731048f, -0.53716195f, -0.13738869f, -0.2995844f, + -0.17220157f, 1.1118493f, -0.096830405f, 0.05356518f, + -0.2252851f, -0.2627298f, -0.19105032f, -0.35500923f, + -0.008669335f, 0.2003516f, 1.4715651f, -0.3987353f, + -0.64931375f, -0.39305747f, -0.2762218f, -0.52125645f, + -0.671072f, -0.101259895f, -0.26155275f, -0.2952287f, + -0.40770754f, -0.46642047f, 1.1833447f, -0.30738777f, + 0.20641255f, 0.31142384f, -0.11420632f, 0.83841753f, + -0.4109211f, 0.8820925f, -0.41951123f, -0.25370637f, + -0.37969297f, 1.8584865f, -0.2644631f, -0.0053983326f, + -0.28429472f, -0.28290382f, -0.22217144f, -0.020445641f, + 0.42438716f, 0.776333f, 0.38944095f, -0.116780706f, + -0.06274362f, -0.07208352f, 0.9444413f, -0.062188096f, + -0.07198502f, 0.18919031f, 0.84666556f, -0.03013066f, + -0.054672264f, -0.065065f, -0.36693156f, -0.029698957f, + -0.056587007f, -0.022753587f, -0.09509279f, 0.7897125f, + -0.07059489f, -0.1095679f, -0.063223846f, -0.21758337f, + -0.084569804f, -0.066258796f, -0.11289297f, -0.39340195f, + -0.119664505f, -0.051373146f, -0.33591354f, -0.087491795f, + -0.10903081f, 0.36392537f, 0.41548464f, -0.0760726f, + 0.42047337f, -0.18491706f, -0.08421229f, -0.097386956f, + 0.048453905f, -0.092893764f, -0.1881688f, -0.021364916f, + -0.26466775f, -0.23100258f, -0.10551516f, -0.20532992f, + -0.023528762f, -0.31158167f, 0.7306521f, -0.0911788f, + -0.15887104f, -0.09737608f, -0.078449115f, -0.0651377f, + -0.037320957f, -0.045032755f, -0.054492854f, -0.060422845f, + -0.08861498f, 0.8946291f, 0.28511244f, -0.07843334f, + -0.026759174f, -0.11240678f, -0.09641634f, -0.052680586f, + -0.1551209f, -0.03819081f, 0.23023885f, -0.039929394f, + -0.0039905403f, -0.071457446f, -0.061053656f, -0.07044543f, + -0.06317892f, -0.073645145f, -0.11852998f, 0.07896845f, + -0.06943871f, -0.33611774f, -0.20395131f, -0.061943308f, + -0.119481556f, 0.16702503f, -0.100533195f, -0.06450602f, + -0.07784014f, -0.10271165f, -0.0431425f, 0.34844488f, + -0.13604622f, -0.015630107f, -0.037789196f, -0.043594968f, + 0.97279876f, -0.20556933f, 0.5198342f, -0.18994465f, + -0.066684015f, -0.03570855f, 0.5017013f, -0.123929076f, + -0.11329955f, -0.05550015f, -0.14055866f, -0.079359405f, + -0.041256778f, -0.06922219f, 0.58959687f, -0.13469343f, + -0.18119538f, -0.15700148f, -0.16294366f, 0.59792787f, + -0.08398339f, 0.16268249f, 0.5419678f, -0.14056246f, + -0.11958746f, 0.092664994f, -0.19050504f, 0.2862071f, + -0.1430317f, -0.06626164f, -0.079397604f, 0.047507692f, + -0.22863902f, -0.14855945f, -0.20025685f, 0.04306697f, + -0.2018535f, -0.0065508643f, -0.17957689f, -0.24198946f, + 0.2815782f, -0.07403094f, -0.12727404f, -0.07580935f, + -0.13094077f, -0.09881406f, 0.7020888f, 0.27029076f, + -0.0942998f, 0.2798589f, -0.020457804f, -0.047841035f, + -0.06331061f, 0.6576577f, -0.14834933f, 0.27041247f, + -0.16701624f, -0.28742322f, -0.14285341f, -0.1856053f, + -0.13970138f, -0.056274556f, 0.2272693f, -0.115590446f, + -0.12849468f, -0.17515771f, -0.09727338f, -0.07453157f, + -0.15401903f, 0.093342245f, -0.08228671f, -0.054974984f, + -0.09880404f, -0.16909185f, 0.9500688f, -0.16975498f, + -0.20191173f, -0.073964104f, -0.14240597f, -0.20876297f, + -0.290756f, -0.04217453f, -0.057919633f, 0.6057254f, + -0.13195492f, -0.11828813f, -0.023878423f, -0.20829f, + 0.16202651f, -0.19229351f, -0.06258276f, -0.016589751f, + 0.3101017f, -0.25553778f, 0.22549435f, -0.14161143f, + -0.09858449f, -0.17238179f, 0.55338514f, -0.014224529f, + -0.102916814f, -0.13546126f, -0.16596602f, -0.18953784f, + 0.6382119f, -0.21539615f, -0.13562426f, -0.06709947f, + 0.024162782f, 0.6146526f, 0.37627488f, 0.32029608f, + -0.21215783f, -0.11478509f, -0.09855825f, 0.99515456f, + -0.29178047f, -0.12810925f, -0.17154033f, -0.083400205f, + -0.10678319f, -0.073997796f, 0.0017491526f, 0.46106514f, + -0.32722238f, -0.028743248f, -0.042994447f, -0.04729599f, + -0.05055562f, -0.035043553f, -0.043710172f, 0.013663257f, + -0.13275062f, -0.06422124f, -0.07242309f, -0.07933046f, + -0.053735122f, -0.075649746f, -0.016085865f, -0.058615748f, + -0.06235076f, 0.94426465f, -0.10465085f, -0.030571606f, + -0.08299737f, 0.11763736f, -0.035336226f, -0.08037645f, + -0.048299316f, 0.004799456f, -0.15896179f, -0.07336131f, + -0.08601184f, -0.072001606f, -0.05080328f, -0.021402678f, + -0.13584365f, -0.07597565f, 0.6131727f, -0.07109904f, + -0.07966081f, -0.071425214f, 0.8598394f, -0.09713082f, + -0.29034746f, -0.054596227f, -0.10699629f, -0.19410565f, + -0.01953323f, -0.08439403f, -0.023351742f, -0.06595297f, + 0.9096976f, -0.09254017f, -0.091247804f, -0.104555376f, + -0.050505005f, -0.03427561f, -0.023164783f, -0.017060485f, + -0.038872488f, -0.06353561f, -0.089330874f, -0.10431604f, + 0.99973905f, 0.021471592f, -0.06743297f, -0.08774727f, + 0.06375376f, 0.009428137f, 0.044771954f, -0.04953318f, + -0.029829595f, -0.054610133f, -0.05485423f, -0.043654002f, + -0.015139999f, -0.042373434f, -0.06566151f, -0.08184453f, + -0.19792041f, 0.017653372f, -0.051893055f, -0.06594828f, + 0.71327555f, -0.031774685f, -0.089574635f, 0.83452964f, + -0.14605248f, -0.05433031f, 0.08824958f, -0.06221862f, + -0.06668762f, -0.005956759f, -0.09549919f, -0.03786885f, + -0.034267496f, -0.07178119f, -0.08932844f, -0.2259229f, + -0.032398786f, -0.030790122f, -0.055349566f, -0.002424822f, + -0.08656331f, -0.0703777f, -0.062407196f, -0.06083332f, + -0.08825082f, -0.052404065f, -0.062566504f, -0.07256746f, + 0.2913167f, -0.1470722f, -0.039360005f, -0.035210155f, + -0.044251427f, 0.11552375f, -0.022341458f, -0.066829205f, + -0.096798725f, -0.063183725f, -0.06760818f, -0.06458579f, + -0.06891958f, 0.4412134f, -0.06957202f, -0.05806895f, + -0.045028217f, -0.05032876f, 0.8975511f, -0.12090565f, + -0.10985369f, -0.07108896f, 0.09599575f, -0.088957556f, + -0.06469386f, -0.09412986f, 0.7515798f, -0.19107202f, + -0.041756943f, -0.16957481f, -0.041114725f, -0.06335472f, + -0.121800005f, -0.20190737f, -0.07006342f, 0.61253f, + -0.18716183f, -0.08204743f, -0.057866532f, 0.7629332f, + -0.07774633f, -0.3513167f, -0.04313249f, -0.1330926f, + -0.2070185f, -0.03492167f, -0.08866682f, -0.036374882f, + -0.075132474f, 0.96358985f, -0.06950785f, -0.10340077f, + -0.077935375f, -0.07234064f, -0.055237636f, -0.033666126f, + -0.032296717f, -0.036681168f, -0.059149086f, -0.09589494f, + 0.08490658f, 0.91670454f, -0.02471843f, -0.064399384f, + -0.115547806f, -0.08087424f, -0.038299613f, -0.034232315f, + -0.04103469f, -0.121116176f, -0.049360335f, -0.040520187f, + -0.05985734f, -0.035740335f, -0.05222802f, -0.061272863f, + -0.070330866f, -0.18400162f, -0.109604105f, -0.057170745f, + 0.25353804f, 0.5231055f, -0.050647404f, -0.07240231f, + 0.75892055f, -0.15637983f, -0.07603429f, 0.02742856f, + -0.032671157f, -0.074855134f, -0.107632004f, -0.08873356f, + -0.04159863f, -0.051961318f, -0.06414285f, 0.2819072f, + -0.2721639f, 0.036123447f, -0.09808816f, -0.065422505f, + -0.05121401f, -0.08389359f, -0.070815906f, -0.0679937f, + -0.06680681f, -0.08622717f, -0.065473095f, -0.054090988f, + -0.089790314f, 0.028781211f, -0.15510309f, -0.3936104f, + -0.6871601f, -0.14110611f, -0.48341605f, -0.63830096f, + -0.5986485f, 0.5421424f, 0.6366408f, 0.18702425f, + -0.26009446f, -0.04113794f, -0.59152365f, 0.31801268f, + -0.2696009f, 0.110231064f, -0.29248455f, -0.18921049f, + -0.440438f, -0.3698464f, -0.57125723f, 1.312835f, + 0.46859616f, -0.54471695f, -0.1117671f, -0.035912026f, + -0.29209283f, -0.2182037f, -0.45680085f, -0.3848514f, + -0.5296833f, 0.57239497f, -0.23050979f, -0.5971309f, + -0.03787801f, 1.9865607f, -0.7369276f, -0.1806398f, + 0.21694459f, 0.26301563f, 0.9612775f, -0.31322363f, + 1.2776724f, 1.4590065f, 2.3543935f, -0.6251941f, + -0.21727075f, 1.0860333f, 0.014526173f, -0.3359564f, + -0.7250731f, -0.33619526f, 0.8902602f, 0.10907831f, + -0.2084788f, -0.15756932f, 0.20773862f, -0.22895356f, + 0.20640416f, -0.081736006f, 0.8395877f, 2.0850284f, + -0.44723743f, -1.1548747f, 2.2649758f, -0.07522746f, + 2.1797009f, -0.46528402f, -0.12573896f, -0.38056135f, + -0.34505847f, -0.32081446f, -0.37155008f, -0.5786969f, + -0.19767553f, -0.19104828f, -0.65768087f, -0.8577443f, + -0.49067798f, -0.5662055f, -0.28582495f, -0.59479266f, + 0.652592f, 1.2410014f, 0.707616f, -0.40425298f, + 0.14172266f, 0.78643674f, -0.2942635f, -0.8541957f, + -0.47208092f, -0.21840964f, 0.19709621f, -0.25069535f, + 0.9402872f, 0.10707666f, -0.44711518f, -0.23000924f, + -0.12361525f, -0.21011922f, -0.38953093f, -0.4893139f, + -0.51398516f, -0.38510203f, -0.2212714f, -0.54052f, + -0.22345376f, -0.64199305f, 1.0607197f, 0.19225277f, + -0.089671604f, -0.07168395f, -0.06022892f, 0.6034475f, + -0.06009694f, -0.16257541f, 0.16442399f, 0.6225429f, + -0.050219603f, -0.06741467f, -0.07658508f, 0.037004944f, + -0.029793024f, -0.020363497f, -0.04385221f, -0.0738956f, + 0.96222687f, -0.12318149f, -0.07766631f, -0.06540571f, + -0.22748022f, 0.0044091954f, -0.11352061f, -0.13528267f, + 0.07389047f, -0.19667062f, -0.07865617f, -0.13001938f, + -0.1147188f, -0.10329355f, -0.14049402f, 0.28477153f, + -0.07905342f, 0.322308f, -0.13249089f, -0.11595827f, + -0.09485982f, -0.109610505f, -0.12221478f, -0.17032696f, + -0.034506362f, -0.050673585f, -0.28279212f, -0.073785596f, + -0.20728989f, 0.014931776f, -0.089648016f, 1.0182079f, + -0.0692512f, -0.11751121f, -0.15288432f, -0.10820075f, + -0.1074598f, -0.029030453f, -0.017474681f, -0.06421649f, + -0.06357068f, -0.06973008f, -0.0164264f, 0.34557718f, + -0.04820986f, -0.065694466f, -0.10337629f, -0.08620217f, + -0.055942826f, -0.14532559f, -0.06382064f, 0.16184337f, + -0.04107333f, -0.041030623f, -0.03400424f, -0.06690246f, + -0.08422113f, -0.06816121f, -0.051188003f, -0.1113173f, + -0.092377335f, -0.06878217f, 0.045285143f, 1.1060387f, + -0.06375569f, -0.108425654f, -0.030234318f, -0.049240347f, + -0.05037751f, -0.14211522f, -0.07681116f, -0.026614208f, + 0.37773642f, -0.12969248f, -0.018893588f, -0.053072464f, + -0.053790472f, 0.55269694f, -0.17072013f, 1.1151934f, + -0.23076533f, -0.052655272f, -0.043887656f, 0.38720253f, + -0.07323822f, -0.10583532f, -0.048918065f, -0.14746442f, + -0.08330519f, -0.056922022f, -0.09812631f, -0.20342727f, + -0.15581359f, -0.23996182f, -0.26229024f, -0.19840597f, + 0.8286727f, -0.17475832f, -0.3412072f, 0.3889102f, + 0.057768658f, -0.07320755f, -0.3157529f, -0.28036848f, + 1.1778053f, 0.18303211f, -0.31581733f, -0.23185495f, + -0.22605902f, -0.0937265f, -0.08232862f, -0.16645472f, + -0.0822089f, 0.16440654f, -0.20742607f, -0.22766928f, + 0.085628174f, 1.2993492f, 1.0032774f, -0.13896543f, + 1.3436822f, -0.058168706f, -0.10604448f, 0.7057234f, + 0.2594556f, -0.2701915f, -0.15950266f, -0.022401724f, + -0.16810857f, -0.38676235f, -0.17874911f, -0.11615147f, + 0.18746102f, -0.14182213f, 0.090781815f, -0.4055478f, + -0.28703347f, -0.30734333f, -0.24603401f, -0.3015952f, + 0.3807993f, -0.22389089f, -0.14513671f, -0.07659382f, + 0.0009217367f, -0.00045803547f, -0.11399941f, -0.095874675f, + 0.01837974f, -0.21991147f, -0.13609979f, -0.23689087f, + -0.4576404f, -0.06383955f, -0.17607364f, -0.24291885f, + -0.19917563f, -0.04267644f, -0.26176292f, -0.28402472f, + 0.31846285f, -0.23158818f, -0.1965824f, -0.34937894f, + 6.629092e-06f, -0.23945756f, -0.31535244f, -0.29625672f, + -0.25282654f, 0.57824945f, -0.051298037f, 1.1017294f, + 0.5329614f, -0.046684258f, -0.16038102f, -0.1910699f, + -0.10856496f, -0.06993149f, -0.17439115f, -0.2215598f, + -0.26537454f, 0.41048706f, -0.25570795f, -0.1610854f, + -0.073604055f, -0.022336088f, 0.07690177f, -0.16054335f, + 1.663433f, -0.11072177f, 0.0070353546f, -0.09489951f, + 1.6620897f, -0.041914135f, -0.17078778f, -0.13695748f, + -0.12774363f, 0.00027010948f, 0.015975667f, 0.16038011f, + -0.24837296f, -0.13544177f, -0.05630607f, -0.6258479f, + -0.040891282f, -0.086992726f, 0.09491489f, 0.19328663f, + 0.06503682f, 0.79812634f, 0.27135232f, -0.21994963f, + -0.24782996f, 1.111824f, -0.07675395f, -0.25034353f, + -0.018901672f, -0.113868676f, 0.13096133f, -0.06364784f, + -0.2023831f, -0.16248722f, -0.06724962f, -0.30153912f, + -0.06334667f, -0.24934398f, 1.5440059f, 1.4364374f, + -0.15525308f, 0.8847394f, -0.016591191f, -0.020828797f, + -0.14454818f, -0.063447505f, -0.32114434f, -0.32817155f, + 0.17935331f, -0.29628658f, 0.15406317f, -0.06492844f, + -0.438983f, -0.13455357f, -0.24438438f, -0.36046827f, + 0.4532917f, -0.293702f, -0.08517518f, -0.18197113f, + 0.030843185f, 0.4040661f, -0.121532455f, 0.10152938f, + -0.2148665f, 0.110436246f, -0.47642204f, 0.4388345f, + 0.057591695f, -0.104783714f, -0.056428064f, 0.13565846f, + -0.12915663f, 0.14244069f, 0.13667929f, -0.13251483f, + -0.29087546f, -0.1203098f, -0.42154714f, -0.2771785f, + -0.09072192f, -0.02979335f, 0.03630208f, -0.435657f, + -0.35987523f, -0.017226018f, -0.08981669f, -0.3564257f, + -0.33502516f, -0.48028418f, -0.34376487f, -0.21347739f, + 1.255328f, 1.3485439f, 0.18028109f, 0.22427832f, + -0.13325785f, 0.2187483f, 0.008196652f, 1.7224567f, + -0.23315011f, -0.29572523f, 0.036879435f, 0.04936485f, + -0.250861f, -0.08812593f, -0.15061389f, -0.17695872f, + 0.04278201f, 1.023979f, -0.32596982f, -0.0045110225f, + -0.018216144f, -0.17032687f, -0.10287703f, -0.11975308f, + -0.18251885f, -0.467592f, -0.24095191f, -0.27485374f, + -0.011194792f, -0.22325878f, -0.4480527f, 0.12208198f, + 0.18877812f, 2.87885f, 0.03186317f, 1.2796358f, + -3.108949f, -1.0736262f, -0.33522302f, -0.21511343f, + -1.0384598f, 3.686992f, 1.0870631f, 1.5552096f, + 0.14301623f, -2.8466997f, -2.598375f, 0.92309636f, + -1.8955235f, -0.5023821f, -0.06750815f, -0.9991937f, + -1.0681999f, -0.90721f, -1.4162838f, 0.27411297f, + -0.0437628f, 3.1273363f, -0.37763023f, -2.0693135f, + -2.5393684f, 0.6156992f, 0.7230575f, 3.078414f, + 0.8402767f, -0.48283893f, 1.8883166f, -2.0204337f, + 0.35348842f, -0.6925758f, -2.2665513f, -2.5739388f, + -0.97508013f, 0.17457983f, 0.21523553f, 3.0698304f, + 2.0488772f, -0.04698827f, 0.725493f, -2.6686933f, + -3.1303885f, 1.5086265f, -1.2667001f, -2.161968f, + 3.69257f, -2.9851363f, -3.3084288f, 2.09924f, + -2.1674562f, 0.61657834f, -0.2894859f, 3.55339f, + 2.1631138f, -1.0691493f, 0.41665584f, -2.4042554f, + -1.1555227f, -1.7248977f, 0.9129453f, 0.5146471f, + 3.2225816f, -2.8078773f, -2.1248164f, 0.8647357f, + -3.2863097f, -0.13160169f, -2.5303507f, 1.1353806f, + -1.6288954f, -0.7999279f, -0.23795238f, -3.5827637f, + 4.1388426f, -0.32341865f, -1.6183394f, 2.4686892f, + 0.047994234f, 1.981853f, 5.4607363f, -0.43045703f, + -1.3343092f, 3.7452943f, -2.125115f, -2.496219f, + -0.23255055f, 1.4266872f, 0.086633675f, -0.3378629f, + 0.5970446f, 2.3787327f, 0.0057819854f, 3.1453817f, + 6.2444797f, -1.6306367f, 4.504973f, 1.7945317f, + -1.5674568f, 1.9581947f, -0.11251673f, -3.8837426f, + -0.0516389f, -0.17886324f, -0.06521383f, 0.34992212f, + -0.081230775f, -0.21589838f, -0.11832723f, 0.4853736f, + -0.055448253f, -0.11712475f, -0.14085262f, 0.8330868f, + -0.065506786f, -0.10779949f, -0.0894915f, -0.10442487f, + 0.122607864f, -0.07648926f, -0.07389324f, -0.06877835f, + -0.11355837f, -0.095591344f, -0.036078937f, -0.12953395f, + 0.9238821f, 0.71522033f, -0.055465158f, 0.89555496f, + -0.044427272f, -0.053126015f, 0.052819937f, -0.048424616f, + -0.0866192f, -0.16020842f, -0.1941483f, -0.119650446f, + -0.14910084f, -0.06654389f, -0.12776288f, -0.06541469f, + -0.08131638f, -0.07926799f, -0.08684444f, -0.059120424f, + -0.16389224f, -0.036649175f, -0.03974131f, 0.54220486f, + 0.0024924406f, -0.021825219f, -0.10993243f, -0.05590275f, + -0.09733803f, 0.038934533f, -0.019221663f, -0.05190304f, + -0.09184466f, -0.014595233f, -0.1902995f, -0.17041509f, + -0.03796463f, -0.0893188f, -0.11852292f, -0.1281945f, + -0.11315615f, -0.13127977f, -0.13241822f, -0.07468169f, + -0.033658348f, -0.119504765f, -0.1947371f, -0.015301468f, + -0.09592379f, -0.08543175f, -0.122525245f, -0.20342395f, + -0.13373546f, -0.043088693f, 0.8241273f, 0.75544983f, + 0.0076313773f, -0.057446014f, -0.08147865f, -0.08528507f, + -0.03342426f, 0.428709f, -0.04591254f, -0.07603531f, + 0.059003405f, -0.06559652f, -0.089635536f, -0.06977284f, + -0.062321845f, 0.06663681f, -0.12834664f, 0.94926894f, + -0.13967703f, -0.06901727f, -0.046781726f, 0.57153857f, + -0.074496776f, -0.14911404f, -0.040746212f, -0.22785394f, + -0.11912901f, -0.11049225f, -0.09019215f, -0.1238597f, + -0.22577223f, -0.24214976f, -2.5951147f, 0.21187973f, + 0.10439469f, -1.4114659f, 2.6448472f, 2.3398993f, + 0.1661445f, -0.9035961f, -1.4433118f, -2.3000243f, + -0.27279645f, -1.7444919f, -2.0950308f, 2.8807888f, + 1.4388257f, 0.09094748f, -0.49957177f, -1.0525507f, + -0.71422344f, 1.0432789f, -1.2602937f, -1.4761603f, + 0.16534302f, 0.1122405f, 0.7207526f, 2.567971f, + 0.095635265f, -1.7541945f, -2.2821848f, 0.29451162f, + -1.0852464f, 0.88377696f, 0.10862301f, 3.6523676f, + -3.1670964f, -1.6276423f, 0.068609275f, 2.0036118f, + -0.9828637f, 1.8633059f, 0.83532906f, 0.13898885f, + 1.4089806f, -1.1658419f, 4.201665f, -0.24582803f, + -0.014516723f, -0.92175126f, -0.0902266f, 1.7170992f, + 3.1436582f, -0.21104744f, -1.4902972f, -1.4379964f, + -0.78620386f, 0.41082668f, 0.08870563f, 0.02697306f, + -0.0054978374f, 1.4972819f, -2.087572f, 0.11665725f, + -1.1088407f, 2.9927135f, 0.4958253f, 2.2390404f, + 1.2024227f, 1.2168853f, -1.8505324f, 1.2747138f, + -1.4168506f, -2.7118294f, -1.6183568f, -2.339058f, + -1.7410434f, -1.0571346f, 1.3631543f, 0.79097086f, + -0.20333518f, -2.385979f, -1.4745524f, 1.5210557f, + 6.390226f, 1.3064474f, 0.2557482f, -1.3873416f, + -1.9484283f, -0.23593266f, -1.9839154f, 5.460731f, + 1.1168587f, -2.1446116f, -0.07835669f, -1.327334f, + 0.5614238f, -1.0012245f, 3.0041206f, 1.3204999f, + -0.24252565f, -1.501688f, 4.6275783f, -1.9050139f, + -1.6067029f, -0.7654905f, -2.4987843f, 0.41674078f, + -0.055697974f, -0.6434283f, 0.028240897f, -0.107436456f, + -0.34211653f, 0.8124057f, 0.05690035f, 0.45838237f, + 0.053965934f, -0.14781362f, -0.15514368f, 0.20712112f, + -0.2094119f, 0.7673072f, -0.17918111f, -0.04754815f, + 0.19501598f, 0.11043532f, -0.53661865f, -0.16336656f, + -0.2790585f, 0.29175586f, -0.12281481f, -0.05073921f, + -0.293534f, -0.32408285f, 0.7749426f, -0.36763003f, + -0.12530522f, 1.3919144f, -0.18815465f, -0.1204796f, + 1.3559841f, -0.52072f, -0.17447667f, 0.042320684f, + -0.004749848f, -0.19015357f, 0.066850446f, -0.022798033f, + -0.31369767f, 0.4770239f, -0.17460752f, -0.44241488f, + -0.42191112f, -0.37382326f, -0.21740636f, -0.0947546f, + 1.3336773f, -0.46812144f, -0.1148556f, 0.11985874f, + -0.05502441f, -0.08537165f, -0.34886762f, 0.07633385f, + -0.16757539f, -0.099514514f, -0.15453476f, -0.1142746f, + 1.2350982f, -0.32645386f, -0.56266916f, -0.047571667f, + -0.4373675f, -0.40893388f, -0.3732906f, -0.028045222f, + -0.187201f, 0.15948337f, -0.03940627f, -0.33267018f, + 0.05321082f, -0.3150151f, 0.2793323f, -0.12884939f, + 0.11673832f, -0.22630468f, -0.22881848f, -0.3472099f, + 0.71284276f, -0.26832172f, -0.19700864f, -0.11546919f, + -0.018624926f, -0.011418737f, -0.030239863f, -0.33591104f, + -0.2532144f, -0.3778896f, 0.3481635f, -0.11505579f, + -0.23554312f, 0.0378323f, 0.09722584f, 1.270829f, + 0.6865386f, 0.25906295f, -0.31166273f, -0.2661119f, + -0.21564032f, 2.2551768f, -0.42260286f, -0.04943927f, + -0.1953253f, -0.1649484f, -0.24279307f, -0.29325023f, + 0.057417527f, 0.7777043f, -0.5320563f, -0.034266148f, + -0.11254332f, -0.06729523f, 0.5474494f, -0.079769574f, + -0.089834906f, -0.17674474f, 0.1726467f, -0.042579196f, + -0.08525818f, -0.08570517f, 0.24692257f, -0.10096744f, + -0.087856025f, -0.09756702f, -0.07607908f, 0.518392f, + -0.06695463f, -0.15330924f, -0.09991465f, 0.026819209f, + -0.099957004f, -0.072379805f, -0.039140936f, 0.32966712f, + -0.076963834f, -0.07474464f, -0.13613437f, -0.049978863f, + -0.038713023f, -0.014085761f, -0.20939642f, -0.07179952f, + 0.45727706f, -0.1482781f, -0.031934038f, -0.07345243f, + 0.7163329f, -0.10007469f, -0.30500412f, -0.06225395f, + -0.19855049f, -0.0987294f, -0.06715272f, -0.13006717f, + 0.06658285f, -0.12261445f, 0.6714044f, -0.059876353f, + -0.07046488f, -0.10040871f, -0.08134645f, -0.0050129504f, + -0.0021754822f, -0.016717184f, -0.047175363f, -0.067463085f, + -0.06822163f, 0.8902359f, 0.22749189f, -0.044956245f, + -0.03690575f, -0.087383755f, -0.09973027f, -0.0120323505f, + -0.004710382f, -0.07255326f, -0.048610717f, -0.05955762f, + -0.02082425f, -0.08118147f, -0.023817474f, -0.08482618f, + -0.09884793f, -0.06380515f, -0.19409084f, -0.07959464f, + -0.07538026f, 0.23514561f, -0.11489943f, -0.06336908f, + -0.09006662f, 0.64978534f, -0.14694186f, -0.069745414f, + -0.10380541f, -0.0699669f, -0.0672005f, -0.12174159f, + -0.09563721f, -0.020030048f, -0.04064674f, -0.014259389f, + 1.1440009f, -0.15910546f, 0.20312667f, -0.08815582f, + -0.07352142f, -0.06397113f, 0.29123303f, -0.11906115f, + -0.07026744f, -0.10647203f, -0.069706336f, -0.097279154f, + -0.00642807f, -0.045994032f, 0.074388005f, -0.15244494f, + -0.22166829f, -0.08293725f, -0.12511714f, 0.9437378f, + -0.14836587f, -0.15229075f, 0.8642379f, 0.89542234f, + -0.075540535f, -0.102629304f, -0.15717499f, -0.36208114f, + -0.06429368f, -0.15357521f, -0.083328985f, -0.16067784f, + 0.23755592f, -0.18977557f, -0.099098094f, -0.061652377f, + -0.3317063f, -0.23623069f, -0.13596357f, -0.15922824f, + -0.4966196f, 0.864894f, -0.08963129f, 0.7690028f, + -0.10897605f, -0.11028661f, 0.7749231f, 1.0087187f, + -0.13044399f, -0.025778389f, -0.28799987f, -0.15207951f, + -0.24842629f, -0.2757844f, 0.02361623f, -0.043290127f, + -0.1447984f, -0.18001802f, 0.019175272f, -0.27023965f, + -0.22765517f, 0.04043788f, -0.40203205f, 0.27131957f, + -0.1553757f, -0.25671571f, -0.13909379f, -0.09732643f, + -0.1401118f, -0.09369078f, -0.079866484f, 0.00610822f, + -0.08460772f, -0.18669473f, -0.46651238f, -0.16936249f, + -0.17899896f, -0.11285141f, -0.051550094f, -0.21705171f, + -0.078117736f, -0.37530527f, -0.057651404f, 0.78304523f, + -0.030802712f, -0.0772589f, -0.071398534f, -0.095002934f, + -0.110136375f, -0.13903104f, -0.112977184f, -0.08317634f, + 1.1770389f, -0.04984675f, -0.38594395f, 1.1400714f, + -0.0051820674f, -0.1585265f, -0.283151f, -0.0681837f, + -0.11492812f, -0.35002083f, -0.2536217f, -0.053485602f, + 0.8206733f, -0.16219781f, -0.096090265f, -0.09493635f, + -0.11592265f, 0.21757424f, -0.21064611f, 1.8541949f, + -0.3693859f, -0.048756305f, -0.0022499154f, 0.80169636f, + -0.011940004f, -0.12916818f, -0.056409076f, -0.025844961f, + -0.013632178f, -0.070418485f, -0.123048745f, -0.18236803f, + -0.101392694f, -0.27350533f, -0.4236556f, -0.47536093f, + 0.8769839f, -0.3141493f, -0.58843386f, -0.28842857f, + -0.15328166f, -0.08565826f, -0.3115036f, -0.3181577f, + 1.9656056f, 0.28996056f, -0.22072399f, -0.33019423f, + -0.24620819f, -0.313304f, 0.02074711f, -0.24783294f, + -0.23637173f, 1.2038132f, -0.15244418f, -0.051758826f, + 0.15481965f, 2.20401f, -0.007877783f, -0.21501912f, + 0.59210503f, -0.36745045f, -0.3476092f, 0.71496195f, + -0.22121133f, -0.18468957f, 0.08166135f, -0.30416685f, + -0.19723016f, -0.43889472f, 0.60547024f, -0.19152898f, + 0.8388301f, -0.29237762f, -0.0304208f, -0.25314304f, + -0.23756765f, -0.33858556f, -0.45586225f, 1.6189517f, + 0.32231963f, -0.31700218f, -0.14212704f, 0.019928256f, + -0.15206398f, 0.12323535f, 0.15334916f, 0.056639813f, + -0.05993669f, -0.25479233f, 0.09329642f, 0.808599f, + -0.12795435f, -0.3496992f, -0.19890569f, -0.23094466f, + -0.30692205f, 0.3394054f, -0.21157038f, -0.35089862f, + 0.023494061f, -0.47265223f, -0.32019818f, -0.33800572f, + 0.01706935f, -0.24367741f, -0.023182837f, -0.39783332f, + -0.5009299f, -0.3357312f, -0.092499115f, 2.003869f, + -0.23284096f, -0.11220179f, -0.089949995f, 0.718079f, + -0.38842505f, -0.18609765f, -0.37396353f, -0.22889386f, + -0.30734375f, -0.22946718f, -0.27257153f, -0.20638336f, + -0.003938806f, 0.36863068f, 0.95922655f, -0.27954465f, + -0.31388757f, -0.20424613f, 0.20409702f, -0.09201176f, + 1.341637f, -0.1963476f, -0.5924843f, -0.38372713f, + -0.012978113f, -0.14704001f, -0.15131174f, 0.068868175f, + 1.2191799f, -0.45240316f, -0.16750194f, -0.07413088f, + -0.13709836f, 0.9387687f, -0.08785482f, -0.13186547f, + 0.6846859f, 0.6461645f, -0.079676874f, -0.06254926f, + -0.11875406f, -0.18634342f, -0.0328063f, -0.08923244f, + -0.08677594f, -0.10948124f, 0.06361078f, -0.15987346f, + -0.14898305f, -0.10696282f, -0.11166044f, -0.07643978f, + -0.082019486f, -0.20373961f, -0.31802693f, 0.21387215f, + -0.107102536f, 0.63413364f, -0.08154789f, -0.108993165f, + 0.45765254f, 0.85516137f, -0.10416374f, 0.058113858f, + -0.16253124f, -0.12357659f, -0.1878467f, -0.17487063f, + 0.092777f, 0.076620474f, -0.09499117f, -0.13254623f, + -0.11628188f, -0.16751277f, -0.17632028f, -0.0032560702f, + 0.30859056f, 0.11792222f, -0.10965748f, -0.123912185f, + -0.03509983f, -0.061692744f, -0.11264564f, -0.08096792f, + -0.087648265f, -0.05455177f, -0.09004864f, -0.17098315f, + 0.091088794f, -0.147479f, -0.0777283f, -0.08170731f, + -0.024346227f, -0.15983938f, -0.08576735f, -0.26230934f, + -0.027043862f, 0.5973316f, -0.016992483f, -0.05596025f, + -0.17122313f, -0.10728685f, -0.07924012f, -0.18734471f, + -0.13454166f, -0.049337868f, 0.67648953f, -0.10849943f, + -0.22358969f, 0.17674917f, 0.011582152f, -0.09180303f, + -0.25401607f, 0.0076309033f, -0.11254041f, -0.2544536f, + -0.17932776f, -0.104657374f, 0.74358505f, -0.09546649f, + -0.08929494f, -0.03447571f, -0.09088517f, 0.20773406f, + -0.1182133f, 0.7738339f, -0.23740825f, -0.029640198f, + -0.025777424f, 0.74439424f, -0.057431296f, -0.18521981f, + -0.100836575f, -0.045723423f, -0.038980316f, -0.008829578f, + -0.09696799f, 0.3936308f, -0.07337195f, -3.340232f, + -3.8359175f, -3.1883633f, -0.06421821f, -4.030377f, + -2.6209671f, -0.047693323f, -0.55253524f, 9.086362f, + 2.4490023f, 6.315959f, 1.0069863f, -1.714906f, + 0.7810963f, 2.3456595f, -0.20269361f, 0.8118041f, + -0.9356693f, -2.0425913f, -0.34181473f, -0.29670584f, + -0.5788275f, -1.8649201f, -1.2779442f, -0.9333532f, + 1.084235f, 2.046154f, -0.4459758f, -4.356723f, + -4.225176f, 0.065317035f, -0.25614518f, -5.3963437f, + 0.2918045f, -0.9340674f, -2.451646f, -1.6467915f, + -0.1495209f, -1.7131006f, 3.0137317f, 9.472299f, + -0.4197755f, -0.5502301f, 3.5713727f, -2.6548738f, + -4.8386097f, -0.50896245f, 0.33439803f, -3.5912373f, + -2.5142434f, 0.31759253f, 2.8036375f, 0.5107251f, + -2.4387827f, 5.6494966f, 8.272512f, -0.6857846f, + -4.277969f, 0.06253213f, -0.074014544f, -0.96207106f, + -3.258291f, -3.5390236f, -1.9750332f, -3.608297f, + -2.6604233f, 5.6921406f, -0.20409922f, -1.1969116f, + 2.998337f, -2.8880908f, 4.3057775f, -1.6192275f, + -3.9624197f, 1.2976433f, -2.3650267f, 1.528933f, + 5.797898f, -0.9645366f, -0.45642358f, -1.1272233f, + -3.7239804f, -0.10225911f, -3.0569742f, 2.9945762f, + 0.2061069f, 3.2041075f, -3.9863253f, -0.8720719f, + -0.19734815f, 3.9580374f, -0.12529404f, 7.522356f, + -0.33207574f, -1.749753f, 0.012730557f, 0.83969754f, + 1.0534894f, 3.1120992f, -0.21781741f, -3.730677f, + -2.4570732f, 4.693341f, -3.705345f, 6.543063f, + 5.790613f, 5.2750983f, -0.2737199f, 0.20292063f, + -0.19565266f, 0.18959108f, -0.7141286f, -0.1421035f, + 1.1523175f, -0.42864046f, -0.5442941f, 0.47701302f, + -0.6918521f, -0.4566777f, -0.22964719f, -0.053935032f, + 1.334023f, -0.24515498f, -0.32768467f, -0.098785125f, + 0.17596051f, 0.24970356f, -0.44796598f, -0.725162f, + 0.23690584f, 2.4115663f, 0.14600314f, -0.5032527f, + -0.24323554f, 0.34614623f, -0.6348769f, 0.21008942f, + -0.12548275f, -0.031216528f, 0.8781839f, 1.4928612f, + -0.1351223f, 0.23892055f, 0.08621855f, 0.19357921f, + -0.15621492f, -0.32136732f, -0.105860986f, -0.43773624f, + -0.2991011f, 2.0953817f, 0.6826344f, 0.28943685f, + -0.31151387f, 0.020587096f, 0.066338375f, 0.10279052f, + 1.0122124f, -0.20951027f, -0.8921019f, -0.2670173f, + 0.7008211f, 0.03144697f, -0.570858f, -0.45342627f, + -0.49734485f, -0.31857324f, 0.06833323f, 0.64317346f, + 0.72330225f, 0.24675474f, 0.10754503f, 0.084493704f, + -0.049294725f, -0.3699444f, -0.65256214f, 0.11096866f, + -0.2968797f, -0.11619944f, -0.4352658f, -0.067280576f, + -0.37451968f, 0.08758164f, -0.44101405f, -0.89013827f, + -0.42683706f, -0.5068986f, -0.16529635f, 0.45533752f, + -0.39907336f, 0.60581833f, 0.7353728f, -0.44387445f, + -0.13244885f, 0.029204527f, 0.029594982f, 0.4406457f, + 1.090284f, 0.6668375f, -0.24140362f, -0.319228f, + -0.15728866f, 0.16055645f, -0.81018525f, 0.11214216f, + 1.6476907f, -0.6654847f, 0.80008614f, -0.30378923f, + 0.045123383f, -0.30932993f, -0.69866115f, -0.67481744f, + -0.21296617f, -0.56215996f, -0.6310222f, 0.011046439f, + -0.5344561f, -0.025601242f, -0.07633684f, -0.019724023f, + 0.093710914f, -0.09569747f, -0.07368093f, 0.2556301f, + 0.42773598f, -0.021355256f, -0.06861557f, -0.13496685f, + -0.3799303f, -0.14145431f, -0.13986817f, -0.057043213f, + -0.14134757f, 1.2110442f, -0.080710225f, 0.11991373f, + -0.045916308f, -0.17114373f, -0.03242872f, -0.054202504f, + 0.045894932f, -0.4096955f, -0.30338138f, -0.05858498f, + -0.15641452f, -0.0064510056f, -0.0397215f, -0.17965792f, + 0.091054395f, -0.0452716f, 0.53034526f, -0.033143215f, + -0.061527755f, -0.0826567f, 0.10934548f, -0.11527085f, + -0.23735735f, -0.04664125f, -0.020786379f, -0.12906374f, + -0.06724864f, -0.20173365f, 0.035704535f, -0.055301644f, + 1.0611591f, -0.029736955f, -0.13419569f, -0.11772322f, + -0.13287388f, -0.035557445f, 0.03848f, -0.056545507f, + -0.024756482f, -0.08688465f, -0.16659062f, -0.15011726f, + 1.0631641f, 0.009429684f, -0.02033283f, -0.086923525f, + 0.0036864264f, -0.013053531f, 0.06404314f, -0.059716847f, + 0.21586585f, -0.015353658f, -0.04348257f, -0.07714623f, + -0.0049039447f, -0.0597445f, -0.14963177f, -0.13544802f, + -0.11216604f, 0.4155934f, -0.09841997f, -0.31502458f, + 1.3675573f, 0.0053203264f, -0.10823905f, -0.03735995f, + -0.12911084f, -0.047670636f, 0.08714917f, 0.09499504f, + -0.034430206f, 0.08743009f, -0.13216636f, -0.020682301f, + -0.029935343f, -0.1077892f, 0.073623076f, -0.18846966f, + 0.5205037f, -0.09475728f, -0.10284579f, -0.08943492f, + -0.15943094f, -0.16155173f, -0.12912627f, -0.10557388f, + -0.12936687f, -0.046011247f, -0.021065874f, 0.027395079f, + 0.08711983f, -0.12310535f, -0.64588577f, -0.41916463f, + -1.2377524f, -0.059316322f, 0.13759588f, -0.5455585f, + -0.1338763f, -0.1582742f, -0.12010011f, -0.3581341f, + 0.6880694f, 0.43410316f, 1.2716614f, -1.0843034f, + -0.65085125f, 0.85267144f, 0.4692779f, 0.08192896f, + 0.7342831f, -0.1857212f, -0.040173545f, 2.232935f, + -0.98548657f, -1.0180451f, -0.41013843f, 0.46650046f, + -0.5265122f, 0.12754534f, -0.19413193f, -0.31543508f, + 0.6431222f, 0.21963346f, -0.5187371f, 0.452184f, + 1.1044376f, 0.84107685f, -0.4634716f, 0.45822376f, + -0.6623231f, 0.22325204f, -0.48321852f, 1.2109452f, + 0.5498577f, 1.1071588f, -0.4938941f, -0.77996325f, + 0.6216473f, 0.72124505f, -1.0595604f, 0.29715234f, + -0.5082744f, -0.7766315f, -0.28000465f, -0.32209027f, + -0.1631873f, -0.89486533f, -0.78939f, -0.43267784f, + 0.15717983f, 0.08318555f, 1.7047675f, -0.10183861f, + 0.057274815f, 1.204087f, 0.4132834f, 0.3050957f, + -0.1452376f, 0.3055638f, -1.0023799f, -0.30476996f, + -0.90959287f, -0.104832284f, -0.53215927f, -1.0515889f, + -0.8940017f, -0.73338586f, 0.072635844f, 0.38406366f, + -0.060958356f, -0.1551099f, -0.4724258f, -0.42824665f, + -0.040052164f, -1.0936197f, 0.5408766f, -0.18912873f, + 1.1063552f, -0.33383122f, 0.46988192f, 0.76269966f, + -1.6159776f, -0.60667425f, -0.4073271f, 0.11208353f, + -0.40741688f, -0.19388846f, 2.8604255f, 0.27965948f, + 0.40005606f, -0.13897702f, -0.057497505f, 0.0043756077f, + 0.4820958f, -0.38872454f, 0.05420346f, 2.225721f, + -0.47451204f, 0.15105298f, 0.47737134f, -0.24425451f, + -0.22082634f, -0.14204104f, 0.9882125f, -0.11346282f, + -0.25642842f, 0.5447618f, 0.42833108f, -0.07402917f, + -0.2665145f, -0.3299989f, 0.7229368f, 0.0029826134f, + -0.22707748f, -0.19653402f, -0.1793823f, -0.243637f, + -0.19854097f, -0.30241734f, 0.029190522f, -0.09281963f, + -0.25104305f, -0.16150331f, 0.122732535f, 0.76694053f, + 1.1282126f, -0.09381997f, 1.6492529f, -0.04066688f, + -0.048601653f, 1.0235364f, 0.40067285f, -0.21935043f, + -0.28479916f, -0.11127537f, -0.24870712f, -0.3132399f, + -0.25464252f, -0.10896945f, 0.06591696f, -0.21984105f, + -0.17466989f, -0.3847166f, -0.332956f, -0.27082357f, + -0.14517142f, -0.21402599f, 0.10558696f, -0.20275474f, + -0.20908923f, -0.15369757f, -0.033556726f, -0.06391949f, + -0.1532982f, -0.071687974f, 0.130966f, -0.23649591f, + -0.14010094f, -0.39976633f, -0.55061054f, -0.124691926f, + -0.22124428f, -0.16267698f, -0.27158448f, -0.14346671f, + -0.3714159f, -0.26736045f, 0.5096079f, -0.21625791f, + -0.19716366f, -0.32739162f, -0.04500131f, -0.2796727f, + -0.25834143f, -0.03396222f, -0.16163266f, 0.8115788f, + -0.14262037f, 0.6535709f, 0.47214162f, -0.0058920006f, + -0.19041345f, -0.166924f, 0.07267109f, -0.028633544f, + -0.19846849f, -0.29219547f, -0.27968445f, 0.6772558f, + -0.29634726f, -0.09351501f, -0.08077664f, -0.09850565f, + 0.28447792f, -0.104497574f, 1.9136777f, -0.28675133f, + -0.0359201f, -0.06834193f, 1.7297f, -0.014657564f, + 0.12760833f, -0.03522932f, -0.14119567f, -0.07053855f, + -0.0971273f, 0.099639736f, -0.36199284f, -0.10223977f, + -0.04495512f, -0.10036811f, -0.0975939f, 0.18905918f, + -0.14003104f, -0.10030257f, 0.6302978f, -0.14425503f, + -0.10664036f, -0.110925265f, -0.18555297f, -0.21997356f, + -0.07312499f, -0.14648652f, -0.070604205f, -0.16517913f, + 0.77022517f, -0.17223532f, -0.09765247f, -0.21483414f, + -0.15421468f, -0.15055467f, -0.09955809f, 0.0729144f, + -0.23262016f, 0.029067472f, -0.09530256f, -0.064356185f, + -0.022742117f, 0.01505502f, -0.14441235f, 0.4111333f, + -0.067248024f, 0.6857606f, -0.06592702f, -0.1426528f, + -0.092953995f, 1.8926553f, -0.11412823f, -0.20712128f, + -0.03488324f, -0.19169258f, -0.08613235f, -0.17266682f, + -0.18653971f, 0.032117926f, -0.123000495f, 0.38970628f, + -0.13774122f, -0.104666546f, -0.1573773f, -0.013111952f, + -0.11687493f, 0.117874034f, -0.060738873f, -0.059041686f, + -0.18126315f, -0.07776166f, 1.3686922f, 0.233397f, + -0.028750857f, 0.058994412f, -0.1389768f, -0.16606809f, + -0.045185618f, -0.06822949f, 0.0066798166f, 0.50652f, + -0.24503356f, -0.12977232f, -0.14486526f, -0.11712564f, + -0.06794483f, -0.09611142f, -0.100870274f, -0.17538556f, + 0.47549745f, -0.061965607f, -0.310107f, -0.08253986f, + 0.044265144f, -0.16794863f, 1.8561782f, -0.29822424f, + -0.14573579f, -0.025921056f, -0.29915515f, -0.1402344f, + 0.30322963f, -0.25061992f, -0.08695211f, 0.041934963f, + 0.007009076f, 0.37877476f, -0.23054649f, -0.08827595f, + -0.2635812f, -0.030145187f, 0.029283015f, -0.24366757f, + -0.19099088f, -0.25192374f, -0.15935108f, -8.574655e-05f, + -0.11686771f, -0.086374775f, -0.026462873f, 0.1995383f, + -0.1019526f, -2.7014601f, 4.0956535f, 5.2403665f, + 0.057906162f, 2.2269707f, -1.0647246f, 1.8155823f, + 0.13933566f, 7.1704235f, -1.9955367f, 3.053147f, + -1.5506278f, 6.768529f, -3.2372158f, -3.2429109f, + -2.750656f, -1.6101863f, -3.9786048f, -1.558298f, + 2.4339004f, -1.5607479f, -1.9998405f, -3.2509592f, + -0.49339542f, 1.6138321f, -0.22790357f, -1.6837083f, + -0.32384318f, -4.2343874f, -4.1324544f, 0.20879272f, + 0.1353085f, 0.27105832f, -0.39511555f, -4.4900894f, + 4.512571f, 3.7453938f, -1.3309132f, -2.4456873f, + 0.011213267f, 2.4054837f, -0.10858784f, 0.20317067f, + -1.9206581f, -1.1248634f, -0.8684156f, -0.009830279f, + -0.9892469f, 3.1293766f, 1.8935492f, -2.6723914f, + -1.2483405f, 4.171465f, 3.7724512f, 5.042522f, + 2.4891942f, -1.4196804f, 8.791865f, -0.6084768f, + 0.49274006f, -0.995633f, -3.6946971f, -2.6049545f, + 4.499363f, -4.1597705f, 0.857525f, -2.490818f, + -2.363686f, -1.3907557f, 4.2467446f, -1.893917f, + 4.2834597f, 1.7005554f, -3.431749f, -1.3029349f, + 1.7357689f, 0.5254594f, -0.18814535f, -0.37286922f, + -0.06643978f, -1.8165953f, 2.8025708f, 0.89778054f, + 2.7019293f, -1.1333838f, -0.17669088f, -2.6393912f, + 2.5323844f, -0.31268615f, 5.258141f, -1.3272643f, + 0.49876022f, -3.8092487f, -0.24632119f, -3.421155f, + -0.10591736f, -0.13421242f, -1.8787662f, -0.56488484f, + -0.18160763f, 6.166697f, -2.52607f, 0.27458215f, + -1.1939096f, -2.8609025f, -1.8025749f, -2.953268f, + 0.035168555f, 0.3687094f, -0.09377618f, -0.054659374f, + -0.051280815f, 1.1096923f, -0.050031714f, -0.045846067f, + -0.011027449f, 0.7485932f, -0.09257217f, -0.05873733f, + -0.056658614f, -0.42532808f, -0.08149817f, -0.086201176f, + -0.074168354f, -0.08879434f, 1.0401856f, -0.119960666f, + -0.18535165f, -0.074207485f, -0.24603386f, -0.17909183f, + -0.047283422f, -0.063143425f, -0.47164217f, -0.13136859f, + -0.045684736f, -0.3444732f, -0.07854757f, -0.091530114f, + 0.1974248f, 0.027969697f, -0.08321694f, 0.6965803f, + -0.22593693f, -0.054170817f, -0.10692354f, 0.2195847f, + -0.16297673f, -0.2788185f, -0.027782606f, -0.26616147f, + -0.2676773f, -0.122127004f, -0.19700572f, 0.0012905252f, + -0.41827896f, 0.9888474f, -0.14162292f, -0.11046131f, + -0.08860871f, -0.12409941f, -0.03759789f, -0.044008173f, + -0.018424973f, -0.087843046f, -0.06628657f, -0.13190351f, + 1.1951147f, 0.39260325f, -0.101336986f, -0.050653856f, + -0.111892685f, -0.12990597f, -0.048253607f, -0.14406419f, + -0.012492356f, 0.06508579f, -0.030098684f, 0.03570622f, + -0.046869785f, -0.0116679575f, -0.082965724f, -0.07187547f, + -0.062279783f, -0.15465601f, 0.2368763f, -0.10009748f, + -0.44332957f, -0.25780582f, -0.07083814f, -0.1366524f, + 0.13219672f, -0.11648779f, -0.060196854f, -0.081672385f, + -0.19247109f, -0.008067654f, 0.016193064f, -0.077722766f, + -0.027123874f, -0.018180462f, -0.044730958f, 1.188201f, + -0.219514f, 0.50425416f, -0.15672347f, -0.08785794f, + -0.0044647483f, 0.6576291f, -0.13024026f, -0.07079115f, + -0.10326849f, -0.1289815f, 0.009784586f, 0.010393538f, + -0.05091059f, 0.7503312f, -0.15001035f, 0.8175264f, + -0.81792384f, 0.23747092f, 0.23842028f, -1.1875769f, + -1.6360713f, -1.067396f, -0.26068118f, -0.8875219f, + -2.6774447f, 2.695186f, 0.24695344f, 1.9990565f, + 3.5824666f, 0.47666448f, 0.65789056f, -0.017243065f, + -0.6126662f, 2.524879f, 2.8079183f, -0.15984575f, + -0.676962f, -1.3231902f, 1.8769542f, -1.0145831f, + 0.5515303f, -3.3247204f, -0.24691795f, 1.1809818f, + 1.2093118f, -0.010419865f, -0.99591357f, -1.6230432f, + 0.8771637f, -1.9208481f, -0.5230363f, -1.0569421f, + 1.9391465f, -1.5018989f, 0.619693f, -1.9048057f, + -0.9227824f, -0.36192966f, -0.22694446f, -0.24379149f, + -0.4067702f, -0.34610748f, -0.9923501f, -0.77705723f, + -0.0009853527f, -0.37688854f, -0.776852f, -0.37581018f, + -1.9605188f, -0.64409536f, -0.5738205f, -3.1400712f, + 0.3320492f, 0.43254635f, -0.0035354185f, -0.6719218f, + -0.926502f, -0.032768104f, -0.04971295f, -0.5552995f, + -0.018605815f, -2.5080874f, -0.13922605f, 1.7658852f, + 0.42939693f, -0.6135394f, -2.1230772f, -0.7608864f, + -0.57843506f, 3.3582652f, -0.61548054f, 2.7247717f, + 3.7546158f, -0.03409471f, -0.13595185f, -0.34578845f, + -0.67870444f, -1.4947506f, -1.3164085f, 3.4100873f, + 0.093954675f, 1.7208126f, -0.6166989f, -0.6116643f, + -1.0145832f, -2.8206482f, 1.4302028f, 3.0292165f, + -0.09834711f, -0.6374609f, 0.07149782f, 0.5765882f, + 0.102815166f, -0.8535537f, -0.07866903f, 0.9224347f, + 0.1510614f, 6.3740406f, -0.5133206f, -1.6909688f, + 1.7916317f, -0.22555485f, 0.16524825f, 3.1690829f, + -2.736666f, 9.350518f, 3.1371162f, 0.020126507f, + -3.676105f, 4.1666055f, -0.4047929f, 0.20167847f, + 0.5150774f, 1.6010872f, -0.87343454f, 2.412305f, + -2.8023152f, 3.2993774f, 2.9413269f, -3.2535763f, + 0.29641342f, -2.7840405f, -0.19238083f, -0.78970456f, + 0.567947f, -0.8270295f, 3.2222836f, 4.295631f, + -1.093286f, 0.535741f, -1.7261914f, 0.89259267f, + 4.9060287f, 4.8939376f, 1.0492741f, -0.009679181f, + -0.6677822f, -0.721829f, -0.5049348f, -2.1586604f, + -3.0010731f, -0.27136847f, -2.3166244f, -0.702162f, + -1.5530938f, -1.1480715f, -0.18300676f, -0.529f, + 0.8063084f, -2.995926f, 0.614492f, 0.44163215f, + -2.562075f, -2.6005373f, -0.8676621f, -3.3013902f, + -2.623975f, 4.3853917f, 3.6256592f, -0.7181114f, + 6.4060135f, 3.251851f, -0.048239868f, -0.16620544f, + -0.5839832f, 6.5843935f, -2.486149f, -2.237813f, + -2.5079067f, 2.7056777f, 0.34237513f, 0.7824124f, + -1.88966f, -1.944232f, 0.44216013f, 4.036303f, + -1.6080916f, 2.3627818f, 1.900416f, 0.45095327f, + 0.24333869f, 3.6761482f, -1.4777291f, 0.15510459f, + -2.257669f, -4.4669504f, -0.07188632f, -2.2194555f, + -3.0235293f, 0.32475337f, -1.103671f, 4.3398824f, + -0.9191056f, -3.0642724f, -1.2574879f, -3.1455894f, + -1.9662267f, 0.23659022f, 0.14329006f, 0.5359271f, + -0.9191079f, -2.0489485f, 0.28925517f, 0.827968f, + -3.6470263f, -2.6294777f, -0.46330345f, -3.0973873f, + -2.4565547f, 0.108173855f, 6.596422f, -0.14141813f, + -0.4741837f, -0.1985697f, -0.09699895f, -0.11035193f, + 1.0154678f, -0.14510183f, -0.16443849f, 0.82590324f, + 1.116061f, -0.08892416f, -0.124580815f, -0.12858471f, + -0.45412672f, -0.064000905f, -0.14463551f, -0.10814506f, + -0.1790699f, -0.13321957f, -0.19641231f, -0.057502266f, + -0.042905804f, -0.5139841f, -0.29002392f, -0.09648269f, + -0.18417875f, -0.5594259f, 0.7168178f, -0.11294248f, + 0.6899119f, -0.10207255f, -0.08235322f, 1.0525215f, + 1.0312445f, -0.124251075f, -0.050824195f, -0.3201006f, + -0.08155088f, -0.22957252f, -0.31184164f, -0.0013889447f, + -0.062572055f, -0.05134762f, -0.1850486f, 0.61800605f, + -0.2683062f, -0.21345456f, 0.0036186504f, 0.14318171f, + -0.042290818f, -0.19069694f, -0.2615461f, -0.19045442f, + -0.136215f, -0.13353212f, -0.1572102f, -0.07092364f, + 0.009626709f, -0.09119088f, -0.17312771f, -0.4088422f, + 0.13011202f, -0.1839305f, -0.07002457f, 0.027211098f, + -0.2963829f, -0.14254493f, -0.3776302f, -0.06761943f, + 0.7886867f, -0.02280448f, -0.107554585f, 0.006960107f, + -0.12040246f, -0.02404508f, -0.13752218f, -0.10596393f, + -0.053288367f, 1.2385032f, -0.017993411f, -0.3806937f, + 0.62692755f, 0.09796916f, -0.20537733f, -0.30321175f, + -0.04528263f, -0.09053077f, -0.4681605f, -0.17407142f, + -0.030810809f, 0.7711909f, -0.1752287f, -0.06120469f, + -0.055264045f, -0.19262041f, 0.44220966f, -0.17843856f, + 1.278726f, -0.39852026f, -0.07956974f, -0.014364062f, + 0.4705977f, -0.032584056f, -0.1448544f, -0.069566004f, + -0.050343793f, -0.04554583f, -0.04851087f, -0.097843565f, + 0.28362414f, -0.1625289f, 0.43600932f, -1.2975295f, + 0.7553555f, -0.6710721f, -0.9371323f, 2.025563f, + 1.263816f, 0.46647727f, 1.0153066f, 1.2219825f, + 0.327534f, -0.8388161f, 0.3947068f, -0.45293882f, + 1.0702896f, 1.7821149f, 0.094880916f, -0.17659046f, + -1.1940084f, 0.401835f, 0.832864f, 0.35411814f, + -0.34997427f, -0.60533667f, 1.8571347f, 0.034336727f, + 1.2614901f, 0.03006006f, -0.56574374f, -0.65874934f, + 0.53067416f, -0.62030536f, -1.2145782f, 0.15710889f, + 2.7736666f, 1.3686463f, 2.582843f, -0.47224814f, + -1.6839797f, 0.49678248f, -0.25336677f, -0.84914345f, + -0.013612314f, 0.93902194f, -0.57736635f, -1.1828687f, + 0.0008779036f, 0.6058149f, 0.26206043f, -0.6701685f, + -1.6774621f, 0.1890693f, -2.7397547f, 3.0052128f, + -0.3161035f, -1.3312308f, 0.16468093f, 2.9663906f, + 0.16096821f, -0.39338356f, 1.9346528f, -1.5509659f, + -2.3400023f, 2.6086476f, -0.6484281f, 2.9827735f, + -1.0299317f, 1.3606236f, -0.831366f, -2.0445216f, + -0.5842329f, -0.32113922f, -0.84443486f, 0.5993351f, + -1.2907485f, -0.8407805f, -1.703484f, -0.14539656f, + -0.18953882f, -0.06470153f, -0.46044034f, 2.8456488f, + 0.7314515f, 1.335371f, 0.015935903f, 0.37556076f, + -0.8115105f, -1.1210833f, 0.015227724f, 0.32487008f, + -0.215859f, -0.40429384f, -1.3176293f, 0.3757031f, + 1.3825502f, 0.06048043f, -0.30887425f, -0.6539518f, + -1.4753624f, 0.32900742f, -2.0594075f, 1.8660148f, + -1.1209099f, -1.0876486f, -2.087495f, -0.26549277f, + -1.3610848f, 0.023393843f, -0.069958955f, -2.529243f, + -3.1198032f, -1.5910124f, -0.058170523f, -3.1914997f, + -0.9053399f, 1.4377562f, -0.47271946f, -1.4626653f, + -3.427887f, -1.8872527f, -1.1912792f, 0.6396692f, + 2.9715338f, -1.4961069f, 0.339724f, 0.4673081f, + 1.0079231f, 0.9189841f, 6.8075356f, 0.066545f, + -2.3275805f, -2.3001375f, 4.059756f, 1.6152073f, + 0.6862858f, 3.2579951f, -0.334684f, -1.9250443f, + -1.8336546f, -0.127782f, -0.88732654f, 0.3004779f, + 0.06545991f, -2.1963155f, -1.7173853f, -2.8637278f, + 0.688593f, -1.3410734f, -0.6436824f, -2.157338f, + 0.09079807f, -0.62127507f, 1.065319f, -2.01478f, + 0.5318923f, 0.08929781f, -0.62527883f, 1.8810998f, + -2.4246767f, 1.8491658f, -3.8271775f, 2.08576f, + -2.614427f, -3.8302588f, -0.41149485f, 5.7787313f, + -1.5687293f, 0.7501196f, 0.48454118f, 1.6853702f, + -2.9901445f, -1.1663042f, -1.197858f, -2.1180344f, + 2.8749526f, -1.0725003f, 0.46016815f, 6.5800266f, + -0.24610066f, 6.87114f, -3.4127464f, -0.113472305f, + -1.8095498f, -2.6785762f, -0.48358938f, 2.978011f, + 4.0447054f, 1.4942777f, -0.044783816f, -3.371482f, + -1.9487543f, -0.51505494f, 0.7469106f, 8.363108f, + 1.0411565f, 4.047047f, -0.7583502f, -0.8728304f, + -0.7151937f, 1.0796925f, 5.5281463f, 5.4882693f, + -0.26771906f, -2.035531f, -0.123675376f, 0.66257554f, + 1.6588229f, 3.7671416f, -0.016601846f, -2.8202577f, + -1.1763377f, -3.3184102f, 4.121679f, -3.7005587f, + -2.8837144f, 2.0510082f, -0.31540278f, -3.380825f, + -0.17323203f, -0.08300326f, -0.11099566f, 0.721641f, + -0.07985058f, -0.14671811f, 0.4543802f, 0.29494032f, + -0.060283843f, -0.08177182f, -0.10846794f, 0.06588641f, + 0.008294579f, -0.06943126f, -0.1074572f, -0.076916255f, + 0.009127525f, -0.14439234f, -0.16363983f, -0.13069935f, + -0.10450848f, 0.0337002f, -0.13860424f, -0.1834899f, + -0.034951575f, -0.005335836f, -0.107541196f, -0.1880678f, + -0.11703551f, -0.13637741f, 0.42058423f, 0.5899595f, + -0.09544835f, 0.26109836f, -0.1553875f, -0.079761796f, + -0.20375884f, 0.44464344f, 0.0897332f, 0.14413528f, + -0.086421326f, -0.12088981f, -0.13329725f, -0.09093634f, + -0.1789273f, -0.034252964f, 0.1700528f, 0.089239866f, + -0.06298791f, -0.1522783f, 0.008075548f, -0.053631548f, + -0.082143724f, -0.09598651f, -0.04992954f, -0.0519648f, + -0.05465122f, -0.15380432f, 0.61913484f, -0.0086838305f, + -0.07681879f, -0.06183424f, -0.038134266f, -0.15837471f, + -0.048885755f, -0.12904337f, -0.0776575f, 0.40771976f, + -0.05419557f, -0.027348885f, -0.12207096f, -0.09592805f, + -0.086163096f, -0.17631598f, -0.10428465f, -0.03047418f, + 0.3168628f, -0.10641072f, 0.00046094088f, -0.13108766f, + -0.077966824f, -0.15356168f, 0.48104313f, -0.03293454f, + -0.10621737f, -0.07056999f, -0.15971632f, -0.11065052f, + 0.541961f, -0.087616794f, -0.08556635f, -0.020134445f, + -0.08751468f, 0.4889757f, -0.13535263f, 0.3037984f, + -0.13966699f, -0.023192527f, 0.09289807f, 0.5020735f, + -0.13647182f, -0.20726742f, -0.10974488f, -0.02618879f, + -0.06006007f, -0.017293822f, -0.08975864f, 0.5154025f, + -0.111082435f, -0.5126615f, 0.44030783f, -1.1293287f, + 0.13742316f, 1.1037129f, -0.6347415f, -0.37061635f, + 0.7707863f, -0.6487331f, -0.8461368f, -0.302882f, + -0.08234444f, 1.6229373f, -0.25989532f, 0.9090884f, + -0.34471855f, -0.0004797669f, 1.8702974f, -0.65129757f, + -0.47116315f, 0.061635602f, 1.6233718f, -0.14590004f, + -0.20701203f, -0.060958017f, 0.37516806f, -0.8421902f, + 0.1968854f, -0.816971f, -0.69409436f, 0.58007497f, + 1.2748722f, -0.3007688f, 0.38139462f, -0.3696006f, + 0.11634078f, -1.1260606f, -0.32959443f, 0.5978667f, + 0.2818116f, 0.16908754f, 2.155114f, 0.65574354f, + -0.1851692f, -0.07361013f, 1.2941353f, 0.033873912f, + 0.22704352f, 2.2627747f, 0.27739894f, -0.3368061f, + 0.06386353f, 1.0289093f, -0.0775799f, -0.4547856f, + -0.27260348f, -0.06037465f, -0.23095927f, -0.022860924f, + 0.6619789f, 0.052822586f, -0.59699106f, -0.34257212f, + -0.49849012f, -0.036985293f, -0.670026f, -0.8155501f, + -0.26311976f, -0.38908067f, 0.010200739f, -0.58736956f, + -0.68964565f, -0.53150064f, -0.003577f, -0.3585349f, + 0.43870562f, -0.4583485f, -0.2793907f, -0.26005057f, + 0.22803375f, -0.26217625f, 0.9116997f, 1.0939022f, + 0.091696516f, -0.5368176f, -0.23000047f, -0.28249195f, + -0.38627243f, 0.8926988f, 1.1076174f, -0.39162f, + -0.19353102f, -0.28114784f, 0.45681587f, -1.2582151f, + 0.24599458f, 0.40652773f, -0.4651858f, 0.62445825f, + -0.31887978f, -0.2081309f, -0.7454648f, -0.55966777f, + -0.6684211f, -0.34665832f, -0.7590547f, -0.5255204f, + 0.09206679f, 0.24729201f, -0.5279801f, -0.012925246f, + -0.058602765f, -0.46764433f, -0.84391654f, -0.8522623f, + 0.0967769f, 0.30345958f, -0.9210882f, -0.5233845f, + -0.67431164f, -0.42197514f, -0.017911652f, -0.7451851f, + -0.9935131f, 0.025254657f, 0.0309502f, -0.27362216f, + 1.029126f, -0.08798813f, 1.0611835f, 1.411428f, + -0.48040253f, 1.6222134f, -0.44392744f, -0.21832049f, + -0.25710788f, -0.325393f, -0.32778504f, -0.5226684f, + 0.5069486f, -0.3441388f, 0.50055677f, 0.015011838f, + 1.9979984f, -0.36452118f, -0.55350035f, 1.0567914f, + -0.5498292f, -0.5289284f, -0.115745015f, 1.9305022f, + 1.1787355f, 1.223733f, -0.6419038f, 0.8174759f, + 0.96227086f, 0.06607478f, -0.4663329f, -1.055869f, + -0.49595857f, -0.36716244f, 1.8954154f, -0.9650339f, + -0.03012962f, 0.24230874f, -0.32971165f, -0.12273487f, + -0.008465982f, 1.1262844f, 1.2923259f, -0.8415982f, + -0.37549973f, 2.1383178f, 0.17815311f, 2.2756715f, + -0.57213515f, -0.3533904f, -0.42059532f, -0.30543733f, + -0.5592925f, 0.21112402f, -0.67932f, -0.38235822f, + -0.5949453f, 0.024399174f, -0.3362657f, -0.46712145f, + 0.11167116f, -0.34762675f, -0.7557856f, -0.726715f, + 0.82988477f, 0.056542322f, -0.16631885f, 0.16711017f, + 1.1998566f, -0.5755097f, -0.5310708f, -0.71621376f, + -0.3424138f, 0.41551304f, -0.5351932f, 1.1734893f, + -0.31848103f, -0.44463977f, 0.9994067f, -0.5762111f, + 0.026003195f, -0.37087536f, 0.04848423f, -0.18870568f, + -0.59083927f, -0.29078558f, -0.36046764f, -0.14385198f, + -0.04232822f, 0.65527284f, -0.054409254f, -0.23989256f, + -0.05581965f, -0.12718306f, 1.1674054f, -0.11652152f, + -0.115093976f, 0.78027076f, 1.4505389f, -0.07671923f, + -0.08385706f, -0.15020044f, -0.4681732f, -0.13740262f, + -0.119233035f, -0.09698868f, -0.15214081f, -0.19047403f, + -0.15190507f, -0.27501008f, -0.11004156f, -0.79624265f, + -0.31570536f, -0.06276035f, -0.25543275f, -0.61689246f, + 0.123865366f, -0.13753706f, 0.47764006f, -0.082168624f, + -0.08383042f, 1.3566433f, 1.0176032f, -0.09321535f, + 0.004591086f, -0.3944376f, -0.04770159f, -0.21715944f, + -0.42091462f, -0.07205966f, -0.06603034f, -0.023770152f, + -0.37433466f, 1.0748909f, -0.3038766f, -0.2673485f, + 0.026832439f, 0.8313771f, -0.095182836f, -0.16063693f, + -0.265459f, -0.16631603f, -0.12291935f, -0.14011316f, + -0.13197228f, -0.12619472f, -0.001810381f, -0.108096726f, + -0.10400829f, -0.028091958f, 0.8030141f, -0.20160158f, + -0.0862033f, 0.032070283f, -0.3550813f, -0.12754512f, + -0.4599432f, -0.061084166f, 0.7858428f, 0.0050876727f, + -0.038406704f, -0.025493542f, -0.10458248f, -0.04501253f, + -0.11215949f, -0.0952236f, -0.12959965f, 0.98049384f, + -0.09359637f, -0.43173093f, 0.2206496f, -0.011917401f, + -0.17692626f, -0.51228076f, -0.096125074f, -0.051105503f, + -0.6991781f, -0.31170714f, -0.10355865f, 0.7551247f, + -0.15086196f, -0.037409022f, -0.05988083f, -0.10191731f, + 1.0527427f, -0.26677808f, 0.7727662f, -0.42774418f, + -0.055291723f, -0.05853922f, 0.31635565f, -0.05528061f, + -0.079174384f, -0.10046409f, -0.1289375f, 0.019888185f, + -0.013222757f, -0.1353336f, 0.8954099f, -0.18134762f, + 0.22058861f, -0.22418949f, -0.35238555f, -0.29311973f, + -0.18108381f, -0.6064622f, 0.8315898f, 0.22761773f, + -0.21101806f, -0.20159902f, -0.10482367f, -0.36709115f, + -0.4711313f, -0.25834325f, -0.50967354f, -0.31682533f, + -0.21385287f, -0.5191045f, 1.6553903f, -0.488967f, + -0.37209827f, 0.93731064f, -0.21888545f, -0.44328544f, + -0.114756316f, 0.80146873f, -0.30633408f, 0.11247094f, + -0.23065028f, -0.1850106f, 0.82361305f, 0.7106545f, + -0.17079563f, -0.0837649f, 1.340414f, -0.18765189f, + -0.26010132f, -0.2428635f, -0.052606255f, -0.21788678f, + -0.35129872f, 0.6656369f, 0.6513194f, 1.0280342f, + -0.34833473f, -0.29212213f, 0.2903131f, -0.44710842f, + -0.7021416f, -0.23706792f, -0.5312556f, -0.38086745f, + -0.027064895f, -0.47758698f, 0.04132585f, 0.29436293f, + 0.31574923f, -0.379388f, -0.16902813f, 0.15219006f, + 0.8290071f, -0.24104306f, -0.36608306f, 1.6631153f, + -0.24658677f, 1.3685281f, -0.34383288f, 0.8278092f, + -0.24518588f, -0.24518858f, -0.23432626f, -0.08307593f, + -0.004530473f, -0.263668f, 0.045109693f, -0.5312845f, + 0.9582925f, -0.5977095f, -0.2247764f, 0.58210874f, + -0.14683972f, -0.688769f, -0.2762419f, -0.67528164f, + -0.37313277f, 0.0086481f, 1.6328578f, 0.08137278f, + 0.8435546f, -0.37414545f, -0.4185464f, -0.16260293f, + -0.0068811118f, -0.16556577f, 0.5586304f, 0.47520477f, + 0.82800984f, -0.26337087f, 0.029157514f, -0.19173218f, + -0.16435057f, -0.29105604f, -0.21925919f, -0.14505449f, + -0.32620844f, -0.36587426f, 0.1305532f, 0.16136119f, + -0.48372325f, -0.07302554f, -0.038514446f, -0.06893487f, + 0.62562555f, -0.2224751f, -0.320659f, 1.4616518f, + 0.92805713f, -0.12140492f, -0.13379206f, -0.1369827f, + -0.14428614f, -0.15761143f, -0.16950347f, -0.24112737f, + -0.17580011f, -0.35278577f, -0.2902182f, -0.36410254f, + -0.24183492f, -0.4453837f, -0.05233908f, -0.1876269f, + -0.19022295f, -0.35859466f, 0.8416624f, -0.052327648f, + -0.48905995f, -0.08136738f, -0.08313782f, 1.2053908f, + 1.6041623f, -0.2665826f, -0.038881253f, -0.22772491f, + -0.14933865f, -0.16466421f, -0.30372486f, 0.118162125f, + -0.06419293f, -0.07478123f, -0.5090851f, 1.1741855f, + 0.48633936f, -0.25879902f, -0.06892507f, 0.36390755f, + -0.3471244f, -0.27964225f, -0.35906568f, -0.23144278f, + -0.3464108f, -0.15122184f, -0.090351395f, -0.14468575f, + -0.03431735f, -0.14967062f, -0.01356159f, -0.39218643f, + 0.57834494f, 0.66500014f, -0.0505107f, -0.25337842f, + 0.30775324f, 0.016742093f, 0.48618084f, -0.037618905f, + 1.3461097f, -0.09811143f, -0.24369381f, -0.13200566f, + -0.12048303f, -0.1673676f, -0.127258f, -0.15769629f, + -0.21129048f, 1.38494f, -0.17744677f, -0.3194939f, + 0.38073868f, -0.12733546f, -0.34806007f, -0.20823872f, + -0.053153295f, -0.002940521f, -0.5487624f, -0.1075523f, + -0.0589661f, 1.175446f, -0.19456619f, 0.0010080942f, + -0.015637659f, -0.1739057f, -0.50427943f, -0.21588883f, + 0.45153087f, -0.19446373f, 0.019266991f, -0.003981454f, + -0.49359244f, -0.14905944f, -0.17146894f, -0.106661305f, + -0.198417f, -0.17525116f, -0.095929824f, -0.26834008f, + 1.0058615f, -0.23429967f, 0.040529907f, 0.038205244f, + -0.15268908f, -0.08186332f, 0.28610495f, -0.1275757f, + 0.050253738f, 0.3646011f, -0.5826055f, -0.41036904f, + -0.3154269f, 0.073431574f, 0.37918526f, -0.19884926f, + -0.28968245f, 0.26174688f, 0.5201976f, 0.4607794f, + -0.3397418f, -0.33759373f, 0.17974593f, 2.080864f, + -0.101360425f, -0.41324872f, -0.27139044f, 0.15482679f, + -0.19259454f, -0.1747993f, -0.1844215f, -0.15223673f, + 0.32392186f, 1.2027926f, 0.25456187f, -0.15088692f, + 0.17680977f, 0.16698575f, -0.54802287f, 0.21052909f, + -0.3108912f, -0.41036084f, -0.3579507f, 2.0784936f, + 0.380003f, -0.051957965f, -0.41089538f, 0.21500656f, + -0.27499935f, 0.264372f, 0.6871389f, -0.09467806f, + -0.3399597f, -0.34747532f, 0.7088418f, 0.052537076f, + -0.24721101f, -0.16369951f, -0.11828458f, 0.056097638f, + -0.04159997f, 0.8342725f, -0.0834893f, -0.06648207f, + 0.08618652f, -0.3300772f, 0.19132355f, -0.3679496f, + -0.3080271f, 0.21970709f, -0.41188154f, -0.26483026f, + -0.058945f, -0.2781208f, -0.25228074f, 0.3520168f, + -0.32230353f, -0.7943997f, -0.07697109f, -0.49047318f, + -0.028809432f, 0.5658753f, -0.17700896f, 0.07906186f, + 0.75946766f, -0.36316508f, 0.030014211f, -0.19491225f, + -0.4709309f, -0.09845123f, 1.2575809f, 0.20134586f, + 0.16377102f, -0.038371038f, -0.46857637f, -0.17536597f, + -0.6770845f, 0.06788041f, 1.1212155f, -0.3376903f, + 0.18461941f, -0.14580983f, -0.11377068f, -0.2078023f, + -0.23233351f, -0.79860425f, -0.14343247f, -0.24623711f, + -0.40345693f, 0.30729344f, -0.4423997f, -0.60307103f, + 0.54671305f, -0.55009687f, 0.07589351f, 0.5003517f, + -0.7346936f, 0.35341942f, 0.3922856f, -0.4410819f, + -0.4291769f, -0.650295f, -0.05045492f, 0.18669297f, + 0.07477671f, 0.9821308f, 0.053841364f, 0.2842187f, + 1.6319436f, -0.6314829f, -0.3365943f, 0.4641924f, + 1.7385277f, -0.57921445f, -0.2600456f, -0.013063881f, + 0.2705586f, -0.36688662f, -0.0150037585f, -0.35781828f, + -0.49316365f, 0.1065848f, 1.4056578f, 0.21879159f, + 0.57957107f, -0.19300826f, -0.19623026f, -0.76556456f, + 0.07410374f, 0.24344413f, 0.4605997f, 0.5005013f, + 2.6289063f, 0.23954524f, -0.38371497f, -0.09373493f, + -0.050067585f, -0.3127257f, 0.5315178f, 1.9248289f, + -0.41725013f, -0.27278736f, 0.17447259f, 0.5813525f, + -0.17277718f, -0.59817356f, -0.5509615f, 0.05147647f, + -0.7803084f, 0.010708118f, 0.7206401f, -0.31789395f, + -0.33752218f, -0.53948647f, -0.513326f, -0.47851893f, + -0.3815853f, -0.26219833f, -0.03705869f, -0.44402257f, + -0.16718943f, -0.27324772f, -0.47415218f, 0.47864813f, + -0.105707765f, -0.83987796f, 1.1732035f, -0.3595552f, + -0.42819718f, -0.2285939f, 0.7567983f, -0.31914973f, + 0.3700291f, 1.0981029f, -0.6928537f, -0.54553497f, + -0.21035656f, -0.533216f, -0.3849009f, 0.81624824f, + 0.5600584f, 0.1831133f, -0.39730147f, -0.4435527f, + -0.11680812f, -0.7412355f, 0.3844088f, 0.531445f, + -0.04384877f, -0.04949477f, -0.18281394f, -0.17433757f, + -0.98570246f, -0.18980242f, -0.46788183f, -0.18694119f, + -0.34217545f, -0.29625362f, 0.14647612f, 0.2944423f, + -0.04059854f, -0.042797677f, -0.040447593f, 0.20496269f, + -0.047180545f, -0.069175765f, -0.07087523f, 0.08251723f, + -0.05432551f, -0.053449515f, -0.053313795f, 0.46824607f, + -0.06913385f, -0.0456337f, -0.043791164f, -0.057773624f, + 0.66623855f, -0.07087287f, -0.00922363f, -0.044689324f, + -0.014117791f, -0.012137435f, -0.06622802f, -0.10991529f, + 0.61852545f, -0.18019423f, -0.04767864f, -0.08376738f, + -0.06413797f, -0.044821363f, -0.1071103f, -0.089599945f, + -0.06226665f, 0.4405927f, -0.08720438f, -0.048150882f, + -0.0624771f, 0.12718469f, -0.054602604f, -0.272991f, + -0.04048413f, 0.02608503f, -0.19375691f, -0.0069655925f, + -0.10315154f, -0.027112078f, -0.01375855f, 0.82535124f, + -0.039398864f, -0.08086898f, -0.053538814f, -0.06786823f, + -0.04876256f, -0.043333557f, -0.054055687f, -0.05673124f, + -0.05329543f, -0.06892506f, 0.028929617f, 0.5033463f, + -0.01800739f, -0.057775326f, -0.08395803f, -0.026848814f, + -0.05152927f, -0.007896721f, -0.05103176f, -0.0760586f, + -0.042373348f, -0.046389166f, -0.0778958f, -0.034295324f, + -0.0570254f, -0.05551554f, -0.070244975f, -0.15174226f, + -0.033920687f, -0.049854387f, 0.38210255f, 0.7423302f, + -0.04792178f, -0.05752201f, 0.117201306f, -0.092562415f, + -0.05144671f, 0.096918f, -0.013160955f, -0.06518922f, + -0.044445917f, -0.081485555f, -0.053429876f, -0.05319101f, + -0.042740677f, 0.10117366f, -0.20642973f, 0.33122084f, + -0.05468204f, -0.062182676f, -0.05183669f, 0.04205446f, + -0.08074788f, -0.06880706f, -0.064128436f, -0.087072484f, + -0.070263535f, -0.055503424f, -0.08816967f, 0.012761939f, + -0.14788015f, -0.22453175f, 0.008989235f, -0.41011733f, + 0.31345984f, -0.11501605f, -0.327632f, 0.11304607f, + 0.8867641f, -0.051492743f, -0.10333785f, -0.20320679f, + 0.036403608f, 0.3304602f, -0.14269972f, -0.08473164f, + -0.24818338f, 0.40873855f, -0.29703322f, -0.21852578f, + -0.2819331f, 0.19413649f, 0.45745033f, 0.42496106f, + -0.34403703f, -0.3005676f, 0.03965856f, -0.26576588f, + -0.19773868f, 0.0490203f, 0.0066664624f, 0.49169806f, + 0.6864068f, -0.17138332f, 0.048986103f, -0.15625244f, + -0.17113757f, -0.20445842f, 0.07331553f, 0.021341372f, + -0.048371896f, -0.23592798f, -0.11344547f, 0.86376697f, + 0.43957603f, -0.10809906f, -0.23888843f, 0.31366646f, + 0.33656693f, -0.27703315f, -0.22802812f, -0.23959284f, + -0.23887883f, -0.07602207f, 0.284528f, -0.18794201f, + -0.05843593f, -0.29399794f, -0.31610468f, -0.1109023f, + 0.8011532f, 0.6514893f, 0.3280405f, 0.060744148f, + 0.05240765f, -0.14324643f, -0.15747368f, -0.11350801f, + 0.2634951f, -0.046051294f, 0.24869385f, -0.31745687f, + -0.22627227f, -0.22127461f, -0.3075701f, 0.020692613f, + -0.3089254f, 0.090396024f, -0.062099233f, -0.1671331f, + 0.34369415f, -0.18453473f, -0.18415035f, 0.32481843f, + -0.08741628f, -0.14863881f, -0.20426407f, 0.01913964f, + 0.33613735f, 0.3441304f, -0.2088197f, -0.12814619f, + -0.22931996f, -0.1408002f, 0.5495765f, -0.12225401f, + 0.007359206f, 0.057471797f, 0.07656357f, 0.5153447f, + -0.23735607f, 0.2442902f, -0.19786134f, -0.3365418f, + -0.27255824f, -0.09909286f, -0.14378521f, -0.24858516f, + 0.5091243f, -0.13564901f, -3.245299f, -1.1912339f, + -1.5289521f, 0.16151763f, 4.9045424f, 0.25709963f, + 1.4951487f, 0.23266052f, -1.6892784f, -3.068757f, + -0.50209016f, 0.9316227f, 4.997536f, 0.1061094f, + -2.4949946f, -0.10037525f, 2.4121878f, -1.4631541f, + -0.3324594f, -0.06186497f, 1.2831728f, 0.64376765f, + -1.3154972f, 0.21338472f, -1.8146349f, 1.4129766f, + -1.2752876f, -0.022180531f, -2.8027453f, -2.8453467f, + 0.5692756f, 2.7974858f, 0.8500487f, 1.6284565f, + -1.0991434f, -2.5127375f, 0.33721367f, 0.0027082858f, + -1.4820509f, 0.31385076f, -0.4150593f, 1.8702142f, + -0.27030388f, -0.91389763f, -1.8836881f, 3.2845933f, + 0.05513706f, 0.89892817f, 2.8540893f, -1.4999993f, + -1.1553653f, -0.34946877f, 4.7397685f, 1.5070848f, + -0.6903917f, 2.5266705f, -1.3089688f, 0.79495645f, + 1.5209175f, 1.1333238f, 1.9920139f, 1.9258175f, + -1.7944716f, -1.3452908f, -2.6961935f, -1.0656224f, + -1.8593614f, -0.5476769f, 0.03633222f, 0.95688343f, + -2.447316f, -2.3480551f, 2.7326756f, -2.530356f, + -0.952396f, -2.4171193f, 1.3509521f, -1.4576705f, + 1.8520929f, -0.22570254f, -1.6826411f, 5.2720947f, + 1.3245542f, -1.3714793f, -1.0851792f, 0.5311835f, + 1.549658f, -1.6367525f, 0.84624714f, 1.3369805f, + -1.7205912f, -1.9609661f, -0.6377163f, -0.17788577f, + -0.7007213f, -0.07715741f, -0.42372888f, -0.9315095f, + 7.23797f, -0.105585314f, 4.2943125f, -0.7835346f, + -2.2969968f, 1.1141025f, -1.6180768f, -0.30560356f, + -0.3862675f, -0.032402314f, -2.1212277f, 0.078392215f, + -0.16521598f, -0.6035964f, -0.38191128f, -0.17787878f, + -0.6144353f, 0.123869725f, -0.24507542f, -0.24742445f, + -0.7477126f, -0.44756243f, -0.177043f, -0.33420303f, + -0.11735774f, -0.4009535f, -0.38700426f, 0.27587178f, + -0.43228167f, 2.7131128f, 0.09190635f, -0.21932778f, + 1.6143534f, -0.2654939f, -0.44714773f, -0.07994861f, + -0.28960356f, -0.43486804f, -0.39206252f, -0.116957426f, + -0.2530939f, 0.6494995f, 0.23928085f, -0.23792729f, + 0.23101127f, 1.8282894f, -0.5680688f, -0.577235f, + 1.1908431f, -0.16988166f, -0.3580438f, -0.11627708f, + 1.5197824f, 0.15340422f, 0.52793384f, -0.6730439f, + -0.16870612f, -0.062429458f, -0.008101125f, -0.9055084f, + -0.36481604f, -0.26692998f, -0.46513724f, 0.05610379f, + -0.38172048f, -0.19575018f, 0.70506585f, 0.19917852f, + -0.4142164f, 0.23309413f, 0.77455443f, 0.33563736f, + -0.21902452f, -0.27097726f, 1.2680154f, -0.56145525f, + 0.9026468f, -0.5430327f, 0.44730124f, -0.529221f, + -0.19747362f, -0.37266108f, -0.32645473f, 0.23053531f, + -0.22693978f, 0.093588464f, -1.0797266f, 1.1767545f, + -0.43318924f, 0.2517889f, 0.090637f, -0.29850268f, + -0.56445104f, 0.57575274f, -0.72089714f, -0.7249757f, + -0.25968528f, 2.198722f, -0.18486099f, 0.6753446f, + -0.4232694f, -0.64004606f, -0.120899655f, 0.010559382f, + 0.5457508f, 0.26949048f, -0.005236931f, 1.7920914f, + -0.475417f, -0.33803096f, -0.05582408f, -0.058706403f, + -0.2371456f, -0.31356424f, -0.18099646f, -0.14208563f, + -0.41984993f, 0.51836944f, 0.42272365f, -0.16671616f, + -0.22016649f, -0.14923811f, -0.5074317f, -0.17680755f, + -0.40554622f, -0.43397424f, 1.264255f, 0.1518495f, + 0.06995534f, -0.34305996f, -0.06963886f, -0.49670815f, + 0.28133988f, -0.25703022f, 0.7227783f, -0.3195184f, + -0.048875216f, -0.14142594f, -0.46399066f, -0.39447963f, + -0.0008344791f, 0.24314483f, -0.62095207f, -0.45817122f, + 0.7393983f, 0.38031116f, -0.1596328f, -0.1463307f, + -0.50726634f, -0.6133452f, 0.4469347f, 1.0184636f, + -0.24785668f, 0.048282836f, 1.5973163f, -0.66892576f, + 0.25036678f, -0.31332573f, 0.62061316f, 1.1460098f, + 0.07578971f, 1.6241786f, 0.14715536f, 1.2062443f, + -0.307872f, -0.35862413f, -0.19323158f, 0.5250353f, + 0.35716543f, -1.0726534f, -0.43440923f, 1.3876629f, + -0.10585265f, 0.29060143f, -0.61795026f, -0.29856816f, + -0.22975394f, 0.29849267f, -0.00874027f, -0.020322684f, + 0.7922271f, -0.7576335f, -1.2088797f, 1.3998377f, + -0.32582644f, 1.0967755f, -0.4269805f, 0.23950922f, + -0.31333762f, -0.32095957f, -0.049845412f, -0.53134775f, + 0.051551837f, -0.051701836f, -0.31936094f, 0.3354468f, + -0.46208447f, -0.17845109f, -0.14125003f, 0.39425957f, + -0.19048546f, 1.9868296f, 0.81152546f, 0.38252142f, + -0.75400084f, -0.18120265f, -0.17888172f, 0.50400364f, + -0.1309107f, -0.18796755f, 0.19250429f, 0.23020199f, + -0.17581862f, -0.05742674f, -0.1952111f, 0.24598727f, + -0.23712078f, -0.4296746f, -0.58402926f, -0.039316624f, + -0.72882444f, -0.78858924f, -0.41447774f, 0.20351675f, + -0.7704349f, -0.33621782f, -0.3383659f, 0.032691874f, + -0.16934952f, -0.24352922f, -0.31851542f, -0.15134709f, + 0.31857806f, -0.25322625f, -0.43772027f, -0.18734159f, + -0.10597676f, -0.022058459f, -0.2296591f, -0.20721552f, + 1.3529408f, 0.15525767f, -0.1622505f, -0.32637468f, + -0.24629782f, 0.12814896f, -0.02935834f, -0.10235083f, + -0.22465947f, 0.58113456f, -0.05103887f, -0.13468279f, + -0.14909361f, 1.5287113f, 0.03041098f, -0.13273127f, + -0.12145952f, -0.18152356f, -0.12047647f, 0.1479561f, + -0.12787062f, -0.20195413f, 0.31294462f, -0.10319268f, + -0.01226993f, -0.23856184f, 0.6239147f, -0.17148331f, + 0.10070919f, -0.19542357f, 0.0772341f, -0.16935667f, + -0.0982206f, -0.18505546f, -0.14778551f, 0.053730592f, + 0.61852473f, -0.13541919f, -0.15418907f, -0.087227225f, + -0.14829311f, 0.011300039f, 0.27125487f, -0.017062986f, + -0.12895101f, -0.18528885f, 0.084198885f, 0.06366007f, + 0.49764603f, 0.052521266f, -0.13019457f, -0.2844229f, + 0.105128855f, -0.11454917f, -0.029467165f, -0.19816968f, + 0.11838083f, -0.12132282f, -0.05813574f, -0.20517965f, + 0.052005302f, -0.22309324f, -0.18763962f, -0.1512213f, + -0.27252072f, -0.15416846f, -0.034726135f, 1.3242531f, + 0.19436003f, -0.095249206f, 0.04742789f, 0.5877795f, + -0.21977587f, -0.10796353f, 0.01951647f, -0.09236035f, + -0.020188438f, -0.12907504f, -0.0759335f, -0.0992999f, + -0.07052849f, 0.0118155405f, 0.7353497f, -0.25112748f, + 0.11379894f, 0.065584406f, -0.05140101f, 0.10486359f, + 0.31202012f, 0.00075648236f, -0.31251296f, -0.19162326f, + -0.07334564f, -0.16162606f, -0.008397013f, -0.10953661f, + 0.37413213f, -0.29329303f, -0.13483322f, -0.087157674f, + -0.1414993f, 0.36293188f, -0.077365525f, -0.058889244f, + 0.6933942f, 0.7798331f, 0.0006423129f, -0.064900406f, + -0.14452277f, -0.04202969f, -0.05203011f, -0.15337543f, + -0.08432723f, -0.08888691f, -0.08501798f, -0.14186098f, + 0.013705337f, -0.09448301f, -0.20667097f, -0.1525808f, + -0.17037542f, -0.1889299f, -0.068081304f, 1.1223702f, + -0.121421024f, 0.54473984f, -0.0675197f, -0.0357743f, + 0.31095478f, 0.731297f, -0.07419969f, -0.110575296f, + -0.00735562f, -0.14157827f, -0.104142256f, -0.099712715f, + -0.053440474f, -0.02694751f, -0.08806683f, -0.09087669f, + 0.5299541f, -0.18184939f, -0.11453918f, -0.043923747f, + -0.13863699f, -0.07774883f, -0.17811935f, -0.15316765f, + -0.12138996f, -0.10802095f, -0.1531291f, -0.123738974f, + -0.06872527f, -0.038617752f, 0.0036967474f, -0.11477649f, + -0.25002772f, -0.06963991f, -0.17045806f, -0.08056333f, + -0.111335374f, -0.13165586f, -0.07643323f, -0.19555625f, + -0.031543627f, 0.62567943f, -0.044530366f, -0.12247363f, + -0.07139325f, -0.07843464f, -0.07858625f, -0.08715079f, + -0.11833983f, -0.121456f, 0.71174717f, -0.123438045f, + -0.031673517f, 0.86292565f, 0.018444004f, -0.1300011f, + -0.0895384f, -0.039979607f, -0.05563136f, 0.21438977f, + -0.10283492f, -0.108991094f, 0.6722651f, -0.15451415f, + -0.12662004f, -0.0507189f, -0.0756128f, -0.07959021f, + -0.14815152f, 1.0293078f, -0.19747162f, -0.06819196f, + -0.002428406f, -0.089958675f, -0.02596365f, -0.059871987f, + -0.05459467f, -0.16192438f, -0.062419496f, -0.06587693f, + -0.06873645f, -0.15449865f, -0.17318359f, -0.09771136f, + -0.12974001f, -0.16158895f, 0.5717358f, -0.084961236f, + -0.20535624f, 0.66835976f, 1.0161799f, -0.1558599f, + -0.23936029f, -0.13791527f, -0.3097434f, -0.2490493f, + 0.1380676f, -0.16897154f, -0.21544302f, -0.19960313f, + -0.17972241f, 0.3943813f, -0.0778712f, -0.59899986f, + -0.28983125f, -0.08205691f, -0.08822119f, -0.45131156f, + 0.86800086f, -0.22535664f, 0.07200955f, -0.1026807f, + -0.048685025f, 1.0255252f, 0.76763743f, -0.16120912f, + 0.039556596f, -0.389713f, -0.15134293f, -0.20939146f, + -0.2918036f, 0.08898704f, 0.038115665f, -0.22908004f, + -0.4331322f, 1.0230756f, -0.24633168f, -0.35295293f, + -0.051516566f, 0.19455078f, -0.18248364f, -0.22296885f, + -0.30026418f, -0.07623236f, -0.19211799f, -0.09799359f, + -0.09209696f, -0.036637552f, 0.356805f, -0.053117793f, + -0.22705856f, -0.40618965f, 0.5705956f, -0.26047406f, + -0.21637812f, -0.013339814f, -0.27438784f, -0.22170164f, + -0.11929372f, -0.19693728f, 0.69474965f, -0.030960916f, + -0.12628467f, -0.13382345f, -0.15123132f, 0.088672295f, + -0.13596475f, 0.164326f, -0.2019867f, 1.458202f, + -0.101872616f, -0.19601718f, 0.75952166f, 0.21572715f, + -0.15882525f, -0.22318351f, -0.2534998f, -0.21491852f, + -0.26230225f, 0.56173944f, -0.110702686f, 0.68396103f, + -0.22186047f, -0.18958181f, -0.11987422f, -0.06722981f, + 0.12778792f, -0.064399615f, 0.97989243f, -0.23586623f, + -0.08069462f, -0.0010315385f, -0.1719537f, -0.012315141f, + -0.08250754f, -0.06021454f, 0.114225015f, 0.11865231f, + -0.09657258f, -0.06537738f, 0.4504663f, -0.26785934f, + -0.10235469f, -0.075759396f, -0.07054297f, 1.2110074f, + -0.07061863f, -0.08933015f, 0.54954237f, 1.0307138f, + -0.068557814f, -0.059410665f, -0.06769102f, -0.58891606f, + -0.05246995f, -0.07119684f, -0.08103003f, -0.10400154f, + 0.85750663f, -0.1390859f, -0.22020581f, -0.08931334f, + -0.35933617f, -0.1972246f, -0.09530977f, -0.14093459f, + -0.67032063f, -0.21704006f, -0.058517955f, -0.5665637f, + -0.1281535f, -0.120371565f, 0.8486377f, 0.6411364f, + -0.09280596f, 0.457275f, -0.25413463f, -0.06377763f, + -0.11209956f, -0.02884178f, -0.15010571f, -0.18659404f, + -0.024694812f, -0.34407377f, -0.36919597f, -0.22679013f, + -0.2372479f, 0.043952387f, -0.50401086f, 0.7639725f, + -0.19551939f, -0.16894297f, -0.1677511f, -0.10658592f, + -0.1060187f, -0.044279702f, -0.015670788f, -0.09773509f, + -0.06399716f, -0.14393358f, 1.2576314f, 0.4235474f, + -0.20301124f, -0.03528202f, -0.1355831f, -0.16521452f, + -0.0527055f, -0.28780988f, -0.05997327f, 0.51481605f, + -0.06086098f, -0.015246202f, -0.0539663f, -0.09051841f, + -0.09769993f, -0.089735694f, -0.097509034f, -0.12328916f, + 0.47530642f, -0.11892531f, -0.6005966f, -0.3241989f, + -0.07546579f, -0.17664188f, 0.014087174f, -0.16929017f, + -0.046370506f, -0.13561389f, -0.272132f, -0.046227656f, + 0.44147912f, -0.09785386f, -0.048593923f, -0.003284786f, + -0.059394218f, 1.4754174f, -0.2888204f, 0.78984857f, + -0.28734905f, -0.08479924f, -0.004636723f, 0.80763906f, + -0.17035925f, -0.11411562f, -0.0762842f, -0.08651389f, + -0.071440354f, 0.015643885f, -0.051476024f, 0.7643402f, + -0.16943529f, 0.011345445f, -0.08891153f, -0.052557617f, + 0.26705444f, -0.09469682f, -0.06776107f, -0.17638479f, + 0.0630696f, -0.0034271907f, -0.16697036f, -0.16569479f, + -0.3682001f, -0.1291228f, -0.095983595f, -0.022529334f, + -0.10452861f, 1.7001331f, -0.079353444f, -0.18664107f, + -0.14389287f, 0.04353066f, -0.0560203f, -0.07478566f, + -0.0033112003f, -0.47947484f, 0.014632433f, -0.10710191f, + -0.064760216f, 0.012801905f, -0.08180658f, -0.09241023f, + -0.25078478f, -0.018902455f, 0.8840193f, -0.19376351f, + -0.12960444f, -0.013035116f, 1.118523f, -0.0544304f, + -0.3972602f, -0.019998621f, -0.3380094f, -0.111371726f, + -0.043343227f, -0.2213873f, 0.04424602f, -0.12576413f, + 1.506286f, -0.0897413f, -0.040794637f, -0.14579995f, + -0.07401411f, -0.0017304615f, 0.15991105f, 0.034115303f, + 0.0440068f, -0.11241661f, -0.12238829f, 1.0046353f, + 0.53961504f, 0.049733274f, -0.008334865f, -0.16100205f, + -0.083938025f, -0.018340373f, 0.06482727f, -0.035987567f, + -0.033639822f, -0.01977621f, -0.021651529f, -0.06778101f, + 0.032525707f, -0.038062885f, -0.10641182f, -0.11923008f, + -0.094821f, -0.082849525f, -0.044251088f, -0.3824972f, + -0.036742277f, -0.059902802f, -0.08896533f, 1.1182829f, + -0.2264846f, -0.05697751f, 0.010650847f, -0.077441335f, + -0.039505377f, -0.15571208f, -0.14941037f, 0.06451599f, + -0.10244627f, -0.053960983f, 0.41937825f, -0.19016522f, + -0.08008917f, -0.12804964f, -0.07465409f, -0.07377058f, + -0.19266811f, -0.12705989f, -0.05468989f, -0.13751832f, + -0.06601322f, -0.06967073f, -0.05613472f, -0.08222775f, + 0.09842964f, -0.18202016f, 0.9719291f, -0.9605074f, + 1.3041224f, -0.14020559f, -1.4811311f, -2.0811245f, + 2.3640583f, 0.40449268f, -0.16163479f, -1.4063257f, + -0.48765105f, -1.3489553f, 0.44178832f, -0.39033908f, + 0.06560599f, -0.31315064f, -0.83860546f, -2.2927368f, + -1.0197542f, -1.1673751f, 0.34102976f, -0.5099828f, + -0.9062806f, -0.41826898f, -0.07899199f, 0.3020093f, + -1.48184f, 0.49549717f, -1.2773638f, -1.1834196f, + 0.30794093f, 0.19614439f, -1.4454066f, 0.26864353f, + 0.2150737f, -0.0746981f, 1.6954122f, -0.4487219f, + 2.1913898f, 0.2021409f, -0.95479226f, 0.28159273f, + 0.1995765f, 4.7661767f, -1.004848f, -1.0664318f, + 0.050063506f, 0.840685f, -2.0692844f, -0.9998814f, + -1.9086826f, 3.9779139f, -1.4034246f, -2.0032165f, + -1.4537735f, 0.50762624f, -2.0896795f, 4.6145577f, + -0.20413534f, -0.47954664f, 2.521249f, 0.6062019f, + 1.740758f, 1.927769f, 0.9709083f, 1.5494872f, + 1.1175932f, 0.6624587f, -1.1561397f, 3.493652f, + -1.8038423f, 0.19296078f, -2.2293491f, 0.431286f, + -1.8893515f, -1.5012933f, -1.2859248f, 0.045345947f, + -0.24211454f, 0.015721077f, -1.0361565f, 1.9696685f, + 0.90345f, 5.135731f, 1.3166921f, -0.08507231f, + -1.4349167f, 0.040652227f, -0.30495557f, 0.44607633f, + 0.031085689f, 3.7755563f, 0.36520156f, -0.22037484f, + -1.5164635f, 0.016279614f, -1.0388546f, 1.1043286f, + -1.2963879f, -0.113141194f, 2.866515f, -0.7312846f, + -0.1772449f, -1.6656997f, -1.7544036f, -1.3774694f, + -1.8918678f, -0.1450955f, 2.1963058f, -1.6106536f, + 1.33655f, -1.5638145f, 0.30115643f, 1.1317407f, + -0.55019516f, -0.22022247f, 0.44315428f, -1.337033f, + -0.7270047f, -1.2995815f, 1.3359796f, 0.4782822f, + -1.1205715f, -0.86714613f, 0.19996111f, 2.7001843f, + 1.6260332f, -0.5754341f, -1.0942969f, 1.127095f, + 0.8381238f, -0.57431996f, -0.9415868f, -1.6031262f, + 0.88113046f, -0.30649918f, -0.23661016f, -0.63865274f, + -0.7844237f, 0.6314974f, 2.0199847f, -1.4281647f, + 0.70913446f, -0.38169587f, 1.1782441f, -0.6256343f, + 0.91615134f, -1.9045323f, -0.16516156f, -1.8683245f, + -0.13481945f, 0.64892775f, 0.9287833f, -0.83114463f, + -2.4184558f, 0.48531744f, 2.3095934f, -1.6845237f, + -0.3090838f, 0.1799165f, -1.5352963f, -2.4078815f, + 4.8967977f, 0.14869462f, -0.09572636f, -0.33383435f, + -0.5949049f, 0.80603814f, 0.38996848f, 2.389732f, + 4.014198f, -0.9102735f, -0.20097952f, -0.6240594f, + 0.32043105f, 0.5798332f, 1.4729239f, -1.4526463f, + 0.50372636f, -1.083919f, -1.0195409f, 1.1879421f, + 1.3279735f, 0.20341627f, -1.0574157f, 0.14699669f, + -0.65162057f, 0.10131359f, 0.09796517f, -0.9867372f, + 1.7686611f, 0.4568632f, -1.3777184f, -0.8863136f, + -0.4613887f, 0.45452824f, -1.1128137f, 0.9403414f, + 1.2155539f, -2.0640922f, -0.8921756f, -0.76357573f, + 0.20462166f, -0.12176533f, 0.03498355f, 2.0140905f, + -0.02654717f, 2.836424f, -0.2221909f, -0.5731516f, + -1.0601555f, -2.1659853f, 0.09905769f, -0.3439853f, + 4.100672f, -1.5121605f, 0.09849167f, -0.87646085f, + -0.111136384f, -0.104889356f, -0.05014449f, 0.39457378f, + -0.15210126f, -0.17108227f, -0.16428243f, -0.2002392f, + -0.051233843f, -0.08949435f, -0.12091427f, 0.91593456f, + -0.035705578f, -0.066945754f, -0.1474205f, -0.09266059f, + -0.05892251f, -0.149778f, -0.23232673f, -0.10602271f, + 0.9968219f, -0.14138348f, -0.06936083f, -0.19514155f, + 1.0167874f, -0.020545365f, -0.062177062f, -0.18730642f, + -0.075956546f, -0.07873062f, -0.13472998f, -0.19694273f, + -0.1413151f, 0.5729162f, -0.21285151f, -0.0693932f, + -0.17932937f, 1.2719157f, -0.18683764f, -0.26044703f, + -0.031743888f, -0.4024791f, -0.21357615f, -0.083720855f, + -0.13725547f, -0.06609677f, 0.14386456f, 0.37324086f, + -0.14319639f, -0.15043709f, -0.024624914f, -0.09385145f, + 0.02749968f, -0.02932522f, -0.050599158f, -0.15031804f, + -0.10035011f, -0.08419575f, 0.5777162f, 0.4855261f, + -0.082711026f, -0.10434648f, -0.10569423f, -0.09437872f, + -0.006950237f, -0.047804438f, -0.097741134f, -0.03303353f, + -0.10242629f, -0.087633915f, -0.11747758f, -0.050410524f, + -0.090035915f, -0.07960162f, -0.055126216f, -0.36965653f, + -0.1757266f, -0.020901296f, 0.87457937f, -0.15669827f, + -0.10502692f, -0.12274494f, 1.2394947f, -0.15655775f, + -0.059713814f, -0.17499715f, -0.11583768f, -0.050382394f, + -0.21015647f, -0.04734223f, -0.05658728f, 0.0039635748f, + 0.0031890762f, 0.51761675f, -0.2395448f, -0.11037278f, + -0.10058915f, -0.09338112f, 0.0016230643f, 0.023574904f, + -0.038955446f, -0.14396134f, -0.069569126f, -0.13883293f, + -0.09181525f, -0.08090619f, -0.12021277f, 1.0330266f, + -0.18011452f, -0.62369055f, -0.2920753f, -0.6931994f, + -0.30645648f, -0.3139592f, -0.82285327f, 0.51588845f, + -0.349422f, -0.4559153f, -0.6218901f, -0.5103204f, + -0.1289873f, -0.14264512f, -0.26198703f, -0.6393748f, + -0.20794952f, 0.57319605f, -0.5651838f, 2.4235473f, + -0.64623857f, -0.09467637f, 1.8164599f, -0.27368385f, + -0.35187054f, -0.08355021f, -0.22373953f, -0.6552683f, + -0.283254f, -0.041095946f, -0.2466717f, 0.14125533f, + 0.71727103f, 0.27153027f, 0.25317675f, 2.6977787f, + -0.31855386f, -0.3759294f, 1.39738f, -0.51017237f, + -0.41965884f, 0.12688972f, 2.875362f, -0.15346207f, + 1.0036538f, -0.40458167f, 0.27970842f, -0.24707556f, + 0.35540432f, -0.92239666f, -0.7859637f, -0.3161192f, + -0.08910922f, 0.50518274f, -0.46508598f, -0.25305846f, + -0.035165913f, -0.1747246f, -0.4388896f, 0.26183718f, + 0.5253126f, 1.0328488f, -0.34620264f, -0.3711456f, + 1.8534541f, -0.50869757f, 1.2457058f, -0.7047106f, + 0.34197384f, -0.3529088f, -0.15322655f, -0.65237683f, + -0.20216657f, 0.019681666f, -0.17181961f, -0.27745932f, + -1.241886f, 0.66032946f, -0.24949373f, 0.3927405f, + 0.16877837f, 0.16039874f, -0.49430364f, 1.0915824f, + -0.70935714f, -0.75256634f, -0.3009856f, 1.9325179f, + -0.10564536f, 0.19487485f, -0.31264725f, -0.6866285f, + -0.13135484f, -0.49288642f, 0.52192384f, -0.24431984f, + 0.028270988f, 1.6549047f, -0.3358775f, 0.07113401f, + -0.036938913f, -0.14924547f, -0.46250308f, -0.6942391f, + -0.13806807f, -0.08317873f, -0.47304642f, -0.1281403f, + -0.087259665f, -0.30522522f, 1.6027882f, -0.5613978f, + 0.11076214f, -0.27589324f, -0.21729241f, -0.020644074f, + -0.5164893f, 0.5054003f, -0.47465482f, 2.1533349f, + -1.0864481f, -0.55951923f, -1.5577031f, -0.2645343f, + -0.64681447f, 0.25689247f, 0.025855232f, -1.4391131f, + 2.7548258f, 1.4863582f, -0.1351676f, 0.98432815f, + -0.65866435f, -0.97661316f, 0.2329133f, 0.79723066f, + -0.0018489559f, -0.17102855f, -0.4576234f, -0.25167796f, + 0.34515464f, -0.8440354f, 0.61075425f, 0.25944033f, + 1.1189648f, -1.3440421f, -0.0958045f, 0.44757172f, + -0.72594976f, -0.64836633f, -0.67244023f, 0.36922187f, + 1.2747396f, -1.2004762f, 2.1444612f, -0.615728f, + -0.1255524f, -0.41248044f, -1.3187649f, 0.7603614f, + 0.7813427f, -1.3790113f, -0.4381056f, -0.7349672f, + 0.9042463f, -0.16406189f, -0.18849385f, -1.5374476f, + -0.19039346f, 1.0306007f, -1.4052085f, -0.6525929f, + -0.62341064f, 0.73989725f, 0.3481507f, -0.83256304f, + 0.3068445f, -0.38798475f, -1.103294f, -0.3555676f, + 1.3363026f, 0.9849113f, -0.6876954f, -0.90802985f, + 1.8650116f, 1.0557324f, -0.0352106f, -1.4269882f, + 0.14177598f, 1.4514097f, 1.4397967f, -1.0461154f, + -1.0371615f, -0.31151894f, 0.12377833f, 1.2521765f, + -0.30643767f, -0.60049444f, 1.8596792f, -0.52536917f, + -0.86471415f, 0.08941699f, -0.5124482f, -0.06390591f, + 2.9197335f, 0.32995132f, 1.8389039f, -0.91715276f, + -1.1366767f, -0.3299336f, -0.05111315f, -0.66399235f, + 1.0686489f, -0.60406506f, 0.42501464f, -0.53267515f, + 0.42189658f, 0.2657667f, -0.38478637f, -0.08645458f, + -0.04374973f, -0.063867524f, 0.6822525f, -0.05210039f, + -0.10122476f, 0.29309976f, 0.6344114f, -0.059007373f, + -0.0359099f, -0.057651114f, -0.27071208f, -0.031266343f, + -0.04054569f, -0.049608227f, -0.089039676f, 1.2105701f, + -0.1162568f, -0.06983139f, -0.054610692f, -0.3424015f, + -0.049831256f, -0.07050186f, -0.12041467f, -0.28728804f, + -0.32768747f, -0.07308633f, -0.15189658f, -0.09413232f, + -0.0865263f, -0.081707045f, 0.37297848f, -0.075489275f, + 0.38885728f, -0.15889736f, -0.10669298f, -0.09049859f, + -0.1953331f, -0.15302676f, -0.23687571f, -0.034140423f, + -0.066245764f, -0.34081912f, -0.09426792f, -0.15719053f, + -0.0035768577f, -0.11787476f, 1.1321594f, -0.091698f, + -0.14864595f, -0.1331058f, -0.09960044f, -0.10042248f, + -0.05604097f, -0.050445624f, -0.06309626f, -0.06074875f, + -0.11888379f, -0.012482802f, 0.48014227f, -0.08753145f, + -0.057418f, -0.095484294f, -0.10720702f, -0.056207612f, + -0.17539085f, -0.027924666f, 0.27055427f, -0.06372059f, + -0.046468735f, -0.025884882f, -0.05841177f, -0.07008285f, + -0.069944374f, -0.06402444f, -0.10493562f, 0.1530031f, + -0.06836547f, -0.2623413f, 1.2362267f, -0.061330616f, + -0.09346811f, -0.1800319f, -0.01993575f, -0.05367767f, + -0.20938286f, -0.13639876f, -0.056863647f, 0.3824019f, + -0.14025927f, -0.039430562f, -0.059403356f, -0.040872876f, + 0.629803f, -0.22628377f, 1.2558321f, -0.24787372f, + -0.058900908f, -0.021613749f, 0.49668673f, -0.05429184f, + -0.08654042f, -0.052936967f, -0.16148743f, -0.10723116f, + -0.056262f, -0.07733217f, -0.10597747f, -0.14584115f, + 4.126005f, -1.3737936f, 0.505447f, -0.61871696f, + -2.1536713f, 2.947685f, 2.7014863f, 0.5789645f, + -0.61416715f, 0.8183447f, 0.6166154f, -1.8441716f, + -0.86656713f, 2.3718634f, 4.777559f, -0.01243389f, + 0.3079794f, -0.106462665f, -1.0099027f, -1.3127979f, + -0.03641009f, -1.3070503f, 1.7737631f, -1.7738284f, + 0.53287524f, -0.42178005f, -2.0871837f, 0.16168523f, + 0.61747795f, 0.76331896f, 0.06375345f, -0.74360466f, + -1.6927153f, 0.09801302f, 3.1651762f, -4.0228934f, + 1.9782853f, -1.5761131f, 1.208026f, 1.2213858f, + -0.39610523f, -1.4352458f, -0.2379441f, 2.2246761f, + -0.9453562f, 0.45440844f, -0.2748808f, -0.27917594f, + 0.65128386f, -0.93905747f, -0.0165632f, 5.035802f, + -2.12304f, -1.3580655f, 0.22787978f, -0.11021391f, + -0.35965788f, 3.8298934f, -0.15867953f, 0.29168066f, + -0.3076679f, 1.1380439f, -2.4071805f, 0.9238268f, + -1.3912697f, 2.525193f, -0.35439163f, 0.99712855f, + -0.0038540508f, -2.9491937f, 0.64837766f, -0.17620893f, + -0.39280537f, 4.125322f, -0.1583971f, -0.7610832f, + -1.8775619f, -0.87618196f, -0.4430532f, 0.77355087f, + 1.5560325f, 4.2132835f, 1.1709714f, 1.624895f, + -1.4230671f, 0.16191396f, -1.8629397f, 0.4166738f, + -0.49169895f, -1.8521188f, 0.26731843f, 2.0992804f, + 0.74131477f, 0.1069209f, 0.552337f, 0.10810329f, + -2.7347565f, -1.6338507f, -2.9757833f, 0.1821129f, + -1.0168259f, -1.4762527f, 0.44346228f, -2.0594025f, + -2.934834f, -3.2838492f, -1.184633f, 0.43024328f, + -0.019096259f, -0.14869617f, -0.117009975f, -0.110570334f, + 0.8647301f, -0.123348475f, -0.12483614f, 0.55670035f, + 0.40646625f, -0.08339191f, -0.07834121f, -0.116660476f, + -0.04437124f, -0.037353303f, -0.067018636f, -0.10867973f, + -0.11123757f, 0.19433622f, -0.16784944f, -0.24003436f, + -0.14822617f, -0.2224466f, -0.015992707f, -0.20979014f, + -0.19534476f, -0.1898724f, -0.1535425f, -0.11095539f, + -0.2653848f, -0.0998878f, -0.1455046f, 0.70457023f, + 0.6194715f, -0.07311831f, 0.4455038f, -0.2164201f, + -0.103374735f, -0.23283465f, 0.22398785f, 0.14824699f, + 0.22428104f, -0.08755824f, -0.25903407f, -0.25446036f, + -0.21255997f, -0.26410523f, 0.029969728f, -0.16078301f, + 0.29610735f, -0.056622587f, -0.2009441f, -0.06323646f, + -0.10113081f, -0.10323564f, -0.086397864f, -0.014919333f, + -0.08627749f, -0.10313731f, -0.16897076f, 0.85682946f, + 0.14586481f, -0.18786286f, -0.08517478f, -0.18465774f, + -0.22847699f, -0.0980448f, -0.14550906f, -0.037886996f, + 0.5343162f, -0.053841643f, 0.029718662f, -0.115420766f, + -0.08960468f, -0.05286889f, -0.16412222f, -0.09200654f, + 0.024468057f, 0.3630499f, -0.1060175f, -0.18014817f, + -0.15324827f, -0.090690814f, -0.090701334f, 0.26945594f, + -0.062629476f, -0.07793518f, -0.1548963f, -0.25746903f, + -0.08969244f, 0.6182978f, -0.1526444f, -0.06757559f, + 0.0014450494f, -0.10863841f, 0.9332397f, -0.032369677f, + 0.66820496f, -0.27259716f, -0.041251846f, -0.054286f, + 0.8568237f, -0.11410237f, -0.1640928f, -0.11433078f, + 0.0022397423f, -0.01623185f, 0.015434197f, -0.1144938f, + 0.52729917f, -0.2126782f, -0.16187222f, -0.246566f, + -0.12248282f, 0.7303879f, -0.20143075f, -0.23768353f, + -0.23441899f, -0.30329692f, -0.2506279f, -0.018646568f, + -0.22851661f, 1.2844819f, 0.06781667f, -0.23747753f, + -0.17863192f, -0.21952987f, -0.48246157f, -0.008562267f, + -0.25360146f, -0.13661358f, 1.552987f, -0.26423633f, + -0.13257408f, -0.12776904f, 1.3144999f, 0.08627982f, + -0.035850234f, -0.39982617f, -0.052098528f, -0.11060063f, + 0.41939333f, -0.26026508f, -0.16657025f, 0.1206325f, + -0.34961885f, -0.054826126f, -0.34133708f, 1.4459549f, + -0.23864195f, -0.020222949f, -0.07333486f, -0.5771169f, + -0.009568401f, -0.19681467f, -0.12672418f, -0.05980478f, + 1.8476572f, -0.24577081f, -0.12190224f, -0.2442869f, + 0.049252566f, -0.13629021f, -0.040514268f, 0.17925495f, + -0.062034685f, -0.1849317f, -0.11358312f, -0.10172698f, + 0.9446131f, 0.16562442f, -0.19491026f, -0.17941609f, + -0.31982478f, -0.17046635f, 0.08586028f, -0.07429665f, + -0.23165697f, -0.08787684f, -0.1973874f, -0.26306096f, + -0.17393872f, -0.15256724f, -0.122627534f, -0.15829489f, + -0.00983339f, -0.3174479f, -0.24417453f, -0.02600512f, + 1.1356714f, -0.2981443f, -0.17494412f, -0.15817814f, + 1.6078972f, -0.23621f, -0.11377106f, -0.49928173f, + -0.3234844f, -0.1494736f, -0.24845915f, -0.2039287f, + -0.16364464f, 0.0168359f, 0.06725135f, 0.7382442f, + -0.23020843f, -0.31486177f, -0.25221008f, -0.03588698f, + 0.16115753f, 0.25539035f, -0.063854866f, -0.30056494f, + -0.15167432f, -0.31642354f, -0.068927325f, -0.076218665f, + -0.10718838f, 1.787798f, -0.27260852f, 0.25858885f, + -0.63235015f, 0.5838243f, -0.0673346f, -0.5753086f, + -0.018505258f, 0.9462911f, 0.1151819f, 0.77216065f, + 0.4852327f, -0.23406394f, -0.119813874f, 0.1433661f, + -1.4348992f, -0.9864391f, 0.38854912f, 0.53741056f, + 0.27338785f, -0.38443452f, -0.02442926f, 0.26227468f, + 0.12803645f, -0.5771076f, -0.47216472f, 0.918012f, + 0.42962754f, 0.3832584f, -0.1613641f, -0.34304047f, + -0.02860183f, 0.22163077f, 0.37713972f, 0.25007424f, + 0.07488504f, 0.4936225f, 2.3848417f, 1.0030379f, + 0.07177838f, -1.2636042f, -0.25417715f, -0.4918006f, + 0.08024875f, 0.07808205f, 0.028140256f, -0.6779907f, + -1.0512277f, 0.0040068757f, 0.19947502f, -0.051909477f, + 1.1705585f, -1.2269709f, -0.96804196f, -1.2938447f, + 1.5351703f, 0.33071744f, -0.5793508f, 0.24963358f, + 1.6736469f, 0.04460499f, -0.013115169f, 0.6562637f, + -1.1044872f, -1.0777781f, 2.0530052f, 0.47502688f, + 1.133121f, -0.7104695f, 1.1446528f, -0.02184209f, + -0.36479154f, -0.47640413f, 0.4993506f, -0.7988516f, + -0.027324328f, -0.9632527f, -0.11482751f, -0.11837496f, + 0.13583274f, -0.2857097f, 0.12366137f, 0.18509375f, + -0.4360142f, 0.067776285f, 0.2062468f, -0.45000967f, + -0.23320279f, -0.7420626f, -0.8415195f, 0.9243018f, + 1.0987504f, -0.7379438f, -0.0030011672f, -0.46319467f, + -0.18382926f, -0.7014263f, 0.28753683f, 1.2530656f, + 0.36619943f, -0.7950992f, 0.052529708f, -0.4628477f, + 0.08676829f, 0.21903767f, -0.76892185f, -1.0064294f, + 0.4854178f, -0.8159195f, -0.0065633566f, 0.29343006f, + -0.043619826f, -0.064363755f, -0.028349357f, 0.4329647f, + -0.037410278f, -0.047216754f, 0.23846631f, 0.6060533f, + -0.07387607f, -0.0055467132f, -0.07506254f, -0.3724712f, + -0.08496749f, -0.06343463f, -0.050894115f, -0.08159883f, + 1.5700276f, -0.07966396f, -0.0721691f, -0.03510076f, + -0.33192447f, -0.06825663f, -0.10301199f, -0.0040602386f, + -0.39641362f, -0.3493759f, -0.0396541f, -0.24073161f, + -0.097736485f, -0.05425011f, -0.22161032f, 0.014415978f, + -0.070919976f, 0.6757284f, -0.17084238f, -0.06601891f, + -0.08315872f, 0.03940789f, -0.12548815f, -0.29373097f, + -0.037545383f, 0.024817245f, -0.30738965f, -0.039499715f, + -0.12900789f, 0.003186633f, -0.06790437f, 1.4662086f, + -0.09590871f, -0.13988549f, -0.122115694f, -0.085693724f, + -0.058907695f, -0.025398303f, -0.045756027f, -0.07290554f, + -0.06992234f, -0.09475523f, -0.03734844f, 0.87235695f, + -0.075554475f, -0.050172664f, -0.06280817f, -0.06520987f, + -0.030238347f, -0.07126528f, -0.04465171f, 0.15219447f, + -0.054859914f, -0.06883934f, -0.006976728f, -0.03891803f, + -0.08154554f, -0.07069643f, -0.08793449f, -0.13288622f, + 0.30713338f, -0.07759819f, -0.40991503f, 1.3721563f, + -0.065356724f, -0.09183272f, -0.03765428f, -0.12268617f, + -0.07101502f, -0.04101386f, -0.069715425f, -0.04982788f, + 0.04678035f, -0.09414893f, -0.038697977f, -0.021795647f, + -0.051103123f, 0.39087152f, -0.26495254f, 0.87261844f, + -0.1571078f, -0.03502216f, -0.043577682f, -0.21313186f, + -0.06661568f, -0.055641707f, -0.06907113f, -0.096542455f, + -0.10537334f, -0.018608665f, -0.046379127f, -0.18360266f, + -0.1662345f, 0.02337357f, -0.26000375f, -0.28905475f, + 1.3496659f, -0.22964583f, -0.098266974f, 1.1996219f, + 1.087669f, -0.058027063f, -0.13912152f, -0.20519798f, + -0.52721655f, -0.031324036f, -0.099879645f, -0.026049774f, + -0.0058400477f, 1.0091887f, -0.21780746f, -0.30156663f, + -0.19742896f, 0.10277748f, -0.12187507f, -0.15681912f, + -0.25462908f, -0.6596033f, -0.11390781f, -0.13630715f, + -0.51931965f, -0.026614368f, -0.087260835f, 0.50421846f, + 1.417726f, 0.028923621f, 0.04606391f, -0.07240226f, + -0.05641594f, -0.0925304f, -0.19773883f, -0.032813463f, + -0.045837667f, -0.06852246f, -0.34410343f, -0.35022762f, + -0.30080637f, -0.20449074f, -0.10979042f, -0.39269742f, + 0.69739527f, -0.14393063f, -0.2840563f, -0.0806964f, + -0.026558217f, -0.27742323f, 0.23596384f, -0.010118631f, + -0.09438231f, -0.090395f, -0.016479254f, 1.3676015f, + -0.063370004f, -0.17152762f, -0.11304047f, -0.2373336f, + -0.27425382f, -0.08159364f, -0.24812075f, -0.03652285f, + 1.0636331f, -0.10971223f, -0.20597579f, -0.17180158f, + -0.12247504f, -0.045866504f, -0.2971483f, -0.103307076f, + -0.21300252f, 0.7881888f, -0.1276106f, -0.5512873f, + -0.37657335f, -0.0756769f, 0.024527725f, 0.07255303f, + -0.24256279f, -0.16072732f, -0.10699947f, -0.32001537f, + 0.046835095f, 1.0956019f, -0.21162881f, -0.022842068f, + -0.12874176f, -0.017946951f, 0.46909007f, -0.12175445f, + 0.5762279f, -0.45956957f, -0.1155497f, 0.07528753f, + 0.5209127f, -0.28299034f, -0.11192657f, -0.18188676f, + -0.20346695f, -0.23405655f, 0.0018263332f, -0.06900475f, + 0.98928386f, -0.1032318f, 0.7943079f, -0.10296667f, + 0.1528694f, -0.017429005f, -0.08912449f, 0.059849445f, + -0.33116958f, 0.39532647f, -0.115458615f, -0.33275798f, + 0.055903304f, 0.7538145f, -0.15151209f, -0.21213596f, + -0.3869062f, -0.43247876f, 0.20742665f, -0.8163298f, + 0.16972902f, -0.6654283f, 1.2306634f, -0.24947192f, + -0.9721728f, -0.98797554f, -0.01758408f, 0.040834554f, + -1.2779448f, -0.047849193f, 0.020453766f, -0.013435129f, + 0.24745983f, 0.43294817f, -0.26374334f, -0.32410428f, + -0.4843424f, -0.9044888f, 1.3821169f, 0.21247242f, + 0.52988386f, -0.24633074f, -0.34893113f, -0.8167556f, + 1.3504026f, 1.1961095f, -0.37472767f, -0.4821731f, + 0.8983119f, 0.5459976f, -0.8322348f, -0.21018064f, + 2.449748f, -0.30762154f, -0.47759813f, 0.6691908f, + -0.6697109f, -0.9707612f, 0.3678808f, -0.7445342f, + -0.29005215f, 0.66983336f, 0.5882531f, 0.4996742f, + 0.29126176f, -0.7027795f, -0.73797625f, -0.63940066f, + 1.3781668f, -0.3261514f, -0.33049825f, -0.18306749f, + 0.55334544f, -0.5422867f, -0.5495477f, -0.081013f, + -0.79360425f, -0.5946021f, -0.007307336f, 0.24662226f, + 0.032096032f, 0.0921787f, -0.99806327f, 0.10323808f, + 0.6027454f, -0.5000915f, -0.6880701f, 0.6964381f, + 0.2234721f, 1.1708686f, -0.6888065f, 0.79322684f, + 0.83273214f, -0.61318123f, 0.013360714f, 0.24341565f, + -0.2693994f, -0.27492386f, 1.0850515f, 0.18746513f, + 0.59431875f, -0.27257144f, -0.60703343f, -0.9124788f, + 0.6008793f, -0.31754592f, 1.057831f, 0.3699018f, + 0.5398806f, 1.0988705f, -1.1292733f, -0.3074327f, + -1.1300536f, -1.2522227f, 0.023405304f, -1.1886477f, + -0.21345064f, 0.22908592f, -0.04530017f, -0.6293799f, + 1.7991153f, 0.33668578f, 0.5132697f, -0.21141733f, + -1.2331325f, -0.63967943f, 0.95205504f, 1.717454f, + 0.78392684f, 0.91836727f, -0.0731118f, 0.4787609f, + 1.3136084f, -0.7087907f, -0.58450836f, -0.04315367f, + 0.12165644f, -0.17939436f, -0.20481847f, 0.23876137f, + 0.08975318f, -0.061179385f, 0.09135538f, 1.5220723f, + 0.4476242f, 1.0550866f, 1.3471088f, -0.8159768f, + 1.097041f, -0.6994464f, -0.047490064f, -0.7329513f, + 0.79526746f, -0.047979366f, 0.32816505f, -0.3584117f, + -0.37722135f, -0.106397465f, 0.9067494f, -0.61957824f, + 0.24281691f, -0.8053762f, -1.0736781f, -0.7767315f, + -0.032618362f, 0.04744306f, -0.97261405f, -0.01131603f, + -0.65011984f, 0.7190157f, 0.31551385f, 0.43060496f, + 0.40894163f, -0.7532901f, 1.2835971f, 1.1880504f, + 0.87641346f, 0.35588264f, 0.7526419f, -0.49411264f, + -0.311993f, -0.64150393f, 0.1645438f, -1.0125742f, + -0.9054503f, -0.67251843f, 0.009432172f, -0.30666104f, + -0.5586923f, -0.3879944f, 0.1646208f, -0.7223302f, + -0.9858424f, 0.76959103f, -1.4576128f, -0.011258384f, + -0.24311237f, 0.4950574f, 0.04091115f, 0.6681543f, + -0.07441837f, -0.8941136f, -0.81637096f, 1.0461206f, + 0.28912717f, 0.34488702f, -0.041837372f, 1.2966393f, + -0.2019743f, 0.5884714f, -0.060681064f, -0.6193485f, + -0.34994918f, -0.22072166f, -0.36513928f, 0.11428003f, + 0.5662077f, 0.21764329f, -0.027602268f, -0.533084f, + -0.5968502f, -2.055697f, -1.4011999f, -0.3966605f, + 0.4509709f, -0.21429186f, 0.7023455f, -0.08135605f, + -0.5645556f, -0.70118827f, -0.7939776f, -0.39355534f, + -0.25218266f, -1.3541262f, -1.7785782f, -0.13589737f, + 0.5168833f, 3.9773743f, 2.8157532f, 0.13510092f, + -0.16977347f, 2.1454089f, -2.537439f, -0.24115479f, + 0.9273092f, 1.661281f, -1.6214036f, 0.66984636f, + -1.8523711f, -1.4331208f, -0.18873818f, -0.38880453f, + 3.6645267f, -0.29007298f, 0.93876386f, 1.1899122f, + -2.3698165f, 0.24722114f, -0.9598018f, 0.25704414f, + -1.1942923f, 3.828838f, 0.28199643f, -1.8131096f, + -0.42812696f, 0.13482288f, 0.28033364f, -0.5409465f, + 4.149899f, 2.8330035f, -1.1503857f, -1.2414765f, + 0.70707655f, -1.4942186f, 1.2708098f, -0.47189438f, + -0.3760618f, 0.89761865f, 0.7096096f, -0.31020987f, + -1.9966033f, -0.6843431f, -0.9535729f, 2.7979314f, + -1.4356277f, 2.1651514f, -0.2913939f, -0.19556893f, + -0.4953571f, -1.1425344f, 1.182255f, -0.13919644f, + 0.40038797f, -1.1995921f, -0.5492645f, 4.98672f, + -0.7659426f, -1.1024445f, 0.038249046f, 0.7416046f, + -1.7107042f, 0.4492214f, 0.6621817f, -0.8620133f, + -0.4635242f, 0.78357285f, -0.1293914f, -0.6597372f, + 0.87679935f, 1.7015358f, -1.4185355f, 0.27316028f, + 1.814076f, 0.27587706f, -0.016711935f, 0.70361376f, + 1.7508055f, -1.3950337f, 0.1020933f, 0.023907589f, + -0.7096953f, -2.0496297f, -1.4667363f, 2.0315814f, + -2.1048512f, -0.79188585f, -1.1807259f, -0.5058371f, + -0.9444019f, -0.31993577f, -0.1831404f, -0.2539122f, + 0.35714146f, -0.26808238f, -0.07343128f, 1.159885f, + 0.86007166f, -0.20516634f, -0.16649866f, -0.13513543f, + -0.1211902f, 0.19694655f, -0.10591638f, -0.3006611f, + -0.106795f, 0.050538953f, -0.31596327f, -0.56428516f, + -0.1594333f, -0.18651636f, 0.3328649f, 0.069822565f, + -0.33092853f, -0.1741284f, 0.30681527f, -0.24945751f, + -0.3929991f, -0.124887064f, -0.17677347f, 0.7279733f, + 1.4258343f, -0.21443987f, -0.16343059f, 0.26011643f, + -0.23746352f, -0.010301876f, -0.1985319f, -0.030832961f, + 0.094482414f, -0.13585459f, -0.018153625f, 0.99235827f, + 0.35702276f, -0.12284731f, -0.11316427f, 0.5252042f, + 0.025356937f, -0.12705685f, -0.36490363f, -0.2369417f, + 0.07913397f, -0.23100954f, 0.15334806f, -0.119554155f, + -0.10051573f, -0.097724736f, -0.040701702f, -0.19195542f, + 0.68109775f, 0.5399039f, -0.10624547f, -0.21743327f, + 0.29037204f, -0.21057525f, 0.23407653f, -0.11857402f, + 0.94072706f, -0.14618655f, -0.32997578f, -0.2625795f, + -0.020604748f, -0.0871526f, -0.10488704f, -0.09796676f, + -0.24324271f, 0.5189722f, -0.15328711f, -0.17590481f, + 0.25788045f, -0.11697531f, 0.25108576f, 0.28022614f, + 0.021316847f, -0.2027552f, -0.45825464f, -0.37307933f, + 0.017684182f, 1.1548729f, -0.19486211f, -0.0373074f, + 0.01717865f, -0.056164358f, -0.37091687f, -0.16289406f, + -0.047129728f, -0.22570752f, -0.05407783f, 0.09012987f, + -0.4036787f, -0.28426322f, -0.10294025f, -0.15010604f, + -0.1627489f, -0.2694389f, -0.16387582f, -0.360517f, + 1.0838335f, -0.19847086f, -0.2254619f, -1.4553335f, + -0.34737024f, 0.78860104f, 0.1291029f, 0.31328943f, + 0.70065993f, 0.44264525f, -0.8916678f, -0.5314618f, + -0.79523766f, 0.17865847f, 1.1820059f, 4.835566f, + -0.95432174f, 0.23105095f, 0.19135273f, -2.4513528f, + 0.06288023f, 1.885861f, -0.9035218f, -0.2717242f, + 1.1904439f, 1.3674346f, -1.2102153f, 1.1850327f, + -2.2958279f, 0.7941754f, -1.1327101f, -1.1892879f, + 1.3823837f, -0.29319838f, -0.27384135f, -0.092770845f, + -0.8143662f, -2.0951185f, -0.35654223f, -0.89996016f, + 0.56277794f, -0.09866943f, -2.5120494f, -0.90382916f, + 0.4481719f, -1.2120091f, -0.8103948f, -0.85966986f, + 0.40664482f, -1.8354276f, 0.6932004f, -1.7309313f, + -0.030138213f, -0.85542774f, 2.7837174f, -2.4523842f, + 1.9372519f, 3.9534113f, -0.14710556f, 0.3995087f, + 0.13060151f, -0.28248915f, -0.21723771f, 1.5073292f, + 1.4673326f, -1.0990741f, 0.57713825f, 0.38026735f, + -1.5209591f, 0.36957225f, -0.103986524f, -1.6968786f, + -0.7684305f, -0.38876063f, -1.0173011f, 0.9458165f, + 0.7091334f, 0.27440497f, 1.5338695f, -1.0156522f, + 0.5209477f, 0.00017650302f, -0.9071651f, 0.30348158f, + -0.89213955f, -0.73093253f, 0.7807798f, -0.28388873f, + 1.5388883f, -1.8810889f, 0.024846354f, -1.9505635f, + 0.8587582f, -0.90404516f, 3.0393248f, 0.41239753f, + 0.7892313f, 1.1487992f, -1.3984896f, -0.16443512f, + 2.509318f, 0.7164784f, 2.0090797f, 0.71863705f, + 0.18492602f, 0.9364924f, -0.8106378f, -0.24615106f, + 0.12644978f, 0.20502613f, -1.5561018f, -0.02015707f, + -0.052660204f, -0.01732582f, 0.3207005f, -0.018808944f, + -0.048504185f, -0.14267303f, 0.6196863f, -0.04122218f, + -0.021372234f, -0.06719991f, -0.47480106f, -0.09336627f, + -0.04450634f, -0.024095973f, -0.07595494f, 1.8674698f, + -0.11614929f, -0.04642479f, -0.05255919f, -0.34628424f, + -0.023378596f, -0.09796662f, -0.055824976f, -0.4711787f, + -0.37814218f, -0.049118865f, -0.21279463f, -0.052305087f, + -0.03396593f, -0.18704194f, -0.17710142f, -0.052071095f, + 0.80279577f, -0.22401766f, -0.048200663f, -0.074151434f, + 0.036254782f, -0.102286756f, -0.3849185f, -0.042821705f, + 0.017834114f, -0.35006884f, -0.03459188f, -0.12170211f, + 0.02380601f, -0.060174562f, 1.7643809f, -0.037754253f, + -0.10983929f, -0.111324206f, -0.07682653f, -0.024592418f, + 0.03803556f, -0.060636908f, -0.05753025f, -0.08777779f, + -0.12087049f, -0.03253242f, 1.049829f, -0.00973103f, + -0.04444153f, -0.08836384f, -0.062039804f, 0.0038220473f, + -0.042821404f, -0.030310666f, -0.10398547f, -0.019471943f, + -0.020804303f, -0.015480241f, 0.0071063326f, -0.052927792f, + -0.07660381f, -0.058048733f, -0.15229811f, 0.044796452f, + -0.06666621f, -0.5017551f, 1.5041261f, -0.041469138f, + -0.07973666f, 0.012160781f, -0.12834615f, -0.060830332f, + 0.08659943f, -0.019152153f, -0.037566014f, -0.09699825f, + -0.08609042f, -0.023337342f, -0.04786302f, -0.038762655f, + 0.33806694f, -0.31974828f, 0.74388766f, -0.15557525f, + -0.04938048f, -0.043124985f, -0.18380652f, -0.101221494f, + -0.059529293f, -0.0803404f, -0.1201651f, -0.085988976f, + -0.06185426f, -0.051829856f, -0.12365156f, -0.17118026f, + -0.14155056f, -0.03724727f, -0.12638727f, 0.65982246f, + -0.14207654f, -0.2252237f, 0.8803773f, 1.0605528f, + -0.046033826f, -0.13203344f, -0.13171908f, -0.18901153f, + -0.11265797f, -0.028357144f, -0.14216036f, -0.18473803f, + -0.37552977f, -0.13095216f, 0.124476604f, -0.13489829f, + -0.501426f, -0.26470262f, -0.18993425f, -0.21658267f, + -0.39655218f, 1.1002159f, -0.111567914f, -0.23038474f, + -0.046846442f, -0.050305292f, 1.1300807f, 1.2043511f, + -0.11237803f, -0.007674603f, -0.33567917f, -0.15286061f, + -0.2391021f, -0.2064995f, 0.016049484f, -0.004363752f, + -0.08426822f, -0.42424807f, 1.1658065f, -0.14185534f, + -0.25896272f, -0.050090328f, 0.1673014f, -0.33805653f, + -0.26862815f, -0.35154867f, -0.12670705f, -0.18841591f, + -0.12408739f, -0.15393421f, -0.080315486f, 0.10083426f, + -0.06292314f, -0.16379169f, -0.40018424f, 0.44703454f, + -0.0849194f, -0.09024191f, -0.037232142f, -0.21272998f, + -0.0983739f, -0.18618804f, -0.042120185f, 0.99322945f, + -0.026304534f, -0.11074725f, -0.09834382f, -0.16763702f, + -0.08689693f, -0.123912916f, -0.17496309f, -0.15150623f, + 1.5195305f, -0.093505085f, -0.21619889f, 0.5190154f, + -0.0043342854f, -0.23828518f, -0.18410371f, -0.16071187f, + -0.15246022f, -0.3779148f, 0.26794806f, -0.031370718f, + 0.95792806f, -0.15066054f, -0.090490334f, -0.11405747f, + -0.114949465f, -0.04139405f, -0.2070787f, 0.89261323f, + -0.1498521f, -0.09693234f, -0.029644622f, -0.4215521f, + 0.008417838f, -0.114441425f, -0.049776614f, -0.021241253f, + 0.050790273f, -0.037640836f, -0.13923082f, 0.442476f, + -0.19685364f, 0.012177438f, 0.06027103f, -0.063853286f, + 0.588912f, -3.0158806f, -1.3394474f, 1.7988544f, + -0.033771943f, -0.22343811f, -1.4129138f, 2.5263302f, + 0.14572552f, -2.043105f, -0.6423654f, 2.2303705f, + -1.4712714f, 0.031608734f, -0.48892573f, 0.83516484f, + -1.5987827f, -0.6325425f, -0.92283964f, -0.96227825f, + -1.8435585f, 0.23254856f, -0.86193156f, 3.9194448f, + -0.2462824f, -0.74069774f, -0.8694584f, 0.39672926f, + 1.5716318f, -1.2225273f, -0.46637538f, -0.4400155f, + -2.2512114f, -1.1225107f, -0.92430437f, 7.4050713f, + -0.8473275f, -0.22211778f, -1.5112329f, 0.4139986f, + 3.1858294f, 1.3971294f, 4.4564843f, -0.013639613f, + 0.12382826f, 1.5078381f, -2.022467f, 1.3741103f, + 3.9634173f, -1.4116995f, -2.789967f, -1.1218382f, + 0.14577016f, 2.7963104f, -1.6394333f, -0.18857166f, + -0.067756735f, -2.786301f, -0.17138071f, -2.0785286f, + -0.027784592f, -0.2642613f, 1.1654868f, 6.038364f, + -1.2674339f, 2.7103252f, -0.4506905f, -0.30301833f, + 1.1598749f, -2.104159f, -2.0009847f, 1.5302604f, + -1.6313688f, -0.29242453f, -2.9391391f, -0.8905586f, + -0.009929302f, -0.2845194f, 5.2032022f, 1.153006f, + 1.9765222f, 0.7851708f, 0.11771458f, -0.36879456f, + 4.484034f, -1.2667835f, 0.7654907f, -1.4870417f, + 4.299161f, -1.5540909f, -0.20284301f, -1.4582276f, + -0.08672579f, -0.55917096f, 0.6886523f, 1.0674518f, + 0.039790317f, -1.2513094f, -1.0866015f, -1.8314213f, + 0.5199547f, -1.7185869f, -3.2857106f, -1.8832563f, + 0.1037472f, -1.7060268f, -0.05076745f, -0.07994873f, + -0.036780197f, 0.68139046f, -0.055277977f, -0.14568262f, + -0.20173816f, 0.44683662f, -0.09264355f, -0.057565056f, + -0.062122166f, 0.34664658f, -0.028352989f, -0.05496297f, + -0.06873552f, -0.0734672f, 0.47257972f, -0.06852021f, + -0.071986206f, -0.068147466f, -0.1540667f, -0.07217195f, + -0.037965007f, -0.109210454f, 0.38829637f, -0.11262617f, + -0.034044918f, -0.13207647f, -0.06500092f, -0.059887104f, + 0.15016815f, -0.20924711f, -0.09527844f, 0.39137018f, + -0.10291641f, -0.03325783f, -0.12296614f, 0.16084212f, + -0.12512666f, -0.15939322f, -0.043138936f, -0.12133825f, + -0.12966003f, -0.027857162f, -0.14080913f, -0.03332221f, + -0.13873687f, 0.7870729f, -0.056969374f, -0.104636304f, + -0.091701515f, -0.11303102f, -0.05248342f, -0.0459913f, + -0.036064956f, -0.054954626f, -0.05116502f, -0.07917429f, + 0.4883563f, 0.17127214f, -0.029153353f, -0.06484722f, + -0.08133466f, -0.04863243f, -0.037153266f, -0.051024593f, + -0.053637423f, -0.09618227f, -0.04477661f, -0.015738202f, + -0.074817576f, -0.02156336f, -0.085069366f, -0.08527638f, + -0.055762187f, -0.16237386f, -0.08717563f, -0.07043387f, + 0.3312195f, 0.030071005f, -0.05247387f, -0.06886114f, + 0.07553516f, -0.07718527f, -0.0565996f, -0.09016154f, + -0.05181494f, -0.062874086f, -0.1079532f, -0.08540191f, + -0.016053699f, -0.0525994f, -0.050031506f, 1.008061f, + -0.13814455f, 0.62750006f, -0.053964514f, -0.057953026f, + -0.0063926675f, 0.56094235f, -0.10218362f, -0.11223865f, + -0.05274499f, -0.13394342f, -0.10740515f, -0.03897008f, + -0.070843324f, 0.038092665f, -0.17299186f, -0.12752308f, + 0.23881839f, -0.51790214f, 0.79326254f, -0.15729508f, + -0.21016672f, -0.20631771f, 0.2263359f, 0.41173717f, + -0.66483593f, -0.5333051f, 0.18883683f, -0.632379f, + -0.6120813f, 0.43652222f, -0.2771339f, -0.791001f, + -0.32323858f, -0.37096873f, -0.67931247f, 0.28254616f, + -0.3271453f, -0.11565296f, 0.30609113f, 0.25949842f, + -0.30110687f, -0.54154694f, 1.0674555f, 0.08226783f, + 0.0018812119f, 0.49544007f, -0.064442314f, -0.48237818f, + 1.9469919f, -0.35304973f, 0.34439173f, 0.67417973f, + 0.036053345f, 1.2879039f, 1.2753297f, -0.5752737f, + -0.22762713f, -0.20075358f, -0.20431006f, 0.5818426f, + -0.37286296f, 1.0944947f, 0.045438252f, -0.275765f, + 0.07955403f, 0.11630594f, -0.11940744f, -0.26594225f, + -0.6109489f, -0.45185408f, -0.43265736f, -0.52665234f, + -0.061942883f, 0.12519217f, -0.24018225f, -0.24301043f, + -0.433587f, 1.1143113f, -0.4735742f, -0.6882276f, + -0.36540905f, -0.20940526f, -0.3738598f, 0.7745126f, + 0.33298004f, -0.17328352f, -0.30040246f, 0.17599353f, + -0.6783118f, -0.20748757f, 1.1885334f, -0.071344085f, + -0.48721913f, 0.2005283f, -0.16030411f, -0.67381406f, + -0.114189535f, -0.04346687f, 0.7038935f, -0.58234876f, + -0.14524484f, -0.43074632f, 0.19191232f, -0.27378806f, + 0.3845337f, -0.5239602f, -0.5354967f, -0.37448788f, + 0.47740337f, 0.82667124f, -0.13896006f, -0.4503225f, + -0.4909708f, -0.49294582f, 1.0801072f, -0.20568085f, + 0.2758656f, -0.5232208f, 1.0327914f, 0.9122714f, + -0.36928582f, 0.13230166f, 0.9935363f, 0.9079253f, + -0.028208485f, -0.16605808f, -0.1070845f, 0.93964785f, + -0.16769354f, -0.2861739f, -0.41968772f, 0.56413f, + -0.056634355f, -0.103041016f, -0.17677246f, 0.73609835f, + 0.025645176f, -0.05174855f, -0.10666964f, -0.10474967f, + -0.045879718f, -0.076300025f, -0.09981791f, -0.118425116f, + -0.29729098f, -0.17563002f, -0.039501198f, -0.18888026f, + 0.82370704f, 0.39910454f, -0.018393725f, 2.2793627f, + -0.08361429f, -0.10327012f, 0.94999754f, -0.33551815f, + -0.19962744f, -0.31654677f, -0.27939358f, -0.14223509f, + -0.17803831f, -0.29558507f, -0.1662225f, -0.14698975f, + -0.06397015f, -0.2399918f, -0.34073636f, -0.1318729f, + -0.26349428f, -0.05498705f, 0.040861398f, 0.5180858f, + 0.003147372f, -0.070194475f, -0.049549587f, -0.10022253f, + -0.122750916f, -0.04705392f, -0.037721284f, -0.08184907f, + -0.14642331f, -0.07761883f, -0.4466526f, -0.34220713f, + -0.123389274f, -0.035160508f, -0.16279401f, -0.19628863f, + -0.12765814f, -0.22707555f, -0.15016326f, -0.3094086f, + -0.021274254f, -0.10242139f, -0.19713081f, -0.050579853f, + -0.13789901f, -0.07356587f, -0.1197805f, -0.26214343f, + -0.2317842f, -0.10083648f, 0.7077057f, 0.5156403f, + -0.046442922f, -0.0916964f, -0.3208123f, -0.12456388f, + -0.071794204f, -0.251899f, -0.13152304f, -0.1516945f, + -0.120079726f, -0.067234114f, -0.059363805f, -0.04103953f, + -0.07305493f, 1.1960651f, -0.17044385f, 1.7061769f, + -0.20306633f, -0.057240233f, -0.06370874f, 2.3744242f, + -0.073189534f, -0.104550004f, -0.013507958f, -0.20941575f, + -0.20530173f, -0.07176221f, -0.102969885f, -0.32471f, + -0.28300065f, -0.27325994f, -0.20775306f, -0.41850773f, + 0.1492381f, -0.15180662f, -0.24824038f, 0.7757363f, + 0.62617457f, -0.15386881f, -0.20332478f, -0.24370745f, + -0.03181661f, 0.34457853f, -0.15440315f, -0.32553214f, + -0.21669565f, 0.8285096f, -0.13036437f, -0.59527445f, + -0.27939108f, 0.13493893f, 0.8135861f, -0.12753645f, + -0.409347f, -0.23041464f, 0.36402997f, -0.258753f, + -0.3637811f, -0.21284111f, -0.1963733f, 0.49027961f, + 1.33351f, 0.0012927396f, -0.1523869f, 0.34579697f, + 0.07566766f, -0.096343726f, -0.12673503f, -0.17110693f, + -0.12502946f, -0.10177344f, 0.4612645f, 0.695828f, + 0.31907317f, -0.1504917f, -0.2896372f, -0.15999264f, + 0.63271004f, -0.10779343f, -0.3664997f, -0.26462683f, + -0.16801159f, -0.34536263f, 0.6553597f, -0.17361347f, + -0.15056387f, -0.113197125f, -0.30485293f, -0.12670627f, + 0.6537118f, 0.7282766f, -0.21054411f, -0.17251618f, + 0.5568345f, -0.031712867f, 0.23223132f, -0.23445886f, + 0.76398003f, -0.10763115f, -0.13661653f, -0.34704813f, + -0.2557219f, -0.1768997f, -0.25019404f, -0.12512511f, + -0.3191607f, 0.26065007f, -0.13158265f, -0.24717487f, + 0.8367869f, -0.17537753f, 0.12581405f, 0.27331123f, + -0.25464776f, -0.2845033f, -0.42102033f, -0.20292963f, + 0.1497533f, 0.9912186f, -0.113312446f, 0.04811553f, + -0.08705012f, -0.20253487f, -0.22212961f, -0.11502763f, + 0.21691827f, 0.42015368f, -0.17904796f, 0.20119901f, + -0.29428563f, -0.32353023f, -0.07885335f, -0.13168715f, + -0.19446783f, -0.2606118f, -0.18607606f, -0.33099893f, + 0.55501765f, -0.32108462f, -0.5035673f, -0.22446741f, + -0.6550673f, 0.121899456f, 0.02170961f, -0.16113865f, + 1.0350714f, 0.5645269f, 0.8715624f, -0.24232158f, + -0.40491313f, -0.28037223f, 0.48954248f, -0.2674989f, + -0.05894619f, -0.39794385f, 0.34665212f, 0.13443574f, + -0.89208263f, -0.28754467f, 0.07583915f, 0.47142816f, + -0.36703202f, -0.30829823f, 0.64655256f, 0.72610265f, + -0.44970006f, -0.37071934f, -0.5350714f, -0.35649556f, + 0.49435312f, 1.3067765f, -0.08894167f, -0.08103112f, + 0.8074746f, -0.6476165f, 0.28123543f, -0.30810916f, + 0.23237199f, 0.408107f, 0.08682405f, 1.0469713f, + 0.6059259f, 0.09885036f, -0.047086637f, -0.7007549f, + -0.2765364f, 0.5319014f, 0.74800617f, -0.45545438f, + -0.040312093f, 0.46670905f, -0.15853956f, -0.21647212f, + -0.3853696f, -0.022242887f, -0.10446228f, -0.039061416f, + -0.26021853f, 0.40458167f, 0.17105667f, -0.6003792f, + -0.6584481f, 0.9749734f, -0.377081f, 0.11536925f, + -0.27493277f, 0.36423996f, -0.25829813f, -0.19704765f, + -0.37196648f, -0.28491876f, -0.3427033f, -0.29912505f, + -0.4281523f, 1.116663f, -0.14926377f, -0.2567903f, + -0.2499715f, 0.85834f, -0.08666637f, 0.8051644f, + 0.6530623f, 0.7682661f, -0.33835575f, -0.45248085f, + -0.5680914f, 0.044924136f, 1.0017551f, 0.64123076f, + 0.08064141f, -0.2594266f, 0.17317206f, -0.1705693f, + -0.46661487f, 0.55057234f, 0.043618776f, -0.4478673f, + 0.020550737f, -0.30283627f, -0.7052904f, -0.6581977f, + -0.28858387f, -0.013536574f, -0.7244647f, -0.2719826f, + -0.38110092f, 0.35431972f, -0.2801925f, -0.10223496f, + -0.2177925f, -0.21874954f, 0.83285886f, -0.1607978f, + -0.27856886f, 0.09410034f, 0.2999574f, 0.05428716f, + -0.23122416f, -0.20242083f, 0.5882186f, 0.23393343f, + -0.28207746f, -0.16335869f, -0.12460497f, -0.02888142f, + -0.14237395f, -0.13647649f, 0.020138713f, 0.06481857f, + -0.14320901f, -0.14913164f, -0.023940433f, 0.685426f, + 0.5836354f, -0.15855084f, 1.506412f, -0.052390695f, + -0.075348325f, 0.7876035f, 0.0812867f, -0.23010674f, + -0.19136997f, -0.05013301f, -0.2011243f, -0.29382676f, + -0.22566827f, -0.06926516f, 0.076358855f, -0.20401204f, + -0.04024025f, -0.37823305f, -0.2038931f, -0.17308746f, + -0.27407408f, -0.18983345f, 0.3397373f, -0.12516312f, + -0.09861968f, 0.09500693f, -0.012361907f, 0.008031115f, + -0.08376723f, -0.098810345f, -0.029550532f, -0.24977571f, + -0.12131968f, -0.32527f, -0.39096254f, -0.00078782864f, + -0.116087064f, -0.17319743f, -0.23122114f, -0.12560758f, + -0.3135803f, -0.17617238f, 0.08686014f, -0.2417611f, + -0.106949955f, -0.23414227f, 0.0010721607f, -0.22569674f, + -0.25645536f, -0.28943005f, -0.21633558f, 0.36669824f, + -0.014419214f, 0.5354415f, 0.5241396f, -0.008571644f, + -0.13984253f, -0.19176625f, -0.048256997f, 0.021203691f, + -0.18774831f, -0.21216394f, -0.18541026f, 0.24589358f, + -0.11975394f, -0.06028734f, -0.06813112f, -0.0743396f, + 0.527617f, -0.07678245f, 1.5490168f, -0.1168725f, + -0.011056853f, -0.07891703f, 1.7298208f, -0.0821908f, + -0.17766918f, 0.02367124f, -0.16507177f, -0.054402288f, + 0.046942804f, 0.24873687f, -0.22794524f, -0.09480081f, + -0.08969367f, -0.2172087f, -0.12793222f, -0.01675869f, + -0.2191127f, -0.068642646f, 0.19541852f, -0.06391879f, + -0.048862573f, -0.1256306f, -0.20950352f, -0.22867973f, + -0.09445333f, -0.13311969f, -0.08643973f, -0.1542702f, + 0.53952974f, -0.11045393f, -0.061346415f, -0.22807477f, + 0.42117253f, -0.027685372f, -0.10813964f, 0.08410981f, + -0.26968032f, 0.091250606f, -0.17592986f, -0.07664758f, + -0.041770823f, -0.02709933f, -0.051027037f, -0.015922712f, + -9.0643174e-05f, 0.5103915f, 0.09874553f, -0.05371079f, + -0.15432684f, 1.8561924f, -0.19011249f, -0.21260978f, + -0.05652085f, 0.00094711146f, -0.095782205f, -0.039844945f, + -0.2538233f, 0.12010629f, -0.11097708f, 0.3721787f, + -0.0047289636f, -0.055438235f, -0.07231152f, 0.017816635f, + -0.021859026f, 0.10957266f, -0.03829221f, -0.0732374f, + -0.10514873f, -0.09333681f, 1.0697588f, 0.412631f, + -0.0020685866f, -0.057141382f, -0.1365956f, -0.043296985f, + -0.014339845f, 0.022442155f, -0.13078754f, 0.15289932f, + -0.15675797f, -0.007188728f, -0.08783015f, -0.12059504f, + -0.1375521f, -0.054545246f, -0.05376028f, -0.2247827f, + 0.06505213f, -0.09246503f, -0.34443027f, -0.09470883f, + -0.09299522f, -0.14732671f, 1.8611257f, -0.29247165f, + -0.22546507f, -0.06469463f, -0.19249399f, -0.06668498f, + -0.029813614f, -0.32224512f, -0.12088292f, -0.02717201f, + 0.07896612f, 0.99092466f, -0.15649559f, -0.07872213f, + -0.15555833f, 0.023997782f, 0.026039606f, -0.24155249f, + -0.20472853f, -0.07145196f, -0.17139508f, -0.029476162f, + -0.037118003f, 0.013060803f, -0.03633099f, 0.15968244f, + -0.047335435f, -0.14974122f, -0.18076645f, -0.07320965f, + 0.60325944f, -0.17137338f, -0.13928482f, 0.2673727f, + -0.018977638f, -0.093560934f, -0.047434382f, -0.19580632f, + 0.04929631f, -0.0698642f, -0.12109533f, -0.14815043f, + -0.13752608f, -0.1754619f, -0.053348165f, -0.0865307f, + -0.06075337f, -0.31742916f, -0.07031745f, -0.111534275f, + 0.04741698f, -0.019505251f, -0.094040714f, -0.17293905f, + -0.35480776f, -0.052567355f, -0.00970664f, 0.964159f, + 0.16396512f, -0.07309984f, 0.4015809f, -0.21574607f, + 0.0724362f, -0.22185415f, 0.8757332f, -0.083578184f, + 0.059160937f, -0.0834448f, -0.15556034f, -0.17660438f, + -0.16141893f, -0.20786573f, 0.008121088f, 0.16070381f, + -0.15062189f, -0.07837416f, -0.21095474f, -0.13263421f, + -0.16583888f, -0.1243929f, -0.022103503f, -0.030256717f, + -0.052948702f, -0.07325914f, -0.16629973f, 1.021488f, + -0.019269763f, -0.08014162f, 0.015976705f, -0.035201505f, + -0.14382407f, -0.15642816f, -0.038384892f, -0.073774055f, + 0.34462845f, -0.19887063f, 0.043099947f, -0.1031538f, + -0.15264122f, -0.037800714f, -0.22776355f, -0.021024125f, + -0.080162056f, 0.42742535f, -0.096497126f, -0.02249597f, + -0.18578373f, -0.14716503f, -0.1690867f, 0.6916396f, + -0.23591924f, -0.089741014f, -0.11729504f, -0.16983598f, + -0.20388864f, 0.21072438f, -0.19627728f, -0.15370475f, + 0.012430356f, 0.04454207f, 1.4200885f, -0.13092187f, + 0.39331606f, -0.15196547f, -0.037827194f, 0.018411828f, + 0.9120159f, -0.14267978f, 0.0044335024f, -0.13580689f, + 0.12935767f, -0.030593807f, -0.008250357f, 0.038667608f, + 0.1926851f, -0.084554404f, 0.35277516f, -0.13339362f, + 0.7079712f, -0.19534516f, -0.5591157f, -0.4160485f, + -0.43863204f, -0.13580655f, 0.29325962f, -1.6218505f, + 0.45227867f, 0.17176263f, -0.2401598f, 1.9380614f, + -0.41462594f, -0.39875513f, 0.18359838f, -0.27282152f, + 1.5252169f, -0.3559655f, -0.32141453f, -0.68657947f, + -0.21707281f, 0.018570827f, -0.2500685f, 0.012555901f, + -0.79171383f, -0.13699418f, 0.38630414f, 0.46799818f, + -0.13528365f, -0.43527904f, -0.07762355f, 0.7241471f, + -0.18855356f, -0.20240259f, -0.88328886f, 1.0893203f, + -0.90006113f, -0.408817f, -0.7184536f, -0.44060287f, + -0.1176669f, -0.23865001f, -0.6391108f, -0.16579266f, + -0.20492677f, -0.08072082f, -0.735313f, -0.21379402f, + 0.5054253f, -0.6575543f, -0.34470662f, -0.6356082f, + 0.5218905f, -0.2648465f, 2.1024797f, -0.35464877f, + 0.11287543f, 0.57458293f, -0.118205465f, -0.8263866f, + -0.0024202578f, -0.27595353f, -0.71429956f, -0.040394463f, + -1.4481316f, 1.0538948f, 2.2574856f, -1.0583372f, + 0.058899023f, 0.29211482f, -0.2989984f, -0.7272656f, + 0.6680416f, -1.1740354f, 2.531736f, 3.71478f, + -0.036611952f, 0.11292269f, 0.6645881f, -0.5143057f, + -0.5867287f, -1.0851696f, -0.68915653f, 0.10284501f, + 1.7223685f, -0.20769694f, -0.9739635f, -0.85851663f, + 0.07692705f, -0.48772994f, -1.1248629f, -0.17028826f, + -1.2894279f, -0.05289317f, -0.098169334f, 2.4420857f, + -0.097423404f, -0.13398808f, -0.32713696f, 0.7078527f, + 1.494031f, 0.67352694f, 0.5289797f, 0.9325748f, + 0.15060562f, 0.39385507f, -0.6640958f, -0.054847036f, + -0.20265546f, -0.12844317f, 1.2023315f, -0.14840314f, + -0.13903612f, 0.66828513f, 0.64257383f, -0.12419107f, + -0.02326863f, -0.2743891f, -0.32749048f, -0.09000529f, + -0.19731146f, -0.086874954f, -0.12923825f, -0.65745866f, + -0.116239555f, -0.24549878f, 0.056695107f, -0.32980886f, + -0.23800378f, -0.113621034f, 0.13140862f, -0.44813484f, + -0.28874564f, -0.09346608f, 1.8302894f, -0.07114359f, + -0.04271833f, 1.1727102f, 0.6237326f, -0.013261863f, + -0.09568916f, -0.2723805f, -0.17664014f, -0.1755764f, + -0.35358548f, -0.04244494f, 0.061646666f, -0.017860413f, + -0.23570676f, -0.26793286f, -0.33668783f, -0.23537038f, + -0.08226442f, 1.6065152f, -0.76973754f, -0.10331195f, + -0.13286892f, -0.0967179f, 0.027047494f, -0.06139745f, + 0.007603367f, -0.028837938f, 0.023311067f, -0.07501887f, + -0.10887642f, 0.9857764f, -0.27108452f, -0.29078344f, + -0.088334836f, -0.16737741f, -0.34889394f, -0.15408167f, + -0.38602543f, -0.09839915f, 0.5769592f, -0.11604656f, + -0.15565334f, -0.19263619f, -0.16473097f, -0.073759764f, + -0.103603706f, 0.012884745f, -0.06322352f, 0.8086931f, + -0.18353386f, -0.28095812f, -0.35401833f, -0.030269274f, + -0.2302352f, -0.45802194f, -0.07767666f, -0.10663385f, + -0.30296946f, -0.35562605f, -0.18616152f, 0.626868f, + -0.180854f, 0.015734475f, 0.15911014f, -0.09229424f, + 1.0280387f, -0.20217244f, 0.45183918f, -0.32049936f, + -0.21864495f, -0.096961334f, 1.8583243f, -0.14255683f, + -0.01943386f, -0.030820897f, -0.30211717f, -0.096925735f, + -0.08156736f, 0.0057511474f, 0.6857976f, 0.030785263f +}; + +const int LangIdNNParams::kSoftmaxBiasNumRows[] = {109}; + +const int LangIdNNParams::kSoftmaxBiasNumCols[] = {1}; + +const float LangIdNNParams::kSoftmaxBiasWeights0[] = { + 3.758343f, 2.6076148f, 2.177158f, -3.0010588f, + 0.47663444f, 2.4189885f, -4.152534f, -3.3232126f, + 2.0016637f, 2.3771925f, -2.944416f, -0.2086796f, + 2.0137417f, -1.1879843f, 1.5142481f, 1.1063648f, + -1.2048897f, 2.3889086f, -3.7796104f, -2.6228247f, + -0.28567508f, -3.8649852f, 6.9404716f, 0.9941252f, + -0.65013033f, -1.2380573f, 1.2005652f, -2.7463508f, + 8.299182f, 8.19762f, -2.5483642f, -3.17054f, + 1.2276528f, -2.5437324f, -2.665871f, 4.0784645f, + 2.2515485f, -2.2679532f, 1.8698318f, -1.5543324f, + 3.5213368f, -4.3062673f, -3.856432f, -4.7833767f, + 3.1276455f, 0.8346448f, -2.6662865f, 0.08592484f, + 3.2809117f, 1.5064548f, -1.0923159f, 2.1658738f, + 0.5755793f, 0.6355702f, 5.7022915f, -1.5173566f, + -2.8129232f, 3.053764f, -1.2314724f, -3.0010624f, + 0.48004666f, 4.2867346f, 2.2346094f, -1.8046769f, + 2.5744162f, -1.6004965f, 1.493111f, -0.69651955f, + -1.6677547f, 0.14361238f, 0.911624f, 1.9728141f, + -1.3759614f, 2.159548f, -1.397155f, 0.9662558f, + -3.142051f, -2.6323624f, -4.1593995f, -3.087284f, + 1.7011054f, -0.5936492f, -2.5036366f, 1.454121f, + 2.5975542f, -2.3782952f, -3.3263144f, 2.0415537f, + -2.2195582f, -0.7691635f, 0.6129155f, 0.34192497f, + 0.28149304f, -2.656388f, -0.28585556f, -2.656856f, + -4.2364836f, 0.63873714f, -0.40722623f, -2.4080284f, + 3.229281f, 3.0439858f, -1.2252908f, -1.7254728f, + 3.5457535f, 1.3855044f, 0.75270873f, -3.436203f, + 2.3819335f +}; + +const int32 LangIdNNParams::kEmbeddingDimValues[] = { + 16, 16, 8, 8, 16, 16 +}; + +const int32 LangIdNNParams::kEmbeddingNumFeaturesValues[] = { + 1, 1, 1, 1, 1, 1 +}; + +const int32 LangIdNNParams::kEmbeddingFeaturesDomainSizeValues[] = { + 1000, 5000, 12, 103, 5000, 100 +}; + +const int32 LangIdNNParams::kConcatOffsetValues[] = { + 0, 16, 32, 40, 48, 64 +}; + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/lang_id_nn_params.h b/chromium/third_party/cld_3/src/src/lang_id_nn_params.h new file mode 100755 index 00000000000..890da7461f7 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/lang_id_nn_params.h @@ -0,0 +1,178 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef LANG_ID_NN_PARAMS_H_ +#define LANG_ID_NN_PARAMS_H_ + +#include "base.h" +#include "embedding_network_params.h" +#include "float16.h" + +namespace chrome_lang_id { + +class LangIdNNParams : public EmbeddingNetworkParams { + public: + ~LangIdNNParams() override {} + + // Access methods for embeddings: + int embeddings_size() const override { return 6; } + int embeddings_num_rows(int i) const override { + return kEmbeddingsNumRows[i]; + } + int embeddings_num_cols(int i) const override { + return kEmbeddingsNumCols[i]; + } + const void *embeddings_weights(int i) const override { + return embeddings_weights_[i]; + } + QuantizationType embeddings_quant_type(int i) const override { + return QuantizationType::UINT8; + } + const float16 *embeddings_quant_scales(int i) const override { + return embeddings_quant_scales_[i]; + } + + // Access methods for hidden: + int hidden_size() const override { return 1; } + int hidden_num_rows(int i) const override { return kHiddenNumRows[i]; } + int hidden_num_cols(int i) const override { return kHiddenNumCols[i]; } + const void *hidden_weights(int i) const override { + return hidden_weights_[i]; + } + + // Access methods for hidden_bias: + int hidden_bias_size() const override { return 1; } + int hidden_bias_num_rows(int i) const override { + return kHiddenBiasNumRows[i]; + } + int hidden_bias_num_cols(int i) const override { + return kHiddenBiasNumCols[i]; + } + const void *hidden_bias_weights(int i) const override { + return hidden_bias_weights_[i]; + } + + // Access methods for softmax: + int softmax_size() const override { return 1; } + int softmax_num_rows(int i) const override { return kSoftmaxNumRows[i]; } + int softmax_num_cols(int i) const override { return kSoftmaxNumCols[i]; } + const void *softmax_weights(int i) const override { + return softmax_weights_[i]; + } + + // Access methods for softmax_bias: + int softmax_bias_size() const override { return 1; } + int softmax_bias_num_rows(int i) const override { + return kSoftmaxBiasNumRows[i]; + } + int softmax_bias_num_cols(int i) const override { + return kSoftmaxBiasNumCols[i]; + } + const void *softmax_bias_weights(int i) const override { + return softmax_bias_weights_[i]; + } + + // Access methods for embedding_dim: + int embedding_dim_size() const override { return 6; } + int32 embedding_dim(int i) const override { return kEmbeddingDimValues[i]; } + + // Access methods for embedding_num_features: + int embedding_num_features_size() const override { return 6; } + int32 embedding_num_features(int i) const override { + return kEmbeddingNumFeaturesValues[i]; + } + + // Access methods for embedding_features_domain_size: + int embedding_features_domain_size_size() const override { return 6; } + int32 embedding_features_domain_size(int i) const override { + return kEmbeddingFeaturesDomainSizeValues[i]; + } + + // Access methods for concat_offset: + int concat_offset_size() const override { return 6; } + int32 concat_offset(int i) const override { return kConcatOffsetValues[i]; } + + // Access methods for concat_layer_size: + bool has_concat_layer_size() const override { return true; } + int32 concat_layer_size() const override { return 80; } + + // Access methods for is_precomputed: + bool has_is_precomputed() const override { return false; } + bool is_precomputed() const override { return false; } + + private: + // Private fields for embeddings: + static const int kEmbeddingsNumRows[]; + static const int kEmbeddingsNumCols[]; + static const uint8 kEmbeddingsWeights0[]; + static const uint8 kEmbeddingsWeights1[]; + static const uint8 kEmbeddingsWeights2[]; + static const uint8 kEmbeddingsWeights3[]; + static const uint8 kEmbeddingsWeights4[]; + static const uint8 kEmbeddingsWeights5[]; + const void *embeddings_weights_[6] = { + kEmbeddingsWeights0, kEmbeddingsWeights1, kEmbeddingsWeights2, + kEmbeddingsWeights3, kEmbeddingsWeights4, kEmbeddingsWeights5}; + static const float16 kEmbeddingsQuantScales0[]; + static const float16 kEmbeddingsQuantScales1[]; + static const float16 kEmbeddingsQuantScales2[]; + static const float16 kEmbeddingsQuantScales3[]; + static const float16 kEmbeddingsQuantScales4[]; + static const float16 kEmbeddingsQuantScales5[]; + const float16 *embeddings_quant_scales_[6] = { + kEmbeddingsQuantScales0, kEmbeddingsQuantScales1, + kEmbeddingsQuantScales2, kEmbeddingsQuantScales3, + kEmbeddingsQuantScales4, kEmbeddingsQuantScales5}; + + // Private fields for hidden: + static const int kHiddenNumRows[]; + static const int kHiddenNumCols[]; + static const float kHiddenWeights0[]; + const void *hidden_weights_[1] = {kHiddenWeights0}; + + // Private fields for hidden_bias: + static const int kHiddenBiasNumRows[]; + static const int kHiddenBiasNumCols[]; + static const float kHiddenBiasWeights0[]; + const void *hidden_bias_weights_[1] = {kHiddenBiasWeights0}; + + // Private fields for softmax: + static const int kSoftmaxNumRows[]; + static const int kSoftmaxNumCols[]; + static const float kSoftmaxWeights0[]; + const void *softmax_weights_[1] = {kSoftmaxWeights0}; + + // Private fields for softmax_bias: + static const int kSoftmaxBiasNumRows[]; + static const int kSoftmaxBiasNumCols[]; + static const float kSoftmaxBiasWeights0[]; + const void *softmax_bias_weights_[1] = {kSoftmaxBiasWeights0}; + + // Private fields for embedding_dim: + static const int32 kEmbeddingDimValues[]; + + // Private fields for embedding_num_features: + static const int32 kEmbeddingNumFeaturesValues[]; + + // Private fields for embedding_features_domain_size: + static const int32 kEmbeddingFeaturesDomainSizeValues[]; + + // Private fields for concat_offset: + static const int32 kConcatOffsetValues[]; +}; // class LangIdNNParams + +} // namespace chrome_lang_id + +#endif // LANG_ID_NN_PARAMS_H_ diff --git a/chromium/third_party/cld_3/src/src/language_identifier_features.cc b/chromium/third_party/cld_3/src/src/language_identifier_features.cc new file mode 100644 index 00000000000..d006a32ec40 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/language_identifier_features.cc @@ -0,0 +1,165 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "language_identifier_features.h" + +#include <sstream> +#include <unordered_map> +#include <utility> +#include <vector> + +#include "base.h" +#include "feature_extractor.h" +#include "feature_types.h" +#include "script_span/generated_ulscript.h" +#include "script_span/getonescriptspan.h" +#include "sentence_features.h" +#include "task_context.h" +#include "unicodetext.h" +#include "utils.h" + +namespace chrome_lang_id { +NumericFeatureType::NumericFeatureType(const string &name, FeatureValue size) + : FeatureType(name), size_(size) {} + +string NumericFeatureType::GetFeatureValueName(FeatureValue value) const { + return value < 0 ? "" : Int64ToString(value); +} + +FeatureValue NumericFeatureType::GetDomainSize() const { return size_; } + +void ContinuousBagOfNgramsFunction::Setup(TaskContext *context) { + // Parameters in the feature function descriptor. + include_terminators_ = GetBoolParameter("include_terminators", false); + include_spaces_ = GetBoolParameter("include_spaces", false); + use_equal_ngram_weight_ = GetBoolParameter("use_equal_weight", false); + ngram_id_dimension_ = GetIntParameter("id_dim", 10000); + ngram_size_ = GetIntParameter("size", 3); +} + +void ContinuousBagOfNgramsFunction::Init(TaskContext *context) { + set_feature_type(new NumericFeatureType(name(), ngram_id_dimension_)); +} + +void ContinuousBagOfNgramsFunction::Evaluate(const WorkspaceSet &workspaces, + const Sentence &sentence, + FeatureVector *result) const { + // Include terminators for each token. Tokens are discovered by splitting the + // text on spaces. + std::vector<string> chars; + utils::GetUTF8Chars(sentence.text(), &chars); + if (include_terminators_) { + std::vector<string> new_chars{"^"}; + for (size_t index = 0; index < chars.size(); ++index) { + if (chars.at(index) == " ") { + new_chars.push_back("$"); + new_chars.push_back(" "); + new_chars.push_back("^"); + } else { + new_chars.push_back(chars.at(index)); + } + } + new_chars.push_back("$"); + chars.swap(new_chars); + } + + // Find the char ngram counts. + std::unordered_map<string, int> char_ngram_counts; + int count_sum = 0; + for (int start = 0; start <= static_cast<int>(chars.size()) - ngram_size_; + ++start) { + string char_ngram; + int index; + for (index = 0; index < ngram_size_; ++index) { + const string ¤t_char = chars.at(start + index); + if (current_char == " " && !include_spaces_) { + break; + } + char_ngram.append(current_char); + } + if (index == ngram_size_) { + char_ngram_counts[char_ngram]++; + ++count_sum; + } + } + + // Populate the feature vector. + const float equal_weight = 1.0 / char_ngram_counts.size(); + const float norm = static_cast<float>(count_sum); + for (const auto &ngram_and_count : char_ngram_counts) { + const float weight = + use_equal_ngram_weight_ ? equal_weight : ngram_and_count.second / norm; + FloatFeatureValue value( + utils::Hash32WithDefaultSeed(ngram_and_count.first) % + ngram_id_dimension_, + weight); + result->add(feature_type(), value.discrete_value); + } +} + +FeatureValue ScriptFeature::Compute(const WorkspaceSet &workspaces, + const Sentence &sentence, + const FeatureVector *result) const { + const string &text = sentence.text(); + CLD2::ScriptScanner ss(text.c_str(), text.size(), + /*is_plain_text=*/true); + + // GetOneScriptSpan() is called only once because of the assumption that the + // input contains one script. This function also cleans up the input (e.g., + // removes digits, punctuation). + // TODO(abakalov): Extract the clean-up and script detection code out of + // GetOneScriptSpan() because we don't have to iterate over the whole text, + // just look at the first codepoint after clean-up. + CLD2::LangSpan script_span; + ss.GetOneScriptSpan(&script_span); + const CLD2::ULScript ulscript = script_span.ulscript; + if (ulscript != CLD2::ULScript_Hani) { + return ulscript; + } else { + // Out of the codepoints captured by ULScript_Hani, separately count those + // in Hangul (Korean script) and those in a script other than Hangul. + int num_hangul = 0; + int num_non_hangul = 0; + UnicodeText unicode_text; + unicode_text.PointToUTF8(script_span.text, script_span.text_bytes); + for (chrome_lang_id::char32 codepoint : unicode_text) { + // If the current codepoint is space, continue. + if (codepoint == 0x20) { + continue; + } + + // Check if the current codepoint is within the ranges associated with + // Hangul. + if ((codepoint >= 0x1100 && codepoint <= 0x11FF) || // Hangul Jamo + (codepoint >= 0xA960 && codepoint <= 0xA97F) || // Jamo Extended A + (codepoint >= 0xD7B0 && codepoint <= 0xD7FF) || // Jamo Extended B + (codepoint >= 0x3130 && codepoint <= 0x318F) || // Compatibility Jamo + (codepoint >= 0xFFA0 && codepoint <= 0xFFDC) || // Halfwidth Jamo + (codepoint >= 0xAC00 && codepoint <= 0xD7AF)) { // Hangul Syllables + num_hangul++; + } else { + num_non_hangul++; + } + } + + if (num_hangul > num_non_hangul) { + return static_cast<FeatureValue>(CLD2::NUM_ULSCRIPTS); + } else { + return static_cast<FeatureValue>(CLD2::ULScript_Hani); + } + } +} + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/language_identifier_features.h b/chromium/third_party/cld_3/src/src/language_identifier_features.h new file mode 100644 index 00000000000..476ca00634b --- /dev/null +++ b/chromium/third_party/cld_3/src/src/language_identifier_features.h @@ -0,0 +1,116 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef LANGUAGE_IDENTIFIER_FEATURES_H_ +#define LANGUAGE_IDENTIFIER_FEATURES_H_ + +#include <string> + +#include "feature_extractor.h" +#include "feature_types.h" +#include "script_span/generated_ulscript.h" +#include "cld_3/protos/sentence.pb.h" +#include "sentence_features.h" +#include "task_context.h" +#include "workspace.h" + +namespace chrome_lang_id { + +// Feature type for numeric features. +class NumericFeatureType : public FeatureType { + public: + // Initializes numeric feature. + NumericFeatureType(const string &name, FeatureValue size); + + // Returns numeric feature value. + string GetFeatureValueName(FeatureValue value) const override; + + // Returns the number of feature values. + FeatureValue GetDomainSize() const override; + + private: + FeatureValue size_; +}; + +// Class for computing continuous char ngram features. +// Feature function descriptor parameters: +// include_terminators(bool, false): +// If 'true', then splits the text based on spaces to get tokens, adds "^" +// to the beginning of each token, and adds "$" to the end of each token. +// include_spaces(bool, false): +// If 'true', then includes char ngrams containing spaces. +// use_equal_weight(bool, false): +// If 'true', then weighs each unique ngram by 1.0 / (number of unique +// ngrams in the input). Otherwise, weighs each unique ngram by (ngram +// count) / (total number of ngrams). +// id_dim(int, 10000): +// The integer id of each char ngram is computed as follows: +// Hash32WithDefaultSeed(char ngram) % id_dim. +// size(int, 3): +// Only ngrams of this size will be extracted. +class ContinuousBagOfNgramsFunction : public WholeSentenceFeature { + public: + void Setup(TaskContext *context) override; + void Init(TaskContext *context) override; + + // Appends the features computed from the focus to the feature vector. + void Evaluate(const WorkspaceSet &workspaces, const Sentence &sentence, + FeatureVector *result) const override; + + private: + // If 'true', then splits the text based on spaces to get tokens, adds "^" to + // the beginning of each token, and adds "$" to the end of each token. + bool include_terminators_; + + // If 'true', then includes char ngrams containing spaces. + bool include_spaces_; + + // If 'true', then weighs each unique ngram by 1.0 / (number of unique ngrams + // in the input). Otherwise, weighs each unique ngram by (ngram count) / + // (total number of ngrams). + bool use_equal_ngram_weight_; + + // The integer id of each char ngram is computed as follows: + // Hash32WithDefaultSeed(char_ngram) % ngram_id_dimension_. + int ngram_id_dimension_; + + // Only ngrams of size ngram_size_ will be extracted. + int ngram_size_; +}; + +// Class for detecting the script of a piece of text. The list of supported +// scripts is chrome_lang_id::CLD2::ULScript. This class uses the script +// recognition code ported from CLD2. ULScript_Hani is split into non-Korean +// script and Korean script (Hangul). In the former case, the function emits +// ULScript_Hani. In the latter case, the function emits NUM_ULSCRIPTS. The +// class assumes that the input is (1) interchange valid UTF8, and (2) contains +// only one chrome_lang_id::CLD2::ULScript. +class ScriptFeature : public WholeSentenceFeature { + public: + void Init(TaskContext *context) override { + // The dimension is incremented by 1 because ULScript_Hani is split into two + // as mentioned in the class description. + set_feature_type(new NumericFeatureType( + name(), chrome_lang_id::CLD2::NUM_ULSCRIPTS + 1)); + } + + // Computes the feature and saves it in the feature vector. + FeatureValue Compute(const WorkspaceSet &workspaces, const Sentence &sentence, + const FeatureVector *result) const override; +}; + +} // namespace chrome_lang_id + +#endif // LANGUAGE_IDENTIFIER_FEATURES_H_ diff --git a/chromium/third_party/cld_3/src/src/language_identifier_features_test.cc b/chromium/third_party/cld_3/src/src/language_identifier_features_test.cc new file mode 100644 index 00000000000..05fb86c82b1 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/language_identifier_features_test.cc @@ -0,0 +1,261 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include <cmath> +#include <iostream> +#include <vector> +#include <set> + +#include "base.h" +#include "feature_extractor.h" +#include "language_identifier_features.h" +#include "nnet_language_identifier.h" +#include "script_span/generated_ulscript.h" +#include "cld_3/protos/sentence.pb.h" +#include "task_context.h" +#include "utils.h" +#include "workspace.h" + +namespace chrome_lang_id { +namespace language_identifier_features_test { + +static WholeSentenceFeature *cbog_factory() { + return new ContinuousBagOfNgramsFunction; +} + +static WholeSentenceFeature *sf_factory() { return new ScriptFeature; } + +// Class for calculating the feature weights and ids. +class FeatureIdWeightCalculator { + public: + explicit FeatureIdWeightCalculator(TaskContext *context) { + if (WholeSentenceFeature::registry() == nullptr) { + // Create registry for our WholeSentenceFeature(s). + RegisterableClass<WholeSentenceFeature>::CreateRegistry( + "sentence feature function", "WholeSentenceFeature", __FILE__, + __LINE__); + } + + // Register our WholeSentenceFeature(s). + // Register ContinuousBagOfNgramsFunction feature function. + static WholeSentenceFeature::Registry::Registrar cbog_registrar( + WholeSentenceFeature::registry(), "continuous-bag-of-ngrams", + "ContinuousBagOfNgramsFunction", __FILE__, __LINE__, cbog_factory); + + // Register Script feature function. + static WholeSentenceFeature::Registry::Registrar sf_registrar( + WholeSentenceFeature::registry(), "script", "ScriptFeature", __FILE__, + __LINE__, sf_factory); + + feature_extractor_.Setup(context); + feature_extractor_.Init(context); + } + + // Assumes that a single feature is specified and extracts it. + void ExtractOnlyFeature(Sentence *sentence, + std::vector<FeatureVector> *features) { + CLD3_CHECK(features->size() == 1); + WorkspaceSet workspace; + workspace.Reset(workspace_registry_); + feature_extractor_.Preprocess(&workspace, sentence); + feature_extractor_.ExtractFeatures(workspace, *sentence, features); + CLD3_CHECK(features->size() == 1); + } + + // Returns a map from feature value id to feature value weight. + std::unordered_map<int, float> GetFloatFeatureValIdsAndWeights( + Sentence *sentence) { + std::vector<FeatureVector> feature_vectors(1); // one feature space + ExtractOnlyFeature(sentence, &feature_vectors); + const FeatureVector &feature_vector = feature_vectors.at(0); + + // Save the (feature value id, feature value weight) pairs to a map. + std::unordered_map<int, float> feature_id_weight; + for (int index = 0; index < feature_vector.size(); ++index) { + const FloatFeatureValue feature_value = + FloatFeatureValue(feature_vector.value(index)); + feature_id_weight[feature_value.value.id] = feature_value.value.weight; + } + return feature_id_weight; + } + + // Returns the feature value ids. + std::set<int> GetFeatureValueIds(Sentence *sentence) { + std::vector<FeatureVector> feature_vectors(1); // one feature space + ExtractOnlyFeature(sentence, &feature_vectors); + const FeatureVector &feature_vector = feature_vectors.at(0); + + std::set<int> ids; + for (int index = 0; index < feature_vector.size(); ++index) { + ids.insert(feature_vector.value(index)); + } + return ids; + } + + private: + // The registry of shared workspaces in the feature extractor. + WorkspaceRegistry workspace_registry_; + LanguageIdEmbeddingFeatureExtractor feature_extractor_; +}; + +// Extracts features and checks that their ids and weights are correct. +bool ExtractAndCheckFeatures(const string &features, const int id_dim, + const std::vector<string> &expected_char_ngrams, + const std::vector<float> &expected_weights, + Sentence *sentence) { + TaskContext context; + context.SetParameter("language_identifier_features", features); + FeatureIdWeightCalculator calc(&context); + + // Get the feature ids and the corresponding weights. + const std::unordered_map<int, float> feature_id_weight = + calc.GetFloatFeatureValIdsAndWeights(sentence); + if (feature_id_weight.size() != expected_char_ngrams.size()) { + std::cout << " Failure" << std::endl; + std::cout << " Number of expected feature ids: " + << expected_char_ngrams.size() << std::endl; + std::cout << " Number of extracted feature ids: " + << feature_id_weight.size() << std::endl; + return false; + } + + // Specifies how close two float values should be to be considered equal. + const float epsilon = 0.0001f; + bool test_successful = true; + for (size_t i = 0; i < expected_char_ngrams.size(); ++i) { + const int expected_id = + utils::Hash32WithDefaultSeed(expected_char_ngrams.at(i)) % id_dim; + + // Check the ids and the weights. + if (feature_id_weight.count(expected_id) == 0) { + std::cout << " Failure" << std::endl; + std::cout << " Feature id " << expected_id << " is missing" << std::endl; + test_successful = false; + } else { + if (std::abs(feature_id_weight.at(expected_id) - expected_weights.at(i)) > + epsilon) { + std::cout << " Failure" << std::endl; + std::cout << " Different weight for feature id " << expected_id + << ": expected weight " << expected_weights.at(i) + << ", actual weight " << feature_id_weight.at(expected_id) + << std::endl; + test_successful = false; + } + } + } + + if (test_successful) { + std::cout << " Success!" << std::endl; + } + return test_successful; +} + +// Tests the case when ngram features get equal weight. Returns "true" if the +// test is successful and "false" otherwise. +bool TestExtractFeaturesWithEqualWeight() { + std::cout << "Running " << __FUNCTION__ << std::endl; + + // The integer id of each char ngram is computed as follows: + // utils::Hash32WithDefaultSeed(char ngram) % id_dim. + const int id_dim = 100; + const string features = "continuous-bag-of-ngrams(id_dim=" + + std::to_string(id_dim) + + ",size=2,include_terminators=true,include_" + + "spaces=false,use_equal_weight=true)"; + Sentence sentence; + sentence.set_text("aa aab"); + const std::vector<string> expected_char_ngrams{"ab", "b$", "^a", "aa", "a$"}; + const std::vector<float> expected_weights = {0.2f, 0.2f, 0.2f, 0.2f, 0.2f}; + return ExtractAndCheckFeatures(features, id_dim, expected_char_ngrams, + expected_weights, &sentence); +} + +// Tests the case when ngram features get weights equal to their normalized +// counts. Returns "true" if the test is successful and "false" otherwise. +bool TestExtractFeaturesWithNonEqualWeight() { + std::cout << "Running " << __FUNCTION__ << std::endl; + + // The integer id of each char ngram is computed as follows: + // utils::Hash32WithDefaultSeed(char ngram) % id_dim. + const int id_dim = 100; + const string features = "continuous-bag-of-ngrams(id_dim=" + + std::to_string(id_dim) + + ",size=2,include_terminators=true,include_" + + "spaces=false,use_equal_weight=false)"; + Sentence sentence; + sentence.set_text("aa aab"); + const std::vector<string> expected_char_ngrams{"ab", "b$", "^a", "aa", "a$"}; + const std::vector<float> expected_weights{0.1428f, 0.1428f, 0.2857f, 0.2857f, + 0.1428f}; + return ExtractAndCheckFeatures(features, id_dim, expected_char_ngrams, + expected_weights, &sentence); +} + +// Tests the feature Script. +bool TestScriptFeature() { + std::cout << "Running " << __FUNCTION__ << std::endl; + + bool test_successful = true; + TaskContext context; + context.SetParameter("language_identifier_features", "script"); + FeatureIdWeightCalculator calc(&context); + + // Check the script of the English sentence. + Sentence sentence; + sentence.set_text("food"); + std::set<int> feature_val_ids = calc.GetFeatureValueIds(&sentence); + if (feature_val_ids.size() != 1 || + feature_val_ids.count(chrome_lang_id::CLD2::ULScript_Latin) == 0) { + test_successful = false; + std::cout << " Failure for input: " << sentence.text() << std::endl; + } + + // Check the script of a Chinese sentence. + sentence.set_text("字"); + feature_val_ids = calc.GetFeatureValueIds(&sentence); + if (feature_val_ids.size() != 1 || + feature_val_ids.count(chrome_lang_id::CLD2::ULScript_Hani) == 0) { + test_successful = false; + std::cout << " Failure for input: " << sentence.text() << std::endl; + } + + // Check the script of a Korean sentence. + sentence.set_text("워드"); + feature_val_ids = calc.GetFeatureValueIds(&sentence); + if (feature_val_ids.size() != 1 || + feature_val_ids.count(chrome_lang_id::CLD2::NUM_ULSCRIPTS) == 0) { + test_successful = false; + std::cout << " Failure for input: " << sentence.text() << std::endl; + } + + if (test_successful) { + std::cout << " Success!" << std::endl; + } + return test_successful; +} + +} // namespace language_identifier_features_test +} // namespace chrome_lang_id + +// Runs the feature extraction tests. +int main(int argc, char **argv) { + const bool tests_successful = + chrome_lang_id::language_identifier_features_test:: + TestExtractFeaturesWithEqualWeight() && + chrome_lang_id::language_identifier_features_test:: + TestExtractFeaturesWithNonEqualWeight() && + chrome_lang_id::language_identifier_features_test::TestScriptFeature(); + return tests_successful ? 0 : 1; +} diff --git a/chromium/third_party/cld_3/src/src/language_identifier_main.cc b/chromium/third_party/cld_3/src/src/language_identifier_main.cc new file mode 100644 index 00000000000..b44f785bf23 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/language_identifier_main.cc @@ -0,0 +1,54 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include <iostream> +#include <string> + +#include "base.h" +#include "nnet_language_identifier.h" + +using chrome_lang_id::NNetLanguageIdentifier; + +// Runs a neural net model for language identification. +int main(int argc, char **argv) { + NNetLanguageIdentifier lang_id(/*min_num_bytes=*/0, + /*max_num_bytes=*/1000); + + const std::vector<std::string> texts{"This text is written in English.", + "Text in deutscher Sprache verfasst."}; + for (const std::string &text : texts) { + const NNetLanguageIdentifier::Result result = lang_id.FindLanguage(text); + std::cout << "text: " << text << std::endl + << " language: " << result.language << std::endl + << " probability: " << result.probability << std::endl + << " reliable: " << result.is_reliable << std::endl + << " proportion: " << result.proportion << std::endl + << std::endl; + } + + const std::string &text = + "This piece of text is in English. Този текст е на Български."; + std::cout << "text: " << text << std::endl; + const std::vector<NNetLanguageIdentifier::Result> results = + lang_id.FindTopNMostFreqLangs(text, /*num_langs*/ 3); + for (const NNetLanguageIdentifier::Result &result : results) { + std::cout << " language: " << result.language << std::endl + << " probability: " << result.probability << std::endl + << " reliable: " << result.is_reliable << std::endl + << " proportion: " << result.proportion << std::endl + << std::endl; + } + return 0; +} diff --git a/chromium/third_party/cld_3/src/src/nnet_lang_id_test.cc b/chromium/third_party/cld_3/src/src/nnet_lang_id_test.cc new file mode 100644 index 00000000000..358fe1b8ff5 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/nnet_lang_id_test.cc @@ -0,0 +1,226 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include <cmath> +#include <iostream> +#include <string> +#include <utility> +#include <vector> + +#include "base.h" +#include "nnet_lang_id_test_data.h" +#include "nnet_language_identifier.h" + +namespace chrome_lang_id { +namespace nnet_lang_id_test { + +// Tests the model on all supported languages. Returns "true" if the test is +// successful and "false" otherwise. +// TODO(abakalov): Add a test for random input that should be labeled as +// "unknown" due to low confidence. +bool TestPredictions() { + std::cout << "Running " << __FUNCTION__ << std::endl; + + // (gold language, sample text) pairs used for testing. + const std::vector<std::pair<std::string, std::string>> gold_lang_text = { + {"af", NNetLangIdTestData::kTestStrAF}, + {"ar", NNetLangIdTestData::kTestStrAR}, + {"az", NNetLangIdTestData::kTestStrAZ}, + {"be", NNetLangIdTestData::kTestStrBE}, + {"bg", NNetLangIdTestData::kTestStrBG}, + {"bn", NNetLangIdTestData::kTestStrBN}, + {"bs", NNetLangIdTestData::kTestStrBS}, + {"ca", NNetLangIdTestData::kTestStrCA}, + {"ceb", NNetLangIdTestData::kTestStrCEB}, + {"cs", NNetLangIdTestData::kTestStrCS}, + {"cy", NNetLangIdTestData::kTestStrCY}, + {"da", NNetLangIdTestData::kTestStrDA}, + {"de", NNetLangIdTestData::kTestStrDE}, + {"el", NNetLangIdTestData::kTestStrEL}, + {"en", NNetLangIdTestData::kTestStrEN}, + {"eo", NNetLangIdTestData::kTestStrEO}, + {"es", NNetLangIdTestData::kTestStrES}, + {"et", NNetLangIdTestData::kTestStrET}, + {"eu", NNetLangIdTestData::kTestStrEU}, + {"fa", NNetLangIdTestData::kTestStrFA}, + {"fi", NNetLangIdTestData::kTestStrFI}, + {"fil", NNetLangIdTestData::kTestStrFIL}, + {"fr", NNetLangIdTestData::kTestStrFR}, + {"ga", NNetLangIdTestData::kTestStrGA}, + {"gl", NNetLangIdTestData::kTestStrGL}, + {"gu", NNetLangIdTestData::kTestStrGU}, + {"ha", NNetLangIdTestData::kTestStrHA}, + {"hi", NNetLangIdTestData::kTestStrHI}, + {"hmn", NNetLangIdTestData::kTestStrHMN}, + {"hr", NNetLangIdTestData::kTestStrHR}, + {"ht", NNetLangIdTestData::kTestStrHT}, + {"hu", NNetLangIdTestData::kTestStrHU}, + {"hy", NNetLangIdTestData::kTestStrHY}, + {"id", NNetLangIdTestData::kTestStrID}, + {"ig", NNetLangIdTestData::kTestStrIG}, + {"is", NNetLangIdTestData::kTestStrIS}, + {"it", NNetLangIdTestData::kTestStrIT}, + {"iw", NNetLangIdTestData::kTestStrIW}, + {"ja", NNetLangIdTestData::kTestStrJA}, + {"jv", NNetLangIdTestData::kTestStrJV}, + {"ka", NNetLangIdTestData::kTestStrKA}, + {"kk", NNetLangIdTestData::kTestStrKK}, + {"km", NNetLangIdTestData::kTestStrKM}, + {"kn", NNetLangIdTestData::kTestStrKN}, + {"ko", NNetLangIdTestData::kTestStrKO}, + {"la", NNetLangIdTestData::kTestStrLA}, + {"lo", NNetLangIdTestData::kTestStrLO}, + {"lt", NNetLangIdTestData::kTestStrLT}, + {"lv", NNetLangIdTestData::kTestStrLV}, + {"mg", NNetLangIdTestData::kTestStrMG}, + {"mi", NNetLangIdTestData::kTestStrMI}, + {"mk", NNetLangIdTestData::kTestStrMK}, + {"ml", NNetLangIdTestData::kTestStrML}, + {"mn", NNetLangIdTestData::kTestStrMN}, + {"mr", NNetLangIdTestData::kTestStrMR}, + {"ms", NNetLangIdTestData::kTestStrMS}, + {"mt", NNetLangIdTestData::kTestStrMT}, + {"my", NNetLangIdTestData::kTestStrMY}, + {"ne", NNetLangIdTestData::kTestStrNE}, + {"nl", NNetLangIdTestData::kTestStrNL}, + {"no", NNetLangIdTestData::kTestStrNO}, + {"ny", NNetLangIdTestData::kTestStrNY}, + {"pa", NNetLangIdTestData::kTestStrPA}, + {"pl", NNetLangIdTestData::kTestStrPL}, + {"pt", NNetLangIdTestData::kTestStrPT}, + {"ro", NNetLangIdTestData::kTestStrRO}, + {"ru", NNetLangIdTestData::kTestStrRU}, + {"si", NNetLangIdTestData::kTestStrSI}, + {"sk", NNetLangIdTestData::kTestStrSK}, + {"sl", NNetLangIdTestData::kTestStrSL}, + {"so", NNetLangIdTestData::kTestStrSO}, + {"sq", NNetLangIdTestData::kTestStrSQ}, + {"sr", NNetLangIdTestData::kTestStrSR}, + {"st", NNetLangIdTestData::kTestStrST}, + {"su", NNetLangIdTestData::kTestStrSU}, + {"sv", NNetLangIdTestData::kTestStrSV}, + {"sw", NNetLangIdTestData::kTestStrSW}, + {"ta", NNetLangIdTestData::kTestStrTA}, + {"te", NNetLangIdTestData::kTestStrTE}, + {"tg", NNetLangIdTestData::kTestStrTG}, + {"th", NNetLangIdTestData::kTestStrTH}, + {"tr", NNetLangIdTestData::kTestStrTR}, + {"uk", NNetLangIdTestData::kTestStrUK}, + {"ur", NNetLangIdTestData::kTestStrUR}, + {"uz", NNetLangIdTestData::kTestStrUZ}, + {"vi", NNetLangIdTestData::kTestStrVI}, + {"yi", NNetLangIdTestData::kTestStrYI}, + {"yo", NNetLangIdTestData::kTestStrYO}, + {"zh", NNetLangIdTestData::kTestStrZH}, + {"zu", NNetLangIdTestData::kTestStrZU}}; + + NNetLanguageIdentifier lang_id(/*min_num_bytes=*/0, + /*max_num_bytes=*/1000); + + // Iterate over all the test instances, make predictions and check that they + // are correct. + int num_wrong = 0; + for (const auto &test_instance : gold_lang_text) { + const std::string &expected_lang = test_instance.first; + const std::string &text = test_instance.second; + + const NNetLanguageIdentifier::Result result = lang_id.FindLanguage(text); + if (result.language != expected_lang) { + ++num_wrong; + std::cout << " Misclassification: " << std::endl; + std::cout << " Text: " << text << std::endl; + std::cout << " Expected language: " << expected_lang << std::endl; + std::cout << " Predicted language: " << result.language << std::endl; + } + } + + if (num_wrong == 0) { + std::cout << " Success!" << std::endl; + return true; + } else { + std::cout << " Failure: " << num_wrong << " wrong predictions" + << std::endl; + return false; + } +} + +// Tests the model on input containing multiple languages of different scripts. +// Returns "true" if the test is successful and "false" otherwise. +bool TestMultipleLanguagesInInput() { + std::cout << "Running " << __FUNCTION__ << std::endl; + + // Text containing snippets in English and Bulgarian. + const std::string text = + "This piece of text is in English. Този текст е на Български."; + + // Expected language spans in the input text, corresponding respectively to + // Bulgarian and English. + const std::string expected_bg_span = " Този текст е на Български "; + const std::string expected_en_span = " This piece of text is in English "; + const float expected_byte_sum = + static_cast<float>(expected_bg_span.size() + expected_en_span.size()); + + // Number of languages to query for and the expected byte proportions. + const int num_queried_langs = 3; + const std::unordered_map<string, float> expected_lang_proportions{ + {"bg", expected_bg_span.size() / expected_byte_sum}, + {"en", expected_en_span.size() / expected_byte_sum}, + {NNetLanguageIdentifier::kUnknown, 0.0}}; + + NNetLanguageIdentifier lang_id(/*min_num_bytes=*/0, + /*max_num_bytes=*/1000); + const std::vector<NNetLanguageIdentifier::Result> results = + lang_id.FindTopNMostFreqLangs(text, num_queried_langs); + + if (results.size() != expected_lang_proportions.size()) { + std::cout << " Failure" << std::endl; + std::cout << " Wrong number of languages: expected " + << expected_lang_proportions.size() << ", obtained " + << results.size() << std::endl; + return false; + } + + // Iterate over the results and check that the correct proportions are + // returned for the expected languages. + const float epsilon = 0.00001f; + for (const NNetLanguageIdentifier::Result &result : results) { + if (expected_lang_proportions.count(result.language) == 0) { + std::cout << " Failure" << std::endl; + std::cout << " Incorrect language: " << result.language << std::endl; + return false; + } + if (std::abs(result.proportion - + expected_lang_proportions.at(result.language)) > epsilon) { + std::cout << " Failure" << std::endl; + std::cout << " Language " << result.language << ": expected proportion " + << expected_lang_proportions.at(result.language) << ", got " + << result.proportion << std::endl; + return false; + } + } + std::cout << " Success!" << std::endl; + return true; +} + +} // namespace nnet_lang_id_test +} // namespace chrome_lang_id + +// Runs tests for the language identification model. +int main(int argc, char **argv) { + const bool tests_successful = + chrome_lang_id::nnet_lang_id_test::TestPredictions() && + chrome_lang_id::nnet_lang_id_test::TestMultipleLanguagesInInput(); + return tests_successful ? 0 : 1; +} diff --git a/chromium/third_party/cld_3/src/src/nnet_lang_id_test_data.cc b/chromium/third_party/cld_3/src/src/nnet_lang_id_test_data.cc new file mode 100644 index 00000000000..e221afcd897 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/nnet_lang_id_test_data.cc @@ -0,0 +1,529 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "nnet_lang_id_test_data.h" + +namespace chrome_lang_id { + +const char *const NNetLangIdTestData::kTestStrAF = + "Dit is 'n kort stukkie van die teks wat gebruik sal word vir die toets " + "van die akkuraatheid van die nuwe benadering."; + +const char *const NNetLangIdTestData::kTestStrAR = "احتيالية بيع أي حساب"; + +const char *const NNetLangIdTestData::kTestStrAZ = + " a az qalıb breyn rinq intellektual oyunu üzrə yarışın zona mərhələləri " + "keçirilib miq un qalıqlarının dənizdən çıxarılması davam edir məhəmməd " + "peyğəmbərin karikaturalarını çap edən qəzetin baş redaktoru iş otağında " + "ölüb"; + +const char *const NNetLangIdTestData::kTestStrBE = + " а друкаваць іх не было тэхнічна магчыма бліжэй за вільню тым самым часам " + "нямецкае кіраўніцтва прапаноўвала апроч ўвядзення лацінкі яе"; + +const char *const NNetLangIdTestData::kTestStrBG = + " а дума попада в състояние на изпитание ключовите думи с предсказана " + "малко под то изискване на страниците за търсене в"; + +const char *const NNetLangIdTestData::kTestStrBN = + "গ্যালারির ৩৮ বছর পূর্তিতে মূল্যছাড় অর্থনীতি বিএনপির ওয়াক আউট তপন" + " চৌধুরী হারবাল অ্যাসোসিয়েশনের সভাপতি আন্তর্জাতিক পরামর্শক " + "বোর্ড দিয়ে শরিয়াহ্ ইনন্ডেক্স করবে " + "সিএসই মালিকপক্ষের কান্না, শ্রমিকের অনিশ্চয়তা মতিঝিলে সমাবেশ নিষিদ্ধ: " + "এফবিসিসিআইয়ের ধন্যবাদ বিনোদন বিশেষ প্রতিবেদন বাংলালিংকের গ্র্যান্ডমাস্টার " + "সিজন-৩ ব্রাজিলে বিশ্বকাপ ফুটবল আয়োজনবিরোধী বিক্ষোভ দেশের নিরাপত্তার" + " চেয়ে অনেক বেশি সচেতন । প্রার্থীদের দক্ষতা ও যোগ্যতার" + " পাশাপাশি তারা জাতীয় ইস্যুগুলোতে প্রাধান্য দিয়েছেন । ” পাঁচটি সিটিতে ২০" + " লাখ ভোটারদের দিয়ে জাতীয় নির্বাচনে ৮ কোটি ভোটারদের" + " সঙ্গে তুলনা করা যাবে কি একজন দর্শকের এমন প্রশ্নে জবাবে আব্দুল্লাহ " + "আল নোমান বলেন , “ এই পাঁচটি সিটি কর্পোরেশন নির্বাচন দেশের পাঁচটি বড়" + " বিভাগের প্রতিনিধিত্ব করছে । এছাড়া এখানকার ভোটার রা সবাই সচেতন । তারা"; + +const char *const NNetLangIdTestData::kTestStrBS = + "Novi predsjednik Mešihata Islamske zajednice u Srbiji (IZuS) i muftija " + "dr. Mevlud ef. Dudić izjavio je u intervjuu za Anadolu Agency (AA) kako " + "je uvjeren da će doći do vraćanja jedinstva među muslimanima i unutar " + "Islamske zajednice na prostoru Sandžaka, te da je njegova ruka pružena za " + "povratak svih u okrilje Islamske zajednice u Srbiji nakon skoro sedam " + "godina podjela u tom dijelu Srbije. Dudić je za predsjednika Mešihata IZ " + "u Srbiji izabran 4. januara, a zvanična inauguracija će biti obavljena u " + "prvoj polovini februara. Kako se očekuje, prisustvovat će joj i " + "reisu-l-ulema Islamske zajednice u Srbiji Husein ef. Kavazović koji će i " + "zvanično promovirati Dudića u novog prvog čovjeka IZ u Srbiji. Dudić će " + "danas boraviti u prvoj zvaničnoj posjeti reisu Kavazoviću, što je njegov " + "privi simbolični potez nakon imenovanja. "; + +const char *const NNetLangIdTestData::kTestStrCA = + "al final en un únic lloc nhorabona l correu electrònic està concebut com " + "a eina de productivitat aleshores per què perdre el temps arxivant " + "missatges per després intentar recordar on els veu desar i per què heu d " + "eliminar missatges importants per l"; + +const char *const NNetLangIdTestData::kTestStrCEB = + "Ang Sugbo usa sa mga labing ugmad nga lalawigan sa nasod. Kini ang sentro " + "sa komersyo, edukasyon ug industriya sa sentral ug habagatang dapit sa " + "kapupod-an. Ang mipadayag sa Sugbo isip ikapito nga labing nindot nga " + "pulo sa , ang nag-inusarang pulo sa Pilipinas nga napasidunggan sa maong " + "magasin sukad pa sa tuig"; + +const char *const NNetLangIdTestData::kTestStrCS = + " a akci opakujte film uložen vykreslit gmail tokio smazat obsah adresáře " + "nelze načíst systémový profil jednotky smoot okud používáte pro určení " + "polokoule značky z západ nebo v východ používejte nezáporné hodnoty " + "zeměpisné délky nelze"; + +const char *const NNetLangIdTestData::kTestStrCY = + " a chofrestru eich cyfrif ymwelwch a unwaith i chi greu eich cyfrif mi " + "fydd yn cael ei hysbysu o ch cyfeiriad ebost newydd fel eich bod yn gallu " + "cadw mewn cysylltiad drwy gmail os nad ydych chi wedi clywed yn barod am " + "gmail mae n gwasanaeth gwebost"; + +const char *const NNetLangIdTestData::kTestStrDA = + " a z tallene og punktummer der er tilladte log ud angiv den ønskede " + "adgangskode igen november gem personlige oplysninger kontrolspørgsmål det " + "sidste tegn i dit brugernavn skal være et bogstav a z eller tal skriv de " + "tegn du kan se i billedet nedenfor"; + +const char *const NNetLangIdTestData::kTestStrDE = + " abschnitt ordner aktivieren werden die ordnereinstellungen im " + "farbabschnitt deaktiviert öchten sie wirklich fortfahren eldtypen angeben " + "optional n diesem schritt geben sie für jedesfeld aus dem datenset den " + "typ an ieser schritt ist optional eldtypen"; + +const char *const NNetLangIdTestData::kTestStrEL = + " ή αρνητική αναζήτηση λέξης κλειδιού καταστήστε τις μεμονωμένες λέξεις " + "κλειδιά περισσότερο στοχοθετημένες με τη μετατροπή τους σε"; + +const char *const NNetLangIdTestData::kTestStrEN = + " a backup credit card by visiting your billing preferences page or visit " + "the adwords help centre for more details https adwords google com support " + "bin answer py answer hl en we were unable to process the payment of for " + "your outstanding google adwords"; + +const char *const NNetLangIdTestData::kTestStrEO = + " a jarcento refoje per enmetado de koncerna pastro tiam de reformita " + "konfesio ekde refoje ekzistis luteranaj komunumanoj tamen tiuj fondis " + "propran komunumon nur en ambaŭ apartenis ekde al la evangela eklezio en " + "prusio resp ties rejnlanda provinceklezio en"; + +const char *const NNetLangIdTestData::kTestStrES = + " a continuación haz clic en el botón obtener ruta también puedes " + "desplazarte hasta el final de la página para cambiar tus opciones de " + "búsqueda gráfico y detalles ésta es una lista de los vídeos que te " + "recomendamos nuestras recomendaciones se basan"; + +const char *const NNetLangIdTestData::kTestStrET = + " a niipea kui sinu maksimaalne igakuine krediidi limiit on meie poolt " + "heaks kiidetud on sinu kohustuseks see krediidilimiit"; + +const char *const NNetLangIdTestData::kTestStrEU = + " a den eraso bat honen kontra hortaz eragiketa bakarrik behar dituen " + "eraso batek aes apurtuko luke nahiz eta oraingoz eraso bideraezina izan " + "gaur egungo teknologiaren mugak direla eta oraingoz kezka hauek alde " + "batera utzi daitezke orain arteko indar"; + +const char *const NNetLangIdTestData::kTestStrFA = + " آب خوردن عجله می کردند به جای باز ی کتک کاری می کردند و همه چيز مثل قبل " + "بود فقط من ماندم و يک دنيا حرف و انتظار تا عاقبت رسيد احضاريه ی ای با"; + +const char *const NNetLangIdTestData::kTestStrFI = + " a joilla olet käynyt tämä kerro meille kuka ä olet ei tunnistettavia " + "käyttötietoja kuten virheraportteja käytetään google desktopin " + "parantamiseen etsi näyttää mukautettuja uutisia google desktop " + "keskivaihto leikkaa voit kaksoisnapsauttaa"; + +const char *const NNetLangIdTestData::kTestStrFIL = + "Ito ay isang maikling piraso ng teksto na ito ay gagamitin para sa " + "pagsubok ang kawastuhan ng mga bagong diskarte."; + +const char *const NNetLangIdTestData::kTestStrFR = + " a accès aux collections et aux frontaux qui lui ont été attribués il " + "peut consulter et modifier ses collections et exporter des configurations " + "de collection toutefois il ne peut pas créer ni supprimer des collections " + "enfin il a accès aux fonctions"; + +const char *const NNetLangIdTestData::kTestStrGA = + " a bhfuil na focail go léir i do cheist le fáil orthu ní gá ach focail " + "breise a chur leis na cinn a cuardaíodh cheana chun an cuardach a " + "bheachtú nó a chúngú má chuirtear focal breise isteach aimseofar fo aicme " + "ar leith de na torthaí a fuarthas"; + +const char *const NNetLangIdTestData::kTestStrGL = + " debe ser como mínimo taranto tendas de venda polo miúdo cociñas " + "servizos bordado canadá viaxes parques de vehículos de recreo hotel " + "oriental habitación recibir unha postal no enderezo indicado " + "anteriormente"; + +const char *const NNetLangIdTestData::kTestStrGU = + " આના પરિણામ પ્રમાણસર ફોન્ટ અવતરણ ચિન્હવાળા પાઠને છુપાવો બધા સમૂહો શોધાયા" + " હાલનો જ સંદેશ વિષયની"; + +const char *const NNetLangIdTestData::kTestStrHA = + " a cikin a kan sakamako daga sakwannin a kan sakamako daga sakwannin daga " + "ranar zuwa a kan sakamako daga guda daga ranar zuwa a kan sakamako daga " + "shafukan daga ranar zuwa a kan sakamako daga guda a cikin last hour a kan " + "sakamako daga guda daga kafar"; + +const char *const NNetLangIdTestData::kTestStrHI = + " ं ऐडवर्ड्स विज्ञापनों के अनुभव पर आधारित हैं और इनकी मदद से आपको अपने" + " विज्ञापनों का अधिकतम लाभ"; + +const char *const NNetLangIdTestData::kTestStrHMN = + "Qhov no yog ib tug luv luv daim ntawv nyeem uas yuav siv tau rau kev soj " + "ntsuam qhov tseeb ntawm tus tshiab mus kom ze."; + +const char *const NNetLangIdTestData::kTestStrHR = + "Posljednja dva vladara su Kijaksar (Κυαξαρης; 625-585 prije Krista), " + "fraortov sin koji će proširiti teritorij Medije i Astijag. Kijaksar je " + "imao kćer ili unuku koja se zvala Amitis a postala je ženom " + "Nabukodonosora II. kojoj je ovaj izgradio Viseće vrtove Babilona. " + "Kijaksar je modernizirao svoju vojsku i uništio Ninivu 612. prije Krista. " + "Naslijedio ga je njegov sin, posljednji medijski kralj, Astijag, kojega " + "je detronizirao (srušio sa vlasti) njegov unuk Kir Veliki. Zemljom su " + "zavladali Perzijanci. Hrvatska je zemlja situacija u Europi. Ona ima " + "bogatu kulturu i ukusna jela."; + +const char *const NNetLangIdTestData::kTestStrHT = + " ak pitit tout sosyete a chita se pou sa leta dwe pwoteje yo nimewo leta " + "fèt pou li pwoteje tout paran ak pitit nan peyi a menm jan kit paran yo " + "marye kit yo pa marye tout manman ki fè pitit leta fèt pou ba yo konkoul " + "menm jan tou pou timoun piti ak pou"; + +const char *const NNetLangIdTestData::kTestStrHU = + " a felhasználóim a google azonosító szöveget ikor látják a felhasználóim " + "a google azonosító szöveget felhasználók a google azonosító szöveget " + "fogják látni minden tranzakció után ha a vásárlását regisztrációját " + "oldalunk"; + +const char *const NNetLangIdTestData::kTestStrHY = + " ա յ եվ նա հիացած աչքերով նայում է հինգհարկանի շենքի տարօրինակ փոքրիկ " + "քառակուսի պատուհաններին դեռ մենք շատ ենք հետամնաց ասում է նա այսպես է"; + +const char *const NNetLangIdTestData::kTestStrID = + "berdiri setelah pengurusnya yang berusia 83 tahun, Fayzrahman Satarov, " + "mendeklarasikan diri sebagai nabi dan rumahnya sebagai negara Islam " + "Satarov digambarkan sebagai mantan ulama Islam tahun 1970-an. " + "Pengikutnya didorong membaca manuskripnya dan kebanyakan dilarang " + "meninggalkan tempat persembunyian bawah tanah di dasar gedung delapan " + "lantai mereka. Jaksa membuka penyelidikan kasus kriminal pada kelompok " + "itu dan menyatakan akan membubarkan kelompok kalau tetap melakukan " + "kegiatan ilegal seperti mencegah anggotanya mencari bantuan medis atau " + "pendidikan. Sampai sekarang pihak berwajib belum melakukan penangkapan " + "meskipun polisi mencurigai adanya tindak kekerasan pada anak. Pengadilan " + "selanjutnya akan memutuskan apakah anak-anak diizinkan tetap tinggal " + "dengan orang tua mereka. Kazan yang berada sekitar 800 kilometer di timur " + "Moskow merupakan wilayah Tatarstan yang"; + +const char *const NNetLangIdTestData::kTestStrIG = + "Chineke bụ aha ọzọ ndï omenala Igbo kpọro Chukwu. Mgbe ndị bekee bịara, " + "ha mee ya nke ndi Christian. N'echiche ndi ekpere chi Omenala Ndi Igbo, " + "Christianity, Judaism, ma Islam, Chineke nwere ọtụtụ utu aha, ma nwee " + "nanị otu aha. Ụzọ abụọ e si akpọ aha ahụ bụ Jehovah ma Ọ bụ Yahweh. Na " + "ọtụtụ Akwụkwọ Nsọ, e wepụla aha Chineke ma jiri utu aha bụ Onyenwe Anyị " + "ma ọ bụ Chineke dochie ya. Ma mgbe e dere akwụkwọ nsọ, aha ahụ bụ Jehova " + "pụtara n’ime ya, ihe dị ka ugboro pụkụ asaa(7,000)."; + +const char *const NNetLangIdTestData::kTestStrIS = + " a afköst leitarorða þinna leitarorð neikvæð leitarorð auglýsingahópa " + "byggja upp aðallista yfir ný leitarorð fyrir auglýsingahópana og skoða " + "ítarleg gögn um árangur leitarorða eins og samkeppni auglýsenda og " + "leitarmagn er krafist notkun"; + +const char *const NNetLangIdTestData::kTestStrIT = + " a causa di un intervento di manutenzione del sistema fino alle ore circa " + "ora legale costa del pacifico del novembre le campagne esistenti " + "continueranno a essere pubblicate come di consueto anche durante questo " + "breve periodo di inattività ci scusiamo per"; + +const char *const NNetLangIdTestData::kTestStrIW = + " או לערוך את העדפות ההפצה אנא עקוב אחרי השלבים הבאים כנס לחשבון האישי שלך " + "ב"; + +const char *const NNetLangIdTestData::kTestStrJA = + " このペ ジでは アカウントに指定された予算の履歴を一覧にしています " + "それぞれの項目には 予算額と特定期間のステ タスが表示されます " + "現在または今後の予算を設定するには"; + +const char *const NNetLangIdTestData::kTestStrJV = + "Iki Piece cendhak teks sing bakal digunakake kanggo Testing akurasi " + "pendekatan anyar."; + +const char *const NNetLangIdTestData::kTestStrKA = + " ა ბირთვიდან მიღებული ელემენტი მენდელეევის პერიოდულ სიტემაში " + "გადაინაცვლებს ორი უჯრით"; + +const char *const NNetLangIdTestData::kTestStrKK = + " а билердің өзіне рұқсат берілмеген егер халық талап етсе ғана хан " + "келісім берген өздеріңіз білесіздер қр қыл мыс тық кодексінде жазаның"; + +const char *const NNetLangIdTestData::kTestStrKM = + "នេះគឺជាបំណែកខ្លីនៃអត្ថបទដែលនឹងត្រូវបានប្រើសម្រាប់ការធ្វើតេស្តភាពត្រឹមត្រូវ" + "នៃវិធីសាស្រ្តថ្មីនេះ។"; + +const char *const NNetLangIdTestData::kTestStrKN = + " ಂಠಯ್ಯನವರು ತುಮಕೂರು ಜಿಲ್ಲೆಯ ಚಿಕ್ಕನಾಯಕನಹಳ್ಳಿ ತಾಲ್ಲೂಕಿನ ತೀರ್ಥಪುರ ವೆಂಬ ಸಾಧಾರಣ" + " ಹಳ್ಳಿಯ ಶ್ಯಾನುಭೋಗರ"; + +const char *const NNetLangIdTestData::kTestStrKO = + " 개별적으로 리포트 액세스 권한을 부여할 수 있습니다 액세스 권한 " + "부여사용자에게 프로필 리포트에 액세스할 수 있는 권한을 부여하시려면 가용 " + "프로필 상자에서 프로필 이름을 선택한 다음"; + +const char *const NNetLangIdTestData::kTestStrLA = + " a deo qui enim nocendi causa mentiri solet si iam consulendi causa " + "mentiatur multum profecit sed aliud est quod per se ipsum laudabile " + "proponitur aliud quod in deterioris comparatione praeponitur aliter enim " + "gratulamur cum sanus est homo aliter cum melius"; + +const char *const NNetLangIdTestData::kTestStrLO = + " ກຫາທົ່ວທັງເວັບ ແລະໃນເວັບໄຮ້ສາຍ ທຳອິດໃຫ້ທຳການຊອກຫາກ່ອນ ຈາກນັ້ນ" + " ໃຫ້ກົດປຸ່ມເມນູ ໃນໜ້າຜົນໄດ້"; + +const char *const NNetLangIdTestData::kTestStrLT = + " a išsijungia mano idėja dėl geriausio laiko po pastarųjų savo santykių " + "pasimokiau penki dalykai be kurių negaliu gyventi mano miegamajame tu " + "surasi ideali pora išsilavinimas aukštoji mokykla koledžas universitetas " + "pagrindinis laipsnis metai"; + +const char *const NNetLangIdTestData::kTestStrLV = + " a gadskārtējā izpārdošana slēpošana jāņi atlaide izmaiņas trafikā kas " + "saistītas ar sezonas izpārdošanu speciālajām atlaidēm u c ir parastas un " + "atslēgvārdi kas ir populāri noteiktos laika posmos šajā laikā saņems " + "lielāku klikšķu"; + +const char *const NNetLangIdTestData::kTestStrMG = + " amporisihin i ianao mba hijery ny dika teksta ranofotsiny an ity " + "lahatsoratra ity tsy ilaina ny opérateur efa karohina daholo ny teny " + "rehetra nosoratanao ampiasao anaovana dokambarotra i google telugu datin " + "ny takelaka fikarohana sary renitakelak i"; + +const char *const NNetLangIdTestData::kTestStrMI = + " haere ki te kainga o o haere ki te kainga o o haere ki te kainga o te " + "rapunga ahua o haere ki te kainga o ka tangohia he ki to rapunga kaore au " + "mohio te tikanga whakatiki o te ra he whakaharuru te pai rapunga a te " + "rapunga ahua a e kainga o nga awhina o te"; + +const char *const NNetLangIdTestData::kTestStrMK = + " гласовите коалицијата на вмро дпмне како партија со најмногу освоени " + "гласови ќе добие евра а на сметката на коализијата за македонија"; + +const char *const NNetLangIdTestData::kTestStrML = + " ം അങ്ങനെ ഞങ്ങള് അവരുടെ മുമ്പില് നിന്നു ഔടും ഉടനെ നിങ്ങള് പതിയിരിപ്പില് " + "നിന്നു എഴുന്നേറ്റു"; + +const char *const NNetLangIdTestData::kTestStrMN = + " а боловсронгуй болгох орон нутгийн ажил үйлсийг уялдуулж зохицуулах " + "дүрэм журам боловсруулах орон нутгийн өмч хөрөнгө санхүүгийн"; + +const char *const NNetLangIdTestData::kTestStrMR = + "हैदराबाद उच्चार ऐका (सहाय्य·माहिती)तेलुगू: హైదరాబాదు , उर्दू:" + " حیدر آباد हे भारतातील आंध्र प्रदेश राज्याच्या राजधानीचे शहर" + " आहे. हैदराबादची लोकसंख्या ७७ लाख ४० हजार ३३४ आहे. मोत्यांचे शहर" + " अशी एकेकाळी ओळख असलेल्या या शहराला ऐतिहासिक, सांस्कृतिक आणि " + "स्थापत्यशास्त्रीय वारसा लाभला आहे. १९९० नंतर शिक्षण आणि माहिती तंत्रज्ञान" + " त्याचप्रमाणे औषधनिर्मिती आणि जैवतंत्रज्ञान क्षेत्रातील उद्योगधंद्यांची" + " वाढ शहरात झाली. दक्षिण मध्य भारतातील पर्यटन आणि तेलुगू चित्रपटनिर्मितीचे" + " हैदराबाद हे केंद्र आहे"; + +const char *const NNetLangIdTestData::kTestStrMS = + "pengampunan beramai-ramai supaya mereka pulang ke rumah masing-masing. " + "Orang-orang besarnya enggan mengiktiraf sultan yang dilantik oleh Belanda " + "sebagai Yang DiPertuan Selangor. Orang ramai pula tidak mahu menjalankan " + "perniagaan bijih timah dengan Belanda, selagi raja yang berhak tidak " + "ditabalkan. Perdagang yang lain dibekukan terus kerana untuk membalas " + "jasa beliau yang membantu Belanda menentang Riau, Johor dan Selangor. Di " + "antara tiga orang Sultan juga dipandang oleh rakyat sebagai seorang " + "sultan yang paling gigih. 1 | 2 SULTAN Sebagai ganti Sultan Ibrahim " + "ditabalkan Raja Muhammad iaitu Raja Muda. Walaupun baginda bukan anak " + "isteri pertama bergelar Sultan Muhammad bersemayam di Kuala Selangor " + "juga. Pentadbiran baginda yang lemah itu menyebabkan Kuala Selangor " + "menjadi sarang ioleh Cina di Lukut tidak diambil tindakan, sedangkan " + "baginda sendiri banyak berhutang kepada 1"; + +const char *const NNetLangIdTestData::kTestStrMT = + " ata ikteb messaġġ lil indirizzi differenti billi tagħżilhom u tagħfas il " + "buttuna ikteb żid numri tfittxijja tal kotba mur print home kotba minn " + "pagni ghal pagna minn ghall ktieb ta aċċessa stieden habib iehor grazzi " + "it tim tal gruppi google"; + +const char *const NNetLangIdTestData::kTestStrMY = + " တက္ကသုိလ္ မ္ဟ ပ္ရန္ လာ္ရပီးေနာက္ န္ဟစ္ အရ္ဝယ္ ဦးသန္ ့သည္ ပန္" + " းတနော္ အမ္ယုိးသား ေက္ယာင္ း"; + +const char *const NNetLangIdTestData::kTestStrNE = + "अरू ठाऊँबाटपनि खुलेको छ यो खाता अर अरू ठाऊँबाटपनि खुलेको छ यो खाता अर ू"; + +const char *const NNetLangIdTestData::kTestStrNL = + " a als volgt te werk om een configuratiebestand te maken sitemap gen py " + "ebruik filters om de s op te geven die moeten worden toegevoegd of " + "uitgesloten op basis van de opmaaktaal elke sitemap mag alleen de s " + "bevatten voor een bepaalde opmaaktaal dit"; + +const char *const NNetLangIdTestData::kTestStrNO = + " a er obligatorisk tidsforskyvning plassering av katalogsøk " + "planinformasjon loggfilbane gruppenavn kontoinformasjon passord domene " + "gruppeinformasjon alle kampanjesporing alternativ bruker grupper " + "oppgaveplanlegger oppgavehistorikk kontosammendrag antall"; + +const char *const NNetLangIdTestData::kTestStrNY = + "Boma ndi gawo la dziko lomwe linapangidwa ndi cholinga chothandiza " + "ntchito yolamulira. Kuŵalako kulikuunikabe mandita, Edipo nyima " + "unalephera kugonjetsa kuŵalako."; + +const char *const NNetLangIdTestData::kTestStrPA = + " ਂ ਦਿਨਾਂ ਵਿਚ ਭਾਈ ਸਾਹਿਬ ਦੀ ਬੁੱਚੜ ਗੋਬਿੰਦ ਰਾਮ ਨਾਲ ਅੜਫਸ ਚੱਲ ਰਹੀ ਸੀ ਗੋਬਿੰਦ" + " ਰਾਮ ਨੇ ਭਾਈ ਸਾਹਿਬ ਦੀਆਂ ਭੈਣਾ"; + +const char *const NNetLangIdTestData::kTestStrPL = + " a australii będzie widział inne reklamy niż użytkownik z kanady " + "kierowanie geograficzne sprawia że reklamy są lepiej dopasowane do " + "użytkownika twojej strony oznacza to także że możesz nie zobaczyć " + "wszystkich reklam które są wyświetlane na"; + +const char *const NNetLangIdTestData::kTestStrPT = + " a abit prevê que a entrada desses produtos estrangeiros no mercado " + "têxtil e vestuário do brasil possa reduzir os preços em cerca de a partir " + "de má notícia para os empresários que terão que lutar para garantir suas " + "margens de lucro mas boa notícia"; + +const char *const NNetLangIdTestData::kTestStrRO = + " a anunţurilor reţineţi nu plătiţi pentru clicuri sau impresii ci numai " + "atunci când pe site ul dvs survine o acţiune dorită site urile negative " + "nu pot avea uri de destinaţie daţi instrucţiuni societăţii dvs bancare " + "sau constructoare să"; + +const char *const NNetLangIdTestData::kTestStrRU = + " а неправильный формат идентификатора дн назад"; + +const char *const NNetLangIdTestData::kTestStrSI = + " අනුරාධ මිහිඳුකුල නමින් සකුරා ට ලිපියක් තැපෑලෙන් එවා තිබුණා කි " + "් රස්ටි ෂෙල්ටන් ප ් රනාන්දු ද"; + +const char *const NNetLangIdTestData::kTestStrSK = + " a aktivovať reklamnú kampaň ak chcete kampaň pred spustením ešte " + "prispôsobiť uložte ju ako šablónu a pokračujte v úprave vyberte si jednu " + "z možností nižšie a kliknite na tlačidlo uložiť kampaň nastavenia kampane " + "môžete ľubovoľne"; + +const char *const NNetLangIdTestData::kTestStrSL = + " adsense stanje prijave za google adsense google adsense račun je bil " + "začasno zamrznjen pozdravljeni hvala za vaše zanimanje v google adsense " + "po pregledu vaše prijavnice so naši strokovnjaki ugotovili da spletna " + "stran ki je trenutno povezana z vašim"; + +const char *const NNetLangIdTestData::kTestStrSO = + " a oo maanta bogga koobaad ugu qoran yahey beesha caalamka laakiin si " + "kata oo beesha caalamku ula guntato soomaaliya waxa aan shaki ku jirin in " + "aakhirataanka dadka soomaalida oo kaliya ay yihiin ku soomaaliya ka saari " + "kara dhibka ay ku jirto"; + +const char *const NNetLangIdTestData::kTestStrSQ = + " a do të kërkoni nga beogradi që të njohë pavarësinë e kosovës zoti thaçi " + "prishtina është gati ta njoh pavarësinë e serbisë ndërsa natyrisht se do " + "të kërkohet një gjë e tillë që edhe beogradi ta njoh shtetin e pavarur " + "dhe sovran të"; + +const char *const NNetLangIdTestData::kTestStrSR = + "балчак балчак на мапи србије уреди демографија у насељу балчак живи " + "пунолетна становника а просечна старост становништва износи година"; + +const char *const NNetLangIdTestData::kTestStrST = + " bang ba nang le thahasello matshwao a sehlooho thuto e thehilweng hodima " + "diphetho ke tsela ya ho ruta le ho ithuta e totobatsang hantle seo " + "baithuti ba lokelang ho se fihlella ntlhatheo eo e sebetsang ka yona ke " + "ya hore titjhere o hlakisa pele seo"; + +const char *const NNetLangIdTestData::kTestStrSU = + "Nu ngatur kahirupan warga, keur kapentingan pamarentahan diatur ku RT, RW " + "jeung Kepala Dusun, sedengkeun urusan adat dipupuhuan ku Kuncen jeung " + "kepala adat. Sanajan Kampung Kuta teu pati anggang jeung lembur sejenna " + "nu aya di wewengkon Desa Pasir Angin, tapi boh wangunan imah atawa " + "tradisi kahirupan masarakatna nenggang ti nu lian."; + +const char *const NNetLangIdTestData::kTestStrSV = + " a bort objekt från google desktop post äldst meny öretag dress etaljer " + "alternativ för vad är inne yaste google skrivbord plugin program för " + "nyheter google visa nyheter som är anpassade efter de artiklar som du " + "läser om du till exempel läser"; + +const char *const NNetLangIdTestData::kTestStrSW = + " a ujumbe mpya jumla unda tafuta na angalia vikundi vya kujadiliana na " + "kushiriki mawazo iliyopangwa kwa tarehe watumiaji wapya futa orodha hizi " + "lugha hoja vishikanisho vilivyo dhaminiwa ujumbe sanaa na tamasha toka " + "udhibitisho wa neno kwa haraka fikia"; + +const char *const NNetLangIdTestData::kTestStrTA = + " அங்கு ராஜேந்திர சோழனால் கட்டப்பட்ட பிரம்மாண்டமான சிவன் கோவில் ஒன்றும்" + " உள்ளது தொகு"; + +const char *const NNetLangIdTestData::kTestStrTE = + " ఁ దనర జయించిన తత్వ మరసి చూడఁ దాన యగును రాజయోగి యిట్లు తేజరిల్లుచు నుండు " + "విశ్వదాభిరామ వినర వేమ"; + +const char *const NNetLangIdTestData::kTestStrTG = + " адолат ва инсондӯстиро бар фашизм нажодпарастӣ ва адоват тарҷеҳ додааст " + "чоп кунед ба дигарон фиристед чоп кунед ба дигарон фиристед"; + +const char *const NNetLangIdTestData::kTestStrTH = + " กฏในการค้นหา หรือหน้าเนื้อหา หากท่านเลือกลงโฆษณา " + "ท่านอาจจะปรับต้องเพิ่มงบประมาณรายวันตา"; + +const char *const NNetLangIdTestData::kTestStrTR = + " a ayarlarınızı görmeniz ve yönetmeniz içindir eğer kampanyanız için " + "günlük bütçenizi gözden geçirebileceğiniz yeri arıyorsanız kampanya " + "yönetimi ne gidin kampanyanızı seçin ve kampanya ayarlarını düzenle yi " + "tıklayın sunumu"; + +const char *const NNetLangIdTestData::kTestStrUK = + " а більший бюджет щоб забезпечити собі максимум прибутків від переходів " + "відстежуйте свої об яви за датою географічним розташуванням"; + +const char *const NNetLangIdTestData::kTestStrUR = + " آپ کو کم سے کم ممکنہ رقم چارج کرتا ہے اس کی مثال کے طور پر فرض کریں اگر " + "آپ کی زیادہ سے زیادہ قیمت فی کلِک امریکی ڈالر اور کلِک کرنے کی شرح ہو تو"; + +const char *const NNetLangIdTestData::kTestStrUZ = + " abadiylashtirildi aqsh ayol prezidentga tayyormi markaziy osiyo afg " + "onistonga qanday yordam berishi mumkin ukrainada o zbekistonlik " + "muhojirlar tazyiqdan shikoyat qilmoqda gruziya va ukraina hozircha natoga " + "qabul qilinmaydi afg oniston o zbekistonni g"; + +const char *const NNetLangIdTestData::kTestStrVI = + " adsense cho nội dung nhà cung cấp dịch vụ di động xác minh tín" + " dụng thay đổi nhãn kg các ô xem chi phí cho từ chối các đơn đặt" + " hàng dạng cấp dữ liệu ác minh trang web của bạn để xem"; + +const char *const NNetLangIdTestData::kTestStrYI = + "אן פאנטאזיע ער איז באקאנט צים מערסטן פאר זיינע באַלאַדעס ער האָט געוווינט " + "אין ווארשע יעס פאריס ליווערפול און לאנדאן סוף כל סוף איז ער"; + +const char *const NNetLangIdTestData::kTestStrYO = + " abinibi han ikawe alantakun le ni opolopo ede abinibi ti a to lesese bi " + "eniyan to fe lo se fe lati se atunse jowo mo pe awon oju iwe itakunagbaye " + "miran ti ako ni oniruru ede abinibi le faragba nipa atunse ninu se iwadi " + "blogs ni ori itakun agbaye ti e ba"; + +const char *const NNetLangIdTestData::kTestStrZH = + "产品的简报和公告 提交该申请后无法进行更改 请确认您的选择是正确的 " + "对于要提交的图书 我确认 我是版权所有者或已得到版权所有者的授权 " + "要更改您的国家 地区 请在此表的最上端更改您的"; + +const char *const NNetLangIdTestData::kTestStrZU = + " ana engu uma inkinga iqhubeka siza ubike kwi isexwayiso ngenxa yephutha " + "lomlekeleli sikwazi ukubuyisela emuva kuphela imiphumela engaqediwe " + "ukuthola imiphumela eqediwe zama ukulayisha kabusha leli khasi emizuzwini " + "engu uma inkinga iqhubeka siza uthumele"; + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/nnet_lang_id_test_data.h b/chromium/third_party/cld_3/src/src/nnet_lang_id_test_data.h new file mode 100644 index 00000000000..7377f1daa89 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/nnet_lang_id_test_data.h @@ -0,0 +1,117 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef NNET_LANG_ID_TEST_DATA_H_ +#define NNET_LANG_ID_TEST_DATA_H_ + +namespace chrome_lang_id { + +class NNetLangIdTestData { + public: + // Pieces of text in different languages. + static const char *const kTestStrAF; + static const char *const kTestStrAR; + static const char *const kTestStrAZ; + static const char *const kTestStrBE; + static const char *const kTestStrBG; + static const char *const kTestStrBN; + static const char *const kTestStrBS; + static const char *const kTestStrCA; + static const char *const kTestStrCEB; + static const char *const kTestStrCS; + static const char *const kTestStrCY; + static const char *const kTestStrDA; + static const char *const kTestStrDE; + static const char *const kTestStrEL; + static const char *const kTestStrEN; + static const char *const kTestStrEO; + static const char *const kTestStrES; + static const char *const kTestStrET; + static const char *const kTestStrEU; + static const char *const kTestStrFA; + static const char *const kTestStrFI; + static const char *const kTestStrFIL; + static const char *const kTestStrFR; + static const char *const kTestStrGA; + static const char *const kTestStrGL; + static const char *const kTestStrGU; + static const char *const kTestStrHA; + static const char *const kTestStrHI; + static const char *const kTestStrHMN; + static const char *const kTestStrHR; + static const char *const kTestStrHT; + static const char *const kTestStrHU; + static const char *const kTestStrHY; + static const char *const kTestStrID; + static const char *const kTestStrIG; + static const char *const kTestStrIS; + static const char *const kTestStrIT; + static const char *const kTestStrIW; + static const char *const kTestStrJA; + static const char *const kTestStrJV; + static const char *const kTestStrKA; + static const char *const kTestStrKK; + static const char *const kTestStrKM; + static const char *const kTestStrKN; + static const char *const kTestStrKO; + static const char *const kTestStrLA; + static const char *const kTestStrLO; + static const char *const kTestStrLT; + static const char *const kTestStrLV; + static const char *const kTestStrMG; + static const char *const kTestStrMI; + static const char *const kTestStrMK; + static const char *const kTestStrML; + static const char *const kTestStrMN; + static const char *const kTestStrMR; + static const char *const kTestStrMS; + static const char *const kTestStrMT; + static const char *const kTestStrMY; + static const char *const kTestStrNE; + static const char *const kTestStrNL; + static const char *const kTestStrNO; + static const char *const kTestStrNY; + static const char *const kTestStrPA; + static const char *const kTestStrPL; + static const char *const kTestStrPT; + static const char *const kTestStrRO; + static const char *const kTestStrRU; + static const char *const kTestStrSI; + static const char *const kTestStrSK; + static const char *const kTestStrSL; + static const char *const kTestStrSO; + static const char *const kTestStrSQ; + static const char *const kTestStrSR; + static const char *const kTestStrST; + static const char *const kTestStrSU; + static const char *const kTestStrSV; + static const char *const kTestStrSW; + static const char *const kTestStrTA; + static const char *const kTestStrTE; + static const char *const kTestStrTG; + static const char *const kTestStrTH; + static const char *const kTestStrTR; + static const char *const kTestStrUK; + static const char *const kTestStrUR; + static const char *const kTestStrUZ; + static const char *const kTestStrVI; + static const char *const kTestStrYI; + static const char *const kTestStrYO; + static const char *const kTestStrZH; + static const char *const kTestStrZU; +}; +} // namespace chrome_lang_id + +#endif // NNET_LANG_ID_TEST_DATA_H_ diff --git a/chromium/third_party/cld_3/src/src/nnet_language_identifier.cc b/chromium/third_party/cld_3/src/src/nnet_language_identifier.cc new file mode 100644 index 00000000000..abc395012be --- /dev/null +++ b/chromium/third_party/cld_3/src/src/nnet_language_identifier.cc @@ -0,0 +1,380 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "nnet_language_identifier.h" + +#include <math.h> + +#include <algorithm> +#include <limits> +#include <string> + +#include "base.h" +#include "embedding_network.h" +#include "registry.h" +#include "relevant_script_feature.h" +#include "script_span/generated_ulscript.h" +#include "script_span/getonescriptspan.h" +#include "script_span/text_processing.h" +#include "cld_3/protos/sentence.pb.h" +#include "sentence_features.h" +#include "task_context.h" +#include "workspace.h" + +namespace chrome_lang_id { +namespace { + +// Struct for accumulating stats for a language as text subsequences of the same +// script are processed. +struct LangChunksStats { + // Sum of probabilities across subsequences. + float prob_sum = 0.0; + + // Total number of bytes corresponding to the language. + int byte_sum = 0; + + // Number chunks corresponding to the language. + int num_chunks = 0; +}; + +// Compares two pairs based on their values. +bool OrderBySecondDescending(const std::pair<string, float> &x, + const std::pair<string, float> &y) { + if (x.second == y.second) { + return x.first < y.first; + } else { + return x.second > y.second; + } +} + +// Returns "true" if the languge prediction is reliable based on the +// probability, and "false" otherwise. +bool ResultIsReliable(const string &language, float probability) { + if (language == "hr" || language == "bs") { + return (probability >= NNetLanguageIdentifier::kReliabilityHrBsThreshold); + } else { + return (probability >= NNetLanguageIdentifier::kReliabilityThreshold); + } +} + +// Finds the number of interchange-valid bytes to process. +int FindNumValidBytesToProcess(const string &text) { + // Check if the size of the input text can fit into an int. If not, focus on + // the first std::numeric_limits<int>::max() bytes. + const int doc_text_size = + (text.size() < static_cast<size_t>(std::numeric_limits<int>::max())) + ? static_cast<int>(text.size()) + : std::numeric_limits<int>::max(); + + // Truncate the input text if it is too long and find the span containing + // interchange-valid UTF8. + const int num_valid_bytes = CLD2::SpanInterchangeValid( + text.c_str(), + std::min(NNetLanguageIdentifier::kMaxNumInputBytesToConsider, + doc_text_size)); + + return num_valid_bytes; +} +} // namespace + +const int NNetLanguageIdentifier::kMinNumBytesToConsider = 140; +const int NNetLanguageIdentifier::kMaxNumBytesToConsider = 700; +const int NNetLanguageIdentifier::kMaxNumInputBytesToConsider = 10000; +const int NNetLanguageIdentifier::kNumSnippets = 5; +const char NNetLanguageIdentifier::kUnknown[] = "und"; +const float NNetLanguageIdentifier::kReliabilityThreshold = 0.7f; +const float NNetLanguageIdentifier::kReliabilityHrBsThreshold = 0.5f; + +const string LanguageIdEmbeddingFeatureExtractor::ArgPrefix() const { + return "language_identifier"; +} + +NNetLanguageIdentifier::NNetLanguageIdentifier() + : NNetLanguageIdentifier(kMinNumBytesToConsider, kMaxNumBytesToConsider) {} + +static WholeSentenceFeature *cbog_factory() { + return new ContinuousBagOfNgramsFunction; +} + +static WholeSentenceFeature *rsf_factory() { return new RelevantScriptFeature; } + +static WholeSentenceFeature *sf_factory() { return new ScriptFeature; } + +NNetLanguageIdentifier::NNetLanguageIdentifier(int min_num_bytes, + int max_num_bytes) + : num_languages_(TaskContextParams::GetNumLanguages()), + network_(&nn_params_), + min_num_bytes_(min_num_bytes), + max_num_bytes_(max_num_bytes) { + CLD3_CHECK(max_num_bytes_ > 0); + CLD3_CHECK(min_num_bytes_ >= 0); + CLD3_CHECK(min_num_bytes_ < max_num_bytes_); + + num_snippets_ = (max_num_bytes_ <= kNumSnippets) ? 1 : kNumSnippets; + snippet_size_ = max_num_bytes_ / num_snippets_; + + if (WholeSentenceFeature::registry() == nullptr) { + // Create registry for our WholeSentenceFeature(s). + RegisterableClass<WholeSentenceFeature>::CreateRegistry( + "sentence feature function", "WholeSentenceFeature", __FILE__, + __LINE__); + } + + // Register our WholeSentenceFeature(s). + // Register ContinuousBagOfNgramsFunction feature function. + static WholeSentenceFeature::Registry::Registrar cbog_registrar( + WholeSentenceFeature::registry(), "continuous-bag-of-ngrams", + "ContinuousBagOfNgramsFunction", __FILE__, __LINE__, cbog_factory); + + // Register RelevantScriptFeature feature function. + static WholeSentenceFeature::Registry::Registrar rsf_registrar( + WholeSentenceFeature::registry(), "continuous-bag-of-relevant-scripts", + "RelevantScriptFeature", __FILE__, __LINE__, rsf_factory); + + // Register ScriptFeature feature function. + static WholeSentenceFeature::Registry::Registrar sf_registrar( + WholeSentenceFeature::registry(), "script", "ScriptFeature", __FILE__, + __LINE__, sf_factory); + + // Get the model parameters, set up and initialize the model. + TaskContext context; + TaskContextParams::ToTaskContext(&context); + Setup(&context); + Init(&context); +} + +NNetLanguageIdentifier::~NNetLanguageIdentifier() {} + +void NNetLanguageIdentifier::Setup(TaskContext *context) { + feature_extractor_.Setup(context); +} + +void NNetLanguageIdentifier::Init(TaskContext *context) { + feature_extractor_.Init(context); + feature_extractor_.RequestWorkspaces(&workspace_registry_); +} + +void NNetLanguageIdentifier::GetFeatures( + Sentence *sentence, std::vector<FeatureVector> *features) const { + // Feature workspace set. + WorkspaceSet workspace; + workspace.Reset(workspace_registry_); + feature_extractor_.Preprocess(&workspace, sentence); + feature_extractor_.ExtractFeatures(workspace, *sentence, features); +} + +// Returns the language name corresponding to the given id. +string NNetLanguageIdentifier::GetLanguageName(int language_id) const { + CLD3_CHECK(language_id >= 0); + CLD3_CHECK(language_id < num_languages_); + return TaskContextParams::language_names(language_id); +} + +NNetLanguageIdentifier::Result NNetLanguageIdentifier::FindLanguage( + const string &text) { + const int num_valid_bytes = FindNumValidBytesToProcess(text); + + // Iterate over the input with ScriptScanner to clean up the text (e.g., + // removing digits, punctuation, brackets). + // TODO(abakalov): Extract the code that does the clean-up out of + // ScriptScanner. + CLD2::ScriptScanner ss(text.c_str(), num_valid_bytes, /*is_plain_text=*/true); + CLD2::LangSpan script_span; + string cleaned; + while (ss.GetOneScriptSpanLower(&script_span)) { + // script_span has spaces at the beginning and the end, so there is no need + // for a delimiter. + cleaned.append(script_span.text, script_span.text_bytes); + } + + if (static_cast<int>(cleaned.size()) < min_num_bytes_) { + return Result(); + } + + // Copy to a vector because a non-const char* will be needed. + std::vector<char> text_to_process; + for (size_t i = 0; i < cleaned.size(); ++i) { + text_to_process.push_back(cleaned[i]); + } + text_to_process.push_back('\0'); + + // Remove repetitive chunks or ones containing mostly spaces. + const int chunk_size = 0; // Use the default. + char *text_begin = &text_to_process[0]; + const int new_length = CLD2::CheapSqueezeInplace( + text_begin, text_to_process.size() - 1, chunk_size); + if (new_length < min_num_bytes_) { + return Result(); + } + + const string squeezed_text_to_process = + SelectTextGivenBeginAndSize(text_begin, new_length); + return FindLanguageOfValidUTF8(squeezed_text_to_process); +} + +NNetLanguageIdentifier::Result NNetLanguageIdentifier::FindLanguageOfValidUTF8( + const string &text) { + // Create a Sentence storing the input text. + Sentence sentence; + sentence.set_text(text); + + // Predict language. + // TODO(salcianu): reuse vector<FeatureVector>. + std::vector<FeatureVector> features(feature_extractor_.NumEmbeddings()); + GetFeatures(&sentence, &features); + + EmbeddingNetwork::Vector scores; + network_.ComputeFinalScores(features, &scores); + int prediction_id = -1; + float max_val = -std::numeric_limits<float>::infinity(); + for (size_t i = 0; i < scores.size(); ++i) { + if (scores[i] > max_val) { + prediction_id = i; + max_val = scores[i]; + } + } + + // Compute probability. + Result result; + float diff_sum = 0.0; + for (size_t i = 0; i < scores.size(); ++i) { + diff_sum += exp(scores[i] - max_val); + } + const float log_sum_exp = max_val + log(diff_sum); + result.probability = exp(max_val - log_sum_exp); + + result.language = GetLanguageName(prediction_id); + result.is_reliable = ResultIsReliable(result.language, result.probability); + result.proportion = 1.0; + return result; +} + +std::vector<NNetLanguageIdentifier::Result> +NNetLanguageIdentifier::FindTopNMostFreqLangs(const string &text, + int num_langs) { + std::vector<Result> results; + + // Truncate the input text if it is too long and find the span containing + // interchange-valid UTF8. + const int num_valid_bytes = FindNumValidBytesToProcess(text); + if (num_valid_bytes == 0) { + while (num_langs-- > 0) { + results.emplace_back(); + } + return results; + } + + // Process each subsequence of the same script. + CLD2::ScriptScanner ss(text.c_str(), num_valid_bytes, /*is_plain_text=*/true); + CLD2::LangSpan script_span; + std::unordered_map<string, LangChunksStats> lang_stats; + int total_num_bytes = 0; + Result result; + string language; + int chunk_size = 0; // Use the default. + while (ss.GetOneScriptSpanLower(&script_span)) { + const int num_original_span_bytes = script_span.text_bytes; + + // Remove repetitive chunks or ones containing mostly spaces. + const int new_length = CLD2::CheapSqueezeInplace( + script_span.text, script_span.text_bytes, chunk_size); + script_span.text_bytes = new_length; + + if (script_span.text_bytes < min_num_bytes_) { + continue; + } + total_num_bytes += num_original_span_bytes; + + const string selected_text = SelectTextGivenScriptSpan(script_span); + result = FindLanguageOfValidUTF8(selected_text); + language = result.language; + lang_stats[language].byte_sum += num_original_span_bytes; + lang_stats[language].prob_sum += + result.probability * num_original_span_bytes; + lang_stats[language].num_chunks++; + } + + // Sort the languages based on the number of bytes associated with them. + // TODO(abakalov): Consider alternative possibly more efficient portable + // approaches for finding the top N languages. Given that on average, there + // aren't that many languages in the input, it's likely that the benefits will + // be negligible (if any). + std::vector<std::pair<string, float>> langs_and_byte_counts; + for (const auto &entry : lang_stats) { + langs_and_byte_counts.emplace_back(entry.first, entry.second.byte_sum); + } + std::sort(langs_and_byte_counts.begin(), langs_and_byte_counts.end(), + OrderBySecondDescending); + + const float byte_sum = static_cast<float>(total_num_bytes); + const int num_langs_to_save = + std::min(num_langs, static_cast<int>(langs_and_byte_counts.size())); + for (int indx = 0; indx < num_langs_to_save; ++indx) { + Result result; + const string &language = langs_and_byte_counts.at(indx).first; + const LangChunksStats &stats = lang_stats.at(language); + result.language = language; + result.probability = stats.prob_sum / stats.byte_sum; + result.proportion = stats.byte_sum / byte_sum; + result.is_reliable = ResultIsReliable(language, result.probability); + results.push_back(result); + } + + int padding_size = num_langs - langs_and_byte_counts.size(); + while (padding_size-- > 0) { + results.emplace_back(); + } + return results; +} + +string NNetLanguageIdentifier::SelectTextGivenScriptSpan( + const CLD2::LangSpan &script_span) { + return SelectTextGivenBeginAndSize(script_span.text, script_span.text_bytes); +} + +string NNetLanguageIdentifier::SelectTextGivenBeginAndSize( + const char *text_begin, int text_size) { + string output_text; + + // If the size of the input is greater than the maxium number of bytes needed + // for a prediction, then concatenate snippets that are equally spread out + // throughout the input. + if (text_size > max_num_bytes_) { + const char *snippet_begin = nullptr; + const char *snippet_end = text_begin; + + // Number of bytes between the snippets. + const int num_skip_bytes = + (text_size - max_num_bytes_) / (num_snippets_ + 1); + + for (int i = 0; i < num_snippets_; ++i) { + // Using SpanInterchangeValid to find the offsets to ensure that we are + // not splitting a character in two. + const int actual_num_skip_bytes = + CLD2::SpanInterchangeValid(snippet_end, num_skip_bytes); + snippet_begin = snippet_end + actual_num_skip_bytes; + const int actual_snippet_size = + CLD2::SpanInterchangeValid(snippet_begin, snippet_size_); + snippet_end = snippet_begin + actual_snippet_size; + output_text.append(snippet_begin, actual_snippet_size); + output_text.append(" "); + } + } else { + output_text.append(text_begin, text_size); + } + return output_text; +} + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/nnet_language_identifier.h b/chromium/third_party/cld_3/src/src/nnet_language_identifier.h new file mode 100644 index 00000000000..820aba6ba85 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/nnet_language_identifier.h @@ -0,0 +1,175 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef NNET_LANGUAGE_IDENTIFIER_H_ +#define NNET_LANGUAGE_IDENTIFIER_H_ + +#include <string> + +#include "base.h" +#include "embedding_feature_extractor.h" +#include "embedding_network.h" +#include "lang_id_nn_params.h" +#include "language_identifier_features.h" +#include "script_span/getonescriptspan.h" +#include "cld_3/protos/sentence.pb.h" +#include "sentence_features.h" +#include "task_context.h" +#include "task_context_params.h" +#include "cld_3/protos/task_spec.pb.h" +#include "workspace.h" + +namespace chrome_lang_id { + +// Specialization of the EmbeddingFeatureExtractor for extracting from +// (Sentence, int). +class LanguageIdEmbeddingFeatureExtractor + : public EmbeddingFeatureExtractor<WholeSentenceExtractor, Sentence> { + public: + const string ArgPrefix() const override; +}; + +// Class for detecting the language of a document. +class NNetLanguageIdentifier { + public: + // Information about a predicted language. + struct Result { + string language = kUnknown; + float probability = 0.0; // Language probability. + bool is_reliable = false; // Whether the prediction is reliable. + + // Proportion of bytes associated with the language. If FindLanguage is + // called, this variable is set to 1. + float proportion = 0.0; + }; + + NNetLanguageIdentifier(); + NNetLanguageIdentifier(int min_num_bytes, int max_num_bytes); + ~NNetLanguageIdentifier(); + + // Finds the most likely language for the given text, along with additional + // information (e.g., probability). The prediction is based on the first N + // bytes where N is the minumum between the number of interchange valid UTF8 + // bytes and max_num_bytes_. If N is less than min_num_bytes_ long, then this + // function returns kUnknown. + Result FindLanguage(const string &text); + + // Splits the input text (up to the first byte, if any, that is not + // interchange valid UTF8) into spans based on the script, predicts a language + // for each span, and returns a vector storing the top num_langs most frequent + // languages along with additional information (e.g., proportions). The number + // of bytes considered for each span is the minimum between the size of the + // span and max_num_bytes_. If more languages are requested than what is + // available in the input, then for those cases kUnknown is returned. Also, if + // the size of the span is less than min_num_bytes_ long, then the span is + // skipped. If the input text is too long, only the first + // kMaxNumInputBytesToConsider bytes are processed. + std::vector<Result> FindTopNMostFreqLangs(const string &text, int num_langs); + + // String returned when a language is unknown or prediction cannot be made. + static const char kUnknown[]; + + // Min number of bytes needed to make a prediction if the default constructor + // is called. + static const int kMinNumBytesToConsider; + + // Max number of bytes to consider to make a prediction if the default + // constructor is called. + static const int kMaxNumBytesToConsider; + + // Max number of input bytes to process. + static const int kMaxNumInputBytesToConsider; + + // Predictions with probability greater than or equal to this threshold are + // marked as reliable. This threshold was optimized on a set of text segments + // extracted from wikipedia, and results in an overall precision, recall, + // and f1 equal to 0.9760, 0.9624, and 0.9692, respectively. + static const float kReliabilityThreshold; + + // Reliability threshold for the languages hr and bs. + static const float kReliabilityHrBsThreshold; + + private: + // Sets up and initializes the model. + void Setup(TaskContext *context); + void Init(TaskContext *context); + + // Extract features from sentence. On return, FeatureVector features[i] + // contains the features for the embedding space #i. + void GetFeatures(Sentence *sentence, + std::vector<FeatureVector> *features) const; + + // Finds the most likely language for the given text. Assumes that the text is + // interchange valid UTF8. + Result FindLanguageOfValidUTF8(const string &text); + + // Returns the language name corresponding to the given id. + string GetLanguageName(int language_id) const; + + // Concatenates snippets of text equally spread out throughout the input if + // the size of the input is greater than the maximum number of bytes needed to + // make a prediction. The resulting string is used for language + // identification. + string SelectTextGivenScriptSpan(const CLD2::LangSpan &script_span); + string SelectTextGivenBeginAndSize(const char *text_begin, int text_size); + + // Number of languages. + const int num_languages_; + + // Typed feature extractor for embeddings. + LanguageIdEmbeddingFeatureExtractor feature_extractor_; + + // The registry of shared workspaces in the feature extractor. + WorkspaceRegistry workspace_registry_; + + // Parameters for the neural networks. + LangIdNNParams nn_params_; + + // Neural network to use for scoring. + EmbeddingNetwork network_; + + // This feature function is not relevant to this class. Adding this variable + // ensures that the features are linked. + ContinuousBagOfNgramsFunction ngram_function_; + + // Minimum number of bytes needed to make a prediction. If the default + // constructor is called, this variable is equal to kMinNumBytesToConsider. + int min_num_bytes_; + + // Maximum number of bytes to use to make a prediction. If the default + // constructor is called, this variable is equal to kMaxNumBytesToConsider. + int max_num_bytes_; + + // Number of snippets to concatenate to produce the string used for language + // identification. If max_num_bytes_ <= kNumSnippets (i.e., the maximum number + // of bytes needed to make a prediction is smaller or equal to the number of + // default snippets), then this variable is equal to 1. Otherwise, it is set + // to kNumSnippets. + int num_snippets_; + + // The string used to make a prediction is created by concatenating + // num_snippets_ snippets of size snippet_size_ = (max_num_bytes_ / + // num_snippets_) that are equaly spread out throughout the input. + int snippet_size_; + + // Default number of snippets to concatenate to produce the string used for + // language identification. For the actual number of snippets, see + // num_snippets_. + static const int kNumSnippets; +}; + +} // namespace chrome_lang_id + +#endif // NNET_LANGUAGE_IDENTIFIER_H_ diff --git a/chromium/third_party/cld_3/src/src/registry.cc b/chromium/third_party/cld_3/src/src/registry.cc new file mode 100644 index 00000000000..a4567a22a7d --- /dev/null +++ b/chromium/third_party/cld_3/src/src/registry.cc @@ -0,0 +1,28 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "registry.h" + +namespace chrome_lang_id { + +// Global list of all component registries. +RegistryMetadata *global_registry_list = NULL; + +void RegistryMetadata::Register(RegistryMetadata *registry) { + registry->set_link(global_registry_list); + global_registry_list = registry; +} + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/registry.h b/chromium/third_party/cld_3/src/src/registry.h new file mode 100644 index 00000000000..ff0426b1efd --- /dev/null +++ b/chromium/third_party/cld_3/src/src/registry.h @@ -0,0 +1,242 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +// Registry for component registration. These classes can be used for creating +// registries of components conforming to the same interface. This is useful for +// making a component-based architecture where the specific implementation +// classes can be selected at runtime. There is support for both class-based and +// instance based registries. +// +// Example: +// function.h: +// +// class Function : public RegisterableInstance<Function> { +// public: +// virtual double Evaluate(double x) = 0; +// }; +// +// #define REGISTER_FUNCTION(type, component) +// REGISTER_INSTANCE_COMPONENT(Function, type, component); +// +// function.cc: +// +// REGISTER_INSTANCE_REGISTRY("function", Function); +// +// class Cos : public Function { +// public: +// double Evaluate(double x) { return cos(x); } +// }; +// +// class Exp : public Function { +// public: +// double Evaluate(double x) { return exp(x); } +// }; +// +// REGISTER_FUNCTION("cos", Cos); +// REGISTER_FUNCTION("exp", Exp); +// +// Function *f = Function::Lookup("cos"); +// double result = f->Evaluate(arg); + +#ifndef REGISTRY_H_ +#define REGISTRY_H_ + +#include <string.h> + +#include <string> + +#include "base.h" + +namespace chrome_lang_id { + +// Component metadata with information about name, class, and code location. +class ComponentMetadata { + public: + ComponentMetadata(const char *name, const char *class_name, const char *file, + int line) + : name_(name), + class_name_(class_name), + file_(file), + line_(line), + link_(NULL) {} + + // Getters. + const char *name() const { return name_; } + const char *class_name() const { return class_name_; } + const char *file() const { return file_; } + int line() const { return line_; } + + // Metadata objects can be linked in a list. + ComponentMetadata *link() const { return link_; } + void set_link(ComponentMetadata *link) { link_ = link; } + + private: + // Component name. + const char *name_; + + // Name of class for component. + const char *class_name_; + + // Code file and location where the component was registered. + const char *file_; + int line_; + + // Link to next metadata object in list. + ComponentMetadata *link_; +}; + +// The master registry contains all registered component registries. A registry +// is not registered in the master registry until the first component of that +// type is registered. +class RegistryMetadata : public ComponentMetadata { + public: + RegistryMetadata(const char *name, const char *class_name, const char *file, + int line) + : ComponentMetadata(name, class_name, file, line) {} + + // Registers a component registry in the master registry. + static void Register(RegistryMetadata *registry); +}; + +// Registry for components. An object can be registered with a type name in the +// registry. The named instances in the registry can be returned using the +// Lookup() method. The components in the registry are put into a linked list +// of components. It is important that the component registry can be statically +// initialized in order not to depend on initialization order. +template <class T> +struct ComponentRegistry { + typedef ComponentRegistry<T> Self; + + // Component registration class. + class Registrar : public ComponentMetadata { + public: + // Registers new component by linking itself into the component list of + // the registry. + Registrar(Self *registry, const char *type, const char *class_name, + const char *file, int line, T *object) + : ComponentMetadata(type, class_name, file, line), object_(object) { + // Register registry in master registry if this is the first registered + // component of this type. + if (registry->components == NULL) { + RegistryMetadata::Register( + new RegistryMetadata(registry->name, registry->class_name, + registry->file, registry->line)); + } + + // Register component in registry. + set_link(registry->components); + registry->components = this; + } + + // Returns component type. + const char *type() const { return name(); } + + // Returns component object. + T *object() const { return object_; } + + // Returns the next component in the component list. + Registrar *next() const { return static_cast<Registrar *>(link()); } + + private: + // Component object. + T *object_; + }; + + // Finds registrar for named component in registry. + const Registrar *GetComponent(const char *type) const { + Registrar *r = components; + while (r != NULL && strcmp(type, r->type()) != 0) r = r->next(); + CLD3_DCHECK(r != nullptr); + + return r; + } + + // Finds a named component in the registry. + T *Lookup(const char *type) const { return GetComponent(type)->object(); } + T *Lookup(const string &type) const { return Lookup(type.c_str()); } + + // Textual description of the kind of components in the registry. + const char *name; + + // Base class name of component type. + const char *class_name; + + // File and line where the registry is defined. + const char *file; + int line; + + // Linked list of registered components. + Registrar *components; +}; + +// Base class for registerable class-based components. +template <class T> +class RegisterableClass { + public: + // Factory function type. + typedef T *(Factory)(); + + // Registry type. + typedef ComponentRegistry<Factory> Registry; + + // Should be called before any call to Create() or registry(), i.e., before + // using the registration mechanism to register and or instantiate subclasses + // of T. + static void CreateRegistry( + const char *name, + const char *class_name, + const char *file, + int line) { + registry_ = new Registry(); + registry_->name = name; + registry_->class_name = class_name; + registry_->file = file; + registry_->line = line; + registry_->components = nullptr; + } + + // Should be called when one is done using the registration mechanism for + // class T. + static void DeleteRegistry() { + delete registry_; + registry_ = nullptr; + } + + // Creates a new component instance. + static T *Create(const string &type) { return registry()->Lookup(type)(); } + + // Returns registry for class. + static Registry *registry() { return registry_; } + + private: + // Registry for class. + static Registry *registry_; +}; + +// Base class for registerable instance-based components. +template <class T> +class RegisterableInstance { + public: + // Registry type. + typedef ComponentRegistry<T> Registry; + + private: + // Registry for class. + static Registry registry_; +}; + +} // namespace chrome_lang_id + +#endif // REGISTRY_H_ diff --git a/chromium/third_party/cld_3/src/src/relevant_script_feature.cc b/chromium/third_party/cld_3/src/src/relevant_script_feature.cc new file mode 100644 index 00000000000..0cb6d559ce4 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/relevant_script_feature.cc @@ -0,0 +1,89 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "relevant_script_feature.h" + +#include <ctype.h> + +#include <string> + +#include "feature_extractor.h" +#include "feature_types.h" +#include "language_identifier_features.h" +#include "script_detector.h" +#include "cld_3/protos/sentence.pb.h" +#include "sentence_features.h" +#include "task_context.h" +#include "utils.h" +#include "workspace.h" + +namespace chrome_lang_id { +void RelevantScriptFeature::Setup(TaskContext *context) { + // Nothing. +} + +void RelevantScriptFeature::Init(TaskContext *context) { + set_feature_type(new NumericFeatureType(name(), kNumRelevantScripts)); +} + +void RelevantScriptFeature::Evaluate(const WorkspaceSet &workspaces, + const Sentence &sentence, + FeatureVector *result) const { + const string &text = sentence.text(); + + // We expect kNumRelevantScripts to be small, so we stack-allocate the array + // of counts. Still, if that changes, we want to find out. + static_assert( + kNumRelevantScripts < 25, + "switch counts to vector<int>: too big for stack-allocated int[]"); + + // counts[s] is the number of characters with script s. + // Note: {} "value-initializes" the array to zero. + int counts[kNumRelevantScripts]{}; + int total_count = 0; + const char *const text_end = text.data() + text.size(); + for (const char *curr = text.data(); curr < text_end; + curr += utils::OneCharLen(curr)) { + const int num_bytes = utils::OneCharLen(curr); + + // If a partial UTF-8 character is encountered, break out of the loop. + if (curr + num_bytes > text_end) { + break; + } + + // Skip spaces, numbers, punctuation, and all other non-alpha ASCII + // characters: these characters are used in so many languages, they do not + // communicate language-related information. + if ((num_bytes == 1) && !isalpha(*curr)) { + continue; + } + Script script = GetScript(curr, num_bytes); + CLD3_DCHECK(script >= 0); + CLD3_DCHECK(script < kNumRelevantScripts); + counts[static_cast<int>(script)]++; + total_count++; + } + + for (int script_id = 0; script_id < kNumRelevantScripts; ++script_id) { + int count = counts[script_id]; + if (count > 0) { + const float weight = static_cast<float>(count) / total_count; + FloatFeatureValue value(script_id, weight); + result->add(feature_type(), value.discrete_value); + } + } +} + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/relevant_script_feature.h b/chromium/third_party/cld_3/src/src/relevant_script_feature.h new file mode 100644 index 00000000000..ce808105769 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/relevant_script_feature.h @@ -0,0 +1,49 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef RELEVANT_SCRIPT_FEATURE_H_ +#define RELEVANT_SCRIPT_FEATURE_H_ + +#include "feature_extractor.h" +#include "cld_3/protos/sentence.pb.h" +#include "sentence_features.h" +#include "task_context.h" +#include "workspace.h" + +namespace chrome_lang_id { + +// Given a sentence, generates one FloatFeatureValue for each "relevant" Unicode +// script (see below): each such feature indicates the script and the ratio of +// UTF8 characters in that script, in the given sentence. +// +// What is a relevant script? Recognizing all 100+ Unicode scripts would +// require too much code size and runtime. Instead, we focus only on a few +// scripts that communicate a lot of language information: e.g., the use of +// Hiragana characters almost always indicates Japanese, so Hiragana is a +// "relevant" script for us. The Latin script is used by dozens of language, so +// Latin is not relevant in this context. +class RelevantScriptFeature : public WholeSentenceFeature { + public: + void Setup(TaskContext *context) override; + void Init(TaskContext *context) override; + + // Appends the features computed from the sentence to the feature vector. + void Evaluate(const WorkspaceSet &workspaces, const Sentence &sentence, + FeatureVector *result) const override; +}; + +} // namespace chrome_lang_id + +#endif // RELEVANT_SCRIPT_FEATURE_H_ diff --git a/chromium/third_party/cld_3/src/src/relevant_script_feature_test.cc b/chromium/third_party/cld_3/src/src/relevant_script_feature_test.cc new file mode 100644 index 00000000000..cfa56df6928 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/relevant_script_feature_test.cc @@ -0,0 +1,259 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include <algorithm> +#include <cmath> +#include <iostream> +#include <memory> + +#include "feature_extractor.h" +#include "feature_types.h" +#include "relevant_script_feature.h" +#include "script_detector.h" +#include "cld_3/protos/sentence.pb.h" +#include "sentence_features.h" +#include "task_context.h" +#include "utils.h" +#include "workspace.h" + +namespace chrome_lang_id { +namespace relevant_script_feature_test { +namespace { +// Checks whether the expected and actual float feature values are within 0.0001 +// of each other. +bool FeatureValuesNear(float expected_value, float actual_value) { + return std::abs(expected_value - actual_value) < 0.0001; +} + +// Checks whether two sets of feature values are within an acceptable amount of +// each other. +bool FeaturesNear(const string &test_input, + const std::map<int, float> &expected_features, + const std::map<int, float> &actual_features) { + if (expected_features.size() != actual_features.size()) { + std::cout << " Failure for input: " << test_input << std::endl; + return false; + } + + for (const auto &id_and_value : expected_features) { + const int id = id_and_value.first; + if (actual_features.count(id) == 0 || + !FeatureValuesNear(expected_features.at(id), actual_features.at(id))) { + std::cout << " Failure for input: " << test_input << std::endl; + return false; + } + } + std::cout << " Success for input: " << test_input << std::endl; + return true; +} + +// Checks whether the set of features is empty. +bool CheckFeaturesEmpty(const string &input, + const std::map<int, float> &actual_features) { + if (!actual_features.empty()) { + std::cout << " Failure for input: " << input << std::endl; + return false; + } else { + std::cout << " Success for input: " << input << std::endl; + return true; + } +} +} // namespace + +static WholeSentenceFeature *rsf_factory() { return new RelevantScriptFeature; } + +class RelevantScriptFeatureExtractor { + public: + RelevantScriptFeatureExtractor() { + if (WholeSentenceFeature::registry() == nullptr) { + // Create registry for our WholeSentenceFeature(s). + RegisterableClass<WholeSentenceFeature>::CreateRegistry( + "sentence feature function", "WholeSentenceFeature", __FILE__, + __LINE__); + } + + // Register our WholeSentenceFeature(s). + // Register RelevantScriptFeature feature function. + static WholeSentenceFeature::Registry::Registrar rsf_registrar( + WholeSentenceFeature::registry(), "continuous-bag-of-relevant-scripts", + "RelevantScriptFeature", __FILE__, __LINE__, rsf_factory); + + feature_extractor_.Parse("continuous-bag-of-relevant-scripts"); + TaskContext context; + feature_extractor_.Setup(&context); + feature_extractor_.Init(&context); + feature_extractor_.RequestWorkspaces(&workspace_registry_); + } + + // Returns "true" if feature extraction is successful, and "false" otherwise. + bool Extract(const string &text, std::map<int, float> *float_features) { + float_features->clear(); + if (text.empty()) { + return true; + } + Sentence sentence; + sentence.set_text(text); + workspace_.Reset(workspace_registry_); + feature_extractor_.Preprocess(&workspace_, &sentence); + FeatureVector feature_vector; + feature_extractor_.ExtractFeatures(workspace_, sentence, &feature_vector); + + for (int index = 0; index < feature_vector.size(); ++index) { + const FloatFeatureValue value = + FloatFeatureValue(feature_vector.value(index)); + if (float_features->count(value.value.id) != 0) { + std::cout << " Failure: duplicate feature" << std::endl; + return false; + } + float_features->emplace(value.value.id, value.value.weight); + } + return true; + } + + private: + WorkspaceSet workspace_; + WholeSentenceExtractor feature_extractor_; + + // The registry of shared workspaces in the feature extractor. + WorkspaceRegistry workspace_registry_; +}; + +bool TestCommonCases() { + std::cout << "Running " << __FUNCTION__ << std::endl; + + RelevantScriptFeatureExtractor extractor; + std::map<int, float> float_features; + bool test_successful = true; + + string input = "just some plain text"; + if (!extractor.Extract(input, &float_features) || + !FeaturesNear(input, {{chrome_lang_id::kScriptOtherUtf8OneByte, 1.00}}, + float_features)) { + test_successful = false; + } + + input = "ヸヂ゠ヂ"; + if (!extractor.Extract(input, &float_features) || + !FeaturesNear(input, {{chrome_lang_id::kScriptKatakana, 1.00}}, + float_features)) { + test_successful = false; + } + + // 4 Latin letters mixed with 4 Katakana letters. + input = "ヸtヂe゠xtヂ"; + if (!extractor.Extract(input, &float_features) || + !FeaturesNear(input, {{chrome_lang_id::kScriptOtherUtf8OneByte, 0.5}, + {chrome_lang_id::kScriptKatakana, 0.5}}, + float_features)) { + test_successful = false; + } + + input = "just some 121212%^^( ヸヂ゠ヂ text"; + if (!extractor.Extract(input, &float_features) || + !FeaturesNear(input, {{chrome_lang_id::kScriptOtherUtf8OneByte, 0.75}, + {chrome_lang_id::kScriptKatakana, 0.25}}, + float_features)) { + test_successful = false; + } + + return test_successful; +} + +bool TestCornerCases() { + std::cout << "Running " << __FUNCTION__ << std::endl; + + RelevantScriptFeatureExtractor extractor; + std::map<int, float> float_features; + bool test_successful = true; + + // Empty string. + string input = ""; + if (!extractor.Extract(input, &float_features) || + !CheckFeaturesEmpty(input, float_features)) { + test_successful = false; + } + + // Only whitespaces. + input = " "; + if (!extractor.Extract(input, &float_features) || + !CheckFeaturesEmpty(input, float_features)) { + test_successful = false; + } + + // Only numbers and punctuation. + input = "12----)("; + if (!extractor.Extract(input, &float_features) || + !CheckFeaturesEmpty(input, float_features)) { + test_successful = false; + } + + // Only numbers, punctuation, and spaces. + input = "12--- - ) ( "; + if (!extractor.Extract(input, &float_features) || + !CheckFeaturesEmpty(input, float_features)) { + test_successful = false; + } + + // One UTF8 character by itself. + input = "ゟ"; + if (!extractor.Extract(input, &float_features) || + !FeaturesNear(input, {{chrome_lang_id::kScriptHiragana, 1.00}}, + float_features)) { + test_successful = false; + } + + input = "ה"; + if (!extractor.Extract(input, &float_features) || + !FeaturesNear(input, {{chrome_lang_id::kScriptHebrew, 1.00}}, + float_features)) { + test_successful = false; + } + + // One UTF8 character with some numbers / punctuation / spaces: character at + // one extremity or in the middle. + input = "1234ゟ"; + if (!extractor.Extract(input, &float_features) || + !FeaturesNear(input, {{chrome_lang_id::kScriptHiragana, 1.00}}, + float_features)) { + test_successful = false; + } + + input = "ゟ12-("; + if (!extractor.Extract(input, &float_features) || + !FeaturesNear(input, {{chrome_lang_id::kScriptHiragana, 1.00}}, + float_features)) { + test_successful = false; + } + + input = "8*1ゟ12----"; + if (!extractor.Extract(input, &float_features) || + !FeaturesNear(input, {{chrome_lang_id::kScriptHiragana, 1.00}}, + float_features)) { + test_successful = false; + } + + return test_successful; +} + +} // namespace relevant_script_feature_test +} // namespace chrome_lang_id + +// Runs the feature extraction tests. +int main(int argc, char **argv) { + const bool tests_successful = + chrome_lang_id::relevant_script_feature_test::TestCommonCases() && + chrome_lang_id::relevant_script_feature_test::TestCornerCases(); + return tests_successful ? 0 : 1; +} diff --git a/chromium/third_party/cld_3/src/src/script_detector.h b/chromium/third_party/cld_3/src/src/script_detector.h new file mode 100644 index 00000000000..b3c4f6a7d2c --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_detector.h @@ -0,0 +1,156 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef SCRIPT_DETECTOR_H_ +#define SCRIPT_DETECTOR_H_ + +namespace chrome_lang_id { + +// Unicode scripts we care about. To get compact and fast code, we detect only +// a few Unicode scripts that offer a strong indication about the language of +// the text (e.g., Hiragana -> Japanese). +enum Script { + // Special value to indicate internal errors in the script detection code. + kScriptError, + + // Special values for all Unicode scripts that we do not detect. One special + // value for Unicode characters of 1, 2, 3, respectively 4 bytes (as we + // already have that information, we use it). kScriptOtherUtf8OneByte means + // ~Latin and kScriptOtherUtf8FourBytes means ~Han. + kScriptOtherUtf8OneByte, + kScriptOtherUtf8TwoBytes, + kScriptOtherUtf8ThreeBytes, + kScriptOtherUtf8FourBytes, + + kScriptGreek, + kScriptCyrillic, + kScriptHebrew, + kScriptArabic, + kScriptHangulJamo, // Used primarily for Korean. + kScriptHiragana, // Used primarily for Japanese. + kScriptKatakana, // Used primarily for Japanese. + + // Add new scripts here. + + // Do not add any script after kNumRelevantScripts. This value indicates the + // number of elements in this enum Script (except this value) such that we can + // easily iterate over the scripts. + kNumRelevantScripts, +}; + +template <typename IntType> +inline bool InRange(IntType value, IntType low, IntType hi) { + return (value >= low) && (value <= hi); +} + +// Returns Script for the UTF8 character that starts at address p. +// Precondition: p points to a valid UTF8 character of num_bytes bytes. +inline Script GetScript(const unsigned char *p, int num_bytes) { + switch (num_bytes) { + case 1: + return kScriptOtherUtf8OneByte; + + case 2: { + // 2-byte UTF8 characters have 11 bits of information. unsigned int has + // at least 16 bits (http://en.cppreference.com/w/cpp/language/types) so + // it's enough. It's also usually the fastest int type on the current + // CPU, so it's better to use than int32. + static const unsigned int kGreekStart = 0x370; + + // Commented out (unsued in the code): kGreekEnd = 0x3FF; + static const unsigned int kCyrillicStart = 0x400; + static const unsigned int kCyrillicEnd = 0x4FF; + static const unsigned int kHebrewStart = 0x590; + + // Commented out (unsued in the code): kHebrewEnd = 0x5FF; + static const unsigned int kArabicStart = 0x600; + static const unsigned int kArabicEnd = 0x6FF; + const unsigned int codepoint = ((p[0] & 0x1F) << 6) | (p[1] & 0x3F); + if (codepoint > kCyrillicEnd) { + if (codepoint >= kArabicStart) { + if (codepoint <= kArabicEnd) { + return kScriptArabic; + } + } else { + // At this point, codepoint < kArabicStart = kHebrewEnd + 1, so + // codepoint <= kHebrewEnd. + if (codepoint >= kHebrewStart) { + return kScriptHebrew; + } + } + } else { + if (codepoint >= kCyrillicStart) { + return kScriptCyrillic; + } else { + // At this point, codepoint < kCyrillicStart = kGreekEnd + 1, so + // codepoint <= kGreekEnd. + if (codepoint >= kGreekStart) { + return kScriptGreek; + } + } + } + return kScriptOtherUtf8TwoBytes; + } + + case 3: { + // 3-byte UTF8 characters have 16 bits of information. unsigned int has + // at least 16 bits. + static const unsigned int kHangulJamoStart = 0x1100; + static const unsigned int kHangulJamoEnd = 0x11FF; + static const unsigned int kHiraganaStart = 0x3041; + static const unsigned int kHiraganaEnd = 0x309F; + + // Commented out (unsued in the code): kKatakanaStart = 0x30A0; + static const unsigned int kKatakanaEnd = 0x30FF; + const unsigned int codepoint = + ((p[0] & 0x0F) << 12) | ((p[1] & 0x3F) << 6) | (p[2] & 0x3F); + if (codepoint > kHiraganaEnd) { + // On this branch, codepoint > kHiraganaEnd = kKatakanaStart - 1, so + // codepoint >= kKatakanaStart. + if (codepoint <= kKatakanaEnd) { + return kScriptKatakana; + } + } else { + if (codepoint >= kHiraganaStart) { + return kScriptHiragana; + } else { + if (InRange(codepoint, kHangulJamoStart, kHangulJamoEnd)) { + return kScriptHangulJamo; + } + } + } + return kScriptOtherUtf8ThreeBytes; + } + + case 4: + return kScriptOtherUtf8FourBytes; + + default: + return kScriptError; + } +} + +// Returns Script for the UTF8 character that starts at address p. Similar to +// the previous version of GetScript, except for "char" vs "unsigned char". +// Most code works with "char *" pointers, ignoring the fact that char is +// unsigned (by default) on most platforms, but signed on iOS. This code takes +// care of making sure we always treat chars as unsigned. +inline Script GetScript(const char *p, int num_bytes) { + return GetScript(reinterpret_cast<const unsigned char *>(p), num_bytes); +} + +} // namespace chrome_lang_id + +#endif // SCRIPT_DETECTOR_H_ diff --git a/chromium/third_party/cld_3/src/src/script_detector_test.cc b/chromium/third_party/cld_3/src/src/script_detector_test.cc new file mode 100644 index 00000000000..50bea8f351b --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_detector_test.cc @@ -0,0 +1,161 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "script_detector.h" + +#include <iostream> + +#include "utils.h" + +namespace chrome_lang_id { +namespace script_detector_test { + +Script GetScript(const char *p) { + const int num_bytes = utils::OneCharLen(p); + return chrome_lang_id::GetScript(p, num_bytes); +} + +bool PrintAndReturnStatus(bool status) { + if (status) { + std::cout << " Success" << std::endl; + return true; + } else { + std::cout << " Failure" << std::endl; + return false; + } +} + +bool TestGreekScript() { + std::cout << "Running " << __FUNCTION__ << std::endl; + + // The first two conditions check first / last character from the Greek and + // Coptic script. The last two ones are negative tests. + return PrintAndReturnStatus( + kScriptGreek == GetScript("Ͱ") && kScriptGreek == GetScript("Ͽ") && + kScriptGreek == GetScript("δ") && kScriptGreek == GetScript("Θ") && + kScriptGreek == GetScript("Δ") && kScriptGreek != GetScript("a") && + kScriptGreek != GetScript("0")); +} + +bool TestCyrillicScript() { + std::cout << "Running " << __FUNCTION__ << std::endl; + return PrintAndReturnStatus( + kScriptCyrillic == GetScript("Ѐ") && kScriptCyrillic == GetScript("ӿ") && + kScriptCyrillic == GetScript("ш") && kScriptCyrillic == GetScript("Б") && + kScriptCyrillic == GetScript("Ӱ")); +} + +bool TestHebrewScript() { + std::cout << "Running " << __FUNCTION__ << std::endl; + return PrintAndReturnStatus( + kScriptHebrew == GetScript("֑") && kScriptHebrew == GetScript("״") && + kScriptHebrew == GetScript("ד") && kScriptHebrew == GetScript("ה") && + kScriptHebrew == GetScript("צ")); +} + +bool TestArabicScript() { + std::cout << "Running " << __FUNCTION__ << std::endl; + return PrintAndReturnStatus(kScriptArabic == GetScript("م") && + kScriptArabic == GetScript("خ")); +} + +bool TestHangulJamoScript() { + std::cout << "Running " << __FUNCTION__ << std::endl; + return PrintAndReturnStatus(kScriptHangulJamo == GetScript("ᄀ") && + kScriptHangulJamo == GetScript("ᇿ") && + kScriptHangulJamo == GetScript("ᄡ") && + kScriptHangulJamo == GetScript("ᆅ") && + kScriptHangulJamo == GetScript("ᅘ")); +} + +bool TestHiraganaScript() { + std::cout << "Running " << __FUNCTION__ << std::endl; + return PrintAndReturnStatus(kScriptHiragana == GetScript("ぁ") && + kScriptHiragana == GetScript("ゟ") && + kScriptHiragana == GetScript("こ") && + kScriptHiragana == GetScript("や") && + kScriptHiragana == GetScript("ぜ")); +} + +bool TestKatakanaScript() { + std::cout << "Running " << __FUNCTION__ << std::endl; + return PrintAndReturnStatus(kScriptKatakana == GetScript("゠") && + kScriptKatakana == GetScript("ヿ") && + kScriptKatakana == GetScript("ヂ") && + kScriptKatakana == GetScript("ザ") && + kScriptKatakana == GetScript("ヸ")); +} + +bool TestOtherScripts() { + std::cout << "Running " << __FUNCTION__ << std::endl; + bool test_successful = true; + + if (kScriptOtherUtf8OneByte != GetScript("^") || + kScriptOtherUtf8OneByte != GetScript("$")) { + test_successful = false; + } + + // Unrecognized 2-byte scripts. For info on the scripts mentioned below, see + // http://www.unicode.org/charts/#scripts Note: the scripts below are uniquely + // associated with a language. Still, the number of queries in those + // languages is small and we didn't want to increase the code size and + // latency, so (at least for now) we do not treat them specially. + // The following three tests are, respectively, for Armenian, Syriac and + // Thaana. + if (kScriptOtherUtf8TwoBytes != GetScript("Ձ") || + kScriptOtherUtf8TwoBytes != GetScript("ܔ") || + kScriptOtherUtf8TwoBytes != GetScript("ށ")) { + test_successful = false; + } + + // Unrecognized 3-byte script: CJK Unified Ideographs: not uniquely associated + // with a language. + if (kScriptOtherUtf8ThreeBytes != GetScript("万") || + kScriptOtherUtf8ThreeBytes != GetScript("両")) { + test_successful = false; + } + + // Unrecognized 4-byte script: CJK Unified Ideographs Extension C. Note: + // there is a nice UTF-8 encoder / decoder at https://mothereff.in/utf-8 + if (kScriptOtherUtf8FourBytes != GetScript("\xF0\xAA\x9C\x94")) { + test_successful = false; + } + + // Unrecognized 4-byte script: CJK Unified Ideographs Extension E + if (kScriptOtherUtf8FourBytes != GetScript("\xF0\xAB\xA0\xB5") || + kScriptOtherUtf8FourBytes != GetScript("\xF0\xAC\xBA\xA1")) { + test_successful = false; + } + + return PrintAndReturnStatus(test_successful); +} + +} // namespace script_detector_test +} // namespace chrome_lang_id + +// Runs the feature extraction tests. +int main(int argc, char **argv) { + const bool tests_successful = + chrome_lang_id::script_detector_test::TestGreekScript() && + chrome_lang_id::script_detector_test::TestCyrillicScript() && + chrome_lang_id::script_detector_test::TestHebrewScript() && + chrome_lang_id::script_detector_test::TestArabicScript() && + chrome_lang_id::script_detector_test::TestHangulJamoScript() && + chrome_lang_id::script_detector_test::TestHiraganaScript() && + chrome_lang_id::script_detector_test::TestKatakanaScript() && + chrome_lang_id::script_detector_test::TestOtherScripts(); + + return tests_successful ? 0 : 1; +} diff --git a/chromium/third_party/cld_3/src/src/script_span/README.md b/chromium/third_party/cld_3/src/src/script_span/README.md new file mode 100644 index 00000000000..86578c1821b --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/README.md @@ -0,0 +1,11 @@ +The code in this directory identifies the scripts present in a given piece of +text along with the corresponding spans. The code was copied from +[CLD2](https://github.com/CLD2Owners/cld2) and was slightly refactored. It can +be further simplified and cleaned up. + + + + + + + diff --git a/chromium/third_party/cld_3/src/src/script_span/fixunicodevalue.cc b/chromium/third_party/cld_3/src/src/script_span/fixunicodevalue.cc new file mode 100644 index 00000000000..373e5ee696a --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/fixunicodevalue.cc @@ -0,0 +1,55 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// Routine that maps a Unicode code point to an interchange-valid one +// + +#include "fixunicodevalue.h" +#include "integral_types.h" + +namespace chrome_lang_id { +namespace CLD2 { + +// Guarantees that the resulting output value is interchange valid +// 00-FF; map to spaces or MS CP1252 +// D800-DFFF; surrogates +// FDD0-FDEF; non-characters +// xxFFFE-xxFFFF; non-characters +char32 FixUnicodeValue(char32 uv) { + uint32 uuv = static_cast<uint32>(uv); + if (uuv < 0x0100) { + return kMapFullMicrosoft1252OrSpace[uuv]; + } + if (uuv < 0xD800) { + return uv; + } + if ((uuv & ~0x0F) == 0xFDD0) { // non-characters + return 0xFFFD; + } + if ((uuv & ~0x0F) == 0xFDE0) { // non-characters + return 0xFFFD; + } + if ((uuv & 0x00FFFE) == 0xFFFE) { // non-characters + return 0xFFFD; + } + if ((0xE000 <= uuv) && (uuv <= 0x10FFFF)) { + return uv; + } + // surrogates and negative and > 0x10FFFF all land here + return 0xFFFD; +} + +} // End namespace CLD2 +} // End namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/script_span/fixunicodevalue.h b/chromium/third_party/cld_3/src/src/script_span/fixunicodevalue.h new file mode 100644 index 00000000000..ec90a9f6256 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/fixunicodevalue.h @@ -0,0 +1,69 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// Routine that maps a Unicode code point to an interchange-valid one +// +// Table that maps MS CP1252 bytes 00-FF to their corresponding Unicode +// code points. C0 and C1 control codes that are not interchange-valid +// are mapped to spaces. + + +#ifndef SCRIPT_SPAN_FIXUNICODEVALUE_H_ +#define SCRIPT_SPAN_FIXUNICODEVALUE_H_ + +#include "integral_types.h" // for char32 +#include "port.h" + +namespace chrome_lang_id { +namespace CLD2 { + +// Map byte value 0000-00FF to char32 +// Maps C0 control codes (other than CR LF HT FF) to space [29 instances including DEL=0x7F] +// Maps C1 control codes to CP1252 [27 instances] or space [5 instances] +static const char32 kMapFullMicrosoft1252OrSpace[256] = { + 0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20, 0x20,0x09,0x0a,0x20, 0x0c,0x0d,0x20,0x20, // 00 + 0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20, 0x20,0x20,0x20,0x20, + 0x20,0x21,0x22,0x23, 0x24,0x25,0x26,0x27, 0x28,0x29,0x2a,0x2b, 0x2c,0x2d,0x2e,0x2f, + 0x30,0x31,0x32,0x33, 0x34,0x35,0x36,0x37, 0x38,0x39,0x3a,0x3b, 0x3c,0x3d,0x3e,0x3f, + + 0x40,0x41,0x42,0x43, 0x44,0x45,0x46,0x47, 0x48,0x49,0x4a,0x4b, 0x4c,0x4d,0x4e,0x4f, // 40 + 0x50,0x51,0x52,0x53, 0x54,0x55,0x56,0x57, 0x58,0x59,0x5a,0x5b, 0x5c,0x5d,0x5e,0x5f, + 0x60,0x61,0x62,0x63, 0x64,0x65,0x66,0x67, 0x68,0x69,0x6a,0x6b, 0x6c,0x6d,0x6e,0x6f, + 0x70,0x71,0x72,0x73, 0x74,0x75,0x76,0x77, 0x78,0x79,0x7a,0x7b, 0x7c,0x7d,0x7e,0x20, + + 0x20ac,0x20,0x201a,0x0192, 0x201e,0x2026,0x2020,0x2021, // 80 + 0x02c6,0x2030,0x0160,0x2039, 0x0152,0x20,0x017d,0x20, + 0x20,0x2018,0x2019,0x201c, 0x201d,0x2022,0x2013,0x2014, + 0x02dc,0x2122,0x0161,0x203a, 0x0153,0x20,0x017e,0x0178, + 0xa0,0xa1,0xa2,0xa3, 0xa4,0xa5,0xa6,0xa7, 0xa8,0xa9,0xaa,0xab, 0xac,0xad,0xae,0xaf, // A0 + 0xb0,0xb1,0xb2,0xb3, 0xb4,0xb5,0xb6,0xb7, 0xb8,0xb9,0xba,0xbb, 0xbc,0xbd,0xbe,0xbf, + + 0xc0,0xc1,0xc2,0xc3, 0xc4,0xc5,0xc6,0xc7, 0xc8,0xc9,0xca,0xcb, 0xcc,0xcd,0xce,0xcf, // C0 + 0xd0,0xd1,0xd2,0xd3, 0xd4,0xd5,0xd6,0xd7, 0xd8,0xd9,0xda,0xdb, 0xdc,0xdd,0xde,0xdf, + 0xe0,0xe1,0xe2,0xe3, 0xe4,0xe5,0xe6,0xe7, 0xe8,0xe9,0xea,0xeb, 0xec,0xed,0xee,0xef, + 0xf0,0xf1,0xf2,0xf3, 0xf4,0xf5,0xf6,0xf7, 0xf8,0xf9,0xfa,0xfb, 0xfc,0xfd,0xfe,0xff, +}; + +// Guarantees that the resulting output value is interchange valid +// 00-FF; map to spaces or MS CP1252 +// D800-DFFF; surrogates +// FDD0-FDEF; non-characters +// xxFFFE-xxFFFF; non-characters +char32 FixUnicodeValue(char32 uv); + +} // End namespace CLD2 +} // End namespace chrome_lang_id + +#endif // SCRIPT_SPAN_FIXUNICODEVALUE_H_ diff --git a/chromium/third_party/cld_3/src/src/script_span/generated_entities.cc b/chromium/third_party/cld_3/src/src/script_span/generated_entities.cc new file mode 100644 index 00000000000..3f3bacf178c --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/generated_entities.cc @@ -0,0 +1,296 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// generated_entities.cc +// Machine generated. Do Not Edit. +// +// Declarations for HTML entities recognized by CLD2 +// +#include "generated_ulscript.h" // for CharIntPair + +namespace chrome_lang_id { +namespace CLD2 { + +// Alphabetical order for binary search +extern const int kNameToEntitySize = 265; +extern const CharIntPair kNameToEntity[kNameToEntitySize] = { + {"AElig", 198}, + {"AMP", 38}, + {"Aacute", 193}, + {"Acirc", 194}, + {"Agrave", 192}, + {"Alpha", 913}, + {"Aring", 197}, + {"Atilde", 195}, + {"Auml", 196}, + {"Beta", 914}, + {"Ccaron", 268}, + {"Ccedil", 199}, + {"Chi", 935}, + {"Dagger", 8225}, + {"Delta", 916}, + {"ETH", 208}, + {"Eacute", 201}, + {"Ecaron", 282}, + {"Ecirc", 202}, + {"Egrave", 200}, + {"Epsilon", 917}, + {"Eta", 919}, + {"Euml", 203}, + {"GT", 62}, + {"Gamma", 915}, + {"Iacute", 205}, + {"Icirc", 206}, + {"Igrave", 204}, + {"Iota", 921}, + {"Iuml", 207}, + {"Kappa", 922}, + {"LT", 60}, + {"Lambda", 923}, + {"Mu", 924}, + {"Ntilde", 209}, + {"Nu", 925}, + {"OElig", 338}, + {"Oacute", 211}, + {"Ocirc", 212}, + {"Ograve", 210}, + {"Omega", 937}, + {"Omicron", 927}, + {"Oslash", 216}, + {"Otilde", 213}, + {"Ouml", 214}, + {"Phi", 934}, + {"Pi", 928}, + {"Prime", 8243}, + {"Psi", 936}, + {"QUOT", 34}, + {"Rcaron", 344}, + {"Rho", 929}, + {"Scaron", 352}, + {"Sigma", 931}, + {"THORN", 222}, + {"Tau", 932}, + {"Theta", 920}, + {"Uacute", 218}, + {"Ucirc", 219}, + {"Ugrave", 217}, + {"Upsilon", 933}, + {"Uuml", 220}, + {"Xi", 926}, + {"Yacute", 221}, + {"Yuml", 376}, + {"Zeta", 918}, + {"aacute", 225}, + {"acirc", 226}, + {"acute", 180}, + {"aelig", 230}, + {"agrave", 224}, + {"alefsym", 8501}, + {"alpha", 945}, + {"amp", 38}, + {"and", 8743}, + {"ang", 8736}, + {"apos", 39}, + {"aring", 229}, + {"asymp", 8776}, + {"atilde", 227}, + {"auml", 228}, + {"bdquo", 8222}, + {"beta", 946}, + {"brvbar", 166}, + {"bull", 8226}, + {"cap", 8745}, + {"ccaron", 269}, + {"ccedil", 231}, + {"cedil", 184}, + {"cent", 162}, + {"chi", 967}, + {"circ", 710}, + {"clubs", 9827}, + {"cong", 8773}, + {"copy", 169}, + {"crarr", 8629}, + {"cup", 8746}, + {"curren", 164}, + {"dArr", 8659}, + {"dagger", 8224}, + {"darr", 8595}, + {"deg", 176}, + {"delta", 948}, + {"diams", 9830}, + {"divide", 247}, + {"eacute", 233}, + {"ecaron", 283}, + {"ecirc", 234}, + {"egrave", 232}, + {"emdash", 8212}, + {"empty", 8709}, + {"emsp", 8195}, + {"endash", 8211}, + {"ensp", 8194}, + {"epsilon", 949}, + {"equiv", 8801}, + {"eta", 951}, + {"eth", 240}, + {"euml", 235}, + {"euro", 8364}, + {"exist", 8707}, + {"fnof", 402}, + {"forall", 8704}, + {"frac12", 189}, + {"frac14", 188}, + {"frac34", 190}, + {"frasl", 8260}, + {"gamma", 947}, + {"ge", 8805}, + {"gt", 62}, + {"hArr", 8660}, + {"harr", 8596}, + {"hearts", 9829}, + {"hellip", 8230}, + {"iacute", 237}, + {"icirc", 238}, + {"iexcl", 161}, + {"igrave", 236}, + {"image", 8465}, + {"infin", 8734}, + {"int", 8747}, + {"iota", 953}, + {"iquest", 191}, + {"isin", 8712}, + {"iuml", 239}, + {"kappa", 954}, + {"lArr", 8656}, + {"lambda", 955}, + {"lang", 9001}, + {"laquo", 171}, + {"larr", 8592}, + {"lceil", 8968}, + {"ldquo", 8220}, + {"le", 8804}, + {"lfloor", 8970}, + {"lowast", 8727}, + {"loz", 9674}, + {"lrm", 8206}, + {"lsaquo", 8249}, + {"lsquo", 8216}, + {"lt", 60}, + {"macr", 175}, + {"mdash", 8212}, + {"micro", 181}, + {"middot", 183}, + {"minus", 8722}, + {"mu", 956}, + {"nabla", 8711}, + {"nbsp", 160}, + {"ndash", 8211}, + {"ne", 8800}, + {"ni", 8715}, + {"not", 172}, + {"notin", 8713}, + {"nsub", 8836}, + {"ntilde", 241}, + {"nu", 957}, + {"oacute", 243}, + {"ocirc", 244}, + {"oelig", 339}, + {"ograve", 242}, + {"oline", 8254}, + {"omega", 969}, + {"omicron", 959}, + {"oplus", 8853}, + {"or", 8744}, + {"ordf", 170}, + {"ordm", 186}, + {"oslash", 248}, + {"otilde", 245}, + {"otimes", 8855}, + {"ouml", 246}, + {"para", 182}, + {"part", 8706}, + {"permil", 8240}, + {"perp", 8869}, + {"phi", 966}, + {"pi", 960}, + {"piv", 982}, + {"plusmn", 177}, + {"pound", 163}, + {"prime", 8242}, + {"prod", 8719}, + {"prop", 8733}, + {"psi", 968}, + {"quot", 34}, + {"rArr", 8658}, + {"radic", 8730}, + {"rang", 9002}, + {"raquo", 187}, + {"rarr", 8594}, + {"rcaron", 345}, + {"rceil", 8969}, + {"rdquo", 8221}, + {"real", 8476}, + {"reg", 174}, + {"rfloor", 8971}, + {"rho", 961}, + {"rlm", 8207}, + {"rsaquo", 8250}, + {"rsquo", 8217}, + {"sbquo", 8218}, + {"scaron", 353}, + {"sdot", 8901}, + {"sect", 167}, + {"shy", 173}, + {"sigma", 963}, + {"sigmaf", 962}, + {"sim", 8764}, + {"spades", 9824}, + {"sub", 8834}, + {"sube", 8838}, + {"sum", 8721}, + {"sup", 8835}, + {"sup1", 185}, + {"sup2", 178}, + {"sup3", 179}, + {"supe", 8839}, + {"szlig", 223}, + {"tau", 964}, + {"there4", 8756}, + {"theta", 952}, + {"thetasym", 977}, + {"thinsp", 8201}, + {"thorn", 254}, + {"tilde", 732}, + {"times", 215}, + {"trade", 8482}, + {"uArr", 8657}, + {"uacute", 250}, + {"uarr", 8593}, + {"ucirc", 251}, + {"ugrave", 249}, + {"uml", 168}, + {"upsih", 978}, + {"upsilon", 965}, + {"uuml", 252}, + {"weierp", 8472}, + {"xi", 958}, + {"yacute", 253}, + {"yen", 165}, + {"yuml", 255}, + {"zeta", 950}, + {"zwj", 8205}, + {"zwnj", 8204}, +}; + +} // namespace CLD2 +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/script_span/generated_ulscript.cc b/chromium/third_party/cld_3/src/src/script_span/generated_ulscript.cc new file mode 100644 index 00000000000..8a2b39b68f0 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/generated_ulscript.cc @@ -0,0 +1,678 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// generated_ulscript.cc +// Machine generated. Do Not Edit. +// +// Declarations for scripts recognized by CLD2 +// + +#include "generated_ulscript.h" + +namespace chrome_lang_id { +namespace CLD2 { + +// Subscripted by enum ULScript +extern const int kULScriptToNameSize = 102; +extern const char* const kULScriptToName[kULScriptToNameSize] = { + "Common", // 0 Zyyy + "Latin", // 1 Latn + "Greek", // 2 Grek + "Cyrillic", // 3 Cyrl + "Armenian", // 4 Armn + "Hebrew", // 5 Hebr + "Arabic", // 6 Arab + "Syriac", // 7 Syrc + "Thaana", // 8 Thaa + "Devanagari", // 9 Deva + "Bengali", // 10 Beng + "Gurmukhi", // 11 Guru + "Gujarati", // 12 Gujr + "Oriya", // 13 Orya + "Tamil", // 14 Taml + "Telugu", // 15 Telu + "Kannada", // 16 Knda + "Malayalam", // 17 Mlym + "Sinhala", // 18 Sinh + "Thai", // 19 Thai + "Lao", // 20 Laoo + "Tibetan", // 21 Tibt + "Myanmar", // 22 Mymr + "Georgian", // 23 Geor + "Hani", // 24 Hani + "Ethiopic", // 25 Ethi + "Cherokee", // 26 Cher + "Canadian_Aboriginal", // 27 Cans + "Ogham", // 28 Ogam + "Runic", // 29 Runr + "Khmer", // 30 Khmr + "Mongolian", // 31 Mong + "", // 32 + "", // 33 + "Bopomofo", // 34 Bopo + "", // 35 + "Yi", // 36 Yiii + "Old_Italic", // 37 Ital + "Gothic", // 38 Goth + "Deseret", // 39 Dsrt + "Inherited", // 40 Zinh + "Tagalog", // 41 Tglg + "Hanunoo", // 42 Hano + "Buhid", // 43 Buhd + "Tagbanwa", // 44 Tagb + "Limbu", // 45 Limb + "Tai_Le", // 46 Tale + "Linear_B", // 47 Linb + "Ugaritic", // 48 Ugar + "Shavian", // 49 Shaw + "Osmanya", // 50 Osma + "Cypriot", // 51 Cprt + "Braille", // 52 Brai + "Buginese", // 53 Bugi + "Coptic", // 54 Copt + "New_Tai_Lue", // 55 Talu + "Glagolitic", // 56 Glag + "Tifinagh", // 57 Tfng + "Syloti_Nagri", // 58 Sylo + "Old_Persian", // 59 Xpeo + "Kharoshthi", // 60 Khar + "Balinese", // 61 Bali + "Cuneiform", // 62 Xsux + "Phoenician", // 63 Phnx + "Phags_Pa", // 64 Phag + "Nko", // 65 Nkoo + "Sundanese", // 66 Sund + "Lepcha", // 67 Lepc + "Ol_Chiki", // 68 Olck + "Vai", // 69 Vaii + "Saurashtra", // 70 Saur + "Kayah_Li", // 71 Kali + "Rejang", // 72 Rjng + "Lycian", // 73 Lyci + "Carian", // 74 Cari + "Lydian", // 75 Lydi + "Cham", // 76 Cham + "Tai_Tham", // 77 Lana + "Tai_Viet", // 78 Tavt + "Avestan", // 79 Avst + "Egyptian_Hieroglyphs", // 80 Egyp + "Samaritan", // 81 Samr + "Lisu", // 82 Lisu + "Bamum", // 83 Bamu + "Javanese", // 84 Java + "Meetei_Mayek", // 85 Mtei + "Imperial_Aramaic", // 86 Armi + "Old_South_Arabian", // 87 Sarb + "Inscriptional_Parthian", // 88 Prti + "Inscriptional_Pahlavi", // 89 Phli + "Old_Turkic", // 90 Orkh + "Kaithi", // 91 Kthi + "Batak", // 92 Batk + "Brahmi", // 93 Brah + "Mandaic", // 94 Mand + "Chakma", // 95 Cakm + "Meroitic_Cursive", // 96 Merc + "Meroitic_Hieroglyphs", // 97 Mero + "Miao", // 98 Plrd + "Sharada", // 99 Shrd + "Sora_Sompeng", // 100 Sora + "Takri", // 101 Takr +}; + +// Subscripted by enum ULScript +extern const int kULScriptToCodeSize = 102; +extern const char* const kULScriptToCode[kULScriptToCodeSize] = { + "Zyyy", // 0 Common + "Latn", // 1 Latin + "Grek", // 2 Greek + "Cyrl", // 3 Cyrillic + "Armn", // 4 Armenian + "Hebr", // 5 Hebrew + "Arab", // 6 Arabic + "Syrc", // 7 Syriac + "Thaa", // 8 Thaana + "Deva", // 9 Devanagari + "Beng", // 10 Bengali + "Guru", // 11 Gurmukhi + "Gujr", // 12 Gujarati + "Orya", // 13 Oriya + "Taml", // 14 Tamil + "Telu", // 15 Telugu + "Knda", // 16 Kannada + "Mlym", // 17 Malayalam + "Sinh", // 18 Sinhala + "Thai", // 19 Thai + "Laoo", // 20 Lao + "Tibt", // 21 Tibetan + "Mymr", // 22 Myanmar + "Geor", // 23 Georgian + "Hani", // 24 Hani + "Ethi", // 25 Ethiopic + "Cher", // 26 Cherokee + "Cans", // 27 Canadian_Aboriginal + "Ogam", // 28 Ogham + "Runr", // 29 Runic + "Khmr", // 30 Khmer + "Mong", // 31 Mongolian + "", // 32 + "", // 33 + "Bopo", // 34 Bopomofo + "", // 35 + "Yiii", // 36 Yi + "Ital", // 37 Old_Italic + "Goth", // 38 Gothic + "Dsrt", // 39 Deseret + "Zinh", // 40 Inherited + "Tglg", // 41 Tagalog + "Hano", // 42 Hanunoo + "Buhd", // 43 Buhid + "Tagb", // 44 Tagbanwa + "Limb", // 45 Limbu + "Tale", // 46 Tai_Le + "Linb", // 47 Linear_B + "Ugar", // 48 Ugaritic + "Shaw", // 49 Shavian + "Osma", // 50 Osmanya + "Cprt", // 51 Cypriot + "Brai", // 52 Braille + "Bugi", // 53 Buginese + "Copt", // 54 Coptic + "Talu", // 55 New_Tai_Lue + "Glag", // 56 Glagolitic + "Tfng", // 57 Tifinagh + "Sylo", // 58 Syloti_Nagri + "Xpeo", // 59 Old_Persian + "Khar", // 60 Kharoshthi + "Bali", // 61 Balinese + "Xsux", // 62 Cuneiform + "Phnx", // 63 Phoenician + "Phag", // 64 Phags_Pa + "Nkoo", // 65 Nko + "Sund", // 66 Sundanese + "Lepc", // 67 Lepcha + "Olck", // 68 Ol_Chiki + "Vaii", // 69 Vai + "Saur", // 70 Saurashtra + "Kali", // 71 Kayah_Li + "Rjng", // 72 Rejang + "Lyci", // 73 Lycian + "Cari", // 74 Carian + "Lydi", // 75 Lydian + "Cham", // 76 Cham + "Lana", // 77 Tai_Tham + "Tavt", // 78 Tai_Viet + "Avst", // 79 Avestan + "Egyp", // 80 Egyptian_Hieroglyphs + "Samr", // 81 Samaritan + "Lisu", // 82 Lisu + "Bamu", // 83 Bamum + "Java", // 84 Javanese + "Mtei", // 85 Meetei_Mayek + "Armi", // 86 Imperial_Aramaic + "Sarb", // 87 Old_South_Arabian + "Prti", // 88 Inscriptional_Parthian + "Phli", // 89 Inscriptional_Pahlavi + "Orkh", // 90 Old_Turkic + "Kthi", // 91 Kaithi + "Batk", // 92 Batak + "Brah", // 93 Brahmi + "Mand", // 94 Mandaic + "Cakm", // 95 Chakma + "Merc", // 96 Meroitic_Cursive + "Mero", // 97 Meroitic_Hieroglyphs + "Plrd", // 98 Miao + "Shrd", // 99 Sharada + "Sora", // 100 Sora_Sompeng + "Takr", // 101 Takri +}; + +// Subscripted by enum ULScript +extern const int kULScriptToCNameSize = 102; +extern const char* const kULScriptToCName[kULScriptToCNameSize] = { + "ULScript_Common", // 0 Zyyy + "ULScript_Latin", // 1 Latn + "ULScript_Greek", // 2 Grek + "ULScript_Cyrillic", // 3 Cyrl + "ULScript_Armenian", // 4 Armn + "ULScript_Hebrew", // 5 Hebr + "ULScript_Arabic", // 6 Arab + "ULScript_Syriac", // 7 Syrc + "ULScript_Thaana", // 8 Thaa + "ULScript_Devanagari", // 9 Deva + "ULScript_Bengali", // 10 Beng + "ULScript_Gurmukhi", // 11 Guru + "ULScript_Gujarati", // 12 Gujr + "ULScript_Oriya", // 13 Orya + "ULScript_Tamil", // 14 Taml + "ULScript_Telugu", // 15 Telu + "ULScript_Kannada", // 16 Knda + "ULScript_Malayalam", // 17 Mlym + "ULScript_Sinhala", // 18 Sinh + "ULScript_Thai", // 19 Thai + "ULScript_Lao", // 20 Laoo + "ULScript_Tibetan", // 21 Tibt + "ULScript_Myanmar", // 22 Mymr + "ULScript_Georgian", // 23 Geor + "ULScript_Hani", // 24 Hani + "ULScript_Ethiopic", // 25 Ethi + "ULScript_Cherokee", // 26 Cher + "ULScript_Canadian_Aboriginal", // 27 Cans + "ULScript_Ogham", // 28 Ogam + "ULScript_Runic", // 29 Runr + "ULScript_Khmer", // 30 Khmr + "ULScript_Mongolian", // 31 Mong + "ULScript_32", // 32 + "ULScript_33", // 33 + "ULScript_Bopomofo", // 34 Bopo + "ULScript_35", // 35 + "ULScript_Yi", // 36 Yiii + "ULScript_Old_Italic", // 37 Ital + "ULScript_Gothic", // 38 Goth + "ULScript_Deseret", // 39 Dsrt + "ULScript_Inherited", // 40 Zinh + "ULScript_Tagalog", // 41 Tglg + "ULScript_Hanunoo", // 42 Hano + "ULScript_Buhid", // 43 Buhd + "ULScript_Tagbanwa", // 44 Tagb + "ULScript_Limbu", // 45 Limb + "ULScript_Tai_Le", // 46 Tale + "ULScript_Linear_B", // 47 Linb + "ULScript_Ugaritic", // 48 Ugar + "ULScript_Shavian", // 49 Shaw + "ULScript_Osmanya", // 50 Osma + "ULScript_Cypriot", // 51 Cprt + "ULScript_Braille", // 52 Brai + "ULScript_Buginese", // 53 Bugi + "ULScript_Coptic", // 54 Copt + "ULScript_New_Tai_Lue", // 55 Talu + "ULScript_Glagolitic", // 56 Glag + "ULScript_Tifinagh", // 57 Tfng + "ULScript_Syloti_Nagri", // 58 Sylo + "ULScript_Old_Persian", // 59 Xpeo + "ULScript_Kharoshthi", // 60 Khar + "ULScript_Balinese", // 61 Bali + "ULScript_Cuneiform", // 62 Xsux + "ULScript_Phoenician", // 63 Phnx + "ULScript_Phags_Pa", // 64 Phag + "ULScript_Nko", // 65 Nkoo + "ULScript_Sundanese", // 66 Sund + "ULScript_Lepcha", // 67 Lepc + "ULScript_Ol_Chiki", // 68 Olck + "ULScript_Vai", // 69 Vaii + "ULScript_Saurashtra", // 70 Saur + "ULScript_Kayah_Li", // 71 Kali + "ULScript_Rejang", // 72 Rjng + "ULScript_Lycian", // 73 Lyci + "ULScript_Carian", // 74 Cari + "ULScript_Lydian", // 75 Lydi + "ULScript_Cham", // 76 Cham + "ULScript_Tai_Tham", // 77 Lana + "ULScript_Tai_Viet", // 78 Tavt + "ULScript_Avestan", // 79 Avst + "ULScript_Egyptian_Hieroglyphs", // 80 Egyp + "ULScript_Samaritan", // 81 Samr + "ULScript_Lisu", // 82 Lisu + "ULScript_Bamum", // 83 Bamu + "ULScript_Javanese", // 84 Java + "ULScript_Meetei_Mayek", // 85 Mtei + "ULScript_Imperial_Aramaic", // 86 Armi + "ULScript_Old_South_Arabian", // 87 Sarb + "ULScript_Inscriptional_Parthian", // 88 Prti + "ULScript_Inscriptional_Pahlavi", // 89 Phli + "ULScript_Old_Turkic", // 90 Orkh + "ULScript_Kaithi", // 91 Kthi + "ULScript_Batak", // 92 Batk + "ULScript_Brahmi", // 93 Brah + "ULScript_Mandaic", // 94 Mand + "ULScript_Chakma", // 95 Cakm + "ULScript_Meroitic_Cursive", // 96 Merc + "ULScript_Meroitic_Hieroglyphs", // 97 Mero + "ULScript_Miao", // 98 Plrd + "ULScript_Sharada", // 99 Shrd + "ULScript_Sora_Sompeng", // 100 Sora + "ULScript_Takri", // 101 Takr +}; + +// Subscripted by enum ULScript +extern const int kULScriptToRtypeSize = 102; +extern const ULScriptRType kULScriptToRtype[kULScriptToRtypeSize] = { + RTypeNone, // 0 Zyyy + RTypeMany, // 1 Latn + RTypeOne, // 2 Grek + RTypeMany, // 3 Cyrl + RTypeOne, // 4 Armn + RTypeMany, // 5 Hebr + RTypeMany, // 6 Arab + RTypeOne, // 7 Syrc + RTypeOne, // 8 Thaa + RTypeMany, // 9 Deva + RTypeMany, // 10 Beng + RTypeOne, // 11 Guru + RTypeOne, // 12 Gujr + RTypeOne, // 13 Orya + RTypeOne, // 14 Taml + RTypeOne, // 15 Telu + RTypeOne, // 16 Knda + RTypeOne, // 17 Mlym + RTypeOne, // 18 Sinh + RTypeOne, // 19 Thai + RTypeOne, // 20 Laoo + RTypeMany, // 21 Tibt + RTypeOne, // 22 Mymr + RTypeOne, // 23 Geor + RTypeCJK, // 24 Hani + RTypeMany, // 25 Ethi + RTypeOne, // 26 Cher + RTypeOne, // 27 Cans + RTypeNone, // 28 Ogam + RTypeNone, // 29 Runr + RTypeOne, // 30 Khmr + RTypeOne, // 31 Mong + RTypeNone, // 32 + RTypeNone, // 33 + RTypeNone, // 34 Bopo + RTypeNone, // 35 + RTypeNone, // 36 Yiii + RTypeNone, // 37 Ital + RTypeNone, // 38 Goth + RTypeNone, // 39 Dsrt + RTypeNone, // 40 Zinh + RTypeOne, // 41 Tglg + RTypeNone, // 42 Hano + RTypeNone, // 43 Buhd + RTypeNone, // 44 Tagb + RTypeOne, // 45 Limb + RTypeNone, // 46 Tale + RTypeNone, // 47 Linb + RTypeNone, // 48 Ugar + RTypeNone, // 49 Shaw + RTypeNone, // 50 Osma + RTypeNone, // 51 Cprt + RTypeNone, // 52 Brai + RTypeNone, // 53 Bugi + RTypeNone, // 54 Copt + RTypeNone, // 55 Talu + RTypeNone, // 56 Glag + RTypeNone, // 57 Tfng + RTypeNone, // 58 Sylo + RTypeNone, // 59 Xpeo + RTypeNone, // 60 Khar + RTypeNone, // 61 Bali + RTypeNone, // 62 Xsux + RTypeNone, // 63 Phnx + RTypeNone, // 64 Phag + RTypeNone, // 65 Nkoo + RTypeNone, // 66 Sund + RTypeNone, // 67 Lepc + RTypeNone, // 68 Olck + RTypeNone, // 69 Vaii + RTypeNone, // 70 Saur + RTypeNone, // 71 Kali + RTypeNone, // 72 Rjng + RTypeNone, // 73 Lyci + RTypeNone, // 74 Cari + RTypeNone, // 75 Lydi + RTypeNone, // 76 Cham + RTypeNone, // 77 Lana + RTypeNone, // 78 Tavt + RTypeNone, // 79 Avst + RTypeNone, // 80 Egyp + RTypeNone, // 81 Samr + RTypeNone, // 82 Lisu + RTypeNone, // 83 Bamu + RTypeNone, // 84 Java + RTypeNone, // 85 Mtei + RTypeNone, // 86 Armi + RTypeNone, // 87 Sarb + RTypeNone, // 88 Prti + RTypeNone, // 89 Phli + RTypeNone, // 90 Orkh + RTypeNone, // 91 Kthi + RTypeNone, // 92 Batk + RTypeNone, // 93 Brah + RTypeNone, // 94 Mand + RTypeNone, // 95 Cakm + RTypeNone, // 96 Merc + RTypeNone, // 97 Mero + RTypeNone, // 98 Plrd + RTypeNone, // 99 Shrd + RTypeNone, // 100 Sora + RTypeNone, // 101 Takr +}; + +// Subscripted by enum ULScript +extern const int kULScriptToDefaultLangSize = 102; + +// Alphabetical order for binary search +extern const int kNameToULScriptSize = 105; +extern const CharIntPair kNameToULScript[kNameToULScriptSize] = { + {"Arabic", 6}, // Arab + {"Armenian", 4}, // Armn + {"Avestan", 79}, // Avst + {"Balinese", 61}, // Bali + {"Bamum", 83}, // Bamu + {"Batak", 92}, // Batk + {"Bengali", 10}, // Beng + {"Bopomofo", 34}, // Bopo + {"Brahmi", 93}, // Brah + {"Braille", 52}, // Brai + {"Buginese", 53}, // Bugi + {"Buhid", 43}, // Buhd + {"Canadian_Aboriginal", 27}, // Cans + {"Carian", 74}, // Cari + {"Chakma", 95}, // Cakm + {"Cham", 76}, // Cham + {"Cherokee", 26}, // Cher + {"Common", 0}, // Zyyy + {"Coptic", 54}, // Copt + {"Cuneiform", 62}, // Xsux + {"Cypriot", 51}, // Cprt + {"Cyrillic", 3}, // Cyrl + {"Deseret", 39}, // Dsrt + {"Devanagari", 9}, // Deva + {"Egyptian_Hieroglyphs", 80}, // Egyp + {"Ethiopic", 25}, // Ethi + {"Georgian", 23}, // Geor + {"Glagolitic", 56}, // Glag + {"Gothic", 38}, // Goth + {"Greek", 2}, // Grek + {"Gujarati", 12}, // Gujr + {"Gurmukhi", 11}, // Guru + {"Han", 24}, // Hant + {"Han", 24}, // Hans + {"Han", 24}, // Hani + {"Hangul", 24}, // Hang + {"Hani", 24}, // Hani + {"Hanunoo", 42}, // Hano + {"Hebrew", 5}, // Hebr + {"Hiragana", 24}, // Hira + {"Imperial_Aramaic", 86}, // Armi + {"Inherited", 40}, // Zinh + {"Inscriptional_Pahlavi", 89}, // Phli + {"Inscriptional_Parthian", 88}, // Prti + {"Javanese", 84}, // Java + {"Kaithi", 91}, // Kthi + {"Kannada", 16}, // Knda + {"Katakana", 24}, // Kana + {"Kayah_Li", 71}, // Kali + {"Kharoshthi", 60}, // Khar + {"Khmer", 30}, // Khmr + {"Lao", 20}, // Laoo + {"Latin", 1}, // Latn + {"Lepcha", 67}, // Lepc + {"Limbu", 45}, // Limb + {"Linear_B", 47}, // Linb + {"Lisu", 82}, // Lisu + {"Lycian", 73}, // Lyci + {"Lydian", 75}, // Lydi + {"Malayalam", 17}, // Mlym + {"Mandaic", 94}, // Mand + {"Meetei_Mayek", 85}, // Mtei + {"Meroitic_Cursive", 96}, // Merc + {"Meroitic_Hieroglyphs", 97}, // Mero + {"Miao", 98}, // Plrd + {"Mongolian", 31}, // Mong + {"Myanmar", 22}, // Mymr + {"New_Tai_Lue", 55}, // Talu + {"Nko", 65}, // Nkoo + {"Ogham", 28}, // Ogam + {"Ol_Chiki", 68}, // Olck + {"Old_Italic", 37}, // Ital + {"Old_Persian", 59}, // Xpeo + {"Old_South_Arabian", 87}, // Sarb + {"Old_Turkic", 90}, // Orkh + {"Oriya", 13}, // Orya + {"Osmanya", 50}, // Osma + {"Phags_Pa", 64}, // Phag + {"Phoenician", 63}, // Phnx + {"Rejang", 72}, // Rjng + {"Runic", 29}, // Runr + {"Samaritan", 81}, // Samr + {"Saurashtra", 70}, // Saur + {"Sharada", 99}, // Shrd + {"Shavian", 49}, // Shaw + {"Sinhala", 18}, // Sinh + {"Sora_Sompeng", 100}, // Sora + {"Sundanese", 66}, // Sund + {"Syloti_Nagri", 58}, // Sylo + {"Syriac", 7}, // Syrc + {"Tagalog", 41}, // Tglg + {"Tagbanwa", 44}, // Tagb + {"Tai_Le", 46}, // Tale + {"Tai_Tham", 77}, // Lana + {"Tai_Viet", 78}, // Tavt + {"Takri", 101}, // Takr + {"Tamil", 14}, // Taml + {"Telugu", 15}, // Telu + {"Thaana", 8}, // Thaa + {"Thai", 19}, // Thai + {"Tibetan", 21}, // Tibt + {"Tifinagh", 57}, // Tfng + {"Ugaritic", 48}, // Ugar + {"Vai", 69}, // Vaii + {"Yi", 36}, // Yiii +}; + +// Alphabetical order for binary search +extern const int kCodeToULScriptSize = 105; +extern const CharIntPair kCodeToULScript[kNameToULScriptSize] = { + {"Arab", 6}, // Arab + {"Armi", 86}, // Armi + {"Armn", 4}, // Armn + {"Avst", 79}, // Avst + {"Bali", 61}, // Bali + {"Bamu", 83}, // Bamu + {"Batk", 92}, // Batk + {"Beng", 10}, // Beng + {"Bopo", 34}, // Bopo + {"Brah", 93}, // Brah + {"Brai", 52}, // Brai + {"Bugi", 53}, // Bugi + {"Buhd", 43}, // Buhd + {"Cakm", 95}, // Cakm + {"Cans", 27}, // Cans + {"Cari", 74}, // Cari + {"Cham", 76}, // Cham + {"Cher", 26}, // Cher + {"Copt", 54}, // Copt + {"Cprt", 51}, // Cprt + {"Cyrl", 3}, // Cyrl + {"Deva", 9}, // Deva + {"Dsrt", 39}, // Dsrt + {"Egyp", 80}, // Egyp + {"Ethi", 25}, // Ethi + {"Geor", 23}, // Geor + {"Glag", 56}, // Glag + {"Goth", 38}, // Goth + {"Grek", 2}, // Grek + {"Gujr", 12}, // Gujr + {"Guru", 11}, // Guru + {"Hang", 24}, // Hang + {"Hani", 24}, // Hani + {"Hani", 24}, // Hani + {"Hano", 42}, // Hano + {"Hans", 24}, // Hans + {"Hant", 24}, // Hant + {"Hebr", 5}, // Hebr + {"Hira", 24}, // Hira + {"Ital", 37}, // Ital + {"Java", 84}, // Java + {"Kali", 71}, // Kali + {"Kana", 24}, // Kana + {"Khar", 60}, // Khar + {"Khmr", 30}, // Khmr + {"Knda", 16}, // Knda + {"Kthi", 91}, // Kthi + {"Lana", 77}, // Lana + {"Laoo", 20}, // Laoo + {"Latn", 1}, // Latn + {"Lepc", 67}, // Lepc + {"Limb", 45}, // Limb + {"Linb", 47}, // Linb + {"Lisu", 82}, // Lisu + {"Lyci", 73}, // Lyci + {"Lydi", 75}, // Lydi + {"Mand", 94}, // Mand + {"Merc", 96}, // Merc + {"Mero", 97}, // Mero + {"Mlym", 17}, // Mlym + {"Mong", 31}, // Mong + {"Mtei", 85}, // Mtei + {"Mymr", 22}, // Mymr + {"Nkoo", 65}, // Nkoo + {"Ogam", 28}, // Ogam + {"Olck", 68}, // Olck + {"Orkh", 90}, // Orkh + {"Orya", 13}, // Orya + {"Osma", 50}, // Osma + {"Phag", 64}, // Phag + {"Phli", 89}, // Phli + {"Phnx", 63}, // Phnx + {"Plrd", 98}, // Plrd + {"Prti", 88}, // Prti + {"Rjng", 72}, // Rjng + {"Runr", 29}, // Runr + {"Samr", 81}, // Samr + {"Sarb", 87}, // Sarb + {"Saur", 70}, // Saur + {"Shaw", 49}, // Shaw + {"Shrd", 99}, // Shrd + {"Sinh", 18}, // Sinh + {"Sora", 100}, // Sora + {"Sund", 66}, // Sund + {"Sylo", 58}, // Sylo + {"Syrc", 7}, // Syrc + {"Tagb", 44}, // Tagb + {"Takr", 101}, // Takr + {"Tale", 46}, // Tale + {"Talu", 55}, // Talu + {"Taml", 14}, // Taml + {"Tavt", 78}, // Tavt + {"Telu", 15}, // Telu + {"Tfng", 57}, // Tfng + {"Tglg", 41}, // Tglg + {"Thaa", 8}, // Thaa + {"Thai", 19}, // Thai + {"Tibt", 21}, // Tibt + {"Ugar", 48}, // Ugar + {"Vaii", 69}, // Vaii + {"Xpeo", 59}, // Xpeo + {"Xsux", 62}, // Xsux + {"Yiii", 36}, // Yiii + {"Zinh", 40}, // Zinh + {"Zyyy", 0}, // Zyyy +}; + +} // namespace CLD2 +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/script_span/generated_ulscript.h b/chromium/third_party/cld_3/src/src/script_span/generated_ulscript.h new file mode 100644 index 00000000000..f2ce51dd16f --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/generated_ulscript.h @@ -0,0 +1,142 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// generated_ulscript.h +// Machine generated. Do Not Edit. +// +// Declarations for scripts recognized by CLD2 +// + +#ifndef SCRIPT_SPAN_GENERATED_ULSCRIPT_H_ +#define SCRIPT_SPAN_GENERATED_ULSCRIPT_H_ + +namespace chrome_lang_id { +namespace CLD2 { + +typedef enum {RTypeNone = 0, RTypeOne, RTypeMany, RTypeCJK} ULScriptRType; + +typedef struct {const char* s; int i;} CharIntPair; + +typedef enum { + ULScript_Common = 0, // Zyyy + ULScript_Latin = 1, // Latn + ULScript_Greek = 2, // Grek + ULScript_Cyrillic = 3, // Cyrl + ULScript_Armenian = 4, // Armn + ULScript_Hebrew = 5, // Hebr + ULScript_Arabic = 6, // Arab + ULScript_Syriac = 7, // Syrc + ULScript_Thaana = 8, // Thaa + ULScript_Devanagari = 9, // Deva + ULScript_Bengali = 10, // Beng + ULScript_Gurmukhi = 11, // Guru + ULScript_Gujarati = 12, // Gujr + ULScript_Oriya = 13, // Orya + ULScript_Tamil = 14, // Taml + ULScript_Telugu = 15, // Telu + ULScript_Kannada = 16, // Knda + ULScript_Malayalam = 17, // Mlym + ULScript_Sinhala = 18, // Sinh + ULScript_Thai = 19, // Thai + ULScript_Lao = 20, // Laoo + ULScript_Tibetan = 21, // Tibt + ULScript_Myanmar = 22, // Mymr + ULScript_Georgian = 23, // Geor + ULScript_Hani = 24, // Hani + ULScript_Ethiopic = 25, // Ethi + ULScript_Cherokee = 26, // Cher + ULScript_Canadian_Aboriginal = 27, // Cans + ULScript_Ogham = 28, // Ogam + ULScript_Runic = 29, // Runr + ULScript_Khmer = 30, // Khmr + ULScript_Mongolian = 31, // Mong + ULScript_32 = 32, // + ULScript_33 = 33, // + ULScript_Bopomofo = 34, // Bopo + ULScript_35 = 35, // + ULScript_Yi = 36, // Yiii + ULScript_Old_Italic = 37, // Ital + ULScript_Gothic = 38, // Goth + ULScript_Deseret = 39, // Dsrt + ULScript_Inherited = 40, // Zinh + ULScript_Tagalog = 41, // Tglg + ULScript_Hanunoo = 42, // Hano + ULScript_Buhid = 43, // Buhd + ULScript_Tagbanwa = 44, // Tagb + ULScript_Limbu = 45, // Limb + ULScript_Tai_Le = 46, // Tale + ULScript_Linear_B = 47, // Linb + ULScript_Ugaritic = 48, // Ugar + ULScript_Shavian = 49, // Shaw + ULScript_Osmanya = 50, // Osma + ULScript_Cypriot = 51, // Cprt + ULScript_Braille = 52, // Brai + ULScript_Buginese = 53, // Bugi + ULScript_Coptic = 54, // Copt + ULScript_New_Tai_Lue = 55, // Talu + ULScript_Glagolitic = 56, // Glag + ULScript_Tifinagh = 57, // Tfng + ULScript_Syloti_Nagri = 58, // Sylo + ULScript_Old_Persian = 59, // Xpeo + ULScript_Kharoshthi = 60, // Khar + ULScript_Balinese = 61, // Bali + ULScript_Cuneiform = 62, // Xsux + ULScript_Phoenician = 63, // Phnx + ULScript_Phags_Pa = 64, // Phag + ULScript_Nko = 65, // Nkoo + ULScript_Sundanese = 66, // Sund + ULScript_Lepcha = 67, // Lepc + ULScript_Ol_Chiki = 68, // Olck + ULScript_Vai = 69, // Vaii + ULScript_Saurashtra = 70, // Saur + ULScript_Kayah_Li = 71, // Kali + ULScript_Rejang = 72, // Rjng + ULScript_Lycian = 73, // Lyci + ULScript_Carian = 74, // Cari + ULScript_Lydian = 75, // Lydi + ULScript_Cham = 76, // Cham + ULScript_Tai_Tham = 77, // Lana + ULScript_Tai_Viet = 78, // Tavt + ULScript_Avestan = 79, // Avst + ULScript_Egyptian_Hieroglyphs = 80, // Egyp + ULScript_Samaritan = 81, // Samr + ULScript_Lisu = 82, // Lisu + ULScript_Bamum = 83, // Bamu + ULScript_Javanese = 84, // Java + ULScript_Meetei_Mayek = 85, // Mtei + ULScript_Imperial_Aramaic = 86, // Armi + ULScript_Old_South_Arabian = 87, // Sarb + ULScript_Inscriptional_Parthian = 88, // Prti + ULScript_Inscriptional_Pahlavi = 89, // Phli + ULScript_Old_Turkic = 90, // Orkh + ULScript_Kaithi = 91, // Kthi + ULScript_Batak = 92, // Batk + ULScript_Brahmi = 93, // Brah + ULScript_Mandaic = 94, // Mand + ULScript_Chakma = 95, // Cakm + ULScript_Meroitic_Cursive = 96, // Merc + ULScript_Meroitic_Hieroglyphs = 97, // Mero + ULScript_Miao = 98, // Plrd + ULScript_Sharada = 99, // Shrd + ULScript_Sora_Sompeng = 100, // Sora + ULScript_Takri = 101, // Takr + NUM_ULSCRIPTS +} ULScript; + +#define UNKNOWN_ULSCRIPT ULScript_Common + +} // namespace CLD2 +} // namespace chrome_lang_id + +#endif // SCRIPT_SPAN_GENERATED_ULSCRIPT_H_ diff --git a/chromium/third_party/cld_3/src/src/script_span/getonescriptspan.cc b/chromium/third_party/cld_3/src/src/script_span/getonescriptspan.cc new file mode 100644 index 00000000000..4607bd8fc04 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/getonescriptspan.cc @@ -0,0 +1,1109 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// Author: dsites@google.com (Dick Sites) +// + + +#include "getonescriptspan.h" + +#include <string.h> + +#include "fixunicodevalue.h" +#include "port.h" +#include "utf8acceptinterchange.h" +#include "utf8repl_lettermarklower.h" +#include "utf8prop_lettermarkscriptnum.h" +#include "utf8scannot_lettermarkspecial.h" +#include "utf8statetable.h" + +namespace chrome_lang_id { +namespace CLD2 { + +// Alphabetical order for binary search, from +// generated_entities.cc +extern const int kNameToEntitySize; +extern const CharIntPair kNameToEntity[]; + +static const char kSpecialSymbol[256] = { // true for < > & + 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,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,1,0,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,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,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,0,0,0,0, +}; + + + +#define LT 0 // < +#define GT 1 // > +#define EX 2 // ! +#define HY 3 // - +#define QU 4 // " +#define AP 5 // ' +#define SL 6 // / +#define S_ 7 +#define C_ 8 +#define R_ 9 +#define I_ 10 +#define P_ 11 +#define T_ 12 +#define Y_ 13 +#define L_ 14 +#define E_ 15 +#define CR 16 // <cr> or <lf> +#define NL 17 // non-letter: ASCII whitespace, digit, punctuation +#define PL 18 // possible letter, incl. & +#define xx 19 // <unused> + +// Map byte to one of ~20 interesting categories for cheap tag parsing +static const uint8 kCharToSub[256] = { + NL,NL,NL,NL, NL,NL,NL,NL, NL,NL,CR,NL, NL,CR,NL,NL, + NL,NL,NL,NL, NL,NL,NL,NL, NL,NL,NL,NL, NL,NL,NL,NL, + NL,EX,QU,NL, NL,NL,PL,AP, NL,NL,NL,NL, NL,HY,NL,SL, + NL,NL,NL,NL, NL,NL,NL,NL, NL,NL,NL,NL, LT,NL,GT,NL, + + PL,PL,PL,C_, PL,E_,PL,PL, PL,I_,PL,PL, L_,PL,PL,PL, + P_,PL,R_,S_, T_,PL,PL,PL, PL,Y_,PL,NL, NL,NL,NL,NL, + PL,PL,PL,C_, PL,E_,PL,PL, PL,I_,PL,PL, L_,PL,PL,PL, + P_,PL,R_,S_, T_,PL,PL,PL, PL,Y_,PL,NL, NL,NL,NL,NL, + + NL,NL,NL,NL, NL,NL,NL,NL, NL,NL,NL,NL, NL,NL,NL,NL, + NL,NL,NL,NL, NL,NL,NL,NL, NL,NL,NL,NL, NL,NL,NL,NL, + NL,NL,NL,NL, NL,NL,NL,NL, NL,NL,NL,NL, NL,NL,NL,NL, + NL,NL,NL,NL, NL,NL,NL,NL, NL,NL,NL,NL, NL,NL,NL,NL, + + PL,PL,PL,PL, PL,PL,PL,PL, PL,PL,PL,PL, PL,PL,PL,PL, + PL,PL,PL,PL, PL,PL,PL,PL, PL,PL,PL,PL, PL,PL,PL,PL, + PL,PL,PL,PL, PL,PL,PL,PL, PL,PL,PL,PL, PL,PL,PL,PL, + PL,PL,PL,PL, PL,PL,PL,PL, PL,PL,PL,PL, PL,PL,PL,PL, +}; + +#undef LT +#undef GT +#undef EX +#undef HY +#undef QU +#undef AP +#undef SL +#undef S_ +#undef C_ +#undef R_ +#undef I_ +#undef P_ +#undef T_ +#undef Y_ +#undef L_ +#undef E_ +#undef CR +#undef NL +#undef PL +#undef xx + + +#define OK 0 +#define X_ 1 + + +static const int kMaxExitStateLettersMarksOnly = 1; +static const int kMaxExitStateAllText = 2; + + +// State machine to do cheap parse of non-letter strings incl. tags +// advances <tag> +// | | +// advances <tag> ... </tag> for <script> <style> +// | | +// advances <!-- ... <tag> ... --> +// | | +// advances <tag +// || (0) +// advances <tag <tag2> +// || (0) +// +// We start in state [0] at a non-letter and make at least one transition +// When scanning for just letters, arriving back at state [0] or [1] exits +// the state machine. +// When scanning for any non-tag text, arriving at state [2] also exits +static const uint8 kTagParseTbl_0[] = { +// < > ! - " ' / S C R I P T Y L E CR NL PL xx + 3, 2, 2, 2, 2, 2, 2,OK, OK,OK,OK,OK, OK,OK,OK,OK, 2, 2,OK,X_, // [0] OK exit state + X_,X_,X_,X_, X_,X_,X_,X_, X_,X_,X_,X_, X_,X_,X_,X_, X_,X_,X_,X_, // [1] error exit state + 3, 2, 2, 2, 2, 2, 2,OK, OK,OK,OK,OK, OK,OK,OK,OK, 2, 2,OK,X_, // [2] NL* [exit state] + X_, 2, 4, 9, 10,11, 9,13, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,X_, // [3] < + X_, 2, 9, 5, 10,11, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,X_, // [4] <! + X_, 2, 9, 6, 10,11, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,X_, // [5] <!- + 6, 6, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,X_, // [6] <!--.* + 6, 6, 6, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,X_, // [7] <!--.*- + 6, 2, 6, 8, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,X_, // [8] <!--.*-- + X_, 2, 9, 9, 10,11, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,X_, // [9] <.* + 10,10,10,10, 9,10,10,10, 10,10,10,10, 10,10,10,10, 12,10,10,X_, // [10] <.*" + 11,11,11,11, 11, 9,11,11, 11,11,11,11, 11,11,11,11, 12,11,11,X_, // [11] <.*' + X_, 2,12,12, 12,12,12,12, 12,12,12,12, 12,12,12,12, 12,12,12,X_, // [12] <.* no " ' + +// < > ! - " ' / S C R I P T Y L E CR NL PL xx + X_, 2, 9, 9, 10,11, 9, 9, 14, 9, 9, 9, 28, 9, 9, 9, 9, 9, 9,X_, // [13] <S + X_, 2, 9, 9, 10,11, 9, 9, 9,15, 9, 9, 9, 9, 9, 9, 9, 9, 9,X_, // [14] <SC + X_, 2, 9, 9, 10,11, 9, 9, 9, 9,16, 9, 9, 9, 9, 9, 9, 9, 9,X_, // [15] <SCR + X_, 2, 9, 9, 10,11, 9, 9, 9, 9, 9,17, 9, 9, 9, 9, 9, 9, 9,X_, // [16] <SCRI + X_, 2, 9, 9, 10,11, 9, 9, 9, 9, 9, 9, 18, 9, 9, 9, 9, 9, 9,X_, // [17] <SCRIP + X_,19, 9, 9, 10,11, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 19,19, 9,X_, // [18] <SCRIPT + 20,19,19,19, 19,19,19,19, 19,19,19,19, 19,19,19,19, 19,19,19,X_, // [19] <SCRIPT .* + 19,19,19,19, 19,19,21,19, 19,19,19,19, 19,19,19,19, 19,19,19,X_, // [20] <SCRIPT .*< + 19,19,19,19, 19,19,19,22, 19,19,19,19, 19,19,19,19, 21,21,19,X_, // [21] <SCRIPT .*</ allow SP CR LF + 19,19,19,19, 19,19,19,19, 23,19,19,19, 19,19,19,19, 19,19,19,X_, // [22] <SCRIPT .*</S + 19,19,19,19, 19,19,19,19, 19,24,19,19, 19,19,19,19, 19,19,19,X_, // [23] <SCRIPT .*</SC + 19,19,19,19, 19,19,19,19, 19,19,25,19, 19,19,19,19, 19,19,19,X_, // [24] <SCRIPT .*</SCR + 19,19,19,19, 19,19,19,19, 19,19,19,26, 19,19,19,19, 19,19,19,X_, // [25] <SCRIPT .*</SCRI + 19,19,19,19, 19,19,19,19, 19,19,19,19, 27,19,19,19, 19,19,19,X_, // [26] <SCRIPT .*</SCRIP + 19, 2,19,19, 19,19,19,19, 19,19,19,19, 19,19,19,19, 19,19,19,X_, // [27] <SCRIPT .*</SCRIPT + +// < > ! - " ' / S C R I P T Y L E CR NL PL xx + X_, 2, 9, 9, 10,11, 9, 9, 9, 9, 9, 9, 9,29, 9, 9, 9, 9, 9,X_, // [28] <ST + X_, 2, 9, 9, 10,11, 9, 9, 9, 9, 9, 9, 9, 9,30, 9, 9, 9, 9,X_, // [29] <STY + X_, 2, 9, 9, 10,11, 9, 9, 9, 9, 9, 9, 9, 9, 9,31, 9, 9, 9,X_, // [30] <STYL + X_,32, 9, 9, 10,11, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 32,32, 9,X_, // [31] <STYLE + 33,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,X_, // [32] <STYLE .* + 32,32,32,32, 32,32,34,32, 32,32,32,32, 32,32,32,32, 32,32,32,X_, // [33] <STYLE .*< + 32,32,32,32, 32,32,32,35, 32,32,32,32, 32,32,32,32, 34,34,32,X_, // [34] <STYLE .*</ allow SP CR LF + 32,32,32,32, 32,32,32,32, 32,32,32,32, 36,32,32,32, 32,32,32,X_, // [35] <STYLE .*</S + 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,37,32,32, 32,32,32,X_, // [36] <STYLE .*</ST + 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,38,32, 32,32,32,X_, // [37] <STYLE .*</STY + 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,39, 32,32,32,X_, // [38] <STYLE .*</STYL + 32, 2,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,32, 32,32,32,X_, // [39] <STYLE .*</STYLE +}; + +#undef OK +#undef X_ + +enum +{ + UTFmax = 4, // maximum bytes per rune + Runesync = 0x80, // cannot represent part of a UTF sequence (<) + Runeself = 0x80, // rune and UTF sequences are the same (<) + Runeerror = 0xFFFD, // decoding error in UTF + Runemax = 0x10FFFF, // maximum rune value +}; + +// Debugging. Not thread safe. +static char gDisplayPiece[32]; +const uint8 gCharlen[16] = {1,1,1,1, 1,1,1,1, 1,1,1,1, 2,2,3,4}; +char* DisplayPiece(const char* next_byte_, int byte_length_) { + // Copy up to 8 UTF-8 chars to buffer + int k = 0; // byte count + int n = 0; // character count + for (int i = 0; i < byte_length_; ++i) { + char c = next_byte_[i]; + if ((c & 0xc0) != 0x80) { + // Beginning of a UTF-8 character + int charlen = gCharlen[static_cast<uint8>(c) >> 4]; + if (i + charlen > byte_length_) {break;} // Not enough room for full char + if (k >= (32 - 7)) {break;} // Not necessarily enough room + if (n >= 8) {break;} // Enough characters already + ++n; + } + if (c == '<') { + memcpy(&gDisplayPiece[k], "<", 4); k += 4; + } else if (c == '>') { + memcpy(&gDisplayPiece[k], ">", 4); k += 4; + } else if (c == '&') { + memcpy(&gDisplayPiece[k], "&", 5); k += 5; + } else if (c == '\'') { + memcpy(&gDisplayPiece[k], "'", 6); k += 6; + } else if (c == '"') { + memcpy(&gDisplayPiece[k], """, 6); k += 6; + } else { + gDisplayPiece[k++] = c; + } + } + gDisplayPiece[k++] = '\0'; + return gDisplayPiece; +} + + + +// runetochar copies (encodes) one rune, pointed to by r, to at most +// UTFmax bytes starting at s and returns the number of bytes generated. +int runetochar(char *str, const char32 *rune) { + // Convert to unsigned for range check. + unsigned long c; + + // 1 char 00-7F + c = *rune; + if(c <= 0x7F) { + str[0] = static_cast<char>(c); + return 1; + } + + // 2 char 0080-07FF + if(c <= 0x07FF) { + str[0] = 0xC0 | static_cast<char>(c >> 1*6); + str[1] = 0x80 | (c & 0x3F); + return 2; + } + + // Range check + if (c > Runemax) { + c = Runeerror; + } + + // 3 char 0800-FFFF + if (c <= 0xFFFF) { + str[0] = 0xE0 | static_cast<char>(c >> 2*6); + str[1] = 0x80 | ((c >> 1*6) & 0x3F); + str[2] = 0x80 | (c & 0x3F); + return 3; + } + + // 4 char 10000-1FFFFF + str[0] = 0xF0 | static_cast<char>(c >> 3*6); + str[1] = 0x80 | ((c >> 2*6) & 0x3F); + str[2] = 0x80 | ((c >> 1*6) & 0x3F); + str[3] = 0x80 | (c & 0x3F); + return 4; +} + + + +// Useful for converting an entity to an ascii value. +// RETURNS unicode value, or -1 if entity isn't valid. Don't include & or ; +int LookupEntity(const char* entity_name, int entity_len) { + // Make a C string + if (entity_len >= 16) {return -1;} // All real entities are shorter + char temp[16]; + memcpy(temp, entity_name, entity_len); + temp[entity_len] = '\0'; + int match = BinarySearch(temp, 0, kNameToEntitySize, kNameToEntity); + if (match >= 0) {return kNameToEntity[match].i;} + return -1; +} + +bool ascii_isdigit(char c) { + return ('0' <= c) && (c <= '9'); +} +bool ascii_isxdigit(char c) { + if (('0' <= c) && (c <= '9')) {return true;} + if (('a' <= c) && (c <= 'f')) {return true;} + if (('A' <= c) && (c <= 'F')) {return true;} + return false; +} +bool ascii_isalnum(char c) { + if (('0' <= c) && (c <= '9')) {return true;} + if (('a' <= c) && (c <= 'z')) {return true;} + if (('A' <= c) && (c <= 'Z')) {return true;} + return false; +} +int hex_digit_to_int(char c) { + if (('0' <= c) && (c <= '9')) {return c - '0';} + if (('a' <= c) && (c <= 'f')) {return c - 'a' + 10;} + if (('A' <= c) && (c <= 'F')) {return c - 'A' + 10;} + return 0; +} + +static int32 strto32_base10(const char* nptr, const char* limit, + const char **endptr) { + *endptr = nptr; + while (nptr < limit && *nptr == '0') { + ++nptr; + } + if (nptr == limit || !ascii_isdigit(*nptr)) + return -1; + const char* end_digits_run = nptr; + while (end_digits_run < limit && ascii_isdigit(*end_digits_run)) { + ++end_digits_run; + } + *endptr = end_digits_run; + const int num_digits = end_digits_run - nptr; + // kint32max == 2147483647. + if (num_digits < 9 || + (num_digits == 10 && memcmp(nptr, "2147483647", 10) <= 0)) { + int value = 0; + for (; nptr < end_digits_run; ++nptr) { + value *= 10; + value += *nptr - '0'; + } + // Overflow past the last valid unicode codepoint + // (0x10ffff) is converted to U+FFFD by FixUnicodeValue(). + return FixUnicodeValue(value); + } else { + // Overflow: can't fit in an int32; + // returns the replacement character 0xFFFD. + return 0xFFFD; + } +} + +static int32 strto32_base16(const char* nptr, const char* limit, + const char **endptr) { + *endptr = nptr; + while (nptr < limit && *nptr == '0') { + ++nptr; + } + if (nptr == limit || !ascii_isxdigit(*nptr)) { + return -1; + } + const char* end_xdigits_run = nptr; + while (end_xdigits_run < limit && ascii_isxdigit(*end_xdigits_run)) { + ++end_xdigits_run; + } + *endptr = end_xdigits_run; + const int num_xdigits = end_xdigits_run - nptr; + // kint32max == 0x7FFFFFFF. + if (num_xdigits < 8 || (num_xdigits == 8 && nptr[0] < '8')) { + int value = 0; + for (; nptr < end_xdigits_run; ++nptr) { + value <<= 4; + value += hex_digit_to_int(*nptr); + } + // Overflow past the last valid unicode codepoint + // (0x10ffff) is converted to U+FFFD by FixUnicodeValue(). + return FixUnicodeValue(value); + } else { + // Overflow: can't fit in an int32; + // returns the replacement character 0xFFFD. + return 0xFFFD; + } +} + +// Unescape the current character pointed to by src. SETS the number +// of chars read for the conversion (in UTF8). If src isn't a valid entity, +// just consume the & and RETURN -1. If src doesn't point to & -- which it +// should -- set src_consumed to 0 and RETURN -1. +int ReadEntity(const char* src, int srcn, int* src_consumed) { + const char* const srcend = src + srcn; + + if (srcn == 0 || *src != '&') { // input should start with an ampersand + *src_consumed = 0; + return -1; + } + *src_consumed = 1; // we'll get the & at least + + // The standards are a bit unclear on when an entity ends. Certainly a ";" + // ends one, but spaces probably do too. We follow the lead of both IE and + // Netscape, which as far as we can tell end numeric entities (1st case below) + // at any non-digit, and end character entities (2nd case) at any non-alnum. + const char* entstart, *entend; // where the entity starts and ends + entstart = src + 1; // read past the & + int entval; // UCS2 value of the entity + if ( *entstart == '#' ) { // -- 1st case: numeric entity + if ( entstart + 2 >= srcend ) { + return -1; // no way a legitimate number could fit + } else if ( entstart[1] == 'x' || entstart[1] == 'X' ) { // hex numeric + entval = strto32_base16(entstart + 2, srcend, &entend); + } else { // decimal numeric entity + entval = strto32_base10(entstart+1, srcend, &entend); + } + if (entval == -1 || entend > srcend) { + return -1; // not entirely correct, but close enough + } + } else { // -- 2nd case: character entity + for (entend = entstart; + entend < srcend && ascii_isalnum(*entend); + ++entend ) { + // entity consists of alphanumeric chars + } + entval = LookupEntity(entstart, entend - entstart); + if (entval < 0) { + return -1; // not a legal entity name + } + // Now we do a strange-seeming IE6-compatibility check: if entval is + // >= 256, it *must* be followed by a semicolon or it's not considered + // an entity. The problem is lots of the newfangled entity names, like + // "lang", also occur in URL CGI arguments: "/search?q=test&lang=en". + // When these links are written in HTML, it would be really bad if the + // "&lang" were treated as an entity, which is what the spec says + // *should* happen (even when the HTML is inside an "A HREF" tag!) + // IE ignores the spec for these new, high-value entities, so we do too. + if ( entval >= 256 && !(entend < srcend && *entend == ';') ) { + return -1; // make non-;-terminated entity illegal + } + } + + // Finally, figure out how much src was consumed + if ( entend < srcend && *entend == ';' ) { + entend++; // standard says ; terminator is special + } + *src_consumed = entend - src; + return entval; +} + + +// Src points to '&' +// Writes entity value to dst. Returns take(src), put(dst) byte counts +void EntityToBuffer(const char* src, int len, char* dst, + int* tlen, int* plen) { + char32 entval = ReadEntity(src, len, tlen); + + // ReadEntity does this already: entval = FixUnicodeValue(entval); + + // Convert UTF-32 to UTF-8 + if (entval > 0) { + *plen = runetochar(dst, &entval); + } else { + // Illegal entity; ignore the '&' + *tlen = 1; + *plen = 0; + } +} + +// Returns true if character is < > or &, none of which are letters +bool inline IsSpecial(char c) { + // Comparison (int != 0) is used to silence the warning: + // 'const char': forcing value to bool + if ((c & 0xe0) == 0x20) { + return (kSpecialSymbol[static_cast<uint8>(c)] != 0); + } + return false; +} + +// Quick Skip to next letter or < > & or to end of string (eos) +// Always return is_letter for eos +int ScanToLetterOrSpecial(const char* src, int len) { + int bytes_consumed; + StringPiece str(src, len); + UTF8GenericScan(&utf8scannot_lettermarkspecial_obj, str, &bytes_consumed); + return bytes_consumed; +} + + + + +// src points to non-letter, such as tag-opening '<' +// Return length from here to next possible letter +// On another < before >, return 1 +// advances <tag> +// | | +// advances <tag> ... </tag> for <script> <style> +// | | +// advances <!-- ... <tag> ... --> +// | | +// advances <tag +// | | end of string +// advances <tag <tag2> +// || +int ScanToPossibleLetter(const char* isrc, int len, int max_exit_state) { + const uint8* src = reinterpret_cast<const uint8*>(isrc); + const uint8* srclimit = src + len; + const uint8* tagParseTbl = kTagParseTbl_0; + int e = 0; + while (src < srclimit) { + e = tagParseTbl[kCharToSub[*src++]]; + if (e <= max_exit_state) { + // We overshot by one byte + --src; + break; + } + tagParseTbl = &kTagParseTbl_0[e * 20]; + } + + if (src >= srclimit) { + // We fell off the end of the text. + // It looks like the most common case for this is a truncated file, not + // mismatched angle brackets. So we pretend that the last char was '>' + return len; + } + + // OK to be in state 0 or state 2 at exit + if ((e != 0) && (e != 2)) { + // Error, '<' followed by '<' + // We want to back up to first <, then advance by one byte past it + int offset = src - reinterpret_cast<const uint8*>(isrc); + + // Backscan to first '<' and return enough length to just get past it + --offset; // back up over the second '<', which caused us to stop + while ((0 < offset) && (isrc[offset] != '<')) { + // Find the first '<', which is unmatched + --offset; + } + // skip to just beyond first '<' + return offset + 1; + } + + return src - reinterpret_cast<const uint8*>(isrc); +} + +// Returns mid if key found in lo <= mid < hi, else -1 +int BinarySearch(const char* key, int lo, int hi, const CharIntPair* cipair) { + // binary search + while (lo < hi) { + int mid = (lo + hi) >> 1; + if (strcmp(key, cipair[mid].s) < 0) { + hi = mid; + } else if (strcmp(key, cipair[mid].s) > 0) { + lo = mid + 1; + } else { + return mid; + } + } + return -1; +} + +// Returns the length in bytes of the prefix of src that is all +// interchange valid UTF-8 +int SpanInterchangeValid(const char* src, int byte_length) { + int bytes_consumed; + const UTF8ReplaceObj* st = &utf8acceptinterchange_obj; + StringPiece str(src, byte_length); + UTF8GenericScan(st, str, &bytes_consumed); + return bytes_consumed; +} + +ScriptScanner::ScriptScanner(const char* buffer, + int buffer_length, + bool is_plain_text) + : start_byte_(buffer), + next_byte_(buffer), + byte_length_(buffer_length), + is_plain_text_(is_plain_text), + letters_marks_only_(true), + one_script_only_(true), + exit_state_(kMaxExitStateLettersMarksOnly) { + script_buffer_ = new char[kMaxScriptBuffer]; + script_buffer_lower_ = new char[kMaxScriptLowerBuffer]; + map2original_.Clear(); // map from script_buffer_ to buffer + map2uplow_.Clear(); // map from script_buffer_lower_ to script_buffer_ +} + +// Extended version to allow spans of any non-tag text and spans of mixed script +ScriptScanner::ScriptScanner(const char* buffer, + int buffer_length, + bool is_plain_text, + bool any_text, + bool any_script) + : start_byte_(buffer), + next_byte_(buffer), + byte_length_(buffer_length), + is_plain_text_(is_plain_text), + letters_marks_only_(!any_text), + one_script_only_(!any_script), + exit_state_(any_text ? kMaxExitStateAllText : kMaxExitStateLettersMarksOnly) { + script_buffer_ = new char[kMaxScriptBuffer]; + script_buffer_lower_ = new char[kMaxScriptLowerBuffer]; + map2original_.Clear(); // map from script_buffer_ to buffer + map2uplow_.Clear(); // map from script_buffer_lower_ to script_buffer_ +} + + +ScriptScanner::~ScriptScanner() { + delete[] script_buffer_; + delete[] script_buffer_lower_; +} + + + + +// Get to the first real non-tag letter or entity that is a letter +// Sets script of that letter +// Return len if no more letters +int ScriptScanner::SkipToFrontOfSpan(const char* src, int len, int* script) { + int sc = UNKNOWN_ULSCRIPT; + int skip = 0; + int tlen, plen; + + // Do run of non-letters (tag | &NL | NL)* + tlen = 0; + while (skip < len) { + // Do fast scan to next interesting byte + // int oldskip = skip; + skip += ScanToLetterOrSpecial(src + skip, len - skip); + + // Check for no more letters/specials + if (skip >= len) { + // All done + *script = sc; + return len; + } + + // We are at a letter, nonletter, tag, or entity + if (IsSpecial(src[skip]) && !is_plain_text_) { + if (src[skip] == '<') { + // Begining of tag; skip to end and go around again + tlen = ScanToPossibleLetter(src + skip, len - skip, + exit_state_); + sc = 0; + } else if (src[skip] == '>') { + // Unexpected end of tag; skip it and go around again + tlen = 1; // Over the > + sc = 0; + } else if (src[skip] == '&') { + // Expand entity, no advance + char temp[4]; + EntityToBuffer(src + skip, len - skip, + temp, &tlen, &plen); + if (plen > 0) { + sc = GetUTF8LetterScriptNum(temp); + } + } + } else { + // Update 1..4 bytes + tlen = UTF8OneCharLen(src + skip); + sc = GetUTF8LetterScriptNum(src + skip); + } + if (sc != 0) {break;} // Letter found + skip += tlen; // Else advance + } + + *script = sc; + return skip; +} + + +// These are for ASCII-only tag names +// Compare one letter uplow to c, ignoring case of uplowp +inline bool EqCase(char uplow, char c) { + return (uplow | 0x20) == c; +} + +// These are for ASCII-only tag names +// Return true for space / < > etc. all less than 0x40 +inline bool NeqLetter(char c) { + return c < 0x40; +} + +// These are for ASCII-only tag names +// Return true for space \n false for \r +inline bool WS(char c) { + return (c == ' ') || (c == '\n'); +} + +// Canonical CR or LF +static const char LF = '\n'; + + +// The naive loop scans from next_byte_ to script_buffer_ until full. +// But this can leave an awkward hard-to-identify short fragment at the +// end of the input. We would prefer to make the next-to-last fragment +// shorter and the last fragment longer. + +// Copy next run of non-tag characters to buffer [NUL terminated] +// This just replaces tags with space or \n and removes entities. +// Tags <br> <p> and <tr> are replaced with \n. Non-letter sequences +// including \r or \n are replaced by \n. All other tags and skipped text +// are replaced with ASCII space. +// +// Buffer ALWAYS has leading space and trailing space space space NUL +bool ScriptScanner::GetOneTextSpan(LangSpan* span) { + span->text = script_buffer_; + span->text_bytes = 0; + span->offset = next_byte_ - start_byte_; + span->ulscript = UNKNOWN_ULSCRIPT; + span->truncated = false; + + int put_soft_limit = kMaxScriptBytes - kWithinScriptTail; + if ((kMaxScriptBytes <= byte_length_) && + (byte_length_ < (2 * kMaxScriptBytes))) { + // Try to split the last two fragments in half + put_soft_limit = byte_length_ / 2; + } + + script_buffer_[0] = ' '; // Always a space at front of output + script_buffer_[1] = '\0'; + int take = 0; + int put = 1; // Start after the initial space + int tlen = 0, plen = 0; + + if (byte_length_ <= 0) { + return false; // No more text to be found + } + + // Go over alternating spans of text and tags, + // copying letters to buffer with single spaces for each run of non-letters + bool last_byte_was_space = false; + while (take < byte_length_) { + char c = next_byte_[take]; + if (c == '\r') {c = LF;} // Canonical CR or LF + if (c == '\n') {c = LF;} // Canonical CR or LF + + if (IsSpecial(c) && !is_plain_text_) { + if (c == '<') { + // Replace tag with space + c = ' '; // for almost-full test below + // or if <p> <br> <tr>, replace with \n + if (take < (byte_length_ - 3)) { + if (EqCase(next_byte_[take + 1], 'p') && + NeqLetter(next_byte_[take + 2])) { + c = LF; + } + if (EqCase(next_byte_[take + 1], 'b') && + EqCase(next_byte_[take + 2], 'r') && + NeqLetter(next_byte_[take + 3])) { + c = LF; + } + if (EqCase(next_byte_[take + 1], 't') && + EqCase(next_byte_[take + 2], 'r') && + NeqLetter(next_byte_[take + 3])) { + c = LF; + } + } + // Begining of tag; skip to end and go around again + tlen = 1 + ScanToPossibleLetter(next_byte_ + take, byte_length_ - take, + exit_state_); + // Copy one byte, compressing spaces + if (!last_byte_was_space || !WS(c)) { + script_buffer_[put++] = c; // Advance dest + last_byte_was_space = WS(c); + } + } else if (c == '>') { + // Unexpected end of tag; copy it and go around again + tlen = 1; // Over the > + script_buffer_[put++] = c; // Advance dest + } else if (c == '&') { + // Expand entity, no advance + EntityToBuffer(next_byte_ + take, byte_length_ - take, + script_buffer_ + put, &tlen, &plen); + put += plen; // Advance dest + } + take += tlen; // Advance source + } else { + // Copy one byte, compressing spaces + if (!last_byte_was_space || !WS(c)) { + script_buffer_[put++] = c; // Advance dest + last_byte_was_space = WS(c); + } + ++take; // Advance source + } + + if (WS(c) && + (put >= put_soft_limit)) { + // Buffer is almost full + span->truncated = true; + break; + } + if (put >= kMaxScriptBytes) { + // Buffer is completely full + span->truncated = true; + break; + } + } + + // Almost done. Back up to a character boundary if needed + while ((0 < take) && ((next_byte_[take] & 0xc0) == 0x80)) { + // Back up over continuation byte + --take; + --put; + } + + // Update input position + next_byte_ += take; + byte_length_ -= take; + + // Put four more spaces/NUL. Worst case is abcd _ _ _ \0 + // kMaxScriptBytes | | put + script_buffer_[put + 0] = ' '; + script_buffer_[put + 1] = ' '; + script_buffer_[put + 2] = ' '; + script_buffer_[put + 3] = '\0'; + + span->text_bytes = put; // Does not include the last four chars above + return true; +} + + +// Copy next run of same-script non-tag letters to buffer [NUL terminated] +// Buffer ALWAYS has leading space and trailing space space space NUL +bool ScriptScanner::GetOneScriptSpan(LangSpan* span) { + if (!letters_marks_only_) { + // Return non-tag text, including punctuation and digits + return GetOneTextSpan(span); + } + + span->text = script_buffer_; + span->text_bytes = 0; + span->offset = next_byte_ - start_byte_; + span->ulscript = UNKNOWN_ULSCRIPT; + span->truncated = false; + + // struct timeval script_start, script_mid, script_end; + + int put_soft_limit = kMaxScriptBytes - kWithinScriptTail; + if ((kMaxScriptBytes <= byte_length_) && + (byte_length_ < (2 * kMaxScriptBytes))) { + // Try to split the last two fragments in half + put_soft_limit = byte_length_ / 2; + } + + + int spanscript; // The script of this span + int sc = UNKNOWN_ULSCRIPT; // The script of next character + int tlen = 0; + int plen = 0; + + script_buffer_[0] = ' '; // Always a space at front of output + script_buffer_[1] = '\0'; + int take = 0; + int put = 1; // Start after the initial space + + // Build offsets from span->text back to start_byte_ + span->offset + // This mapping reflects deletion of non-letters, expansion of + // entities, etc. + map2original_.Clear(); + map2original_.Delete(span->offset); // So that MapBack(0) gives offset + + // Get to the first real non-tag letter or entity that is a letter + int skip = SkipToFrontOfSpan(next_byte_, byte_length_, &spanscript); + next_byte_ += skip; + byte_length_ -= skip; + + if (skip != 1) { + map2original_.Delete(skip); + map2original_.Insert(1); + } else { + map2original_.Copy(1); + } + if (byte_length_ <= 0) { + map2original_.Reset(); + return false; // No more letters to be found + } + + // There is at least one letter, so we know the script for this span + span->ulscript = (ULScript)spanscript; + + + // Go over alternating spans of same-script letters and non-letters, + // copying letters to buffer with single spaces for each run of non-letters + while (take < byte_length_) { + // Copy run of letters in same script (&LS | LS)* + int letter_count = 0; // Keep track of word length + bool need_break = false; + + while (take < byte_length_) { + // We are at a letter, nonletter, tag, or entity + if (IsSpecial(next_byte_[take]) && !is_plain_text_) { + if (next_byte_[take] == '<') { + // Begining of tag + sc = 0; + break; + } else if (next_byte_[take] == '>') { + // Unexpected end of tag + sc = 0; + break; + } else if (next_byte_[take] == '&') { + // Copy entity, no advance + EntityToBuffer(next_byte_ + take, byte_length_ - take, + script_buffer_ + put, &tlen, &plen); + if (plen > 0) { + sc = GetUTF8LetterScriptNum(script_buffer_ + put); + } + } + } else { + // Real letter, safely copy up to 4 bytes, increment by 1..4 + // Will update by 1..4 bytes at Advance, below + tlen = plen = UTF8OneCharLen(next_byte_ + take); + if (take < (byte_length_ - 3)) { + // X86 fast case, does unaligned load/store + UNALIGNED_STORE32(script_buffer_ + put, + UNALIGNED_LOAD32(next_byte_ + take)); + + } else { + // Slow case, happens 1-3 times per input document + memcpy(script_buffer_ + put, next_byte_ + take, plen); + } + sc = GetUTF8LetterScriptNum(next_byte_ + take); + } + + // Allow continue across a single letter in a different script: + // A B D = three scripts, c = common script, i = inherited script, + // - = don't care, ( = take position before the += below + // AAA(A- continue + // + // AAA(BA continue + // AAA(BB break + // AAA(Bc continue (breaks after B) + // AAA(BD break + // AAA(Bi break + // + // AAA(c- break + // + // AAA(i- continue + // + + if ((sc != spanscript) && (sc != ULScript_Inherited)) { + // Might need to break this script span + if (sc == ULScript_Common) { + need_break = true; + } else { + // Look at next following character, ignoring entity as Common + int sc2 = GetUTF8LetterScriptNum(next_byte_ + take + tlen); + if ((sc2 != ULScript_Common) && (sc2 != spanscript)) { + // We found a non-trivial change of script + if (one_script_only_) { + need_break = true; + } + } + } + } + if (need_break) {break;} // Non-letter or letter in wrong script + + take += tlen; // Advance + put += plen; // Advance + + // Update the offset map to reflect take/put lengths + if (tlen == plen) { + map2original_.Copy(tlen); + } else if (tlen < plen) { + map2original_.Copy(tlen); + map2original_.Insert(plen - tlen); + } else { // plen < tlen + map2original_.Copy(plen); + map2original_.Delete(tlen - plen); + } + + ++letter_count; + if (put >= kMaxScriptBytes) { + // Buffer is full + span->truncated = true; + break; + } + } // End while letters + + // Do run of non-letters (tag | &NL | NL)* + while (take < byte_length_) { + // Do fast scan to next interesting byte + tlen = ScanToLetterOrSpecial(next_byte_ + take, byte_length_ - take); + take += tlen; + map2original_.Delete(tlen); + if (take >= byte_length_) {break;} // Might have scanned to end + + // We are at a letter, nonletter, tag, or entity + if (IsSpecial(next_byte_[take]) && !is_plain_text_) { + if (next_byte_[take] == '<') { + // Begining of tag; skip to end and go around again + tlen = ScanToPossibleLetter(next_byte_ + take, byte_length_ - take, + exit_state_); + sc = 0; + } else if (next_byte_[take] == '>') { + // Unexpected end of tag; skip it and go around again + tlen = 1; // Over the > + sc = 0; + } else if (next_byte_[take] == '&') { + // Expand entity, no advance + EntityToBuffer(next_byte_ + take, byte_length_ - take, + script_buffer_ + put, &tlen, &plen); + if (plen > 0) { + sc = GetUTF8LetterScriptNum(script_buffer_ + put); + } + } + } else { + // Update 1..4 + tlen = UTF8OneCharLen(next_byte_ + take); + sc = GetUTF8LetterScriptNum(next_byte_ + take); + } + if (sc != 0) {break;} // Letter found + take += tlen; // Else advance + map2original_.Delete(tlen); + } // End while not-letters + + script_buffer_[put++] = ' '; + map2original_.Insert(1); + + // Letter in wrong script ? + if ((sc != spanscript) && (sc != ULScript_Inherited)) {break;} + if (put >= put_soft_limit) { + // Buffer is almost full + span->truncated = true; + break; + } + } + + // Almost done. Back up to a character boundary if needed + while ((0 < take) && (take < byte_length_) && + ((next_byte_[take] & 0xc0) == 0x80)) { + // Back up over continuation byte + --take; + --put; + } + + // Update input position + next_byte_ += take; + byte_length_ -= take; + + // Put four more spaces/NUL. Worst case is abcd _ _ _ \0 + // kMaxScriptBytes | | put + script_buffer_[put + 0] = ' '; + script_buffer_[put + 1] = ' '; + script_buffer_[put + 2] = ' '; + script_buffer_[put + 3] = '\0'; + map2original_.Insert(4); + map2original_.Reset(); + + span->text_bytes = put; // Does not include the last four chars above + return true; +} + +// Force Latin, Cyrillic, Armenian, Greek scripts to be lowercase +// List changes with each version of Unicode, so just always lowercase +// Unicode 6.2.0: +// ARMENIAN COPTIC CYRILLIC DESERET GEORGIAN GLAGOLITIC GREEK LATIN +void ScriptScanner::LowerScriptSpan(LangSpan* span) { + // If needed, lowercase all the text. If we do it sooner, might miss + // lowercasing an entity such as Á + // We only need to do this for Latn and Cyrl scripts + map2uplow_.Clear(); + // Full Unicode lowercase of the entire buffer, including + // four pad bytes off the end. + // Ahhh. But the last byte 0x00 is not interchange-valid, so we do 3 pad + // bytes and put the 0x00 in explicitly. + // Build an offset map from script_buffer_lower_ back to script_buffer_ + int consumed, filled, changed; + StringPiece istr(span->text, span->text_bytes + 3); + StringPiece ostr(script_buffer_lower_, kMaxScriptLowerBuffer); + + UTF8GenericReplace(&utf8repl_lettermarklower_obj, + istr, ostr, is_plain_text_, + &consumed, &filled, &changed, &map2uplow_); + script_buffer_lower_[filled] = '\0'; + span->text = script_buffer_lower_; + span->text_bytes = filled - 3; + map2uplow_.Reset(); +} + +// Copy next run of same-script non-tag letters to buffer [NUL terminated] +// Force Latin, Cyrillic, Greek scripts to be lowercase +// Buffer ALWAYS has leading space and trailing space space space NUL +bool ScriptScanner::GetOneScriptSpanLower(LangSpan* span) { + bool ok = GetOneScriptSpan(span); + if (ok) { + LowerScriptSpan(span); + } + return ok; +} + +// Maps byte offset in most recent GetOneScriptSpan/Lower +// span->text [0..text_bytes] into an additional byte offset from +// span->offset, to get back to corresponding text in the original +// input buffer. +// text_offset must be the first byte +// of a UTF-8 character, or just beyond the last character. Normally this +// routine is called with the first byte of an interesting range and +// again with the first byte of the following range. +int ScriptScanner::MapBack(int text_offset) { + return map2original_.MapBack(map2uplow_.MapBack(text_offset)); +} + + +// Gets lscript number for letters; always returns +// 0 (common script) for non-letters +int GetUTF8LetterScriptNum(const char* src) { + int srclen = UTF8OneCharLen(src); + const uint8* usrc = reinterpret_cast<const uint8*>(src); + return UTF8GenericPropertyTwoByte(&utf8prop_lettermarkscriptnum_obj, + &usrc, &srclen); +} + +} // namespace CLD2 +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/script_span/getonescriptspan.h b/chromium/third_party/cld_3/src/src/script_span/getonescriptspan.h new file mode 100644 index 00000000000..33a71302bbc --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/getonescriptspan.h @@ -0,0 +1,124 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// Author: dsites@google.com (Dick Sites) +// + + +#ifndef SCRIPT_SPAN_GETONESCRIPTSPAN_H_ +#define SCRIPT_SPAN_GETONESCRIPTSPAN_H_ + +#include "generated_ulscript.h" +#include "integral_types.h" +#include "offsetmap.h" + +namespace chrome_lang_id { +namespace CLD2 { + +static const int kMaxScriptBuffer = 40960; +static const int kMaxScriptLowerBuffer = (kMaxScriptBuffer * 3) / 2; +static const int kMaxScriptBytes = kMaxScriptBuffer - 32; // Leave some room +static const int kWithinScriptTail = 32; // Stop at word space in last + // N bytes of script buffer + +typedef struct { + char* text = nullptr; // Pointer to the span, somewhere + int text_bytes = 0; // Number of bytes of text in the span + int offset = 0; // Offset of start of span in original input buffer + ULScript ulscript = UNKNOWN_ULSCRIPT; // Unicode Letters Script of this span + bool truncated = false; // true if buffer filled up before a + // different script or EOF was found +} LangSpan; + +static inline bool IsContinuationByte(char c) { + return static_cast<signed char>(c) < -64; +} + +// Gets lscript number for letters; always returns +// 0 (common script) for non-letters +int GetUTF8LetterScriptNum(const char* src); + +// Update src pointer to point to next quadgram, +2..+5 +// Looks at src[0..4] +const char* AdvanceQuad(const char* src); + +// Utility routine to search alphabetical tables +int BinarySearch(const char* key, int lo, int hi, const CharIntPair* cipair); + +// Returns the length in bytes of the prefix of src that is all +// interchange valid UTF-8 +int SpanInterchangeValid(const char* src, int byte_length); + +class ScriptScanner { + public: + ScriptScanner(const char* buffer, int buffer_length, bool is_plain_text); + ScriptScanner(const char* buffer, int buffer_length, bool is_plain_text, + bool any_text, bool any_script); + ~ScriptScanner(); + + // Copy next run of same-script non-tag letters to buffer [NUL terminated] + bool GetOneScriptSpan(LangSpan* span); + + // Force Latin and Cyrillic scripts to be lowercase + void LowerScriptSpan(LangSpan* span); + + // Copy next run of same-script non-tag letters to buffer [NUL terminated] + // Force Latin and Cyrillic scripts to be lowercase + bool GetOneScriptSpanLower(LangSpan* span); + + // Copy next run of non-tag characters to buffer [NUL terminated] + // This just removes tags and removes entities + // Buffer has leading space + bool GetOneTextSpan(LangSpan* span); + + // Maps byte offset in most recent GetOneScriptSpan/Lower + // span->text [0..text_bytes] into an additional byte offset from + // span->offset, to get back to corresponding text in the original + // input buffer. + // text_offset must be the first byte + // of a UTF-8 character, or just beyond the last character. Normally this + // routine is called with the first byte of an interesting range and + // again with the first byte of the following range. + int MapBack(int text_offset); + + const char* GetBufferStart() {return start_byte_;} + + private: + // Skip over tags and non-letters + int SkipToFrontOfSpan(const char* src, int len, int* script); + + const char* start_byte_; // Starting byte of buffer to scan + const char* next_byte_; // First unscanned byte + int byte_length_; // Bytes left + + bool is_plain_text_; // true fo text, false for HTML + char* script_buffer_; // Holds text with expanded entities + char* script_buffer_lower_; // Holds lowercased text + bool letters_marks_only_; // To distinguish scriptspan of one + // letters/marks vs. any mixture of text + bool one_script_only_; // To distinguish scriptspan of one + // script vs. any mixture of scripts + int exit_state_; // For tag parser kTagParseTbl_0, based + // on letters_marks_only_ + public : + // Expose for debugging + OffsetMap map2original_; // map from script_buffer_ to buffer + OffsetMap map2uplow_; // map from script_buffer_lower_ to script_buffer_ +}; + +} // namespace CLD2 +} // namespace chrome_lang_id + +#endif // SCRIPT_SPAN_GETONESCRIPTSPAN_H_ diff --git a/chromium/third_party/cld_3/src/src/script_span/getonescriptspan_test.cc b/chromium/third_party/cld_3/src/src/script_span/getonescriptspan_test.cc new file mode 100644 index 00000000000..cb22921f31d --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/getonescriptspan_test.cc @@ -0,0 +1,135 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "getonescriptspan.h" + +#include <iostream> +#include <vector> + +namespace chrome_lang_id { +namespace CLD2 { +namespace getonescriptspan_test { + +// Tests invalid and interchange-invalid input. Returns "true" if the test is +// successful and "false" otherwise. +bool TestInvalidUTF8Input() { + std::cout << "Running " << __FUNCTION__ << std::endl; + const std::vector<std::string> invalid_strings{"\xC0\xA9", + "\377\377\377\377"}; + const std::string gold_valid_prefix = "Some valid bytes followed by "; + + // Iterates over the invalid strings, inserts each of them in the middle of a + // piece of text, and checks whether these strings are correctly identified. + bool test_successful = true; + for (size_t i = 0; i < invalid_strings.size(); ++i) { + const std::string text = "Some valid bytes followed by " + + invalid_strings.at(i) + + " and then valid ones again."; + + const int num_valid_bytes = SpanInterchangeValid(text.c_str(), text.size()); + const std::string detected_valid_prefix(text.c_str(), num_valid_bytes); + std::cout << " Testing input string at position " << i << std::endl; + if (detected_valid_prefix == gold_valid_prefix) { + std::cout << " Success!" << std::endl; + } else { + std::cout << " Failure" << std::endl; + std::cout << " Gold: " << gold_valid_prefix << std::endl; + std::cout << " Detected: " << detected_valid_prefix << std::endl; + test_successful = false; + } + } + return test_successful; +} + +// Tests whether different scripts are correctly detected. Returns "true" if the +// test is successful and "false" otherwise. +bool TestScriptDetection() { + std::cout << "Running " << __FUNCTION__ << std::endl; + + // Text containing a snippet in English, a snippet in Bulgarian, and a snippet + // in English again. + const std::string text = + "Text in English. Текст на Български. Also text in English."; + const std::vector<std::string> gold_script_spans{ + " Text in English ", " Текст на Български ", " Also text in English "}; + + std::vector<std::string> detected_script_spans; + ScriptScanner ss(text.c_str(), text.size(), /*is_plain_text=*/true); + LangSpan script_span; + while (ss.GetOneScriptSpan(&script_span)) { + detected_script_spans.emplace_back(script_span.text, + script_span.text_bytes); + } + + if (detected_script_spans.size() != gold_script_spans.size()) { + std::cout << " Failure" << std::endl; + std::cout << " Number of gold spans " << gold_script_spans.size() + << std::endl; + std::cout << " Number of detected spans " << detected_script_spans.size() + << std::endl; + return false; + } + for (size_t i = 0; i < detected_script_spans.size(); ++i) { + if (detected_script_spans.at(i) != gold_script_spans.at(i)) { + std::cout << " Failure" << std::endl; + std::cout << " Gold span: " << gold_script_spans.at(i) << std::endl; + std::cout << " Detected span: " << detected_script_spans.at(i) + << std::endl; + return false; + } + } + std::cout << " Success!" << std::endl; + return true; +} + +// Tests the case when the input string is truncated in such a way that a +// character is split in two pieces. Returns "true" if the test is successful +// and "false" otherwise. +bool TestStringCut() { + std::cout << "Running " << __FUNCTION__ << std::endl; + + // Text in Bulgarian (Cyrillic script). + const std::string text = "Текст на Български"; + + // The size of the first two words ("Текст на ") is 16, and size of the first + // two words plus the first char of the third word ("Текст на Б") is 18, so a + // threshold of 17 results in slicing the first char of the third word. + const int first_two_words_size = 16; + const int span_size = 17; + const int num_valid_bytes = SpanInterchangeValid(text.c_str(), span_size); + if (num_valid_bytes == first_two_words_size) { + std::cout << " Success!" << std::endl; + return true; + } else { + std::cout << " Failure" << std::endl; + std::cout << " Size of gold interchange-valid span: " + << first_two_words_size << std::endl; + std::cout << " Size of detected span: " << num_valid_bytes << std::endl; + return false; + } +} + +} // namespace getonescriptspan_test +} // namespace CLD2 +} // namespace chrome_lang_id + +// Runs the functions above. +int main(int argc, char **argv) { + const bool tests_successful = + chrome_lang_id::CLD2::getonescriptspan_test::TestInvalidUTF8Input() && + chrome_lang_id::CLD2::getonescriptspan_test::TestScriptDetection() && + chrome_lang_id::CLD2::getonescriptspan_test::TestStringCut(); + return tests_successful ? 0 : 1; +} diff --git a/chromium/third_party/cld_3/src/src/script_span/integral_types.h b/chromium/third_party/cld_3/src/src/script_span/integral_types.h new file mode 100644 index 00000000000..0845579715d --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/integral_types.h @@ -0,0 +1,37 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +#ifndef SCRIPT_SPAN_INTEGRAL_TYPES_H_ +#define SCRIPT_SPAN_INTEGRAL_TYPES_H_ + +// Cheap version +namespace chrome_lang_id { +namespace CLD2 { + +typedef unsigned char uint8; +typedef unsigned short uint16; +typedef unsigned int uint32; +typedef unsigned long long int uint64; + +typedef signed char int8; +typedef signed short int16; +typedef signed int int32; +typedef signed long long int int64; + +typedef int32 char32; + +} // End namespace CLD2 +} // End namespace chrome_lang_id + +#endif // SCRIPT_SPAN_INTEGRAL_TYPES_H_ diff --git a/chromium/third_party/cld_3/src/src/script_span/offsetmap.cc b/chromium/third_party/cld_3/src/src/script_span/offsetmap.cc new file mode 100644 index 00000000000..639fbe16d49 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/offsetmap.cc @@ -0,0 +1,478 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// Author: dsites@google.com (Dick Sites) +// +// + +#include "offsetmap.h" + +#include <string.h> // for strcmp +#include <algorithm> // for min + +using namespace std; + +namespace chrome_lang_id { +namespace CLD2 { + +// Constructor, destructor +OffsetMap::OffsetMap() { + Clear(); +} + +OffsetMap::~OffsetMap() { +} + +// Clear the map +// After: +// next_diff_sub_ is 0 +// Windows are the a and a' ranges covered by diffs_[next_diff_sub_-1] +// which is a fake range of width 0 mapping 0=>0 +void OffsetMap::Clear() { + diffs_.clear(); + pending_op_ = COPY_OP; + pending_length_ = 0; + next_diff_sub_ = 0; + current_lo_aoffset_ = 0; + current_hi_aoffset_ = 0; + current_lo_aprimeoffset_ = 0; + current_hi_aprimeoffset_ = 0; + current_diff_ = 0; + max_aoffset_ = 0; // Largest seen so far + max_aprimeoffset_ = 0; // Largest seen so far +} + +static inline char OpPart(const char c) { + return (c >> 6) & 3; +} +static inline char LenPart(const char c) { + return c & 0x3f; +} + +// Reset to offset 0 +void OffsetMap::Reset() { + MaybeFlushAll(); + + next_diff_sub_ = 0; + current_lo_aoffset_ = 0; + current_hi_aoffset_ = 0; + current_lo_aprimeoffset_ = 0; + current_hi_aprimeoffset_ = 0; + current_diff_ = 0; +} + +// Add to mapping from A to A', specifying how many next bytes are +// identical in A and A' +void OffsetMap::Copy(int bytes) { + if (bytes == 0) {return;} + max_aoffset_ += bytes; // Largest seen so far + max_aprimeoffset_ += bytes; // Largest seen so far + if (pending_op_ == COPY_OP) { + pending_length_ += bytes; + } else { + Flush(); + pending_op_ = COPY_OP; + pending_length_ = bytes; + } +} + +// Add to mapping from A to A', specifying how many next bytes are +// inserted in A' while not advancing in A at all +void OffsetMap::Insert(int bytes){ + if (bytes == 0) {return;} + max_aprimeoffset_ += bytes; // Largest seen so far + if (pending_op_ == INSERT_OP) { + pending_length_ += bytes; + } else if ((bytes == 1) && + (pending_op_ == DELETE_OP) && (pending_length_ == 1)) { + // Special-case exactly delete(1) insert(1) +> copy(1); + // all others backmap inserts to after deletes + pending_op_ = COPY_OP; + } else { + Flush(); + pending_op_ = INSERT_OP; + pending_length_ = bytes; + } +} + +// Add to mapping from A to A', specifying how many next bytes are +// deleted from A while not advancing in A' at all +void OffsetMap::Delete(int bytes){ + if (bytes == 0) {return;} + max_aoffset_ += bytes; // Largest seen so far + if (pending_op_ == DELETE_OP) { + pending_length_ += bytes; + } else if ((bytes == 1) && + (pending_op_ == INSERT_OP) && (pending_length_ == 1)) { + // Special-case exactly insert(1) delete(1) => copy(1); + // all others backmap deletes to after insertss + pending_op_ = COPY_OP; + } else { + Flush(); + pending_op_ = DELETE_OP; + pending_length_ = bytes; + } +} + +void OffsetMap::Flush() { + if (pending_length_ == 0) { + return; + } + // We may be emitting a copy op just after a copy op because +1 -1 cancelled + // inbetween. If the lengths don't need a prefix byte, combine them + if ((pending_op_ == COPY_OP) && !diffs_.empty()) { + char c = diffs_[diffs_.size() - 1]; + MapOp prior_op = static_cast<MapOp>(OpPart(c)); + int prior_len = LenPart(c); + if ((prior_op == COPY_OP) && ((prior_len + pending_length_) <= 0x3f)) { + diffs_[diffs_.size() - 1] += pending_length_; + pending_length_ = 0; + return; + } + } + if (pending_length_ > 0x3f) { + bool non_zero_emitted = false; + for (int shift = 30; shift > 0; shift -= 6) { + int prefix = (pending_length_ >> shift) & 0x3f; + if ((prefix > 0) || non_zero_emitted) { + Emit(PREFIX_OP, prefix); + non_zero_emitted = true; + } + } + } + Emit(pending_op_, pending_length_ & 0x3f); + pending_length_ = 0; +} + + +// Add one more entry to copy one byte off the end, then flush +void OffsetMap::FlushAll() { + Copy(1); + Flush(); +} + +// Flush all if necessary +void OffsetMap::MaybeFlushAll() { + if ((0 < pending_length_) || diffs_.empty()) { + FlushAll(); + } +} + +// Len may be 0, for example as the low piece of length=64 +void OffsetMap::Emit(MapOp op, int len) { + char c = (static_cast<char>(op) << 6) | (len & 0x3f); + diffs_.push_back(c); +} + +//----------------------------------------------------------------------------// +// The guts of the 2013 design // +// If there are three ranges a b c in diffs_, we can be in one of five // +// states: LEFT of a, in ranges a b c, or RIGHT of c // +// In each state, there are windows A[Alo..Ahi), A'[A'lo..A'hi) and diffs_ // +// position next_diff_sub_ // +// There also are mapping constants max_aoffset_ and max_aprimeoffset_ // +// If LEFT, Alo=Ahi=0, A'lo=A'hi=0 and next_diff_sub_=0 // +// If RIGHT, Alo=Ahi=max_aoffset_, A'lo=A'hi=max_aprimeoffset_ and // +// next_diff_sub_=diffs_.size() // +// Otherwise, at least one of A[) and A'[) is non-empty and the first bytes // +// correspond to each other. If range i is active, next_diff_sub_ is at // +// the first byte of range i+1. Because of the length-prefix operator, // +// an individual range item in diffs_ may be multiple bytes // +// In all cases aprimeoffset = aoffset + current_diff_ // +// i.e. current_diff_ = aprimeoffset - aoffset // +// // +// In the degenerate case of diffs_.empty(), there are only two states // +// LEFT and RIGHT and the mapping is the identity mapping. // +// The initial state is LEFT. // +// It is an error to move left into LEFT or right into RIGHT, but the code // +// below is robust in these cases. // +//----------------------------------------------------------------------------// + +void OffsetMap::SetLeft() { + current_lo_aoffset_ = 0; + current_hi_aoffset_ = 0; + current_lo_aprimeoffset_ = 0; + current_hi_aprimeoffset_ = 0; + current_diff_ = 0; + next_diff_sub_ = 0; +} + +void OffsetMap::SetRight() { + current_lo_aoffset_ = max_aoffset_; + current_hi_aoffset_ = max_aoffset_; + current_lo_aprimeoffset_ = max_aprimeoffset_; + current_hi_aprimeoffset_ = max_aprimeoffset_; + current_diff_ = max_aprimeoffset_ - max_aoffset_; + next_diff_sub_ = 0; +} + +// Back up over previous range, 1..5 bytes +// Return subscript at the beginning of that. Pins at 0 +int OffsetMap::Backup(int sub) { + if (sub <= 0) {return 0;} + --sub; + while ((0 < sub) && + (static_cast<MapOp>(OpPart(diffs_[sub - 1]) == PREFIX_OP))) { + --sub; + } + return sub; +} + +// Parse next range, 1..5 bytes +// Return subscript just off the end of that +int OffsetMap::ParseNext(int sub, MapOp* op, int* length) { + *op = PREFIX_OP; + *length = 0; + char c; + while ((sub < static_cast<int>(diffs_.size())) && (*op == PREFIX_OP)) { + c = diffs_[sub++]; + *op = static_cast<MapOp>(OpPart(c)); + int len = LenPart(c); + *length = (*length << 6) + len; + } + // If mal-formed or in RIGHT, this will return with op = PREFIX_OP + // Mal-formed can include a trailing prefix byte with no following op + return sub; +} + +// Parse previous range, 1..5 bytes +// Return current subscript +int OffsetMap::ParsePrevious(int sub, MapOp* op, int* length) { + sub = Backup(sub); + return ParseNext(sub, op, length); +} + +// Move active window one range to the right +// Return true if move was OK +bool OffsetMap::MoveRight() { + // If at last range or RIGHT, set to RIGHT, return error + if (next_diff_sub_ >= static_cast<int>(diffs_.size())) { + SetRight(); + return false; + } + // Actually OK to move right + MapOp op; + int length; + bool retval = true; + // If mal-formed or in RIGHT, this will return with op = PREFIX_OP + next_diff_sub_ = ParseNext(next_diff_sub_, &op, &length); + + current_lo_aoffset_ = current_hi_aoffset_; + current_lo_aprimeoffset_ = current_hi_aprimeoffset_; + if (op == COPY_OP) { + current_hi_aoffset_ = current_lo_aoffset_ + length; + current_hi_aprimeoffset_ = current_lo_aprimeoffset_ + length; + } else if (op == INSERT_OP) { + current_hi_aoffset_ = current_lo_aoffset_ + 0; + current_hi_aprimeoffset_ = current_lo_aprimeoffset_ + length; + } else if (op == DELETE_OP) { + current_hi_aoffset_ = current_lo_aoffset_ + length; + current_hi_aprimeoffset_ = current_lo_aprimeoffset_ + 0; + } else { + SetRight(); + retval = false; + } + current_diff_ = current_lo_aprimeoffset_ - current_lo_aoffset_; + return retval; +} + +// Move active window one range to the left +// Return true if move was OK +bool OffsetMap::MoveLeft() { + // If at first range or LEFT, set to LEFT, return error + if (next_diff_sub_ <= 0) { + SetLeft(); + return false; + } + // Back up over current active window + next_diff_sub_ = Backup(next_diff_sub_); + if (next_diff_sub_ <= 0) { + SetLeft(); + return false; + } + // Actually OK to move left + MapOp op; + int length; + + // TODO(abakalov): 'retval' below is set but not used, which is suspicious. + // Did the authors mean to return this variable, analogously to MoveRight()? + // bool retval = true; + // If mal-formed or in LEFT, this will return with op = PREFIX_OP + next_diff_sub_ = ParsePrevious(next_diff_sub_, &op, &length); + + current_hi_aoffset_ = current_lo_aoffset_; + current_hi_aprimeoffset_ = current_lo_aprimeoffset_; + if (op == COPY_OP) { + current_lo_aoffset_ = current_hi_aoffset_ - length; + current_lo_aprimeoffset_ = current_hi_aprimeoffset_ - length; + } else if (op == INSERT_OP) { + current_lo_aoffset_ = current_hi_aoffset_ - 0; + current_lo_aprimeoffset_ = current_hi_aprimeoffset_ - length; + } else if (op == DELETE_OP) { + current_lo_aoffset_ = current_hi_aoffset_ - length; + current_lo_aprimeoffset_ = current_hi_aprimeoffset_ - 0; + } else { + SetLeft(); + // retval = false; + } + current_diff_ = current_lo_aprimeoffset_ - current_lo_aoffset_; + return true; +} + +// Map an offset in A' to the corresponding offset in A +int OffsetMap::MapBack(int aprimeoffset){ + MaybeFlushAll(); + if (aprimeoffset < 0) {return 0;} + if (max_aprimeoffset_ <= aprimeoffset) { + return (aprimeoffset - max_aprimeoffset_) + max_aoffset_; + } + + // If current_lo_aprimeoffset_ <= aprimeoffset < current_hi_aprimeoffset_, + // use current mapping, else move window left/right + bool ok = true; + while (ok && (aprimeoffset < current_lo_aprimeoffset_)) { + ok = MoveLeft(); + } + while (ok && (current_hi_aprimeoffset_ <= aprimeoffset)) { + ok = MoveRight(); + } + // So now current_lo_aprimeoffset_ <= aprimeoffset < current_hi_aprimeoffset_ + + int aoffset = aprimeoffset - current_diff_; + if (aoffset >= current_hi_aoffset_) { + // A' is in an insert region, all bytes of which backmap to A=hi_aoffset_ + aoffset = current_hi_aoffset_; + } + return aoffset; +} + +// Map an offset in A to the corresponding offset in A' +int OffsetMap::MapForward(int aoffset){ + MaybeFlushAll(); + if (aoffset < 0) {return 0;} + if (max_aoffset_ <= aoffset) { + return (aoffset - max_aoffset_) + max_aprimeoffset_; + } + + // If current_lo_aoffset_ <= aoffset < current_hi_aoffset_, + // use current mapping, else move window left/right + bool ok = true; + while (ok && (aoffset < current_lo_aoffset_)) { + ok = MoveLeft(); + } + while (ok && (current_hi_aoffset_ <= aoffset)) { + ok = MoveRight(); + } + + int aprimeoffset = aoffset + current_diff_; + if (aprimeoffset >= current_hi_aprimeoffset_) { + // A is in a delete region, all bytes of which map to A'=hi_aprimeoffset_ + aprimeoffset = current_hi_aprimeoffset_; + } + return aprimeoffset; +} + + +// static +bool OffsetMap::CopyInserts(OffsetMap* source, OffsetMap* dest) { + bool ok = true; + while (ok && (source->next_diff_sub_ != + static_cast<int>(source->diffs_.size()))) { + ok = source->MoveRight(); + if (source->current_lo_aoffset_ != source->current_hi_aoffset_) { + return false; + } + dest->Insert( + source->current_hi_aprimeoffset_ - source->current_lo_aprimeoffset_); + } + return true; +} + +// static +bool OffsetMap::CopyDeletes(OffsetMap* source, OffsetMap* dest) { + bool ok = true; + while (ok && (source->next_diff_sub_ != + static_cast<int>(source->diffs_.size()))) { + ok = source->MoveRight(); + if (source->current_lo_aprimeoffset_ != source->current_hi_aprimeoffset_) { + return false; + } + dest->Delete(source->current_hi_aoffset_ - source->current_lo_aoffset_); + } + return true; +} + +// static +void OffsetMap::ComposeOffsetMap( + OffsetMap* g, OffsetMap* f, OffsetMap* h) { + h->Clear(); + f->Reset(); + g->Reset(); + + int lo = 0; + for (;;) { + // Consume delete operations in f. This moves A without moving + // A' and A''. + if (lo >= g->current_hi_aoffset_ && CopyInserts(g, h)) { + if (lo >= f->current_hi_aprimeoffset_ && CopyDeletes(f, h)) { + // fprintf(stderr, + // "ComposeOffsetMap ERROR, f is longer than g.<br>\n"); + } + + // FlushAll(), called by Reset(), MapForward() or MapBack(), has + // added an extra COPY_OP to f and g, so this function has + // composed an extra COPY_OP in h from those. To avoid + // FlushAll() adds one more extra COPY_OP to h later, dispatch + // Flush() right now. + h->Flush(); + return; + } + + // Consume insert operations in g. This moves A'' without moving A + // and A'. + if (lo >= f->current_hi_aprimeoffset_) { + if (!CopyDeletes(f, h)) { + // fprintf(stderr, + // "ComposeOffsetMap ERROR, g is longer than f.<br>\n"); + } + } + + // Compose one operation which moves A' from lo to hi. + int hi = min(f->current_hi_aprimeoffset_, g->current_hi_aoffset_); + if (f->current_lo_aoffset_ != f->current_hi_aoffset_ && + g->current_lo_aprimeoffset_ != g->current_hi_aprimeoffset_) { + h->Copy(hi - lo); + } else if (f->current_lo_aoffset_ != f->current_hi_aoffset_) { + h->Delete(hi - lo); + } else if (g->current_lo_aprimeoffset_ != g->current_hi_aprimeoffset_) { + h->Insert(hi - lo); + } + + lo = hi; + } +} + +// For testing only -- force a mapping +void OffsetMap::StuffIt(const std::string& diffs, + int max_aoffset, int max_aprimeoffset) { + Clear(); + diffs_ = diffs; + max_aoffset_ = max_aoffset; + max_aprimeoffset_ = max_aprimeoffset; +} + + +} // namespace CLD2 +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/script_span/offsetmap.h b/chromium/third_party/cld_3/src/src/script_span/offsetmap.h new file mode 100644 index 00000000000..9cfe4121991 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/offsetmap.h @@ -0,0 +1,168 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// Author: dsites@google.com (Dick Sites) +// + +#ifndef SCRIPT_SPAN_OFFSETMAP_H_ +#define SCRIPT_SPAN_OFFSETMAP_H_ + +#include <string> // for string + +#include "integral_types.h" // for uint32 + +// ***************************** OffsetMap ************************** +// +// An OffsetMap object is a container for a mapping from offsets in one text +// buffer A' to offsets in another text buffer A. It is most useful when A' is +// built from A via substitutions that occasionally do not preserve byte length. +// +// A series of operators are used to build the correspondence map, then +// calls can be made to map an offset in A' to an offset in A, or vice versa. +// The map starts with offset 0 in A corresponding to offset 0 in A'. +// The mapping is then built sequentially, adding on byte ranges that are +// identical in A and A', byte ranges that are inserted in A', and byte ranges +// that are deleted from A. All bytes beyond those specified when building the +// map are assumed to correspond, i.e. a Copy(infinity) is assumed at the +// end of the map. +// +// The internal data structure records positions at which bytes are added or +// deleted. Using the map is O(1) when increasing the A' or A offset +// monotonically, and O(n) when accessing random offsets, where n is the +// number of differences. +// + +namespace chrome_lang_id { +namespace CLD2 { + +class OffsetMap { + public: + // Constructor, destructor + OffsetMap(); + ~OffsetMap(); + + // Clear the map + void Clear(); + + // Add to mapping from A to A', specifying how many next bytes correspond + // in A and A' + void Copy(int bytes); + + // Add to mapping from A to A', specifying how many next bytes are + // inserted in A' while not advancing in A at all + void Insert(int bytes); + + // Add to mapping from A to A', specifying how many next bytes are + // deleted from A while not advancing in A' at all + void Delete(int bytes); + + // [Finish building map,] Re-position to offset 0 + // This call is optional; MapForward and MapBack finish building the map + // if necessary + void Reset(); + + // Map an offset in A' to the corresponding offset in A + int MapBack(int aprimeoffset); + + // Map an offset in A to the corresponding offset in A' + int MapForward(int aoffset); + + // h = ComposeOffsetMap(g, f), where f is a map from A to A', g is + // from A' to A'' and h is from A to A''. + // + // Note that g->MoveForward(f->MoveForward(aoffset)) always equals + // to h->MoveForward(aoffset), while + // f->MoveBack(g->MoveBack(aprimeprimeoffset)) doesn't always equals + // to h->MoveBack(aprimeprimeoffset). This happens when deletion in + // f and insertion in g are at the same place. For example, + // + // A 1 2 3 4 + // ^ | ^ ^ + // | | / | f + // v vv v + // A' 1' 2' 3' + // ^ ^^ ^ + // | | \ | g + // v | v v + // A'' 1'' 2'' 3'' 4'' + // + // results in: + // + // A 1 2 3 4 + // ^ ^\ ^ ^ + // | | \ | | h + // v | vv v + // A'' 1'' 2'' 3'' 4'' + // + // 2'' is mapped 3 in the former figure, while 2'' is mapped to 2 in + // the latter figure. + static void ComposeOffsetMap(OffsetMap* g, OffsetMap* f, OffsetMap* h); + + // For testing only -- force a mapping + void StuffIt(const std::string& diffs, int max_aoffset, int max_aprimeoffset); + + private: + enum MapOp {PREFIX_OP, COPY_OP, INSERT_OP, DELETE_OP}; + + void Flush(); + void FlushAll(); + void MaybeFlushAll(); + void Emit(MapOp op, int len); + + void SetLeft(); + void SetRight(); + + // Back up over previous range, 1..5 bytes + // Return subscript at the beginning of that. Pins at 0 + int Backup(int sub); + + // Parse next range, 1..5 bytes + // Return subscript just off the end of that + int ParseNext(int sub, MapOp* op, int* length); + + // Parse previous range, 1..5 bytes + // Return current subscript + int ParsePrevious(int sub, MapOp* op, int* length); + + bool MoveRight(); // Returns true if OK + bool MoveLeft(); // Returns true if OK + + // Copies insert operations from source to dest. Returns true if no + // other operations are found. + static bool CopyInserts(OffsetMap* source, OffsetMap* dest); + + // Copies delete operations from source to dest. Returns true if no other + // operations are found. + static bool CopyDeletes(OffsetMap* source, OffsetMap* dest); + + std::string diffs_; + MapOp pending_op_; + uint32 pending_length_; + + // Offsets in the ranges below correspond to each other, with A' = A + diff + int next_diff_sub_; + int current_lo_aoffset_; + int current_hi_aoffset_; + int current_lo_aprimeoffset_; + int current_hi_aprimeoffset_; + int current_diff_; + int max_aoffset_; + int max_aprimeoffset_; +}; + +} // namespace CLD2 +} // namespace chrome_lang_id + +#endif // SCRIPT_SPAN_OFFSETMAP_H_ diff --git a/chromium/third_party/cld_3/src/src/script_span/port.h b/chromium/third_party/cld_3/src/src/script_span/port.h new file mode 100644 index 00000000000..2b3bc515ae8 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/port.h @@ -0,0 +1,143 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// These are weird things we need to do to get this compiling on +// random systems [subset]. + +#ifndef SCRIPT_SPAN_PORT_H_ +#define SCRIPT_SPAN_PORT_H_ + +#include <string.h> // for memcpy() + +#include "integral_types.h" + +namespace chrome_lang_id { +namespace CLD2 { + +// Portable handling of unaligned loads, stores, and copies. +// On some platforms, like ARM, the copy functions can be more efficient +// then a load and a store. + +#if defined(ARCH_PIII) || defined(ARCH_ATHLON) || defined(ARCH_K8) || defined(_ARCH_PPC) + +// x86 and x86-64 can perform unaligned loads/stores directly; +// modern PowerPC hardware can also do unaligned integer loads and stores; +// but note: the FPU still sends unaligned loads and stores to a trap handler! + +#define UNALIGNED_LOAD16(_p) (*reinterpret_cast<const uint16 *>(_p)) +#define UNALIGNED_LOAD32(_p) (*reinterpret_cast<const uint32 *>(_p)) +#define UNALIGNED_LOAD64(_p) (*reinterpret_cast<const uint64 *>(_p)) + +#define UNALIGNED_STORE16(_p, _val) (*reinterpret_cast<uint16 *>(_p) = (_val)) +#define UNALIGNED_STORE32(_p, _val) (*reinterpret_cast<uint32 *>(_p) = (_val)) +#define UNALIGNED_STORE64(_p, _val) (*reinterpret_cast<uint64 *>(_p) = (_val)) + +#elif defined(__arm__) && \ + !defined(__ARM_ARCH_5__) && \ + !defined(__ARM_ARCH_5T__) && \ + !defined(__ARM_ARCH_5TE__) && \ + !defined(__ARM_ARCH_5TEJ__) && \ + !defined(__ARM_ARCH_6__) && \ + !defined(__ARM_ARCH_6J__) && \ + !defined(__ARM_ARCH_6K__) && \ + !defined(__ARM_ARCH_6Z__) && \ + !defined(__ARM_ARCH_6ZK__) && \ + !defined(__ARM_ARCH_6T2__) && \ + !defined(__ARM_ARCH_7__) && \ + !defined(__ARM_ARCH_7A__) && \ + !defined(__ARM_ARCH_7M__) && \ + !defined(__ARM_ARCH_7R__) && \ + !defined(__ARM_ARCH_8__) && \ + !defined(__ARM_ARCH_8A__) + +// ARMv7 and newer support native unaligned accesses, but only of 16-bit +// and 32-bit values (not 64-bit); older versions either raise a fatal signal, +// do an unaligned read and rotate the words around a bit, or do the reads very +// slowly (trip through kernel mode). There's no simple #define that says just +// “ARMv7 or higher”, so we have to filter away all ARMv5 and ARMv6 +// sub-architectures. Newer gcc (>= 4.6) set an __ARM_FEATURE_ALIGNED #define, +// so in time, maybe we can move on to that. +// +// Note that even if a chipset supports unaligned access, it might not be +// enabled in any given system, e.g.: +// http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0491c/CIHCGCFD.html +// Therefore, it's generally just not safe to allow unaligned access on any ARM +// variant. +// +// This is a mess, but there's not much we can do about it. + +#define UNALIGNED_LOAD16(_p) (*reinterpret_cast<const uint16 *>(_p)) +#define UNALIGNED_LOAD32(_p) (*reinterpret_cast<const uint32 *>(_p)) + +#define UNALIGNED_STORE16(_p, _val) (*reinterpret_cast<uint16 *>(_p) = (_val)) +#define UNALIGNED_STORE32(_p, _val) (*reinterpret_cast<uint32 *>(_p) = (_val)) + +// TODO(sesse): NEON supports unaligned 64-bit loads and stores. +// See if that would be more efficient on platforms supporting it, +// at least for copies. + +inline uint64 UNALIGNED_LOAD64(const void *p) { + uint64 t; + memcpy(&t, p, sizeof t); + return t; +} + +inline void UNALIGNED_STORE64(void *p, uint64 v) { + memcpy(p, &v, sizeof v); +} + +#else + +#define NEED_ALIGNED_LOADS + +// These functions are provided for architectures that don't support +// unaligned loads and stores. + +inline uint16 UNALIGNED_LOAD16(const void *p) { + uint16 t; + memcpy(&t, p, sizeof t); + return t; +} + +inline uint32 UNALIGNED_LOAD32(const void *p) { + uint32 t; + memcpy(&t, p, sizeof t); + return t; +} + +inline uint64 UNALIGNED_LOAD64(const void *p) { + uint64 t; + memcpy(&t, p, sizeof t); + return t; +} + +inline void UNALIGNED_STORE16(void *p, uint16 v) { + memcpy(p, &v, sizeof v); +} + +inline void UNALIGNED_STORE32(void *p, uint32 v) { + memcpy(p, &v, sizeof v); +} + +inline void UNALIGNED_STORE64(void *p, uint64 v) { + memcpy(p, &v, sizeof v); +} + +#endif + +} // End namespace CLD2 +} // End namespace chrome_lang_id + +#endif // SCRIPT_SPAN_PORT_H_ diff --git a/chromium/third_party/cld_3/src/src/script_span/stringpiece.h b/chromium/third_party/cld_3/src/src/script_span/stringpiece.h new file mode 100644 index 00000000000..8b80f81641b --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/stringpiece.h @@ -0,0 +1,81 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// A StringPiece points to part or all of a string, double-quoted string +// literal, or other string-like object. A StringPiece does *not* own the +// string to which it points. A StringPiece is not null-terminated. [subset] +// + +#ifndef SCRIPT_SPAN_STRINGPIECE_H_ +#define SCRIPT_SPAN_STRINGPIECE_H_ + +#include <string.h> +#include <string> + +namespace chrome_lang_id { + +typedef int stringpiece_ssize_type; + +class StringPiece { + private: + const char* ptr_; + stringpiece_ssize_type length_; + + public: + // We provide non-explicit singleton constructors so users can pass + // in a "const char*" or a "string" wherever a "StringPiece" is + // expected. + StringPiece() : ptr_(NULL), length_(0) {} + + StringPiece(const char* str) // NOLINT(runtime/explicit) + : ptr_(str), length_(0) { + if (str != NULL) { + length_ = static_cast<stringpiece_ssize_type>(strlen(str)); + } + } + + StringPiece(const std::string& str) // NOLINT(runtime/explicit) + : ptr_(str.data()), length_(0) { + length_ = static_cast<stringpiece_ssize_type>(str.size()); + } + + StringPiece(const char* offset, stringpiece_ssize_type len) + : ptr_(offset), length_(len) { + } + + void remove_prefix(stringpiece_ssize_type n) { + ptr_ += n; + length_ -= n; + } + + void remove_suffix(stringpiece_ssize_type n) { + length_ -= n; + } + + // data() may return a pointer to a buffer with embedded NULs, and the + // returned buffer may or may not be null terminated. Therefore it is + // typically a mistake to pass data() to a routine that expects a NUL + // terminated string. + const char* data() const { return ptr_; } + stringpiece_ssize_type size() const { return length_; } + stringpiece_ssize_type length() const { return length_; } + bool empty() const { return length_ == 0; } +}; + +class StringPiece; + +} // namespace chrome_lang_id + +#endif // SCRIPT_SPAN_STRINGPIECE_H__ diff --git a/chromium/third_party/cld_3/src/src/script_span/text_processing.cc b/chromium/third_party/cld_3/src/src/script_span/text_processing.cc new file mode 100644 index 00000000000..ec64ffa8725 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/text_processing.cc @@ -0,0 +1,245 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +#include "text_processing.h" + +#include <stdio.h> +#include <string.h> + +namespace chrome_lang_id { +namespace CLD2 { +namespace { + +static const int kMaxSpaceScan = 32; // Bytes + +int minint(int a, int b) { return (a < b) ? a : b; } + +// Counts number of spaces; a little faster than one-at-a-time +// Doesn't count odd bytes at end +int CountSpaces4(const char *src, int src_len) { + int s_count = 0; + for (int i = 0; i < (src_len & ~3); i += 4) { + s_count += (src[i] == ' '); + s_count += (src[i + 1] == ' '); + s_count += (src[i + 2] == ' '); + s_count += (src[i + 3] == ' '); + } + return s_count; +} + +// This uses a cheap predictor to get a measure of compression, and +// hence a measure of repetitiveness. It works on complete UTF-8 characters +// instead of bytes, because three-byte UTF-8 Indic, etc. text compress highly +// all the time when done with a byte-based count. Sigh. +// +// To allow running prediction across multiple chunks, caller passes in current +// 12-bit hash value and int[4096] prediction table. Caller inits these to 0. +// +// Returns the number of *bytes* correctly predicted, increments by 1..4 for +// each correctly-predicted character. +// +// NOTE: Overruns by up to three bytes. Not a problem with valid UTF-8 text +// + +// TODO(dsites) make this use just one byte per UTF-8 char and incr by charlen + +int CountPredictedBytes(const char *isrc, int src_len, int *hash, int *tbl) { + typedef unsigned char uint8; + + int p_count = 0; + const uint8 *src = reinterpret_cast<const uint8 *>(isrc); + const uint8 *srclimit = src + src_len; + int local_hash = *hash; + + while (src < srclimit) { + int c = src[0]; + int incr = 1; + + // Pick up one char and length + if (c < 0xc0) { + // One-byte or continuation byte: 00xxxxxx 01xxxxxx 10xxxxxx + // Do nothing more + } else if ((c & 0xe0) == 0xc0) { + // Two-byte + c = (c << 8) | src[1]; + incr = 2; + } else if ((c & 0xf0) == 0xe0) { + // Three-byte + c = (c << 16) | (src[1] << 8) | src[2]; + incr = 3; + } else { + // Four-byte + c = (c << 24) | (src[1] << 16) | (src[2] << 8) | src[3]; + incr = 4; + } + src += incr; + + int p = tbl[local_hash]; // Prediction + tbl[local_hash] = c; // Update prediction + if (c == p) { + p_count += incr; // Count bytes of good predictions + } + + local_hash = ((local_hash << 4) ^ c) & 0xfff; + } + *hash = local_hash; + return p_count; +} + +// Backscan to word boundary, returning how many bytes n to go back +// so that src - n is non-space ans src - n - 1 is space. +// If not found in kMaxSpaceScan bytes, return 0..3 to a clean UTF-8 boundary +int BackscanToSpace(const char *src, int limit) { + int n = 0; + limit = minint(limit, kMaxSpaceScan); + while (n < limit) { + if (src[-n - 1] == ' ') { + return n; + } // We are at _X + ++n; + } + n = 0; + while (n < limit) { + if ((src[-n] & 0xc0) != 0x80) { + return n; + } // We are at char begin + ++n; + } + return 0; +} + +// Forwardscan to word boundary, returning how many bytes n to go forward +// so that src + n is non-space ans src + n - 1 is space. +// If not found in kMaxSpaceScan bytes, return 0..3 to a clean UTF-8 boundary +int ForwardscanToSpace(const char *src, int limit) { + int n = 0; + limit = minint(limit, kMaxSpaceScan); + while (n < limit) { + if (src[n] == ' ') { + return n + 1; + } // We are at _X + ++n; + } + n = 0; + while (n < limit) { + if ((src[n] & 0xc0) != 0x80) { + return n; + } // We are at char begin + ++n; + } + return 0; +} + +} // namespace + +// Must be exactly 4096 for cheap compressor. +static const int kPredictionTableSize = 4096; +static const int kChunksizeDefault = 48; // Squeeze 48-byte chunks +static const int kSpacesThreshPercent = 30; // Squeeze if >=30% spaces +static const int kPredictThreshPercent = 40; // Squeeze if >=40% predicted + +// Remove portions of text that have a high density of spaces, or that are +// overly repetitive, squeezing the remaining text in-place to the front of the +// input buffer. +// +// Squeezing looks at density of space/prediced chars in fixed-size chunks, +// specified by chunksize. A chunksize <= 0 uses the default size of 48 bytes. +// +// Return the new, possibly-shorter length +// +// Result Buffer ALWAYS has leading space and trailing space space space NUL, +// if input does +// +int CheapSqueezeInplace(char *isrc, int src_len, int ichunksize) { + char *src = isrc; + char *dst = src; + char *srclimit = src + src_len; + bool skipping = false; + + int hash = 0; + + // Allocate local prediction table. + int *predict_tbl = new int[kPredictionTableSize]; + memset(predict_tbl, 0, kPredictionTableSize * sizeof(predict_tbl[0])); + + int chunksize = ichunksize; + if (chunksize == 0) { + chunksize = kChunksizeDefault; + } + int space_thresh = (chunksize * kSpacesThreshPercent) / 100; + int predict_thresh = (chunksize * kPredictThreshPercent) / 100; + + while (src < srclimit) { + int remaining_bytes = srclimit - src; + int len = minint(chunksize, remaining_bytes); + + // Make len land us on a UTF-8 character boundary. + // Ah. Also fixes mispredict because we could get out of phase + // Loop always terminates at trailing space in buffer + while ((src[len] & 0xc0) == 0x80) { + ++len; + } // Move past continuation bytes + + int space_n = CountSpaces4(src, len); + int predb_n = CountPredictedBytes(src, len, &hash, predict_tbl); + if ((space_n >= space_thresh) || (predb_n >= predict_thresh)) { + // Skip the text + if (!skipping) { + // Keeping-to-skipping transition; do it at a space + int n = BackscanToSpace(dst, static_cast<int>(dst - isrc)); + dst -= n; + if (dst == isrc) { + // Force a leading space if the first chunk is deleted + *dst++ = ' '; + } + skipping = true; + } + } else { + // Keep the text + if (skipping) { + // Skipping-to-keeping transition; do it at a space + int n = ForwardscanToSpace(src, len); + src += n; + remaining_bytes -= n; // Shrink remaining length + len -= n; + skipping = false; + } + + // "len" can be negative in some cases + if (len > 0) { + memmove(dst, src, len); + dst += len; + } + } + src += len; + } + + if ((dst - isrc) < (src_len - 3)) { + // Pad and make last char clean UTF-8 by putting following spaces + dst[0] = ' '; + dst[1] = ' '; + dst[2] = ' '; + dst[3] = '\0'; + } else if ((dst - isrc) < src_len) { + // Make last char clean UTF-8 by putting following space off the end + dst[0] = ' '; + } + + // Deallocate local prediction table + delete[] predict_tbl; + return static_cast<int>(dst - isrc); +} + +} // namespace CLD2 +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/script_span/text_processing.h b/chromium/third_party/cld_3/src/src/script_span/text_processing.h new file mode 100644 index 00000000000..12c5ab8e20e --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/text_processing.h @@ -0,0 +1,30 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +#ifndef SCRIPT_SPAN_TEXT_PROCESSING_H_ +#define SCRIPT_SPAN_TEXT_PROCESSING_H_ + +namespace chrome_lang_id { +namespace CLD2 { + +// Remove portions of text that have a high density of spaces, or that are +// overly repetitive, squeezing the remaining text in-place to the front +// of the input buffer. +// Return the new, possibly-shorter length +int CheapSqueezeInplace(char *isrc, int srclen, int ichunksize); + +} // namespace CLD2 +} // namespace chrome_lang_id + +#endif // SCRIPT_SPAN_TEXT_PROCESSING_H_ diff --git a/chromium/third_party/cld_3/src/src/script_span/utf8acceptinterchange.h b/chromium/third_party/cld_3/src/src/script_span/utf8acceptinterchange.h new file mode 100644 index 00000000000..59adca85e0f --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/utf8acceptinterchange.h @@ -0,0 +1,486 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// Created by utf8tablebuilder version 2.9 +// +// Rejects all codes that are not interchange-valid +// Accepts all other UTF-8 codes 0000..10FFFF +// Exit optimized -- exits after four times in state 0 +// All bytes are checked for structurally valid UTF-8 +// Table entries are absolute statetable subscripts + +#ifndef SCRIPT_SPAN_UTF8ACCEPTINTERCHANGE_H_ +#define SCRIPT_SPAN_UTF8ACCEPTINTERCHANGE_H_ + +#include "integral_types.h" +#include "utf8statetable.h" + +namespace chrome_lang_id { +namespace CLD2 { + +#define X__ (kExitIllegalStructure) +#define RJ_ (kExitReject) +#define S1_ (kExitReplace1) +#define S2_ (kExitReplace2) +#define S3_ (kExitReplace3) +#define S21 (kExitReplace21) +#define S31 (kExitReplace31) +#define S32 (kExitReplace32) +#define T1_ (kExitReplaceOffset1) +#define T2_ (kExitReplaceOffset2) +#define S11 (kExitReplace1S0) +#define SP_ (kExitSpecial) +#define D__ (kExitDoAgain) +#define RJA (kExitRejectAlt) + +// Entire table has 17 state blocks of 256 entries each + +static const unsigned int utf8acceptinterchange_STATE0 = 0; // state[0] +static const unsigned int utf8acceptinterchange_STATE0_SIZE = 1024; // =[4] +static const unsigned int utf8acceptinterchange_TOTAL_SIZE = 4352; +static const unsigned int utf8acceptinterchange_MAX_EXPAND_X4 = 0; +static const unsigned int utf8acceptinterchange_SHIFT = 8; +static const unsigned int utf8acceptinterchange_BYTES = 1; +static const unsigned int utf8acceptinterchange_LOSUB = 0x20202020; +static const unsigned int utf8acceptinterchange_HIADD = 0x01010101; + +static const uint8 utf8acceptinterchange[] = { +// state[0] 0x000000 Byte 1 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 1, 1,RJ_, 1, 1,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,RJ_, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 6, 10, + 13, 15, 15, 15, 16,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[1] 0x000000 Byte 1 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 2, 2,RJ_, 2, 2,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,RJ_, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 6, 10, + 13, 15, 15, 15, 16,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[2] 0x000000 Byte 1 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 3, 3,RJ_, 3, 3,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,RJ_, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 6, 10, + 13, 15, 15, 15, 16,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[3] 0x000000 Byte 1 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,D__,D__,RJ_,D__,D__,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +D__,D__,D__,D__,D__,D__,D__,D__, D__,D__,D__,D__,D__,D__,D__,D__, +D__,D__,D__,D__,D__,D__,D__,D__, D__,D__,D__,D__,D__,D__,D__,D__, + +D__,D__,D__,D__,D__,D__,D__,D__, D__,D__,D__,D__,D__,D__,D__,D__, +D__,D__,D__,D__,D__,D__,D__,D__, D__,D__,D__,D__,D__,D__,D__,D__, +D__,D__,D__,D__,D__,D__,D__,D__, D__,D__,D__,D__,D__,D__,D__,D__, +D__,D__,D__,D__,D__,D__,D__,D__, D__,D__,D__,D__,D__,D__,D__,RJ_, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 8, 6, 10, + 13, 15, 15, 15, 16,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[4] 0x0000c0 Byte 2 of 2 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + + 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, 0, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[5] 0x000000 Byte 2 of 3 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[6] 0x001000 Byte 2 of 3 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[7] 0x000080 Byte 2 of 2 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 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, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[8] 0x00d000 Byte 2 of 3 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[9] 0x00d800 Byte 3 of 3 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[10] 0x00f000 Byte 2 of 3 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 11, 4, 4, 4, 4, 4, 4, 4, 12, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[11] 0x00fdc0 Byte 3 of 3 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[12] 0x00ffc0 Byte 3 of 3 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + + 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,RJ_,RJ_, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[13] 0x000000 Byte 2 of 4 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 14, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 14, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 14, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[14] 0x01f000 Byte 3 of 4 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 12, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[15] 0x040000 Byte 2 of 4 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 14, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 14, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 14, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 14, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[16] 0x100000 Byte 2 of 4 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 14, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +}; + +// Remap base[0] = (del, add, string_offset) +static const RemapEntry utf8acceptinterchange_remap_base[] = { +{0,0,0} }; + +// Remap string[0] +static const unsigned char utf8acceptinterchange_remap_string[] = { +0 }; + +static const unsigned char utf8acceptinterchange_fast[256] = { +1,1,1,1,1,1,1,1, 1,0,0,1,0,0,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,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,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, + +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, + +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, + +}; + +static const UTF8ScanObj utf8acceptinterchange_obj = { + utf8acceptinterchange_STATE0, + utf8acceptinterchange_STATE0_SIZE, + utf8acceptinterchange_TOTAL_SIZE, + utf8acceptinterchange_MAX_EXPAND_X4, + utf8acceptinterchange_SHIFT, + utf8acceptinterchange_BYTES, + utf8acceptinterchange_LOSUB, + utf8acceptinterchange_HIADD, + utf8acceptinterchange, + utf8acceptinterchange_remap_base, + utf8acceptinterchange_remap_string, + utf8acceptinterchange_fast +}; + + +#undef X__ +#undef RJ_ +#undef S1_ +#undef S2_ +#undef S3_ +#undef S21 +#undef S31 +#undef S32 +#undef T1_ +#undef T2_ +#undef S11 +#undef SP_ +#undef D__ +#undef RJA + +// Table has 4608 bytes, Hash = 505C-3D29 + +} // End namespace CLD2 +} // End namespace chrome_lang_id + +#endif // SCRIPT_SPAN_UTF8ACCEPTINTERCHANGE_H_ diff --git a/chromium/third_party/cld_3/src/src/script_span/utf8prop_lettermarkscriptnum.h b/chromium/third_party/cld_3/src/src/script_span/utf8prop_lettermarkscriptnum.h new file mode 100644 index 00000000000..5ed3ec6905d --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/utf8prop_lettermarkscriptnum.h @@ -0,0 +1,1631 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// Created by utf8tablebuilder version 2.9 +// +// Maps properties of all codes from file: +// lettermarkscriptnum_6.2.0.txt +// Accepts all other UTF-8 codes 0000..10FFFF +// Space optimized +// +// ** ASSUMES INPUT IS STRUCTURALLY VALID UTF-8 ** +// +// Table entries are absolute statetable subscripts +// Table entries are two bytes each + +#ifndef SCRIPT_SPAN_UTF8PROP_LETTERMARKSCRIPTNUM_H_ +#define SCRIPT_SPAN_UTF8PROP_LETTERMARKSCRIPTNUM_H_ + +#include "integral_types.h" +#include "utf8statetable.h" + +namespace chrome_lang_id { +namespace CLD2 { + +#define X__ (kExitIllegalStructure_2) +#define RJ_ (kExitReject_2) +#define S1_ (kExitReplace1_2) +#define S2_ (kExitReplace2_2) +#define S3_ (kExitReplace3_2) +#define S21 (kExitReplace21_2) +#define S31 (kExitReplace31_2) +#define S32 (kExitReplace32_2) +#define T1_ (kExitReplaceOffset1_2) +#define T2_ (kExitReplaceOffset2_2) +#define S11 (kExitReplace1S0_2) +#define SP_ (kExitSpecial_2) +#define D__ (kExitDoAgain_2) +#define RJA (kExitRejectAlt_2) + +// Entire table has 254 state blocks of 64 entries each + +static const unsigned int utf8prop_lettermarkscriptnum_STATE0 = 0; // state[0] +static const unsigned int utf8prop_lettermarkscriptnum_STATE0_SIZE = 64; // =[1] +static const unsigned int utf8prop_lettermarkscriptnum_TOTAL_SIZE = 16256; +static const unsigned int utf8prop_lettermarkscriptnum_MAX_EXPAND_X4 = 0; +static const unsigned int utf8prop_lettermarkscriptnum_SHIFT = 6; +static const unsigned int utf8prop_lettermarkscriptnum_BYTES = 2; +static const unsigned int utf8prop_lettermarkscriptnum_LOSUB = 0x80808080; +static const unsigned int utf8prop_lettermarkscriptnum_HIADD = 0x00000000; + +static const unsigned short utf8prop_lettermarkscriptnum[] = { +// state[0] 0x000000 Byte 1 (rows 0x-7x property) + 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, 0, + + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__, 6, 7, 8, 8, 8, 8, 8, 8, 9, 10, 11, 12, 13, 14, + 15, 15, 16, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 62,111,126,134,136,136,136, 136,137,139,136,136,165, 2,168, +186, 4, 4,249, 5,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[2 + 2] 0x00e000 Byte 2 of 3 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[3 + 2] 0x001ac0 Byte 3 of 3 (property) + 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, 0, + +// state[4 + 2] 0x040000 Byte 2 of 4 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + +// state[5 + 2] 0x100000 Byte 2 of 4 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[6 + 2] 0x000080 Byte 2 of 2 (property) + 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, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + +// state[7 + 2] 0x0000c0 Byte 2 of 2 (property) + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + +// state[8 + 2] 0x000100 Byte 2 of 2 (property) + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + +// state[9 + 2] 0x000280 Byte 2 of 2 (property) + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, + +// state[10 + 2] 0x0002c0 Byte 2 of 2 (property) + 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, 1, 1, 1, 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, + +// state[11 + 2] 0x000300 Byte 2 of 2 (property) + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + +// state[12 + 2] 0x000340 Byte 2 of 2 (property) + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 2, 2, 2, 2, 0, 0, 2, 2, 0, 0, 2, 2, 2, 2, 0, 0, + +// state[13 + 2] 0x000380 Byte 2 of 2 (property) + 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 2, 0, 2, 0, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + +// state[14 + 2] 0x0003c0 Byte 2 of 2 (property) + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + +// state[15 + 2] 0x000400 Byte 2 of 2 (property) + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[16 + 2] 0x000480 Byte 2 of 2 (property) + 3, 3, 0, 3, 3, 40, 40, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[17 + 2] 0x000500 Byte 2 of 2 (property) + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + +// state[18 + 2] 0x000540 Byte 2 of 2 (property) + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 0, 0, 4, 0, 0, 0, 0, 0, 0, + 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + +// state[19 + 2] 0x000580 Byte 2 of 2 (property) + 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, + +// state[20 + 2] 0x0005c0 Byte 2 of 2 (property) + 0, 5, 5, 0, 5, 5, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 0, 0, 0, 0, + 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[21 + 2] 0x000600 Byte 2 of 2 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[22 + 2] 0x000640 Byte 2 of 2 (property) + 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, + 40, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[23 + 2] 0x000680 Byte 2 of 2 (property) + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[24 + 2] 0x0006c0 Byte 2 of 2 (property) + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 6, 6, 0, 0, 6, + +// state[25 + 2] 0x000700 Byte 2 of 2 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + +// state[26 + 2] 0x000740 Byte 2 of 2 (property) + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 7, 7, 7, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[27 + 2] 0x000780 Byte 2 of 2 (property) + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[28 + 2] 0x0007c0 Byte 2 of 2 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, + 65, 65, 65, 65, 65, 65, 0, 0, 0, 0, 65, 0, 0, 0, 0, 0, + +// state[29 + 2] 0x000000 Byte 2 of 3 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, + +// state[30 + 2] 0x000800 Byte 3 of 3 (property) + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, + 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 81, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[31 + 2] 0x000840 Byte 3 of 3 (property) + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 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, + +// state[32 + 2] 0x000880 Byte 3 of 3 (property) + 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, + 6, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[33 + 2] 0x0008c0 Byte 3 of 3 (property) + 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, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, + +// state[34 + 2] 0x000900 Byte 3 of 3 (property) + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + +// state[35 + 2] 0x000940 Byte 3 of 3 (property) + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 40, 40, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, + +// state[36 + 2] 0x000980 Byte 3 of 3 (property) + 0, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 0, 0, 10, + 10, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, 10, 10, 10, + 10, 0, 10, 0, 0, 0, 10, 10, 10, 10, 0, 0, 10, 10, 10, 10, + +// state[37 + 2] 0x0009c0 Byte 3 of 3 (property) + 10, 10, 10, 10, 10, 0, 0, 10, 10, 0, 0, 10, 10, 10, 10, 0, + 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 10, 0, 10, + 10, 10, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[38 + 2] 0x000a00 Byte 3 of 3 (property) + 0, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 11, + 11, 0, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, + 11, 0, 11, 11, 0, 11, 11, 0, 11, 11, 0, 0, 11, 0, 11, 11, + +// state[39 + 2] 0x000a40 Byte 3 of 3 (property) + 11, 11, 11, 0, 0, 0, 0, 11, 11, 0, 0, 11, 11, 11, 0, 0, + 0, 11, 0, 0, 0, 0, 0, 0, 0, 11, 11, 11, 11, 0, 11, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 11, 11, 11, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[40 + 2] 0x000a80 Byte 3 of 3 (property) + 0, 12, 12, 12, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 12, + 12, 12, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 12, 12, 12, 12, 12, 12, + 12, 0, 12, 12, 0, 12, 12, 12, 12, 12, 0, 0, 12, 12, 12, 12, + +// state[41 + 2] 0x000ac0 Byte 3 of 3 (property) + 12, 12, 12, 12, 12, 12, 0, 12, 12, 12, 0, 12, 12, 12, 0, 0, + 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 12, 12, 12, 12, 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, + +// state[42 + 2] 0x000b00 Byte 3 of 3 (property) + 0, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 0, 0, 13, + 13, 0, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 13, 13, 13, 13, 13, 13, + 13, 0, 13, 13, 0, 13, 13, 13, 13, 13, 0, 0, 13, 13, 13, 13, + +// state[43 + 2] 0x000b40 Byte 3 of 3 (property) + 13, 13, 13, 13, 13, 0, 0, 13, 13, 0, 0, 13, 13, 13, 0, 0, + 0, 0, 0, 0, 0, 0, 13, 13, 0, 0, 0, 0, 13, 13, 0, 13, + 13, 13, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[44 + 2] 0x000b80 Byte 3 of 3 (property) + 0, 0, 14, 14, 0, 14, 14, 14, 14, 14, 14, 0, 0, 0, 14, 14, + 14, 0, 14, 14, 14, 14, 0, 0, 0, 14, 14, 0, 14, 0, 14, 14, + 0, 0, 0, 14, 14, 0, 0, 0, 14, 14, 14, 0, 0, 0, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 0, 0, 0, 14, 14, + +// state[45 + 2] 0x000bc0 Byte 3 of 3 (property) + 14, 14, 14, 0, 0, 0, 14, 14, 14, 0, 14, 14, 14, 14, 0, 0, + 14, 0, 0, 0, 0, 0, 0, 14, 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, + +// state[46 + 2] 0x000c00 Byte 3 of 3 (property) + 0, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, + 15, 0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 0, 0, 0, 15, 15, 15, + +// state[47 + 2] 0x000c40 Byte 3 of 3 (property) + 15, 15, 15, 15, 15, 0, 15, 15, 15, 0, 15, 15, 15, 15, 0, 0, + 0, 0, 0, 0, 0, 15, 15, 0, 15, 15, 0, 0, 0, 0, 0, 0, + 15, 15, 15, 15, 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, + +// state[48 + 2] 0x000c80 Byte 3 of 3 (property) + 0, 0, 16, 16, 0, 16, 16, 16, 16, 16, 16, 16, 16, 0, 16, 16, + 16, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 0, 16, 16, 16, 16, 16, 0, 0, 16, 16, 16, 16, + +// state[49 + 2] 0x000cc0 Byte 3 of 3 (property) + 16, 16, 16, 16, 16, 0, 16, 16, 16, 0, 16, 16, 16, 16, 0, 0, + 0, 0, 0, 0, 0, 16, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, + 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[50 + 2] 0x000d00 Byte 3 of 3 (property) + 0, 0, 17, 17, 0, 17, 17, 17, 17, 17, 17, 17, 17, 0, 17, 17, + 17, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 0, 17, 17, 17, + +// state[51 + 2] 0x000d40 Byte 3 of 3 (property) + 17, 17, 17, 17, 17, 0, 17, 17, 17, 0, 17, 17, 17, 17, 17, 0, + 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, + 17, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 17, 17, 17, 17, 17, + +// state[52 + 2] 0x000d80 Byte 3 of 3 (property) + 0, 0, 18, 18, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 0, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 18, 0, 0, + +// state[53 + 2] 0x000dc0 Byte 3 of 3 (property) + 18, 18, 18, 18, 18, 18, 18, 0, 0, 0, 18, 0, 0, 0, 0, 18, + 18, 18, 18, 18, 18, 0, 18, 0, 18, 18, 18, 18, 18, 18, 18, 18, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[54 + 2] 0x000e00 Byte 3 of 3 (property) + 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 0, 0, 0, 0, + +// state[55 + 2] 0x000e40 Byte 3 of 3 (property) + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 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, + +// state[56 + 2] 0x000e80 Byte 3 of 3 (property) + 0, 20, 20, 0, 20, 0, 0, 20, 20, 0, 20, 0, 0, 20, 0, 0, + 0, 0, 0, 0, 20, 20, 20, 20, 0, 20, 20, 20, 20, 20, 20, 20, + 0, 20, 20, 20, 0, 20, 0, 20, 0, 0, 20, 20, 0, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 0, 20, 20, 20, 0, 0, + +// state[57 + 2] 0x000ec0 Byte 3 of 3 (property) + 20, 20, 20, 20, 20, 0, 20, 0, 20, 20, 20, 20, 20, 20, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 20, 20, 20, + 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, + +// state[58 + 2] 0x000f00 Byte 3 of 3 (property) + 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, 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, 21, 0, 21, 0, 21, 0, 0, 0, 0, 21, 21, + +// state[59 + 2] 0x000f40 Byte 3 of 3 (property) + 21, 21, 21, 21, 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, + 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + +// state[60 + 2] 0x000f80 Byte 3 of 3 (property) + 21, 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 0, 0, + +// state[61 + 2] 0x000fc0 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 0, 21, 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, + +// state[62 + 2] 0x001000 Byte 2 of 3 + 63, 64, 65, 66, 67, 67, 67, 67, 68, 69, 70, 71, 72, 73, 74, 75, + 76, 77, 77, 77, 77, 77, 77, 77, 77, 78, 79, 80, 81, 82, 83, 84, + 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 3, 96, 97, 98, 99, +100,101, 3,102,103,104,105,106, 8, 8, 8, 8,107,108,109,110, + +// state[63 + 2] 0x001000 Byte 3 of 3 (property) + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + +// state[64 + 2] 0x001040 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + +// state[65 + 2] 0x001080 Byte 3 of 3 (property) + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 22, 22, 22, 0, 0, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + +// state[66 + 2] 0x0010c0 Byte 3 of 3 (property) + 23, 23, 23, 23, 23, 23, 0, 23, 0, 0, 0, 0, 0, 23, 0, 0, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, + +// state[67 + 2] 0x001100 Byte 3 of 3 (property) + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + +// state[68 + 2] 0x001200 Byte 3 of 3 (property) + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + +// state[69 + 2] 0x001240 Byte 3 of 3 (property) + 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, 25, 25, 25, 25, 0, 0, + 25, 25, 25, 25, 25, 25, 25, 0, 25, 0, 25, 25, 25, 25, 0, 0, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + +// state[70 + 2] 0x001280 Byte 3 of 3 (property) + 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, 25, 25, 25, 25, 0, 0, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 0, 25, 25, 25, 25, 0, 0, 25, 25, 25, 25, 25, 25, 25, 0, + +// state[71 + 2] 0x0012c0 Byte 3 of 3 (property) + 25, 0, 25, 25, 25, 25, 0, 0, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 0, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + +// state[72 + 2] 0x001300 Byte 3 of 3 (property) + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 0, 25, 25, 25, 25, 0, 0, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + +// state[73 + 2] 0x001340 Byte 3 of 3 (property) + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 0, 0, 25, 25, 25, + 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, + +// state[74 + 2] 0x001380 Byte 3 of 3 (property) + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + +// state[75 + 2] 0x0013c0 Byte 3 of 3 (property) + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[76 + 2] 0x001400 Byte 3 of 3 (property) + 0, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + +// state[77 + 2] 0x001440 Byte 3 of 3 (property) + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + +// state[78 + 2] 0x001640 Byte 3 of 3 (property) + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 0, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + +// state[79 + 2] 0x001680 Byte 3 of 3 (property) + 0, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 0, 0, 0, 0, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, + +// state[80 + 2] 0x0016c0 Byte 3 of 3 (property) + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[81 + 2] 0x001700 Byte 3 of 3 (property) + 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 0, 41, 41, + 41, 41, 41, 41, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[82 + 2] 0x001740 Byte 3 of 3 (property) + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 0, 44, 44, + 44, 0, 44, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[83 + 2] 0x001780 Byte 3 of 3 (property) + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + +// state[84 + 2] 0x0017c0 Byte 3 of 3 (property) + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 0, 0, 0, 30, 0, 0, 0, 0, 30, 30, 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, + +// state[85 + 2] 0x001800 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 31, 31, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + +// state[86 + 2] 0x001840 Byte 3 of 3 (property) + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[87 + 2] 0x001880 Byte 3 of 3 (property) + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 0, 0, 0, 0, 0, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + +// state[88 + 2] 0x0018c0 Byte 3 of 3 (property) + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[89 + 2] 0x001900 Byte 3 of 3 (property) + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 0, + 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 0, 0, 0, 0, + +// state[90 + 2] 0x001940 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, + 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 0, 0, + 46, 46, 46, 46, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[91 + 2] 0x001980 Byte 3 of 3 (property) + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 0, 0, 0, 0, + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, + +// state[92 + 2] 0x0019c0 Byte 3 of 3 (property) + 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 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, + +// state[93 + 2] 0x001a00 Byte 3 of 3 (property) + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 0, 0, 0, 0, + 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, + +// state[94 + 2] 0x001a40 Byte 3 of 3 (property) + 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 0, + 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 0, 0, 77, + +// state[95 + 2] 0x001a80 Byte 3 of 3 (property) + 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, 77, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[96 + 2] 0x001b00 Byte 3 of 3 (property) + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + +// state[97 + 2] 0x001b40 Byte 3 of 3 (property) + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 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, 61, 61, 61, 61, 61, + 61, 61, 61, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[98 + 2] 0x001b80 Byte 3 of 3 (property) + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 66, 66, 66, 66, 66, + +// state[99 + 2] 0x001bc0 Byte 3 of 3 (property) + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[100 + 2] 0x001c00 Byte 3 of 3 (property) + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[101 + 2] 0x001c40 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 67, 67, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 0, 0, + +// state[102 + 2] 0x001cc0 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 40, 40, 40, 0, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 0, 40, 40, 40, 40, 40, 40, 40, 0, 0, 0, 0, 40, 0, 0, + 0, 0, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[103 + 2] 0x001d00 Byte 3 of 3 (property) + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + +// state[104 + 2] 0x001d40 Byte 3 of 3 (property) + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, + 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, + +// state[105 + 2] 0x001d80 Byte 3 of 3 (property) + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, + +// state[106 + 2] 0x001dc0 Byte 3 of 3 (property) + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 40, 40, 40, + +// state[107 + 2] 0x001f00 Byte 3 of 3 (property) + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + +// state[108 + 2] 0x001f40 Byte 3 of 3 (property) + 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 0, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, + +// state[109 + 2] 0x001f80 Byte 3 of 3 (property) + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, + +// state[110 + 2] 0x001fc0 Byte 3 of 3 (property) + 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, + 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, + 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, + +// state[111 + 2] 0x002000 Byte 2 of 3 + 3,112,113,114,115,116,117, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +118,119,120,121,122,123,124,125, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[112 + 2] 0x002040 Byte 3 of 3 (property) + 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, + +// state[113 + 2] 0x002080 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, + +// state[114 + 2] 0x0020c0 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[115 + 2] 0x002100 Byte 3 of 3 (property) + 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, 2, 0, 0, 0, 1, 1, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[116 + 2] 0x002140 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, + +// state[117 + 2] 0x002180 Byte 3 of 3 (property) + 0, 0, 0, 1, 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, + +// state[118 + 2] 0x002c00 Byte 3 of 3 (property) + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + +// state[119 + 2] 0x002c40 Byte 3 of 3 (property) + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + +// state[120 + 2] 0x002c80 Byte 3 of 3 (property) + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + +// state[121 + 2] 0x002cc0 Byte 3 of 3 (property) + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 54, 0, 0, 0, 0, 0, 0, 54, 54, 54, 54, 54, + 54, 54, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[122 + 2] 0x002d00 Byte 3 of 3 (property) + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 0, 23, 0, 0, 0, 0, 0, 23, 0, 0, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + +// state[123 + 2] 0x002d40 Byte 3 of 3 (property) + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 0, 0, 0, 0, 0, 0, 0, 57, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, + +// state[124 + 2] 0x002d80 Byte 3 of 3 (property) + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 25, 25, 25, 25, 25, 25, 0, 25, 25, 25, 25, 25, 25, 25, 0, + 25, 25, 25, 25, 25, 25, 25, 0, 25, 25, 25, 25, 25, 25, 25, 0, + +// state[125 + 2] 0x002dc0 Byte 3 of 3 (property) + 25, 25, 25, 25, 25, 25, 25, 0, 25, 25, 25, 25, 25, 25, 25, 0, + 25, 25, 25, 25, 25, 25, 25, 0, 25, 25, 25, 25, 25, 25, 25, 0, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[126 + 2] 0x003000 Byte 2 of 3 +127,128,129,130,131, 67,132,133, 3, 3, 3, 3, 3, 3, 3, 3, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + +// state[127 + 2] 0x003000 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 24, 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, 40, 40, 40, 40, 24, 24, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, + +// state[128 + 2] 0x003040 Byte 3 of 3 (property) + 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + +// state[129 + 2] 0x003080 Byte 3 of 3 (property) + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 0, 0, 40, 40, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + +// state[130 + 2] 0x0030c0 Byte 3 of 3 (property) + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 24, 24, 24, + +// state[131 + 2] 0x003100 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, + 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + +// state[132 + 2] 0x003180 Byte 3 of 3 (property) + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, + 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 0, 0, 0, 0, 0, + +// state[133 + 2] 0x0031c0 Byte 3 of 3 (property) + 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, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + +// state[134 + 2] 0x004000 Byte 2 of 3 + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67,135, 3, 67, 67, 67, 67, 67, 67, 67, 67, + +// state[135 + 2] 0x004d80 Byte 3 of 3 (property) + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[136 + 2] 0x005000 Byte 2 of 3 + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + +// state[137 + 2] 0x009000 Byte 2 of 3 + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,138, + +// state[138 + 2] 0x009fc0 Byte 3 of 3 (property) + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 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, + +// state[139 + 2] 0x00a000 Byte 2 of 3 +140,140,140,140,140,140,140,140, 140,140,140,140,140,140,140,140, +140,140,141,142,143,143,143,143, 144,145,146,147,148, 8,149,150, +151,152,153,154,155,156,157,158, 159,160,161,162,163, 3, 3,164, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + +// state[140 + 2] 0x00a000 Byte 3 of 3 (property) + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + +// state[141 + 2] 0x00a480 Byte 3 of 3 (property) + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 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, + +// state[142 + 2] 0x00a4c0 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 0, 0, + +// state[143 + 2] 0x00a500 Byte 3 of 3 (property) + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + +// state[144 + 2] 0x00a600 Byte 3 of 3 (property) + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 0, 0, 0, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 69, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[145 + 2] 0x00a640 Byte 3 of 3 (property) + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 3, + +// state[146 + 2] 0x00a680 Byte 3 of 3 (property) + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 3, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + +// state[147 + 2] 0x00a6c0 Byte 3 of 3 (property) + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[148 + 2] 0x00a700 Byte 3 of 3 (property) + 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + +// state[149 + 2] 0x00a780 Byte 3 of 3 (property) + 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[150 + 2] 0x00a7c0 Byte 3 of 3 (property) + 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, 1, 1, 1, 1, 1, 1, 1, + +// state[151 + 2] 0x00a800 Byte 3 of 3 (property) + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, + 58, 58, 58, 58, 58, 58, 58, 58, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[152 + 2] 0x00a840 Byte 3 of 3 (property) + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[153 + 2] 0x00a880 Byte 3 of 3 (property) + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, + +// state[154 + 2] 0x00a8c0 Byte 3 of 3 (property) + 70, 70, 70, 70, 70, 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, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 9, 0, 0, 0, 0, + +// state[155 + 2] 0x00a900 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 71, 71, 71, 71, 71, + 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, + 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 0, 0, + 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, + +// state[156 + 2] 0x00a940 Byte 3 of 3 (property) + 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, + 72, 72, 72, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 0, + +// state[157 + 2] 0x00a980 Byte 3 of 3 (property) + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + +// state[158 + 2] 0x00a9c0 Byte 3 of 3 (property) + 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, + 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, + +// state[159 + 2] 0x00aa00 Byte 3 of 3 (property) + 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[160 + 2] 0x00aa40 Byte 3 of 3 (property) + 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 0, 0, 0, 22, 22, 0, 0, 0, 0, + +// state[161 + 2] 0x00aa80 Byte 3 of 3 (property) + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, + +// state[162 + 2] 0x00aac0 Byte 3 of 3 (property) + 78, 78, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 78, 78, 0, 0, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 0, 0, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[163 + 2] 0x00ab00 Byte 3 of 3 (property) + 0, 25, 25, 25, 25, 25, 25, 0, 0, 25, 25, 25, 25, 25, 25, 0, + 0, 25, 25, 25, 25, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 25, 25, 25, 25, 25, 25, 25, 0, 25, 25, 25, 25, 25, 25, 25, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[164 + 2] 0x00abc0 Byte 3 of 3 (property) + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, + 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 85, 85, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[165 + 2] 0x00d000 Byte 2 of 3 + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,166,167, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[166 + 2] 0x00d780 Byte 3 of 3 (property) + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + +// state[167 + 2] 0x00d7c0 Byte 3 of 3 (property) + 24, 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, 0, 0, + +// state[168 + 2] 0x00f000 Byte 2 of 3 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 67, 67, 67, 67, 67,169, 67,170,171,172,173,174, + 23, 23, 23, 23,175,176,177,178, 179,180, 23,181,182,183,184,185, + +// state[169 + 2] 0x00fa40 Byte 3 of 3 (property) + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + +// state[170 + 2] 0x00fac0 Byte 3 of 3 (property) + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 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, + +// state[171 + 2] 0x00fb00 Byte 3 of 3 (property) + 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 0, 5, 0, + +// state[172 + 2] 0x00fb40 Byte 3 of 3 (property) + 5, 5, 0, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[173 + 2] 0x00fb80 Byte 3 of 3 (property) + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[174 + 2] 0x00fbc0 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[175 + 2] 0x00fd00 Byte 3 of 3 (property) + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, + +// state[176 + 2] 0x00fd40 Byte 3 of 3 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[177 + 2] 0x00fd80 Byte 3 of 3 (property) + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[178 + 2] 0x00fdc0 Byte 3 of 3 (property) + 6, 6, 6, 6, 6, 6, 6, 6, 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, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, + +// state[179 + 2] 0x00fe00 Byte 3 of 3 (property) + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 40, 40, 40, 40, 40, 40, 40, 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, + +// state[180 + 2] 0x00fe40 Byte 3 of 3 (property) + 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, + 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[181 + 2] 0x00fec0 Byte 3 of 3 (property) + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, + +// state[182 + 2] 0x00ff00 Byte 3 of 3 (property) + 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + +// state[183 + 2] 0x00ff40 Byte 3 of 3 (property) + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 0, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + +// state[184 + 2] 0x00ff80 Byte 3 of 3 (property) + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, 0, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 0, + +// state[185 + 2] 0x00ffc0 Byte 3 of 3 (property) + 0, 0, 24, 24, 24, 24, 24, 24, 0, 0, 24, 24, 24, 24, 24, 24, + 0, 0, 24, 24, 24, 24, 24, 24, 0, 0, 24, 24, 24, 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, + +// state[186 + 2] 0x000000 Byte 2 of 4 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +187,212,221,224, 2, 2,227, 2, 2, 2, 2,233, 2,235,239, 2, +136,136,136,136,136,136,136,136, 136,136,243,245, 2, 2, 2,248, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + +// state[187 + 2] 0x010000 Byte 3 of 4 +188,189,190,191, 3, 3, 3,192, 3, 3,193,194,195,196,197,198, +199,200,201, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +202,203, 3, 3,204, 3,205, 3, 206,207, 3, 3,208,209, 3, 3, +210,211, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[188 + 2] 0x010000 Byte 4 of 4 (property) + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 0, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 47, 47, 0, 47, + +// state[189 + 2] 0x010040 Byte 4 of 4 (property) + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 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, + +// state[190 + 2] 0x010080 Byte 4 of 4 (property) + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + +// state[191 + 2] 0x0100c0 Byte 4 of 4 (property) + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 0, 0, 0, 0, 0, + +// state[192 + 2] 0x0101c0 Byte 4 of 4 (property) + 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, 40, 0, 0, + +// state[193 + 2] 0x010280 Byte 4 of 4 (property) + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 73, 0, 0, 0, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + +// state[194 + 2] 0x0102c0 Byte 4 of 4 (property) + 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, + 74, 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, + +// state[195 + 2] 0x010300 Byte 4 of 4 (property) + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, + 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, + +// state[196 + 2] 0x010340 Byte 4 of 4 (property) + 38, 0, 38, 38, 38, 38, 38, 38, 38, 38, 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, + +// state[197 + 2] 0x010380 Byte 4 of 4 (property) + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 0, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, + +// state[198 + 2] 0x0103c0 Byte 4 of 4 (property) + 59, 59, 59, 59, 0, 0, 0, 0, 59, 59, 59, 59, 59, 59, 59, 59, + 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, + +// state[199 + 2] 0x010400 Byte 4 of 4 (property) + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + +// state[200 + 2] 0x010440 Byte 4 of 4 (property) + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, + +// state[201 + 2] 0x010480 Byte 4 of 4 (property) + 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, + 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 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, + +// state[202 + 2] 0x010800 Byte 4 of 4 (property) + 51, 51, 51, 51, 51, 51, 0, 0, 51, 0, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 0, 51, 51, 0, 0, 0, 51, 0, 0, 51, + +// state[203 + 2] 0x010840 Byte 4 of 4 (property) + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 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, + +// state[204 + 2] 0x010900 Byte 4 of 4 (property) + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 75, 0, 0, 0, 0, 0, 0, + +// state[205 + 2] 0x010980 Byte 4 of 4 (property) + 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, + 96, 96, 96, 96, 96, 96, 96, 96, 0, 0, 0, 0, 0, 0, 96, 96, + +// state[206 + 2] 0x010a00 Byte 4 of 4 (property) + 60, 60, 60, 60, 0, 60, 60, 0, 0, 0, 0, 0, 60, 60, 60, 60, + 60, 60, 60, 60, 0, 60, 60, 60, 0, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 60, 60, 0, 0, 0, 0, 60, 60, 60, 0, 0, 0, 0, 60, + +// state[207 + 2] 0x010a40 Byte 4 of 4 (property) + 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, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, + 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 0, 0, 0, + +// state[208 + 2] 0x010b00 Byte 4 of 4 (property) + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[209 + 2] 0x010b40 Byte 4 of 4 (property) + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, + 89, 89, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[210 + 2] 0x010c00 Byte 4 of 4 (property) + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, + +// state[211 + 2] 0x010c40 Byte 4 of 4 (property) + 90, 90, 90, 90, 90, 90, 90, 90, 90, 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, + +// state[212 + 2] 0x011000 Byte 3 of 4 +213,214,215,216,217, 3,218,219, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,220, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[213 + 2] 0x011000 Byte 4 of 4 (property) + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + +// state[214 + 2] 0x011040 Byte 4 of 4 (property) + 93, 93, 93, 93, 93, 93, 93, 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, + +// state[215 + 2] 0x011080 Byte 4 of 4 (property) + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 0, 0, 0, 0, 0, + +// state[216 + 2] 0x0110c0 Byte 4 of 4 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, +100,100,100,100,100,100,100,100, 100, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[217 + 2] 0x011100 Byte 4 of 4 (property) + 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, + 95, 95, 95, 95, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[218 + 2] 0x011180 Byte 4 of 4 (property) + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + +// state[219 + 2] 0x0111c0 Byte 4 of 4 (property) + 99, 99, 99, 99, 99, 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, + +// state[220 + 2] 0x011680 Byte 4 of 4 (property) +101,101,101,101,101,101,101,101, 101,101,101,101,101,101,101,101, +101,101,101,101,101,101,101,101, 101,101,101,101,101,101,101,101, +101,101,101,101,101,101,101,101, 101,101,101,101,101,101,101,101, +101,101,101,101,101,101,101,101, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[221 + 2] 0x012000 Byte 3 of 4 +222,222,222,222,222,222,222,222, 222,222,222,222,222,223, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[222 + 2] 0x012000 Byte 4 of 4 (property) + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + +// state[223 + 2] 0x012340 Byte 4 of 4 (property) + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[224 + 2] 0x013000 Byte 3 of 4 +225,225,225,225,225,225,225,225, 225,225,225,225,225,225,225,225, +226, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[225 + 2] 0x013000 Byte 4 of 4 (property) + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + +// state[226 + 2] 0x013400 Byte 4 of 4 (property) + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[227 + 2] 0x016000 Byte 3 of 4 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +228,228,228,228,228,228,228,228, 229, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,230,231,232, 3, + +// state[228 + 2] 0x016800 Byte 4 of 4 (property) + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + +// state[229 + 2] 0x016a00 Byte 4 of 4 (property) + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 0, 0, 0, 0, 0, 0, 0, + +// state[230 + 2] 0x016f00 Byte 4 of 4 (property) + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + +// state[231 + 2] 0x016f40 Byte 4 of 4 (property) + 98, 98, 98, 98, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 0, + +// state[232 + 2] 0x016f80 Byte 4 of 4 (property) + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 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, + +// state[233 + 2] 0x01b000 Byte 3 of 4 +234, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[234 + 2] 0x01b000 Byte 4 of 4 (property) + 24, 24, 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, + +// state[235 + 2] 0x01d000 Byte 3 of 4 + 3, 3, 3, 3, 3,236,237, 3, 3,238, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[236 + 2] 0x01d140 Byte 4 of 4 (property) + 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, 40, 40, 40, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 40, 40, 40, 40, + +// state[237 + 2] 0x01d180 Byte 4 of 4 (property) + 40, 40, 40, 0, 0, 40, 40, 40, 40, 40, 40, 40, 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, 40, 40, 40, 40, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[238 + 2] 0x01d240 Byte 4 of 4 (property) + 0, 0, 2, 2, 2, 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, + +// state[239 + 2] 0x01e000 Byte 3 of 4 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 240,241,242, 3, 3, 3, 3, 3, + +// state[240 + 2] 0x01ee00 Byte 4 of 4 (property) + 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 0, 6, 6, 0, 6, 0, 0, 6, 0, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 0, 6, 6, 6, 6, 0, 6, 0, 6, 0, 0, 0, 0, + +// state[241 + 2] 0x01ee40 Byte 4 of 4 (property) + 0, 0, 6, 0, 0, 0, 0, 6, 0, 6, 0, 6, 0, 6, 6, 6, + 0, 6, 6, 0, 6, 0, 0, 6, 0, 6, 0, 6, 0, 6, 0, 6, + 0, 6, 6, 0, 6, 0, 0, 6, 6, 6, 6, 0, 6, 6, 6, 6, + 6, 6, 6, 0, 6, 6, 6, 6, 0, 6, 6, 6, 6, 0, 6, 0, + +// state[242 + 2] 0x01ee80 Byte 4 of 4 (property) + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, + 0, 6, 6, 6, 0, 6, 6, 6, 6, 6, 0, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 0, 0, 0, + +// state[243 + 2] 0x02a000 Byte 3 of 4 + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,244, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + +// state[244 + 2] 0x02a6c0 Byte 4 of 4 (property) + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 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, + +// state[245 + 2] 0x02b000 Byte 3 of 4 + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,246, 67, 67, 67, +247, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[246 + 2] 0x02b700 Byte 4 of 4 (property) + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[247 + 2] 0x02b800 Byte 4 of 4 (property) + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 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, + +// state[248 + 2] 0x02f000 Byte 3 of 4 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 67, 67, 67, 67, 67, 67, 67, 67, 247, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[249 + 2] 0x0c0000 Byte 2 of 4 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +250, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + +// state[250 + 2] 0x0e0000 Byte 3 of 4 + 3, 3, 3, 3, 11, 11, 11,251, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[251 + 2] 0x0e01c0 Byte 4 of 4 (property) + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +}; + +// Remap base[0] = (del, add, string_offset) +static const RemapEntry utf8prop_lettermarkscriptnum_remap_base[] = { +{0,0,0} }; + +// Remap string[0] +static const unsigned char utf8prop_lettermarkscriptnum_remap_string[] = { +0 }; + +static const UTF8PropObj_2 utf8prop_lettermarkscriptnum_obj = { + utf8prop_lettermarkscriptnum_STATE0, + utf8prop_lettermarkscriptnum_STATE0_SIZE, + utf8prop_lettermarkscriptnum_TOTAL_SIZE, + utf8prop_lettermarkscriptnum_MAX_EXPAND_X4, + utf8prop_lettermarkscriptnum_SHIFT, + utf8prop_lettermarkscriptnum_BYTES, + utf8prop_lettermarkscriptnum_LOSUB, + utf8prop_lettermarkscriptnum_HIADD, + utf8prop_lettermarkscriptnum, + utf8prop_lettermarkscriptnum_remap_base, + utf8prop_lettermarkscriptnum_remap_string, + NULL +}; + + +#undef X__ +#undef RJ_ +#undef S1_ +#undef S2_ +#undef S3_ +#undef S21 +#undef S31 +#undef S32 +#undef T1_ +#undef T2_ +#undef S11 +#undef SP_ +#undef D__ +#undef RJA + +// Table has 32512 bytes, Hash = E250-03E6 + +} // End namespace CLD2 +} // End namespace chrome_lang_id + +#endif // SCRIPT_SPAN_UTF8PROP_LETTERMARKSCRIPTNUM_H_ diff --git a/chromium/third_party/cld_3/src/src/script_span/utf8repl_lettermarklower.h b/chromium/third_party/cld_3/src/src/script_span/utf8repl_lettermarklower.h new file mode 100644 index 00000000000..adc59d4c0dc --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/utf8repl_lettermarklower.h @@ -0,0 +1,758 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// Created by utf8tablebuilder version 2.9 +// +// Replaces all codes from file: +// lettermarklower_6.2.0.txt +// Accepts all other UTF-8 codes 0000..10FFFF +// Space optimized +// +// ** ASSUMES INPUT IS STRUCTURALLY VALID UTF-8 ** +// +// Table entries are absolute statetable subscripts + +#ifndef SCRIPT_SPAN_UTF8REPL_LETTERMARKLOWER_H_ +#define SCRIPT_SPAN_UTF8REPL_LETTERMARKLOWER_H_ + +#include "integral_types.h" +#include "utf8statetable.h" + +namespace chrome_lang_id { +namespace CLD2 { + +#define X__ (kExitIllegalStructure) +#define RJ_ (kExitReject) +#define S1_ (kExitReplace1) +#define S2_ (kExitReplace2) +#define S3_ (kExitReplace3) +#define S21 (kExitReplace21) +#define S31 (kExitReplace31) +#define S32 (kExitReplace32) +#define T1_ (kExitReplaceOffset1) +#define T2_ (kExitReplaceOffset2) +#define S11 (kExitReplace1S0) +#define SP_ (kExitSpecial) +#define D__ (kExitDoAgain) +#define RJA (kExitRejectAlt) + +// Entire table has 111 state blocks of 64 entries each + +static const unsigned int utf8repl_lettermarklower_STATE0 = 0; // state[0] +static const unsigned int utf8repl_lettermarklower_STATE0_SIZE = 320; // =[5] +static const unsigned int utf8repl_lettermarklower_TOTAL_SIZE = 7104; +static const unsigned int utf8repl_lettermarklower_MAX_EXPAND_X4 = 12; +static const unsigned int utf8repl_lettermarklower_SHIFT = 6; +static const unsigned int utf8repl_lettermarklower_BYTES = 1; +static const unsigned int utf8repl_lettermarklower_LOSUB = 0x5b5b5b5b; +static const unsigned int utf8repl_lettermarklower_HIADD = 0x00000000; + +static const uint8 utf8repl_lettermarklower[] = { +// state[0] 0x000000 Byte 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, 0, + + 0,S11,S11,S11,S11,S11,S11,S11, S11,S11,S11,S11,S11,S11,S11,S11, +S11,S11,S11,S11,S11,S11,S11,S11, S11,S11,S11, 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, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__, 6, 11, 13, 16, 19, 22, 25, 28, 6, 6, 6, 31, 33, 36, + 39, 42, 44, 46, 48, 51, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 7, 54, 74, 8, 8, 8, 8, 8, 8, 8, 88, 8, 8, 8, 8,100, +104, 9, 9, 9, 10,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +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,0x61,0x62,0x63,0x64,0x65,0x66,0x67, 0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f, +0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77, 0x78,0x79,0x7a,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,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, + +// state[6 + 2] 0x000080 Byte 2 of 2 + 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, 0, + +// state[7 + 2] 0x000000 Byte 2 of 3 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[8 + 2] 0x003000 Byte 2 of 3 + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[9 + 2] 0x040000 Byte 2 of 4 + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + +// state[10 + 2] 0x100000 Byte 2 of 4 + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[11 + 2] 0x0000c0 Byte 2 of 2 +S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, +S1_,S1_,S1_,S1_,S1_,S1_,S1_, 0, S1_,S1_,S1_,S1_,S1_,S1_,S1_, 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, + +0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7, 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf, +0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0x00, 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,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, + +// state[13 + 2] 0x000100 Byte 2 of 2 +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S21, 0,S1_, 0,S1_, 0,S1_, 0, 0,S1_, 0,S1_, 0,S1_, 0,S2_, + +0x81,0x00,0x83,0x00,0x85,0x00,0x87,0x00, 0x89,0x00,0x8b,0x00,0x8d,0x00,0x8f,0x00, +0x91,0x00,0x93,0x00,0x95,0x00,0x97,0x00, 0x99,0x00,0x9b,0x00,0x9d,0x00,0x9f,0x00, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xab,0x00,0xad,0x00,0xaf,0x00, +0x69,0x00,0xb3,0x00,0xb5,0x00,0xb7,0x00, 0x00,0xba,0x00,0xbc,0x00,0xbe,0x00,0x80, + +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,0xc5, + +// state[16 + 2] 0x000140 Byte 2 of 2 + 0,S1_, 0,S1_, 0,S1_, 0,S1_, 0, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S2_,S1_, 0,S1_, 0,S1_, 0, 0, + +0x00,0x82,0x00,0x84,0x00,0x86,0x00,0x88, 0x00,0x00,0x8b,0x00,0x8d,0x00,0x8f,0x00, +0x91,0x00,0x93,0x00,0x95,0x00,0x97,0x00, 0x99,0x00,0x9b,0x00,0x9d,0x00,0x9f,0x00, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xab,0x00,0xad,0x00,0xaf,0x00, +0xb1,0x00,0xb3,0x00,0xb5,0x00,0xb7,0x00, 0xbf,0xba,0x00,0xbc,0x00,0xbe,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, 0xc3,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +// state[19 + 2] 0x000180 Byte 2 of 2 + 0,S2_,S1_, 0,S1_, 0,S2_,S1_, 0,S2_,S2_,S1_, 0, 0,S2_,S2_, +S2_,S1_, 0,S2_,S2_, 0,S2_,S2_, S1_, 0, 0, 0,S2_,S2_, 0,S2_, +S1_, 0,S1_, 0,S1_, 0,S2_,S1_, 0,S2_, 0, 0,S1_, 0,S2_,S1_, + 0,S2_,S2_,S1_, 0,S1_, 0,S2_, S1_, 0, 0, 0,S1_, 0, 0, 0, + +0x00,0x93,0x83,0x00,0x85,0x00,0x94,0x88, 0x00,0x96,0x97,0x8c,0x00,0x00,0x9d,0x99, +0x9b,0x92,0x00,0xa0,0xa3,0x00,0xa9,0xa8, 0x99,0x00,0x00,0x00,0xaf,0xb2,0x00,0xb5, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0x80,0xa8, 0x00,0x83,0x00,0x00,0xad,0x00,0x88,0xb0, +0x00,0x8a,0x8b,0xb4,0x00,0xb6,0x00,0x92, 0xb9,0x00,0x00,0x00,0xbd,0x00,0x00,0x00, + +0x00,0xc9,0x00,0x00,0x00,0x00,0xc9,0x00, 0x00,0xc9,0xc9,0x00,0x00,0x00,0xc7,0xc9, +0xc9,0x00,0x00,0xc9,0xc9,0x00,0xc9,0xc9, 0x00,0x00,0x00,0x00,0xc9,0xc9,0x00,0xc9, +0x00,0x00,0x00,0x00,0x00,0x00,0xca,0x00, 0x00,0xca,0x00,0x00,0x00,0x00,0xca,0x00, +0x00,0xca,0xca,0x00,0x00,0x00,0x00,0xca, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +// state[22 + 2] 0x0001c0 Byte 2 of 2 + 0, 0, 0, 0,S1_,S1_, 0,S1_, S1_, 0,S1_,S1_, 0,S1_, 0,S1_, + 0,S1_, 0,S1_, 0,S1_, 0,S1_, 0,S1_, 0,S1_, 0, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, + 0,S1_,S1_, 0,S1_, 0,S2_,S2_, S1_, 0,S1_, 0,S1_, 0,S1_, 0, + +0x00,0x00,0x00,0x00,0x86,0x86,0x00,0x89, 0x89,0x00,0x8c,0x8c,0x00,0x8e,0x00,0x90, +0x00,0x92,0x00,0x94,0x00,0x96,0x00,0x98, 0x00,0x9a,0x00,0x9c,0x00,0x00,0x9f,0x00, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xab,0x00,0xad,0x00,0xaf,0x00, +0x00,0xb3,0xb3,0x00,0xb5,0x00,0x95,0xbf, 0xb9,0x00,0xbb,0x00,0xbd,0x00,0xbf,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,0xc6,0xc6, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +// state[25 + 2] 0x000200 Byte 2 of 2 +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S2_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0, 0, 0, 0, 0, 0, 0,T1_,S1_, 0,S2_,T1_, 0, + +0x81,0x00,0x83,0x00,0x85,0x00,0x87,0x00, 0x89,0x00,0x8b,0x00,0x8d,0x00,0x8f,0x00, +0x91,0x00,0x93,0x00,0x95,0x00,0x97,0x00, 0x99,0x00,0x9b,0x00,0x9d,0x00,0x9f,0x00, +0x9e,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xab,0x00,0xad,0x00,0xaf,0x00, +0xb1,0x00,0xb3,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xbc,0x00,0x9a,0x01,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, +0xc6,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,0xc6,0x00,0x00, + +// state[28 + 2] 0x000240 Byte 2 of 2 + 0,S1_, 0,S2_,S2_,S2_,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 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, + +0x00,0x82,0x00,0x80,0x89,0x8c,0x87,0x00, 0x89,0x00,0x8b,0x00,0x8d,0x00,0x8f,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,0xc6,0xca,0xca,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, + +// state[31 + 2] 0x000340 Byte 2 of 2 + 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, +S1_, 0,S1_, 0, 0, 0,S1_, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +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, +0xb1,0x00,0xb3,0x00,0x00,0x00,0xb7,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +// state[33 + 2] 0x000380 Byte 2 of 2 + 0, 0, 0, 0, 0, 0,S1_, 0, S1_,S1_,S1_, 0,S2_, 0,S2_,S2_, + 0,S1_,S1_,S1_,S1_,S1_,S1_,S1_, S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, +S2_,S2_, 0,S2_,S2_,S2_,S2_,S2_, S2_,S2_,S2_,S2_, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +0x00,0x00,0x00,0x00,0x00,0x00,0xac,0x00, 0xad,0xae,0xaf,0x00,0x8c,0x00,0x8d,0x8e, +0x00,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7, 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf, +0x80,0x81,0x00,0x83,0x84,0x85,0x86,0x87, 0x88,0x89,0x8a,0x8b,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,0xcf,0x00,0xcf,0xcf, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xcf,0xcf,0x00,0xcf,0xcf,0xcf,0xcf,0xcf, 0xcf,0xcf,0xcf,0xcf,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +// state[36 + 2] 0x0003c0 Byte 2 of 2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,S1_, + 0, 0, 0, 0, 0, 0, 0, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, + 0, 0, 0, 0,S2_, 0, 0,S1_, 0,S1_,S1_, 0, 0,S2_,S2_,S2_, + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x97, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x99,0x00,0x9b,0x00,0x9d,0x00,0x9f,0x00, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xab,0x00,0xad,0x00,0xaf,0x00, +0x00,0x00,0x00,0x00,0xb8,0x00,0x00,0xb8, 0x00,0xb2,0xbb,0x00,0x00,0xbb,0xbc,0xbd, + +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,0xce,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0xcd,0xcd,0xcd, + +// state[39 + 2] 0x000400 Byte 2 of 2 +S2_,S2_,S2_,S2_,S2_,S2_,S2_,S2_, S2_,S2_,S2_,S2_,S2_,S2_,S2_,S2_, +S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, +S2_,S2_,S2_,S2_,S2_,S2_,S2_,S2_, S2_,S2_,S2_,S2_,S2_,S2_,S2_,S2_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97, 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f, +0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7, 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf, +0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1, 0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1, 0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1,0xd1, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +// state[42 + 2] 0x000440 Byte 2 of 2 + 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, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, + +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, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xab,0x00,0xad,0x00,0xaf,0x00, +0xb1,0x00,0xb3,0x00,0xb5,0x00,0xb7,0x00, 0xb9,0x00,0xbb,0x00,0xbd,0x00,0xbf,0x00, + +// state[44 + 2] 0x000480 Byte 2 of 2 +S1_, 0, 0, 0, 0, 0, 0, 0, 0, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, + +0x81,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x8b,0x00,0x8d,0x00,0x8f,0x00, +0x91,0x00,0x93,0x00,0x95,0x00,0x97,0x00, 0x99,0x00,0x9b,0x00,0x9d,0x00,0x9f,0x00, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xab,0x00,0xad,0x00,0xaf,0x00, +0xb1,0x00,0xb3,0x00,0xb5,0x00,0xb7,0x00, 0xb9,0x00,0xbb,0x00,0xbd,0x00,0xbf,0x00, + +// state[46 + 2] 0x0004c0 Byte 2 of 2 +S1_,S1_, 0,S1_, 0,S1_, 0,S1_, 0,S1_, 0,S1_, 0,S1_, 0, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, + +0x8f,0x82,0x00,0x84,0x00,0x86,0x00,0x88, 0x00,0x8a,0x00,0x8c,0x00,0x8e,0x00,0x00, +0x91,0x00,0x93,0x00,0x95,0x00,0x97,0x00, 0x99,0x00,0x9b,0x00,0x9d,0x00,0x9f,0x00, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xab,0x00,0xad,0x00,0xaf,0x00, +0xb1,0x00,0xb3,0x00,0xb5,0x00,0xb7,0x00, 0xb9,0x00,0xbb,0x00,0xbd,0x00,0xbf,0x00, + +// state[48 + 2] 0x000500 Byte 2 of 2 +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,S2_,S2_,S2_,S2_,S2_,S2_,S2_, S2_,S2_,S2_,S2_,S2_,S2_,S2_,S2_, + +0x81,0x00,0x83,0x00,0x85,0x00,0x87,0x00, 0x89,0x00,0x8b,0x00,0x8d,0x00,0x8f,0x00, +0x91,0x00,0x93,0x00,0x95,0x00,0x97,0x00, 0x99,0x00,0x9b,0x00,0x9d,0x00,0x9f,0x00, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7, 0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf, + +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,0xd5,0xd5,0xd5,0xd5,0xd5,0xd5,0xd5, 0xd5,0xd5,0xd5,0xd5,0xd5,0xd5,0xd5,0xd5, + +// state[51 + 2] 0x000540 Byte 2 of 2 +S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, +S2_,S2_,S2_,S2_,S2_,S2_,S2_, 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, + +0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7, 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf, +0x80,0x81,0x82,0x83,0x84,0x85,0x86,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, +0xd6,0xd6,0xd6,0xd6,0xd6,0xd6,0xd6,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, + +// state[54 + 2] 0x001000 Byte 2 of 3 + 6, 6, 55, 57, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 59, 59, 61, 59, 64, 66, 68, 71, + +// state[55 + 2] 0x001080 Byte 3 of 3 + 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, +T1_,T1_,T1_,T1_,T1_,T1_,T1_,T1_, T1_,T1_,T1_,T1_,T1_,T1_,T1_,T1_, +T1_,T1_,T1_,T1_,T1_,T1_,T1_,T1_, T1_,T1_,T1_,T1_,T1_,T1_,T1_,T1_, + +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, +0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09, 0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11, +0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19, 0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21, + +// state[57 + 2] 0x0010c0 Byte 3 of 3 +T1_,T1_,T1_,T1_,T1_,T1_, 0,T1_, 0, 0, 0, 0, 0,T1_, 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, + +0x22,0x23,0x24,0x25,0x26,0x27,0x00,0x28, 0x00,0x00,0x00,0x00,0x00,0x29,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, + +// state[59 + 2] 0x001e00 Byte 3 of 3 +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, + +0x81,0x00,0x83,0x00,0x85,0x00,0x87,0x00, 0x89,0x00,0x8b,0x00,0x8d,0x00,0x8f,0x00, +0x91,0x00,0x93,0x00,0x95,0x00,0x97,0x00, 0x99,0x00,0x9b,0x00,0x9d,0x00,0x9f,0x00, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xab,0x00,0xad,0x00,0xaf,0x00, +0xb1,0x00,0xb3,0x00,0xb5,0x00,0xb7,0x00, 0xb9,0x00,0xbb,0x00,0xbd,0x00,0xbf,0x00, + +// state[61 + 2] 0x001e80 Byte 3 of 3 +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0, 0, 0, 0, 0, 0, 0, 0, 0,S32, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, + +0x81,0x00,0x83,0x00,0x85,0x00,0x87,0x00, 0x89,0x00,0x8b,0x00,0x8d,0x00,0x8f,0x00, +0x91,0x00,0x93,0x00,0x95,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x9f,0x00, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xab,0x00,0xad,0x00,0xaf,0x00, +0xb1,0x00,0xb3,0x00,0xb5,0x00,0xb7,0x00, 0xb9,0x00,0xbb,0x00,0xbd,0x00,0xbf,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,0xc3,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, + +// state[64 + 2] 0x001f00 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, + 0, 0, 0, 0, 0, 0, 0, 0, S1_,S1_,S1_,S1_,S1_,S1_, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, + 0, 0, 0, 0, 0, 0, 0, 0, S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x90,0x91,0x92,0x93,0x94,0x95,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7, + +// state[66 + 2] 0x001f40 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, S1_,S1_,S1_,S1_,S1_,S1_, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0,S1_, 0,S1_, 0,S1_, 0,S1_, + 0, 0, 0, 0, 0, 0, 0, 0, S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x80,0x81,0x82,0x83,0x84,0x85,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x91,0x00,0x93,0x00,0x95,0x00,0x97, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +// state[68 + 2] 0x001f80 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, + 0, 0, 0, 0, 0, 0, 0, 0, S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, + 0, 0, 0, 0, 0, 0, 0, 0, S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, + 0, 0, 0, 0, 0, 0, 0, 0, S1_,S1_,S2_,S2_,S1_, 0, 0, 0, + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xb0,0xb1,0xb0,0xb1,0xb3,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,0xbd,0xbd,0x00,0x00,0x00,0x00, + +// state[71 + 2] 0x001fc0 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, S2_,S2_,S2_,S2_,S1_, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, S1_,S1_,S2_,S2_, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, S1_,S1_,S2_,S2_,S1_, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, S2_,S2_,S2_,S2_,S1_, 0, 0, 0, + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xb2,0xb3,0xb4,0xb5,0x83,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x90,0x91,0xb6,0xb7,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xa0,0xa1,0xba,0xbb,0xa5,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xb8,0xb9,0xbc,0xbd,0xb3,0x00,0x00,0x00, + +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xbd,0xbd,0xbd,0xbd,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0xbd,0xbd,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0xbd,0xbd,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0xbd,0xbd,0xbd,0xbd,0x00,0x00,0x00,0x00, + +// state[74 + 2] 0x002000 Byte 2 of 3 + 6, 6, 6, 6, 75, 6, 78, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 80, 83, 59, 86, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[75 + 2] 0x002100 Byte 3 of 3 + 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,S32, 0, 0, 0,S31,S32, 0, 0, 0, 0, + 0, 0,S2_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +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,0x89,0x00, 0x00,0x00,0x6b,0xa5,0x00,0x00,0x00,0x00, +0x00,0x00,0x8e,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,0xcf,0x00, 0x00,0x00,0x00,0xc3,0x00,0x00,0x00,0x00, +0x00,0x00,0x85,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +// state[78 + 2] 0x002180 Byte 3 of 3 + 0, 0, 0,S1_, 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, + +0x00,0x00,0x00,0x84,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, + +// state[80 + 2] 0x002c00 Byte 3 of 3 +S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, +S2_,S2_,S2_,S2_,S2_,S2_,S2_,S2_, S2_,S2_,S2_,S2_,S2_,S2_,S2_,S2_, +S2_,S2_,S2_,S2_,S2_,S2_,S2_,S2_, S2_,S2_,S2_,S2_,S2_,S2_,S2_, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7, 0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf, +0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f, +0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97, 0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,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, +0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1, 0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1, +0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1, 0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0xb1,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +// state[83 + 2] 0x002c40 Byte 3 of 3 + 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, +S1_, 0,S32,T1_,S32, 0, 0,S1_, 0,S1_, 0,S1_, 0,S32,S32,S32, +S32, 0,S1_, 0, 0,S1_, 0, 0, 0, 0, 0, 0, 0, 0,S32,S32, + +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, +0xa1,0x00,0xab,0x2a,0xbd,0x00,0x00,0xa8, 0x00,0xaa,0x00,0xac,0x00,0x91,0xb1,0x90, +0x92,0x00,0xb3,0x00,0x00,0xb6,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0xbf,0x80, + +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,0xc9,0x00,0xc9,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0xc9,0xc9,0xc9, +0xc9,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0xc8,0xc9, + +// state[86 + 2] 0x002cc0 Byte 3 of 3 +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0, 0, 0, 0, 0, 0, 0, 0,S1_, 0,S1_, 0, 0, + 0, 0,S1_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +0x81,0x00,0x83,0x00,0x85,0x00,0x87,0x00, 0x89,0x00,0x8b,0x00,0x8d,0x00,0x8f,0x00, +0x91,0x00,0x93,0x00,0x95,0x00,0x97,0x00, 0x99,0x00,0x9b,0x00,0x9d,0x00,0x9f,0x00, +0xa1,0x00,0xa3,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0xac,0x00,0xae,0x00,0x00, +0x00,0x00,0xb3,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +// state[88 + 2] 0x00a000 Byte 2 of 3 + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 89, 91, 6, 93, 95, 97, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[89 + 2] 0x00a640 Byte 3 of 3 +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +0x81,0x00,0x83,0x00,0x85,0x00,0x87,0x00, 0x89,0x00,0x8b,0x00,0x8d,0x00,0x8f,0x00, +0x91,0x00,0x93,0x00,0x95,0x00,0x97,0x00, 0x99,0x00,0x9b,0x00,0x9d,0x00,0x9f,0x00, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xab,0x00,0xad,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +// state[91 + 2] 0x00a680 Byte 3 of 3 +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 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, + +0x81,0x00,0x83,0x00,0x85,0x00,0x87,0x00, 0x89,0x00,0x8b,0x00,0x8d,0x00,0x8f,0x00, +0x91,0x00,0x93,0x00,0x95,0x00,0x97,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, + +// state[93 + 2] 0x00a700 Byte 3 of 3 + 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,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, + 0, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, + +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,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xab,0x00,0xad,0x00,0xaf,0x00, +0x00,0x00,0xb3,0x00,0xb5,0x00,0xb7,0x00, 0xb9,0x00,0xbb,0x00,0xbd,0x00,0xbf,0x00, + +// state[95 + 2] 0x00a740 Byte 3 of 3 +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S1_, 0,S1_, 0,S1_, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0,S1_, 0,S1_, 0,T1_,S1_, 0, + +0x81,0x00,0x83,0x00,0x85,0x00,0x87,0x00, 0x89,0x00,0x8b,0x00,0x8d,0x00,0x8f,0x00, +0x91,0x00,0x93,0x00,0x95,0x00,0x97,0x00, 0x99,0x00,0x9b,0x00,0x9d,0x00,0x9f,0x00, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xab,0x00,0xad,0x00,0xaf,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0xba,0x00,0xbc,0x00,0x2b,0xbf,0x00, + +// state[97 + 2] 0x00a780 Byte 3 of 3 +S1_, 0,S1_, 0,S1_, 0,S1_, 0, 0, 0, 0,S1_, 0,S32, 0, 0, +S1_, 0,S1_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +S1_, 0,S1_, 0,S1_, 0,S1_, 0, S1_, 0,S32, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +0x81,0x00,0x83,0x00,0x85,0x00,0x87,0x00, 0x00,0x00,0x00,0x8c,0x00,0xa5,0x00,0x00, +0x91,0x00,0x93,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0xa1,0x00,0xa3,0x00,0xa5,0x00,0xa7,0x00, 0xa9,0x00,0xa6,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,0xc9,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,0xc9,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +// state[100 + 2] 0x00f000 Byte 2 of 3 + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,101, 6, 6, 6, + +// state[101 + 2] 0x00ff00 Byte 3 of 3 + 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,S2_,S2_,S2_,S2_,S2_,S2_,S2_, S2_,S2_,S2_,S2_,S2_,S2_,S2_,S2_, +S2_,S2_,S2_,S2_,S2_,S2_,S2_,S2_, S2_,S2_,S2_, 0, 0, 0, 0, 0, + +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,0x81,0x82,0x83,0x84,0x85,0x86,0x87, 0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f, +0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97, 0x98,0x99,0x9a,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,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd, 0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd, +0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd,0xbd, 0xbd,0xbd,0xbd,0x00,0x00,0x00,0x00,0x00, + +// state[104 + 2] 0x000000 Byte 2 of 4 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +105, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + +// state[105 + 2] 0x010000 Byte 3 of 4 + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +106, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + +// state[106 + 2] 0x010400 Byte 4 of 4 +S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, +S1_,S1_,S1_,S1_,S1_,S1_,S1_,S1_, S2_,S2_,S2_,S2_,S2_,S2_,S2_,S2_, +S2_,S2_,S2_,S2_,S2_,S2_,S2_,S2_, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf, 0xb0,0xb1,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7, +0xb8,0xb9,0xba,0xbb,0xbc,0xbd,0xbe,0xbf, 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87, +0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f, 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, 0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91, +0x91,0x91,0x91,0x91,0x91,0x91,0x91,0x91, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, +0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +}; + +// Remap base[44] = (del, add, string_offset) +static const RemapEntry utf8repl_lettermarklower_remap_base[] = { +{2,3, 0}, {2,3, 3}, {3,3, 6}, {3,3, 9}, +{3,3, 12}, {3,3, 15}, {3,3, 18}, {3,3, 21}, +{3,3, 24}, {3,3, 27}, {3,3, 30}, {3,3, 33}, +{3,3, 36}, {3,3, 39}, {3,3, 42}, {3,3, 45}, + +{3,3, 48}, {3,3, 51}, {3,3, 54}, {3,3, 57}, +{3,3, 60}, {3,3, 63}, {3,3, 66}, {3,3, 69}, +{3,3, 72}, {3,3, 75}, {3,3, 78}, {3,3, 81}, +{3,3, 84}, {3,3, 87}, {3,3, 90}, {3,3, 93}, + +{3,3, 96}, {3,3, 99}, {3,3, 102}, {3,3, 105}, +{3,3, 108}, {3,3, 111}, {3,3, 114}, {3,3, 117}, +{3,3, 120}, {3,3, 123}, {3,3, 126}, {3,3, 129}, +{0,0,0} }; + +// Remap string[132] +static const unsigned char utf8repl_lettermarklower_remap_string[] = { +0xe2,0xb1,0xa5,0xe2,0xb1,0xa6,0xe2,0xb4, 0x80,0xe2,0xb4,0x81,0xe2,0xb4,0x82,0xe2, +0xb4,0x83,0xe2,0xb4,0x84,0xe2,0xb4,0x85, 0xe2,0xb4,0x86,0xe2,0xb4,0x87,0xe2,0xb4, +0x88,0xe2,0xb4,0x89,0xe2,0xb4,0x8a,0xe2, 0xb4,0x8b,0xe2,0xb4,0x8c,0xe2,0xb4,0x8d, +0xe2,0xb4,0x8e,0xe2,0xb4,0x8f,0xe2,0xb4, 0x90,0xe2,0xb4,0x91,0xe2,0xb4,0x92,0xe2, + +0xb4,0x93,0xe2,0xb4,0x94,0xe2,0xb4,0x95, 0xe2,0xb4,0x96,0xe2,0xb4,0x97,0xe2,0xb4, +0x98,0xe2,0xb4,0x99,0xe2,0xb4,0x9a,0xe2, 0xb4,0x9b,0xe2,0xb4,0x9c,0xe2,0xb4,0x9d, +0xe2,0xb4,0x9e,0xe2,0xb4,0x9f,0xe2,0xb4, 0xa0,0xe2,0xb4,0xa1,0xe2,0xb4,0xa2,0xe2, +0xb4,0xa3,0xe2,0xb4,0xa4,0xe2,0xb4,0xa5, 0xe2,0xb4,0xa7,0xe2,0xb4,0xad,0xe1,0xb5, + +0xbd,0xe1,0xb5,0xb9,0 }; + +static const unsigned char utf8repl_lettermarklower_fast[256] = { +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,0, + +0,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,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, + +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, + +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, + +}; + +static const UTF8ReplaceObj utf8repl_lettermarklower_obj = { + utf8repl_lettermarklower_STATE0, + utf8repl_lettermarklower_STATE0_SIZE, + utf8repl_lettermarklower_TOTAL_SIZE, + utf8repl_lettermarklower_MAX_EXPAND_X4, + utf8repl_lettermarklower_SHIFT, + utf8repl_lettermarklower_BYTES, + utf8repl_lettermarklower_LOSUB, + utf8repl_lettermarklower_HIADD, + utf8repl_lettermarklower, + utf8repl_lettermarklower_remap_base, + utf8repl_lettermarklower_remap_string, + utf8repl_lettermarklower_fast +}; + + +#undef X__ +#undef RJ_ +#undef S1_ +#undef S2_ +#undef S3_ +#undef S21 +#undef S31 +#undef S32 +#undef T1_ +#undef T2_ +#undef S11 +#undef SP_ +#undef D__ +#undef RJA + +// Table has 7668 bytes, Hash = 07A2-C4E3 + +} // End namespace CLD2 +} // End namespace chrome_lang_id + +#endif // SCRIPT_SPAN_UTF8REPL_LETTERMARKLOWER_H_ diff --git a/chromium/third_party/cld_3/src/src/script_span/utf8scannot_lettermarkspecial.h b/chromium/third_party/cld_3/src/src/script_span/utf8scannot_lettermarkspecial.h new file mode 100644 index 00000000000..2ddad2fb6af --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/utf8scannot_lettermarkspecial.h @@ -0,0 +1,1455 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// Created by utf8tablebuilder version 2.9 +// +// Rejects all codes from file: +// lettermarkspecial_6.2.0.txt +// Accepts all other UTF-8 codes 0000..10FFFF +// Space optimized +// +// ** ASSUMES INPUT IS STRUCTURALLY VALID UTF-8 ** +// +// Table entries are absolute statetable subscripts + +#ifndef SCRIPT_SPAN_UTF8SCANNOT_LETTERMARKSPECIAL_H_ +#define SCRIPT_SPAN_UTF8SCANNOT_LETTERMARKSPECIAL_H_ + +#include "integral_types.h" +#include "utf8statetable.h" + +namespace chrome_lang_id { +namespace CLD2 { + +#define X__ (kExitIllegalStructure) +#define RJ_ (kExitReject) +#define S1_ (kExitReplace1) +#define S2_ (kExitReplace2) +#define S3_ (kExitReplace3) +#define S21 (kExitReplace21) +#define S31 (kExitReplace31) +#define S32 (kExitReplace32) +#define T1_ (kExitReplaceOffset1) +#define T2_ (kExitReplaceOffset2) +#define S11 (kExitReplace1S0) +#define SP_ (kExitSpecial) +#define D__ (kExitDoAgain) +#define RJA (kExitRejectAlt) + +// Entire table has 221 state blocks of 64 entries each + +static const unsigned int utf8scannot_lettermarkspecial_STATE0 = 0; // state[0] +static const unsigned int utf8scannot_lettermarkspecial_STATE0_SIZE = 64; // =[1] +static const unsigned int utf8scannot_lettermarkspecial_TOTAL_SIZE = 14144; +static const unsigned int utf8scannot_lettermarkspecial_MAX_EXPAND_X4 = 0; +static const unsigned int utf8scannot_lettermarkspecial_SHIFT = 6; +static const unsigned int utf8scannot_lettermarkspecial_BYTES = 1; +static const unsigned int utf8scannot_lettermarkspecial_LOSUB = 0x27272727; +static const unsigned int utf8scannot_lettermarkspecial_HIADD = 0x44444444; + +static const uint8 utf8scannot_lettermarkspecial[] = { +// state[0] 0x000000 Byte 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,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_, 0,RJ_, 0, + + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, + +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +X__,X__, 6, 7, 8, 8, 8, 8, 8, 8, 8, 9, 8, 10, 11, 12, + 8, 8, 13, 8, 14, 15, 16, 17, 18, 19, 8, 20, 21, 22, 23, 24, + 25, 57, 95,110,117,118,118,118, 118,119,121,118,118,140, 2,143, +159, 4, 4,216, 5,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[2 + 2] 0x00e000 Byte 2 of 3 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[3 + 2] 0x001ac0 Byte 3 of 3 + 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, 0, + +// state[4 + 2] 0x040000 Byte 2 of 4 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + +// state[5 + 2] 0x100000 Byte 2 of 4 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + +// state[6 + 2] 0x000080 Byte 2 of 2 + 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,RJ_, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0,RJ_, 0, 0, 0, 0,RJ_, 0, 0, 0, 0, 0, + +// state[7 + 2] 0x0000c0 Byte 2 of 2 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[8 + 2] 0x000100 Byte 2 of 2 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[9 + 2] 0x0002c0 Byte 2 of 2 +RJ_,RJ_, 0, 0, 0, 0,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0,RJ_, 0,RJ_, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[10 + 2] 0x000340 Byte 2 of 2 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_, 0, 0, + +// state[11 + 2] 0x000380 Byte 2 of 2 + 0, 0, 0, 0, 0, 0,RJ_, 0, RJ_,RJ_,RJ_, 0,RJ_, 0,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[12 + 2] 0x0003c0 Byte 2 of 2 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[13 + 2] 0x000480 Byte 2 of 2 +RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[14 + 2] 0x000500 Byte 2 of 2 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[15 + 2] 0x000540 Byte 2 of 2 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0,RJ_, 0, 0, 0, 0, 0, 0, + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[16 + 2] 0x000580 Byte 2 of 2 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, + +// state[17 + 2] 0x0005c0 Byte 2 of 2 + 0,RJ_,RJ_, 0,RJ_,RJ_, 0,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[18 + 2] 0x000600 Byte 2 of 2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[19 + 2] 0x000640 Byte 2 of 2 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[20 + 2] 0x0006c0 Byte 2 of 2 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_, 0, 0,RJ_, + +// state[21 + 2] 0x000700 Byte 2 of 2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[22 + 2] 0x000740 Byte 2 of 2 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[23 + 2] 0x000780 Byte 2 of 2 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[24 + 2] 0x0007c0 Byte 2 of 2 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0,RJ_, 0, 0, 0, 0, 0, + +// state[25 + 2] 0x000000 Byte 2 of 3 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, + 26, 27, 28, 29, 8, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + +// state[26 + 2] 0x000800 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[27 + 2] 0x000840 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 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, + +// state[28 + 2] 0x000880 Byte 3 of 3 + 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, +RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[29 + 2] 0x0008c0 Byte 3 of 3 + 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,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, + +// state[30 + 2] 0x000940 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[31 + 2] 0x000980 Byte 3 of 3 + 0,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0,RJ_, +RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_, 0,RJ_, 0, 0, 0,RJ_,RJ_, RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_, + +// state[32 + 2] 0x0009c0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0,RJ_, RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_, 0, + 0, 0, 0, 0, 0, 0, 0,RJ_, 0, 0, 0, 0,RJ_,RJ_, 0,RJ_, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[33 + 2] 0x000a00 Byte 3 of 3 + 0,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0,RJ_, +RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_, 0,RJ_,RJ_, 0,RJ_,RJ_, 0, RJ_,RJ_, 0, 0,RJ_, 0,RJ_,RJ_, + +// state[34 + 2] 0x000a40 Byte 3 of 3 +RJ_,RJ_,RJ_, 0, 0, 0, 0,RJ_, RJ_, 0, 0,RJ_,RJ_,RJ_, 0, 0, + 0,RJ_, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_, 0,RJ_, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[35 + 2] 0x000a80 Byte 3 of 3 + 0,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, +RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_, 0,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_, + +// state[36 + 2] 0x000ac0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, RJ_,RJ_, 0,RJ_,RJ_,RJ_, 0, 0, +RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_, 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, + +// state[37 + 2] 0x000b00 Byte 3 of 3 + 0,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0,RJ_, +RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_, 0,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_, + +// state[38 + 2] 0x000b40 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0,RJ_, RJ_, 0, 0,RJ_,RJ_,RJ_, 0, 0, + 0, 0, 0, 0, 0, 0,RJ_,RJ_, 0, 0, 0, 0,RJ_,RJ_, 0,RJ_, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[39 + 2] 0x000b80 Byte 3 of 3 + 0, 0,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0,RJ_,RJ_, +RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0, 0, 0,RJ_,RJ_, 0,RJ_, 0,RJ_,RJ_, + 0, 0, 0,RJ_,RJ_, 0, 0, 0, RJ_,RJ_,RJ_, 0, 0, 0,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_, 0, 0, 0, 0,RJ_,RJ_, + +// state[40 + 2] 0x000bc0 Byte 3 of 3 +RJ_,RJ_,RJ_, 0, 0, 0,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0, 0, +RJ_, 0, 0, 0, 0, 0, 0,RJ_, 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, + +// state[41 + 2] 0x000c00 Byte 3 of 3 + 0,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, +RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_, 0, 0, 0,RJ_,RJ_,RJ_, + +// state[42 + 2] 0x000c40 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0, 0, + 0, 0, 0, 0, 0,RJ_,RJ_, 0, RJ_,RJ_, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_, 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, + +// state[43 + 2] 0x000c80 Byte 3 of 3 + 0, 0,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, +RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_, + +// state[44 + 2] 0x000cc0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0, 0, + 0, 0, 0, 0, 0,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0,RJ_, 0, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[45 + 2] 0x000d00 Byte 3 of 3 + 0, 0,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, +RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_, + +// state[46 + 2] 0x000d40 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_, 0, + 0, 0, 0, 0, 0, 0, 0,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[47 + 2] 0x000d80 Byte 3 of 3 + 0, 0,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 0,RJ_, 0, 0, + +// state[48 + 2] 0x000dc0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0,RJ_, 0, 0, 0, 0,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[49 + 2] 0x000e00 Byte 3 of 3 + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, + +// state[50 + 2] 0x000e40 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 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, + +// state[51 + 2] 0x000e80 Byte 3 of 3 + 0,RJ_,RJ_, 0,RJ_, 0, 0,RJ_, RJ_, 0,RJ_, 0, 0,RJ_, 0, 0, + 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0,RJ_,RJ_,RJ_, 0,RJ_, 0,RJ_, 0, 0,RJ_,RJ_, 0,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_, 0,RJ_,RJ_,RJ_, 0, 0, + +// state[52 + 2] 0x000ec0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_, + 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, + +// state[53 + 2] 0x000f00 Byte 3 of 3 +RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, RJ_,RJ_, 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,RJ_, 0,RJ_, 0,RJ_, 0, 0, 0, 0,RJ_,RJ_, + +// state[54 + 2] 0x000f40 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[55 + 2] 0x000f80 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, + +// state[56 + 2] 0x000fc0 Byte 3 of 3 + 0, 0, 0, 0, 0, 0,RJ_, 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, + +// state[57 + 2] 0x001000 Byte 2 of 3 + 8, 21, 58, 59, 8, 8, 8, 8, 8, 60, 61, 62, 63, 64, 65, 66, + 67, 8, 8, 8, 8, 8, 8, 8, 8, 68, 69, 70, 71, 72, 8, 73, + 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 3, 8, 85, 86, 87, + 75, 88, 3, 89, 8, 8, 8, 90, 8, 8, 8, 8, 91, 92, 93, 94, + +// state[58 + 2] 0x001080 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[59 + 2] 0x0010c0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, 0, 0, 0, 0, 0,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_, + +// state[60 + 2] 0x001240 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[61 + 2] 0x001280 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, + +// state[62 + 2] 0x0012c0 Byte 3 of 3 +RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[63 + 2] 0x001300 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[64 + 2] 0x001340 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_, + 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, + +// state[65 + 2] 0x001380 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[66 + 2] 0x0013c0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[67 + 2] 0x001400 Byte 3 of 3 + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[68 + 2] 0x001640 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[69 + 2] 0x001680 Byte 3 of 3 + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[70 + 2] 0x0016c0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[71 + 2] 0x001700 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[72 + 2] 0x001740 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, +RJ_, 0,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[73 + 2] 0x0017c0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0,RJ_, 0, 0, 0, 0,RJ_,RJ_, 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, + +// state[74 + 2] 0x001800 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[75 + 2] 0x001840 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[76 + 2] 0x001880 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[77 + 2] 0x0018c0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[78 + 2] 0x001900 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, + +// state[79 + 2] 0x001940 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[80 + 2] 0x001980 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[81 + 2] 0x0019c0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_, 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, + +// state[82 + 2] 0x001a00 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[83 + 2] 0x001a40 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0,RJ_, + +// state[84 + 2] 0x001a80 Byte 3 of 3 + 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,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[85 + 2] 0x001b40 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 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,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[86 + 2] 0x001b80 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[87 + 2] 0x001bc0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[88 + 2] 0x001c40 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, + +// state[89 + 2] 0x001cc0 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[90 + 2] 0x001dc0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_, + +// state[91 + 2] 0x001f00 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[92 + 2] 0x001f40 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, 0,RJ_, 0,RJ_, 0,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, + +// state[93 + 2] 0x001f80 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, 0, + +// state[94 + 2] 0x001fc0 Byte 3 of 3 + 0, 0,RJ_,RJ_,RJ_, 0,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_, 0, 0,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, + 0, 0,RJ_,RJ_,RJ_, 0,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, + +// state[95 + 2] 0x002000 Byte 2 of 3 + 3, 96, 97, 98, 99,100,101, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +102,103, 8,104,105,106,107,108, 109, 3, 3, 3, 3, 3, 3, 3, + +// state[96 + 2] 0x002040 Byte 3 of 3 + 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,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_, + +// state[97 + 2] 0x002080 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 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, + +// state[98 + 2] 0x0020c0 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[99 + 2] 0x002100 Byte 3 of 3 + 0, 0,RJ_, 0, 0, 0, 0,RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0,RJ_, 0, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, + 0, 0, 0, 0,RJ_, 0,RJ_, 0, RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_, + +// state[100 + 2] 0x002140 Byte 3 of 3 + 0, 0, 0, 0, 0,RJ_,RJ_,RJ_, RJ_,RJ_, 0, 0, 0, 0,RJ_, 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, + +// state[101 + 2] 0x002180 Byte 3 of 3 + 0, 0, 0,RJ_,RJ_, 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, + +// state[102 + 2] 0x002c00 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[103 + 2] 0x002c40 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[104 + 2] 0x002cc0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[105 + 2] 0x002d00 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, 0, 0, 0, 0, 0,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[106 + 2] 0x002d40 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0,RJ_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_, + +// state[107 + 2] 0x002d80 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, + +// state[108 + 2] 0x002dc0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[109 + 2] 0x002e00 Byte 3 of 3 + 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,RJ_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[110 + 2] 0x003000 Byte 2 of 3 +111, 67,112,113,114, 8,115,116, 3, 3, 3, 3, 3, 3, 3, 3, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + +// state[111 + 2] 0x003000 Byte 3 of 3 + 0, 0, 0, 0, 0,RJ_,RJ_, 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,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0,RJ_,RJ_, 0, 0, 0, + +// state[112 + 2] 0x003080 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[113 + 2] 0x0030c0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_, + +// state[114 + 2] 0x003100 Byte 3 of 3 + 0, 0, 0, 0, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[115 + 2] 0x003180 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, + +// state[116 + 2] 0x0031c0 Byte 3 of 3 + 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, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[117 + 2] 0x004000 Byte 2 of 3 + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 77, 3, 8, 8, 8, 8, 8, 8, 8, 8, + +// state[118 + 2] 0x005000 Byte 2 of 3 + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + +// state[119 + 2] 0x009000 Byte 2 of 3 + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,120, + +// state[120 + 2] 0x009fc0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 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, + +// state[121 + 2] 0x00a000 Byte 2 of 3 + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8,120,122, 8, 8, 8, 8, 123,124,125,126,127, 8,128,129, +130, 87, 8,131,132,133, 8,134, 135,136, 8,137,138, 3, 3,139, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + +// state[122 + 2] 0x00a4c0 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, + +// state[123 + 2] 0x00a600 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[124 + 2] 0x00a640 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, + +// state[125 + 2] 0x00a680 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[126 + 2] 0x00a6c0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[127 + 2] 0x00a700 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[128 + 2] 0x00a780 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_, 0, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[129 + 2] 0x00a7c0 Byte 3 of 3 + 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, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[130 + 2] 0x00a800 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[131 + 2] 0x00a8c0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_, 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, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0,RJ_, 0, 0, 0, 0, + +// state[132 + 2] 0x00a900 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[133 + 2] 0x00a940 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, + +// state[134 + 2] 0x00a9c0 Byte 3 of 3 +RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_, + 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, + +// state[135 + 2] 0x00aa00 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[136 + 2] 0x00aa40 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0,RJ_,RJ_, 0, 0, 0, 0, + +// state[137 + 2] 0x00aac0 Byte 3 of 3 +RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[138 + 2] 0x00ab00 Byte 3 of 3 + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[139 + 2] 0x00abc0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0,RJ_,RJ_, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[140 + 2] 0x00d000 Byte 2 of 3 + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,141,142, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[141 + 2] 0x00d780 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[142 + 2] 0x00d7c0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, + +// state[143 + 2] 0x00f000 Byte 2 of 3 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 8, 8, 8, 8, 8,144, 8,145,146,147, 23,148, + 8, 8, 8, 8,149, 21,150,151, 152,153, 8,154,155,156,157,158, + +// state[144 + 2] 0x00fa40 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[145 + 2] 0x00fac0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_, 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, + +// state[146 + 2] 0x00fb00 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, 0, + +// state[147 + 2] 0x00fb40 Byte 3 of 3 +RJ_,RJ_, 0,RJ_,RJ_, 0,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[148 + 2] 0x00fbc0 Byte 3 of 3 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[149 + 2] 0x00fd00 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, + +// state[150 + 2] 0x00fd80 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[151 + 2] 0x00fdc0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 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, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, + +// state[152 + 2] 0x00fe00 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 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, + +// state[153 + 2] 0x00fe40 Byte 3 of 3 + 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, +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[154 + 2] 0x00fec0 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, + +// state[155 + 2] 0x00ff00 Byte 3 of 3 + 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,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, + +// state[156 + 2] 0x00ff40 Byte 3 of 3 + 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[157 + 2] 0x00ff80 Byte 3 of 3 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, + +// state[158 + 2] 0x00ffc0 Byte 3 of 3 + 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_, 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, + +// state[159 + 2] 0x000000 Byte 2 of 4 +X__,X__,X__,X__,X__,X__,X__,X__, X__,X__,X__,X__,X__,X__,X__,X__, +160,180,184,186, 2, 2,187, 2, 2, 2, 2,191, 2,193,208, 2, +118,118,118,118,118,118,118,118, 118,118,212,214, 2, 2, 2,215, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + +// state[160 + 2] 0x010000 Byte 3 of 4 +161,162, 8,163, 3, 3, 3,164, 3, 3,165,166,167,168,169,170, + 8, 8,171, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +172,173, 3, 3,174, 3,175, 3, 176,177, 3, 3, 77,178, 3, 3, + 8,179, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[161 + 2] 0x010000 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0,RJ_,RJ_, 0,RJ_, + +// state[162 + 2] 0x010040 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 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, + +// state[163 + 2] 0x0100c0 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, + +// state[164 + 2] 0x0101c0 Byte 4 of 4 + 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,RJ_, 0, 0, + +// state[165 + 2] 0x010280 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[166 + 2] 0x0102c0 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_, 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, + +// state[167 + 2] 0x010300 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[168 + 2] 0x010340 Byte 4 of 4 +RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_, 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, + +// state[169 + 2] 0x010380 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[170 + 2] 0x0103c0 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 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, + +// state[171 + 2] 0x010480 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 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, + +// state[172 + 2] 0x010800 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, RJ_, 0, 0, 0,RJ_, 0, 0,RJ_, + +// state[173 + 2] 0x010840 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 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, + +// state[174 + 2] 0x010900 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_, 0, 0, 0, 0, 0, 0, + +// state[175 + 2] 0x010980 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0,RJ_,RJ_, + +// state[176 + 2] 0x010a00 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, RJ_,RJ_,RJ_, 0, 0, 0, 0,RJ_, + +// state[177 + 2] 0x010a40 Byte 4 of 4 + 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, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, + +// state[178 + 2] 0x010b40 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[179 + 2] 0x010c40 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 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, + +// state[180 + 2] 0x011000 Byte 3 of 4 + 8,181,163,182, 66, 3, 8,183, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 75, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[181 + 2] 0x011040 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 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, + +// state[182 + 2] 0x0110c0 Byte 4 of 4 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[183 + 2] 0x0111c0 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_, 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, + +// state[184 + 2] 0x012000 Byte 3 of 4 + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,185, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[185 + 2] 0x012340 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[186 + 2] 0x013000 Byte 3 of 4 + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +185, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[187 + 2] 0x016000 Byte 3 of 4 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 8, 8, 8, 8, 8, 8, 8, 8, 188, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 8,189,190, 3, + +// state[188 + 2] 0x016a00 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0, 0, 0, 0, 0, 0, 0, + +// state[189 + 2] 0x016f40 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, + +// state[190 + 2] 0x016f80 Byte 4 of 4 + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 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, + +// state[191 + 2] 0x01b000 Byte 3 of 4 +192, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[192 + 2] 0x01b000 Byte 4 of 4 +RJ_,RJ_, 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, + +// state[193 + 2] 0x01d000 Byte 3 of 4 + 3, 3, 3, 3, 3,194,195, 3, 3,196, 3, 3, 3, 3, 3, 3, + 8,197,198,199,200,201, 8, 8, 8, 8,202,203,204,205,206,207, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[194 + 2] 0x01d140 Byte 4 of 4 + 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,RJ_,RJ_,RJ_, RJ_,RJ_, 0, 0, 0,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_, 0, 0, 0, 0, 0, 0, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[195 + 2] 0x01d180 Byte 4 of 4 +RJ_,RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 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,RJ_,RJ_,RJ_,RJ_, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +// state[196 + 2] 0x01d240 Byte 4 of 4 + 0, 0,RJ_,RJ_,RJ_, 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, + +// state[197 + 2] 0x01d440 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[198 + 2] 0x01d480 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, + 0, 0,RJ_, 0, 0,RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_, 0,RJ_, 0,RJ_,RJ_,RJ_, + +// state[199 + 2] 0x01d4c0 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[200 + 2] 0x01d500 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, RJ_,RJ_,RJ_, 0, 0,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0, + +// state[201 + 2] 0x01d540 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_, 0, 0, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[202 + 2] 0x01d680 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, 0, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[203 + 2] 0x01d6c0 Byte 4 of 4 +RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_, + +// state[204 + 2] 0x01d700 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[205 + 2] 0x01d740 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 0, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[206 + 2] 0x01d780 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + +// state[207 + 2] 0x01d7c0 Byte 4 of 4 +RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 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, + +// state[208 + 2] 0x01e000 Byte 3 of 4 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 209,210,211, 3, 3, 3, 3, 3, + +// state[209 + 2] 0x01ee00 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0,RJ_,RJ_, 0,RJ_, 0, 0,RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0,RJ_, 0,RJ_, 0, 0, 0, 0, + +// state[210 + 2] 0x01ee40 Byte 4 of 4 + 0, 0,RJ_, 0, 0, 0, 0,RJ_, 0,RJ_, 0,RJ_, 0,RJ_,RJ_,RJ_, + 0,RJ_,RJ_, 0,RJ_, 0, 0,RJ_, 0,RJ_, 0,RJ_, 0,RJ_, 0,RJ_, + 0,RJ_,RJ_, 0,RJ_, 0, 0,RJ_, RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_, 0,RJ_, 0, + +// state[211 + 2] 0x01ee80 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, + 0,RJ_,RJ_,RJ_, 0,RJ_,RJ_,RJ_, RJ_,RJ_, 0,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_, 0, 0, 0, 0, + +// state[212 + 2] 0x02a000 Byte 3 of 4 + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,213, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + +// state[213 + 2] 0x02a6c0 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, 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, + +// state[214 + 2] 0x02b000 Byte 3 of 4 + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 66, 8, 8, 8, +171, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[215 + 2] 0x02f000 Byte 3 of 4 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 8, 8, 8, 8, 8, 8, 8, 8, 171, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[216 + 2] 0x0c0000 Byte 2 of 4 + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +217, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + +// state[217 + 2] 0x0e0000 Byte 3 of 4 + 3, 3, 3, 3, 8, 8, 8,218, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + +// state[218 + 2] 0x0e01c0 Byte 4 of 4 +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, +RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_,RJ_, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +}; + +// Remap base[0] = (del, add, string_offset) +static const RemapEntry utf8scannot_lettermarkspecial_remap_base[] = { +{0,0,0} }; + +// Remap string[0] +static const unsigned char utf8scannot_lettermarkspecial_remap_string[] = { +0 }; + +static const unsigned char utf8scannot_lettermarkspecial_fast[256] = { +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,0, 0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0, 0,0,0,0,1,0,1,0, + +0,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,0,0,0,0,0, +0,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,0,0,0,0,0, + +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, + +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, +1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, + +}; + +static const UTF8ScanObj utf8scannot_lettermarkspecial_obj = { + utf8scannot_lettermarkspecial_STATE0, + utf8scannot_lettermarkspecial_STATE0_SIZE, + utf8scannot_lettermarkspecial_TOTAL_SIZE, + utf8scannot_lettermarkspecial_MAX_EXPAND_X4, + utf8scannot_lettermarkspecial_SHIFT, + utf8scannot_lettermarkspecial_BYTES, + utf8scannot_lettermarkspecial_LOSUB, + utf8scannot_lettermarkspecial_HIADD, + utf8scannot_lettermarkspecial, + utf8scannot_lettermarkspecial_remap_base, + utf8scannot_lettermarkspecial_remap_string, + utf8scannot_lettermarkspecial_fast +}; + + +#undef X__ +#undef RJ_ +#undef S1_ +#undef S2_ +#undef S3_ +#undef S21 +#undef S31 +#undef S32 +#undef T1_ +#undef T2_ +#undef S11 +#undef SP_ +#undef D__ +#undef RJA + +// Table has 14400 bytes, Hash = 9E4D-F2F2 + +} // End namespace CLD2 +} // End namespace chrome_lang_id + +#endif // SCRIPT_SPAN_UTF8SCANNOT_LETTERMARKSPECIAL_H_ diff --git a/chromium/third_party/cld_3/src/src/script_span/utf8statetable.cc b/chromium/third_party/cld_3/src/src/script_span/utf8statetable.cc new file mode 100644 index 00000000000..8fcfb1e8f9d --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/utf8statetable.cc @@ -0,0 +1,1358 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// State Table follower for scanning UTF-8 strings without converting to +// 32- or 16-bit Unicode values. +// + +#ifdef COMPILER_MSVC +// MSVC warns: warning C4309: 'initializing' : truncation of constant value +// But the value is in fact not truncated. 0xFF still comes out 0xFF at +// runtime. +#pragma warning ( disable : 4309 ) +#endif + +#include "utf8statetable.h" + +#include <stdint.h> // for uintptr_t +#include <string.h> // for NULL, memcpy, memmove + +#include "integral_types.h" // for uint8, uint32, int8 +#include "offsetmap.h" +#include "port.h" +#include "stringpiece.h" + +namespace chrome_lang_id { +namespace CLD2 { + +static const int kReplaceAndResumeFlag = 0x80; // Bit in del byte to distinguish + // optional next-state field + // after replacement text +static const int kHtmlPlaintextFlag = 0x80; // Bit in add byte to distinguish + // HTML replacement vs. plaintext + +/** + * This code implements a little interpreter for UTF8 state + * tables. There are three kinds of quite-similar state tables, + * property, scanning, and replacement. Each state in one of + * these tables consists of an array of 256 or 64 one-byte + * entries. The state is subscripted by an incoming source byte, + * and the entry either specifies the next state or specifies an + * action. Space-optimized tables have full 256-entry states for + * the first byte of a UTF-8 character, but only 64-entry states + * for continuation bytes. Space-optimized tables may only be + * used with source input that has been checked to be + * structurally- (or stronger interchange-) valid. + * + * A property state table has an unsigned one-byte property for + * each possible UTF-8 character. One-byte character properties + * are in the state[0] array, while for other lengths the + * state[0] array gives the next state, which contains the + * property value for two-byte characters or yet another state + * for longer ones. The code simply loads the right number of + * next-state values, then returns the final byte as property + * value. There are no actions specified in property tables. + * States are typically shared for multi-byte UTF-8 characters + * that all have the same property value. + * + * A scanning state table has entries that are either a + * next-state specifier for bytes that are accepted by the + * scanner, or an exit action for the last byte of each + * character that is rejected by the scanner. + * + * Scanning long strings involves a tight loop that picks up one + * byte at a time and follows next-state value back to state[0] + * for each accepted UTF-8 character. Scanning stops at the end + * of the string or at the first character encountered that has + * an exit action such as "reject". Timing information is given + * below. + * + * Since so much of Google's text is 7-bit-ASCII values + * (approximately 94% of the bytes of web documents), the + * scanning interpreter has two speed optimizations. One checks + * 8 bytes at a time to see if they are all in the range lo..hi, + * as specified in constants in the overall statetable object. + * The check involves ORing together four 4-byte values that + * overflow into the high bit of some byte when a byte is out of + * range. For seven-bit-ASCII, lo is 0x20 and hi is 0x7E. This + * loop is about 8x faster than the one-byte-at-a-time loop. + * + * If checking for exit bytes in the 0x00-0x1F and 7F range is + * unneeded, an even faster loop just looks at the high bits of + * 8 bytes at once, and is about 1.33x faster than the lo..hi + * loop. + * + * Exit from the scanning routines backs up to the first byte of + * the rejected character, so the text spanned is always a + * complete number of UTF-8 characters. The normal scanning exit + * is at the first rejected character, or at the end of the + * input text. Scanning also exits on any detected ill-formed + * character or at a special do-again action built into some + * exit-optimized tables. The do-again action gets back to the + * top of the scanning loop to retry eight-byte ASCII scans. It + * is typically put into state tables after four seven-bit-ASCII + * characters in a row are seen, to allow restarting the fast + * scan after some slower processing of multi-byte characters. + * + * A replacement state table is similar to a scanning state + * table but has more extensive actions. The default + * byte-at-a-time loop copies one byte from source to + * destination and goes to the next state. The replacement + * actions overwrite 1-3 bytes of the destination with different + * bytes, possibly shortening the output by 1 or 2 bytes. The + * replacement bytes come from within the state table, from + * dummy states inserted just after any state that contains a + * replacement action. This gives a quick address calculation for + * the replacement byte(s) and gives some cache locality. + * + * Additional replacement actions use one or two bytes from + * within dummy states to index a side table of more-extensive + * replacements. The side table specifies a length of 0..15 + * destination bytes to overwrite and a length of 0..127 bytes + * to overwrite them with, plus the actual replacement bytes. + * + * This side table uses one extra bit to specify a pair of + * replacements, the first to be used in an HTML context and the + * second to be used in a plaintext context. This allows + * replacements that are spelled with "<" in the former + * context and "<" in the latter. + * + * The side table also uses an extra bit to specify a non-zero + * next state after a replacement. This allows a combination + * replacement and state change, used to implement a limited + * version of the Boyer-Moore algorithm for multi-character + * replacement without backtracking. This is useful when there + * are overlapping replacements, such as ch => x and also c => + * y, the latter to be used only if the character after c is not + * h. in this case, the state[0] table's entry for c would + * change c to y and also have a next-state of say n, and the + * state[n] entry for h would specify a replacement of the two + * bytes yh by x. No backtracking is needed. + * + * A replacement table may also include the exit actions of a + * scanning state table, so some character sequences can + * terminate early. + * + * During replacement, an optional data structure called an + * offset map can be updated to reflect each change in length + * between source and destination. This offset map can later be + * used to map destination-string offsets to corresponding + * source-string offsets or vice versa. + * + * The routines below also have variants in which state-table + * entries are all two bytes instead of one byte. This allows + * tables with more than 240 total states, but takes up twice as + * much space per state. + * +**/ + +// All intentional fallthroughs in breakpad are in this file, so define +// this macro locally. +// If you ever move this to a .h file, make sure it's defined in a +// private header file: clang suggests the first macro expanding to +// [[clang::fallthrough]] in its diagnostics, so if BP_FALLTHROUGH +// is visible in code depending on breakpad, clang would suggest +// BP_FALLTHROUGH for code depending on breakpad, instead of the +// client code's own fallthrough macro. +#if defined(__clang__) +#define CLD_FALLTHROUGH [[clang::fallthrough]] +#else +#define CLD_FALLTHROUGH +#endif + +// Return true if current Tbl pointer is within state0 range +// Note that unsigned compare checks both ends of range simultaneously +static inline bool InStateZero(const UTF8ScanObj* st, const uint8* Tbl) { + const uint8* Tbl0 = &st->state_table[st->state0]; + return (static_cast<uint32>(Tbl - Tbl0) < st->state0_size); +} + +static inline bool InStateZero_2(const UTF8ReplaceObj_2* st, + const unsigned short int* Tbl) { + const unsigned short int* Tbl0 = &st->state_table[st->state0]; + // Word difference, not byte difference + return (static_cast<uint32>(Tbl - Tbl0) < st->state0_size); +} + +// Look up property of one UTF-8 character and advance over it +// Return 0 if input length is zero +// Return 0 and advance one byte if input is ill-formed +uint8 UTF8GenericProperty(const UTF8PropObj* st, + const uint8** src, + int* srclen) { + if (*srclen <= 0) { + return 0; + } + + const uint8* lsrc = *src; + const uint8* Tbl_0 = &st->state_table[st->state0]; + const uint8* Tbl = Tbl_0; + int e; + int eshift = st->entry_shift; + + // Short series of tests faster than switch, optimizes 7-bit ASCII + unsigned char c = lsrc[0]; + if (static_cast<signed char>(c) >= 0) { // one byte + e = Tbl[c]; + *src += 1; + *srclen -= 1; + } else if (((c & 0xe0) == 0xc0) && (*srclen >= 2)) { // two bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + *src += 2; + *srclen -= 2; + } else if (((c & 0xf0) == 0xe0) && (*srclen >= 3)) { // three bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[2]]; + *src += 3; + *srclen -= 3; + }else if (((c & 0xf8) == 0xf0) && (*srclen >= 4)) { // four bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[2]]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[3]]; + *src += 4; + *srclen -= 4; + } else { // Ill-formed + e = 0; + *src += 1; + *srclen -= 1; + } + return e; +} + +bool UTF8HasGenericProperty(const UTF8PropObj& st, const char* src) { + const uint8* lsrc = reinterpret_cast<const uint8*>(src); + const uint8* Tbl_0 = &st.state_table[st.state0]; + const uint8* Tbl = Tbl_0; + int e; + int eshift = st.entry_shift; + + // Short series of tests faster than switch, optimizes 7-bit ASCII + unsigned char c = lsrc[0]; + if (static_cast<signed char>(c) >= 0) { // one byte + e = Tbl[c]; + } else if ((c & 0xe0) == 0xc0) { // two bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + } else if ((c & 0xf0) == 0xe0) { // three bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[2]]; + } else { // four bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[2]]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[3]]; + } + + // Comparing against 0 to avoid a warning due to implicit conversion. + return (e != 0); +} + + +// BigOneByte versions are needed for tables > 240 states, but most +// won't need the TwoByte versions. +// Internally, to next-to-last offset is multiplied by 16 and the last +// offset is relative instead of absolute. +// Look up property of one UTF-8 character and advance over it +// Return 0 if input length is zero +// Return 0 and advance one byte if input is ill-formed +uint8 UTF8GenericPropertyBigOneByte(const UTF8PropObj* st, + const uint8** src, + int* srclen) { + if (*srclen <= 0) { + return 0; + } + + const uint8* lsrc = *src; + const uint8* Tbl_0 = &st->state_table[st->state0]; + const uint8* Tbl = Tbl_0; + int e; + int eshift = st->entry_shift; + + // Short series of tests faster than switch, optimizes 7-bit ASCII + unsigned char c = lsrc[0]; + if (static_cast<signed char>(c) >= 0) { // one byte + e = Tbl[c]; + *src += 1; + *srclen -= 1; + } else if (((c & 0xe0) == 0xc0) && (*srclen >= 2)) { // two bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + *src += 2; + *srclen -= 2; + } else if (((c & 0xf0) == 0xe0) && (*srclen >= 3)) { // three bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << (eshift + 4)]; // 16x the range + e = (reinterpret_cast<const int8*>(Tbl))[lsrc[1]]; + Tbl = &Tbl[e << eshift]; // Relative +/- + e = Tbl[lsrc[2]]; + *src += 3; + *srclen -= 3; + }else if (((c & 0xf8) == 0xf0) && (*srclen >= 4)) { // four bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + Tbl = &Tbl_0[e << (eshift + 4)]; // 16x the range + e = (reinterpret_cast<const int8*>(Tbl))[lsrc[2]]; + Tbl = &Tbl[e << eshift]; // Relative +/- + e = Tbl[lsrc[3]]; + *src += 4; + *srclen -= 4; + } else { // Ill-formed + e = 0; + *src += 1; + *srclen -= 1; + } + return e; +} + +// BigOneByte versions are needed for tables > 240 states, but most +// won't need the TwoByte versions. +bool UTF8HasGenericPropertyBigOneByte(const UTF8PropObj& st, const char* src) { + const uint8* lsrc = reinterpret_cast<const uint8*>(src); + const uint8* Tbl_0 = &st.state_table[st.state0]; + const uint8* Tbl = Tbl_0; + int e; + int eshift = st.entry_shift; + + // Short series of tests faster than switch, optimizes 7-bit ASCII + unsigned char c = lsrc[0]; + if (static_cast<signed char>(c) >= 0) { // one byte + e = Tbl[c]; + } else if ((c & 0xe0) == 0xc0) { // two bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + } else if ((c & 0xf0) == 0xe0) { // three bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << (eshift + 4)]; // 16x the range + e = (reinterpret_cast<const int8*>(Tbl))[lsrc[1]]; + Tbl = &Tbl[e << eshift]; // Relative +/- + e = Tbl[lsrc[2]]; + } else { // four bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + Tbl = &Tbl_0[e << (eshift + 4)]; // 16x the range + e = (reinterpret_cast<const int8*>(Tbl))[lsrc[2]]; + Tbl = &Tbl[e << eshift]; // Relative +/- + e = Tbl[lsrc[3]]; + } + + // Comparing against 0 to avoid implicit conversion and a warning. + return (e != 0); +} + + +// TwoByte versions are needed for tables > 240 states +// Look up property of one UTF-8 character and advance over it +// Return 0 if input length is zero +// Return 0 and advance one byte if input is ill-formed +uint8 UTF8GenericPropertyTwoByte(const UTF8PropObj_2* st, + const uint8** src, + int* srclen) { + if (*srclen <= 0) { + return 0; + } + + const uint8* lsrc = *src; + const unsigned short* Tbl_0 = &st->state_table[st->state0]; + const unsigned short* Tbl = Tbl_0; + int e; + int eshift = st->entry_shift; + + // Short series of tests faster than switch, optimizes 7-bit ASCII + unsigned char c = lsrc[0]; + if (static_cast<signed char>(c) >= 0) { // one byte + e = Tbl[c]; + *src += 1; + *srclen -= 1; + } else if (((c & 0xe0) == 0xc0) && (*srclen >= 2)) { // two bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + *src += 2; + *srclen -= 2; + } else if (((c & 0xf0) == 0xe0) && (*srclen >= 3)) { // three bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[2]]; + *src += 3; + *srclen -= 3; + }else if (((c & 0xf8) == 0xf0) && (*srclen >= 4)) { // four bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[2]]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[3]]; + *src += 4; + *srclen -= 4; + } else { // Ill-formed + e = 0; + *src += 1; + *srclen -= 1; + } + return e; +} + +// TwoByte versions are needed for tables > 240 states +bool UTF8HasGenericPropertyTwoByte(const UTF8PropObj_2& st, const char* src) { + const uint8* lsrc = reinterpret_cast<const uint8*>(src); + const unsigned short* Tbl_0 = &st.state_table[st.state0]; + const unsigned short* Tbl = Tbl_0; + int e; + int eshift = st.entry_shift; + + // Short series of tests faster than switch, optimizes 7-bit ASCII + unsigned char c = lsrc[0]; + if (static_cast<signed char>(c) >= 0) { // one byte + e = Tbl[c]; + } else if ((c & 0xe0) == 0xc0) { // two bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + } else if ((c & 0xf0) == 0xe0) { // three bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[2]]; + } else { // four bytes + e = Tbl[c]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[1]]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[2]]; + Tbl = &Tbl_0[e << eshift]; + e = Tbl[lsrc[3]]; + } + + // Comparing against 0 to avoid implicit conversion and a warning. + return (e != 0); +} + + +// Approximate speeds on 2.8 GHz Pentium 4: +// GenericScan 1-byte loop 300 MB/sec * +// GenericScan 4-byte loop 1200 MB/sec +// GenericScan 8-byte loop 2400 MB/sec * +// GenericScanFastAscii 4-byte loop 3000 MB/sec +// GenericScanFastAscii 8-byte loop 3200 MB/sec * +// +// * Implemented below. FastAscii loop is memory-bandwidth constrained. + +// Scan a UTF-8 stringpiece based on state table. +// Always scan complete UTF-8 characters +// Set number of bytes scanned. Return reason for exiting +int UTF8GenericScan(const UTF8ScanObj* st, + const StringPiece& str, + int* bytes_consumed) { + int eshift = st->entry_shift; // 6 (space optimized) or 8 + // int nEntries = (1 << eshift); // 64 or 256 entries per state + + const uint8* isrc = + reinterpret_cast<const uint8*>(str.data()); + const uint8* src = isrc; + const int len = str.length(); + const uint8* srclimit = isrc + len; + const uint8* srclimit8 = srclimit - 7; + *bytes_consumed = 0; + if (len == 0) return kExitOK; + + const uint8* Tbl_0 = &st->state_table[st->state0]; + +DoAgain: + // Do state-table scan + int e = 0; + uint8 c; + + // Do fast for groups of 8 identity bytes. + // This covers a lot of 7-bit ASCII ~8x faster than the 1-byte loop, + // including slowing slightly on cr/lf/ht + //---------------------------- + const uint8* Tbl2 = &st->fast_state[0]; + uint32 losub = st->losub; + uint32 hiadd = st->hiadd; + while (src < srclimit8) { + const uint32* src32 = reinterpret_cast<const uint32 *>(src); + uint32 s0123 = UNALIGNED_LOAD32(&src32[0]); + uint32 s4567 = UNALIGNED_LOAD32(&src32[1]); + src += 8; + // This is a fast range check for all bytes in [lowsub..0x80-hiadd) + uint32 temp = (s0123 - losub) | (s0123 + hiadd) | + (s4567 - losub) | (s4567 + hiadd); + if ((temp & 0x80808080) != 0) { + // We typically end up here on cr/lf/ht; src was incremented + int e0123 = (Tbl2[src[-8]] | Tbl2[src[-7]]) | + (Tbl2[src[-6]] | Tbl2[src[-5]]); + if (e0123 != 0) {src -= 8; break;} // Exit on Non-interchange + e0123 = (Tbl2[src[-4]] | Tbl2[src[-3]]) | + (Tbl2[src[-2]] | Tbl2[src[-1]]); + if (e0123 != 0) {src -= 4; break;} // Exit on Non-interchange + // Else OK, go around again + } + } + //---------------------------- + + // Byte-at-a-time scan + //---------------------------- + const uint8* Tbl = Tbl_0; + while (src < srclimit) { + c = *src; + e = Tbl[c]; + src++; + if (e >= kExitIllegalStructure) {break;} + Tbl = &Tbl_0[e << eshift]; + } + //---------------------------- + + + // Exit possibilities: + // Some exit code, !state0, back up over last char + // Some exit code, state0, back up one byte exactly + // source consumed, !state0, back up over partial char + // source consumed, state0, exit OK + // For illegal byte in state0, avoid backup up over PREVIOUS char + // For truncated last char, back up to beginning of it + + if (e >= kExitIllegalStructure) { + // Back up over exactly one byte of rejected/illegal UTF-8 character + src--; + // Back up more if needed + if (!InStateZero(st, Tbl)) { + do {src--;} while ((src > isrc) && ((src[0] & 0xc0) == 0x80)); + } + } else if (!InStateZero(st, Tbl)) { + // Back up over truncated UTF-8 character + e = kExitIllegalStructure; + do {src--;} while ((src > isrc) && ((src[0] & 0xc0) == 0x80)); + } else { + // Normal termination, source fully consumed + e = kExitOK; + } + + if (e == kExitDoAgain) { + // Loop back up to the fast scan + goto DoAgain; + } + + *bytes_consumed = src - isrc; + return e; +} + +// Scan a UTF-8 stringpiece based on state table. +// Always scan complete UTF-8 characters +// Set number of bytes scanned. Return reason for exiting +// OPTIMIZED for case of 7-bit ASCII 0000..007f all valid +int UTF8GenericScanFastAscii(const UTF8ScanObj* st, + const StringPiece& str, + int* bytes_consumed) { + const uint8* isrc = + reinterpret_cast<const uint8*>(str.data()); + const uint8* src = isrc; + const int len = str.length(); + const uint8* srclimit = isrc + len; + const uint8* srclimit8 = srclimit - 7; + *bytes_consumed = 0; + if (len == 0) return kExitOK; + + int n; + int rest_consumed; + int exit_reason; + do { + // Skip 8 bytes of ASCII at a whack; no endianness issue + while ((src < srclimit8) && + (((UNALIGNED_LOAD32(&reinterpret_cast<const uint32*>(src)[0]) | + UNALIGNED_LOAD32(&reinterpret_cast<const uint32*>(src)[1])) + & 0x80808080) == 0)) { + src += 8; + } + // Run state table on the rest + n = src - isrc; + StringPiece str2(str.data() + n, str.length() - n); + exit_reason = UTF8GenericScan(st, str2, &rest_consumed); + src += rest_consumed; + } while ( exit_reason == kExitDoAgain ); + + *bytes_consumed = src - isrc; + return exit_reason; +} + +// Hack to change halfwidth katakana to match an old UTF8CharToLower() + +// Return number of src bytes skipped +static int DoSpecialFixup(const unsigned char c, + const unsigned char** srcp, const unsigned char* srclimit, + unsigned char** dstp, unsigned char* dstlimit) { + return 0; +} + + +// Scan a UTF-8 stringpiece based on state table, copying to output stringpiece +// and doing text replacements. +// DO NOT CALL DIRECTLY. Use UTF8GenericReplace() below +// Needs caller to loop on kExitDoAgain +static int UTF8GenericReplaceInternal(const UTF8ReplaceObj* st, + const StringPiece& istr, + StringPiece& ostr, + bool is_plain_text, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed, + OffsetMap* offsetmap) { + int eshift = st->entry_shift; + int nEntries = (1 << eshift); // 64 or 256 entries per state + const uint8* isrc = reinterpret_cast<const uint8*>(istr.data()); + const int ilen = istr.length(); + const uint8* copystart = isrc; + const uint8* src = isrc; + const uint8* srclimit = src + ilen; + *bytes_consumed = 0; + *bytes_filled = 0; + *chars_changed = 0; + + const uint8* odst = reinterpret_cast<const uint8*>(ostr.data()); + const int olen = ostr.length(); + uint8* dst = const_cast<uint8*>(odst); + uint8* dstlimit = dst + olen; + + int total_changed = 0; + + // Invariant condition during replacements: + // remaining dst size >= remaining src size + if ((dstlimit - dst) < (srclimit - src)) { + if (offsetmap != NULL) { + offsetmap->Copy(src - copystart); + copystart = src; + } + return kExitDstSpaceFull; + } + const uint8* Tbl_0 = &st->state_table[st->state0]; + + Do_state_table: + // Do state-table scan, copying as we go + const uint8* Tbl = Tbl_0; + int e = 0; + uint8 c = 0; + + Do_state_table_newe: + + //---------------------------- + while (src < srclimit) { + c = *src; + e = Tbl[c]; + *dst = c; + src++; + dst++; + if (e >= kExitIllegalStructure) {break;} + Tbl = &Tbl_0[e << eshift]; + } + //---------------------------- + + // Exit possibilities: + // Replacement code, do the replacement and loop + // Some other exit code, state0, back up one byte exactly + // Some other exit code, !state0, back up over last char + // source consumed, state0, exit OK + // source consumed, !state0, back up over partial char + // For illegal byte in state0, avoid backup up over PREVIOUS char + // For truncated last char, back up to beginning of it + + if (e >= kExitIllegalStructure) { + // Switch on exit code; most loop back to top + int offset = 0; + switch (e) { + // These all make the output string the same size or shorter + // No checking needed + case kExitReplace31: // del 2, add 1 bytes to change + dst -= 2; + if (offsetmap != NULL) { + offsetmap->Copy(src - copystart - 2); + offsetmap->Delete(2); + copystart = src; + } + dst[-1] = (unsigned char)Tbl[c + (nEntries * 1)]; + total_changed++; + goto Do_state_table; + case kExitReplace32: // del 3, add 2 bytes to change + dst--; + if (offsetmap != NULL) { + offsetmap->Copy(src - copystart - 1); + offsetmap->Delete(1); + copystart = src; + } + dst[-2] = (unsigned char)Tbl[c + (nEntries * 2)]; + dst[-1] = (unsigned char)Tbl[c + (nEntries * 1)]; + total_changed++; + goto Do_state_table; + case kExitReplace21: // del 2, add 1 bytes to change + dst--; + if (offsetmap != NULL) { + offsetmap->Copy(src - copystart - 1); + offsetmap->Delete(1); + copystart = src; + } + dst[-1] = (unsigned char)Tbl[c + (nEntries * 1)]; + total_changed++; + goto Do_state_table; + case kExitReplace3: // update 3 bytes to change + dst[-3] = (unsigned char)Tbl[c + (nEntries * 3)]; + CLD_FALLTHROUGH; + case kExitReplace2: // update 2 bytes to change + dst[-2] = (unsigned char)Tbl[c + (nEntries * 2)]; + CLD_FALLTHROUGH; + case kExitReplace1: // update 1 byte to change + dst[-1] = (unsigned char)Tbl[c + (nEntries * 1)]; + total_changed++; + goto Do_state_table; + case kExitReplace1S0: // update 1 byte to change, 256-entry state + dst[-1] = (unsigned char)Tbl[c + (256 * 1)]; + total_changed++; + goto Do_state_table; + // These can make the output string longer than the input + case kExitReplaceOffset2: + if ((nEntries != 256) && InStateZero(st, Tbl)) { + // For space-optimized table, we need multiples of 256 bytes + // in state0 and multiples of nEntries in other states + offset += ((unsigned char)Tbl[c + (256 * 2)] << 8); + } else { + offset += ((unsigned char)Tbl[c + (nEntries * 2)] << 8); + } + CLD_FALLTHROUGH; + case kExitSpecial: // Apply special fixups [read: hacks] + case kExitReplaceOffset1: + if ((nEntries != 256) && InStateZero(st, Tbl)) { + // For space-optimized table, we need multiples of 256 bytes + // in state0 and multiples of nEntries in other states + offset += (unsigned char)Tbl[c + (256 * 1)]; + } else { + offset += (unsigned char)Tbl[c + (nEntries * 1)]; + } + { + const RemapEntry* re = &st->remap_base[offset]; + int del_len = re->delete_bytes & ~kReplaceAndResumeFlag; + int add_len = re->add_bytes & ~kHtmlPlaintextFlag; + + // Special-case non-HTML replacement of five sensitive entities + // " & ' < > + // 0022 0026 0027 003c 003e + // A replacement creating one of these is expressed as a pair of + // entries, one for HTML output and one for plaintext output. + // The first of the pair has the high bit of add_bytes set. + if (re->add_bytes & kHtmlPlaintextFlag) { + // Use this entry for plain text + if (!is_plain_text) { + // Use very next entry for HTML text (same back/delete length) + re = &st->remap_base[offset + 1]; + add_len = re->add_bytes & ~kHtmlPlaintextFlag; + } + } + + int string_offset = re->bytes_offset; + // After the replacement, need (dstlimit - newdst) >= (srclimit - src) + uint8* newdst = dst - del_len + add_len; + if ((dstlimit - newdst) < (srclimit - src)) { + // Won't fit; don't do the replacement. Caller may realloc and retry + e = kExitDstSpaceFull; + break; // exit, backing up over this char for later retry + } + dst -= del_len; + memcpy(dst, &st->remap_string[string_offset], add_len); + dst += add_len; + total_changed++; + if (offsetmap != NULL) { + if (add_len > del_len) { + offsetmap->Copy(src - copystart); + offsetmap->Insert(add_len - del_len); + copystart = src; + } else if (add_len < del_len) { + offsetmap->Copy(src - copystart + add_len - del_len); + offsetmap->Delete(del_len - add_len); + copystart = src; + } + } + if (re->delete_bytes & kReplaceAndResumeFlag) { + // There is a non-zero target state at the end of the + // replacement string + e = st->remap_string[string_offset + add_len]; + Tbl = &Tbl_0[e << eshift]; + goto Do_state_table_newe; + } + } + if (e == kExitRejectAlt) {break;} + if (e != kExitSpecial) {goto Do_state_table;} + + // case kExitSpecial: // Apply special fixups [read: hacks] + // In this routine, do either UTF8CharToLower() + // fullwidth/halfwidth mapping or + // voiced mapping or + // semi-voiced mapping + + // First, do EXIT_REPLACE_OFFSET1 action (above) + // Second: do additional code fixup + { + int srcdel = DoSpecialFixup(c, &src, srclimit, &dst, dstlimit); + if (offsetmap != NULL) { + if (srcdel != 0) { + offsetmap->Copy(src - copystart - srcdel); + offsetmap->Delete(srcdel); + copystart = src; + } + } + } + goto Do_state_table; + + case kExitIllegalStructure: // structurally illegal byte; quit + case kExitReject: // NUL or illegal code encountered; quit + case kExitRejectAlt: // Apply replacement, then exit + default: // and all other exits + break; + } // End switch (e) + + // Exit possibilities: + // Some other exit code, state0, back up one byte exactly + // Some other exit code, !state0, back up over last char + + // Back up over exactly one byte of rejected/illegal UTF-8 character + src--; + dst--; + // Back up more if needed + if (!InStateZero(st, Tbl)) { + do {src--;dst--;} while ((src > isrc) && ((src[0] & 0xc0) == 0x80)); + } + } else if (!InStateZero(st, Tbl)) { + // src >= srclimit, !state0 + // Back up over truncated UTF-8 character + e = kExitIllegalStructure; + do {src--; dst--;} while ((src > isrc) && ((src[0] & 0xc0) == 0x80)); + } else { + // src >= srclimit, state0 + // Normal termination, source fully consumed + e = kExitOK; + } + + if (offsetmap != NULL) { + if (src > copystart) { + offsetmap->Copy(src - copystart); + copystart = src; + } + } + + // Possible return values here: + // kExitDstSpaceFull caller may realloc and retry from middle + // kExitIllegalStructure caller my overwrite/truncate + // kExitOK all done and happy + // kExitReject caller may overwrite/truncate + // kExitDoAgain LOOP NOT DONE; caller must retry from middle + // (may do fast ASCII loop first) + // kExitPlaceholder -unused- + // kExitNone -unused- + *bytes_consumed = src - isrc; + *bytes_filled = dst - odst; + *chars_changed = total_changed; + return e; +} + +// TwoByte versions are needed for tables > 240 states, such +// as the table for full Unicode 4.1 canonical + compatibility mapping + +// Scan a UTF-8 stringpiece based on state table with two-byte entries, +// copying to output stringpiece +// and doing text replacements. +// DO NOT CALL DIRECTLY. Use UTF8GenericReplace() below +// Needs caller to loop on kExitDoAgain +static int UTF8GenericReplaceInternalTwoByte(const UTF8ReplaceObj_2* st, + const StringPiece& istr, + StringPiece& ostr, + bool is_plain_text, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed, + OffsetMap* offsetmap) { + int eshift = st->entry_shift; + int nEntries = (1 << eshift); // 64 or 256 entries per state + const uint8* isrc = reinterpret_cast<const uint8*>(istr.data()); + const int ilen = istr.length(); + const uint8* copystart = isrc; + const uint8* src = isrc; + const uint8* srclimit = src + ilen; + *bytes_consumed = 0; + *bytes_filled = 0; + *chars_changed = 0; + + const uint8* odst = reinterpret_cast<const uint8*>(ostr.data()); + const int olen = ostr.length(); + uint8* dst = const_cast<uint8*>(odst); + uint8* dstlimit = dst + olen; + + *chars_changed = 0; + + int total_changed = 0; + + // Invariant condition during replacements: + // remaining dst size >= remaining src size + if ((dstlimit - dst) < (srclimit - src)) { + if (offsetmap != NULL) { + offsetmap->Copy(src - copystart); + copystart = src; + } + return kExitDstSpaceFull_2; + } + const unsigned short* Tbl_0 = &st->state_table[st->state0]; + + Do_state_table_2: + // Do state-table scan, copying as we go + const unsigned short* Tbl = Tbl_0; + int e = 0; + uint8 c = 0; + + Do_state_table_newe_2: + + //---------------------------- + while (src < srclimit) { + c = *src; + e = Tbl[c]; + *dst = c; + src++; + dst++; + if (e >= kExitIllegalStructure_2) {break;} + Tbl = &Tbl_0[e << eshift]; + } + //---------------------------- + + // Exit possibilities: + // Replacement code, do the replacement and loop + // Some other exit code, state0, back up one byte exactly + // Some other exit code, !state0, back up over last char + // source consumed, state0, exit OK + // source consumed, !state0, back up over partial char + // For illegal byte in state0, avoid backup up over PREVIOUS char + // For truncated last char, back up to beginning of it + + if (e >= kExitIllegalStructure_2) { + // Switch on exit code; most loop back to top + int offset = 0; + switch (e) { + // These all make the output string the same size or shorter + // No checking needed + case kExitReplace31_2: // del 2, add 1 bytes to change + dst -= 2; + if (offsetmap != NULL) { + offsetmap->Copy(src - copystart - 2); + offsetmap->Delete(2); + copystart = src; + } + dst[-1] = (unsigned char)(Tbl[c + (nEntries * 1)] & 0xff); + total_changed++; + goto Do_state_table_2; + case kExitReplace32_2: // del 3, add 2 bytes to change + dst--; + if (offsetmap != NULL) { + offsetmap->Copy(src - copystart - 1); + offsetmap->Delete(1); + copystart = src; + } + dst[-2] = (unsigned char)(Tbl[c + (nEntries * 1)] >> 8 & 0xff); + dst[-1] = (unsigned char)(Tbl[c + (nEntries * 1)] & 0xff); + total_changed++; + goto Do_state_table_2; + case kExitReplace21_2: // del 2, add 1 bytes to change + dst--; + if (offsetmap != NULL) { + offsetmap->Copy(src - copystart - 1); + offsetmap->Delete(1); + copystart = src; + } + dst[-1] = (unsigned char)(Tbl[c + (nEntries * 1)] & 0xff); + total_changed++; + goto Do_state_table_2; + case kExitReplace3_2: // update 3 bytes to change + dst[-3] = (unsigned char)(Tbl[c + (nEntries * 2)] & 0xff); + CLD_FALLTHROUGH; + case kExitReplace2_2: // update 2 bytes to change + dst[-2] = (unsigned char)(Tbl[c + (nEntries * 1)] >> 8 & 0xff); + CLD_FALLTHROUGH; + case kExitReplace1_2: // update 1 byte to change + dst[-1] = (unsigned char)(Tbl[c + (nEntries * 1)] & 0xff); + total_changed++; + goto Do_state_table_2; + case kExitReplace1S0_2: // update 1 byte to change, 256-entry state + dst[-1] = (unsigned char)(Tbl[c + (256 * 1)] & 0xff); + total_changed++; + goto Do_state_table_2; + // These can make the output string longer than the input + case kExitReplaceOffset2_2: + if ((nEntries != 256) && InStateZero_2(st, Tbl)) { + // For space-optimized table, we need multiples of 256 bytes + // in state0 and multiples of nEntries in other states + offset += ((unsigned char)(Tbl[c + (256 * 1)] >> 8 & 0xff) << 8); + } else { + offset += ((unsigned char)(Tbl[c + (nEntries * 1)] >> 8 & 0xff) << 8); + } + CLD_FALLTHROUGH; + case kExitReplaceOffset1_2: + if ((nEntries != 256) && InStateZero_2(st, Tbl)) { + // For space-optimized table, we need multiples of 256 bytes + // in state0 and multiples of nEntries in other states + offset += (unsigned char)(Tbl[c + (256 * 1)] & 0xff); + } else { + offset += (unsigned char)(Tbl[c + (nEntries * 1)] & 0xff); + } + { + const RemapEntry* re = &st->remap_base[offset]; + int del_len = re->delete_bytes & ~kReplaceAndResumeFlag; + int add_len = re->add_bytes & ~kHtmlPlaintextFlag; + // Special-case non-HTML replacement of five sensitive entities + // " & ' < > + // 0022 0026 0027 003c 003e + // A replacement creating one of these is expressed as a pair of + // entries, one for HTML output and one for plaintext output. + // The first of the pair has the high bit of add_bytes set. + if (re->add_bytes & kHtmlPlaintextFlag) { + // Use this entry for plain text + if (!is_plain_text) { + // Use very next entry for HTML text (same back/delete length) + re = &st->remap_base[offset + 1]; + add_len = re->add_bytes & ~kHtmlPlaintextFlag; + } + } + + // After the replacement, need (dstlimit - dst) >= (srclimit - src) + int string_offset = re->bytes_offset; + // After the replacement, need (dstlimit - newdst) >= (srclimit - src) + uint8* newdst = dst - del_len + add_len; + if ((dstlimit - newdst) < (srclimit - src)) { + // Won't fit; don't do the replacement. Caller may realloc and retry + e = kExitDstSpaceFull_2; + break; // exit, backing up over this char for later retry + } + dst -= del_len; + memcpy(dst, &st->remap_string[string_offset], add_len); + dst += add_len; + if (offsetmap != NULL) { + if (add_len > del_len) { + offsetmap->Copy(src - copystart); + offsetmap->Insert(add_len - del_len); + copystart = src; + } else if (add_len < del_len) { + offsetmap->Copy(src - copystart + add_len - del_len); + offsetmap->Delete(del_len - add_len); + copystart = src; + } + } + if (re->delete_bytes & kReplaceAndResumeFlag) { + // There is a two-byte non-zero target state at the end of the + // replacement string + uint8 c1 = st->remap_string[string_offset + add_len]; + uint8 c2 = st->remap_string[string_offset + add_len + 1]; + e = (c1 << 8) | c2; + Tbl = &Tbl_0[e << eshift]; + total_changed++; + goto Do_state_table_newe_2; + } + } + total_changed++; + if (e == kExitRejectAlt_2) {break;} + goto Do_state_table_2; + + case kExitSpecial_2: // NO special fixups [read: hacks] + case kExitIllegalStructure_2: // structurally illegal byte; quit + case kExitReject_2: // NUL or illegal code encountered; quit + // and all other exits + default: + break; + } // End switch (e) + + // Exit possibilities: + // Some other exit code, state0, back up one byte exactly + // Some other exit code, !state0, back up over last char + + // Back up over exactly one byte of rejected/illegal UTF-8 character + src--; + dst--; + // Back up more if needed + if (!InStateZero_2(st, Tbl)) { + do {src--;dst--;} while ((src > isrc) && ((src[0] & 0xc0) == 0x80)); + } + } else if (!InStateZero_2(st, Tbl)) { + // src >= srclimit, !state0 + // Back up over truncated UTF-8 character + e = kExitIllegalStructure_2; + + do {src--; dst--;} while ((src > isrc) && ((src[0] & 0xc0) == 0x80)); + } else { + // src >= srclimit, state0 + // Normal termination, source fully consumed + e = kExitOK_2; + } + + if (offsetmap != NULL) { + if (src > copystart) { + offsetmap->Copy(src - copystart); + copystart = src; + } + } + + + // Possible return values here: + // kExitDstSpaceFull_2 caller may realloc and retry from middle + // kExitIllegalStructure_2 caller my overwrite/truncate + // kExitOK_2 all done and happy + // kExitReject_2 caller may overwrite/truncate + // kExitDoAgain_2 LOOP NOT DONE; caller must retry from middle + // (may do fast ASCII loop first) + // kExitPlaceholder_2 -unused- + // kExitNone_2 -unused- + *bytes_consumed = src - isrc; + *bytes_filled = dst - odst; + *chars_changed = total_changed; + return e; +} + + +// Scan a UTF-8 stringpiece based on state table, copying to output stringpiece +// and doing text replacements. +// Also writes an optional OffsetMap. Pass NULL to skip writing one. +// Always scan complete UTF-8 characters +// Set number of bytes consumed from input, number filled to output. +// Return reason for exiting +int UTF8GenericReplace(const UTF8ReplaceObj* st, + const StringPiece& istr, + StringPiece& ostr, + bool is_plain_text, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed, + OffsetMap* offsetmap) { + StringPiece local_istr(istr.data(), istr.length()); + StringPiece local_ostr(ostr.data(), ostr.length()); + int total_consumed = 0; + int total_filled = 0; + int total_changed = 0; + int local_bytes_consumed, local_bytes_filled, local_chars_changed; + int e; + do { + e = UTF8GenericReplaceInternal(st, + local_istr, local_ostr, is_plain_text, + &local_bytes_consumed, &local_bytes_filled, + &local_chars_changed, + offsetmap); + local_istr.remove_prefix(local_bytes_consumed); + local_ostr.remove_prefix(local_bytes_filled); + total_consumed += local_bytes_consumed; + total_filled += local_bytes_filled; + total_changed += local_chars_changed; + } while ( e == kExitDoAgain ); + *bytes_consumed = total_consumed; + *bytes_filled = total_filled; + *chars_changed = total_changed; + return e; +} + +// Older version without offsetmap +int UTF8GenericReplace(const UTF8ReplaceObj* st, + const StringPiece& istr, + StringPiece& ostr, + bool is_plain_text, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed) { + return UTF8GenericReplace(st, + istr, + ostr, + is_plain_text, + bytes_consumed, + bytes_filled, + chars_changed, + NULL); +} + +// Older version without is_plain_text or offsetmap +int UTF8GenericReplace(const UTF8ReplaceObj* st, + const StringPiece& istr, + StringPiece& ostr, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed) { + bool is_plain_text = false; + return UTF8GenericReplace(st, + istr, + ostr, + is_plain_text, + bytes_consumed, + bytes_filled, + chars_changed, + NULL); +} + +// Scan a UTF-8 stringpiece based on state table with two-byte entries, +// copying to output stringpiece +// and doing text replacements. +// Also writes an optional OffsetMap. Pass NULL to skip writing one. +// Always scan complete UTF-8 characters +// Set number of bytes consumed from input, number filled to output. +// Return reason for exiting +int UTF8GenericReplaceTwoByte(const UTF8ReplaceObj_2* st, + const StringPiece& istr, + StringPiece& ostr, + bool is_plain_text, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed, + OffsetMap* offsetmap) { + StringPiece local_istr(istr.data(), istr.length()); + StringPiece local_ostr(ostr.data(), ostr.length()); + int total_consumed = 0; + int total_filled = 0; + int total_changed = 0; + int local_bytes_consumed, local_bytes_filled, local_chars_changed; + int e; + do { + e = UTF8GenericReplaceInternalTwoByte(st, + local_istr, local_ostr, is_plain_text, + &local_bytes_consumed, + &local_bytes_filled, + &local_chars_changed, + offsetmap); + local_istr.remove_prefix(local_bytes_consumed); + local_ostr.remove_prefix(local_bytes_filled); + total_consumed += local_bytes_consumed; + total_filled += local_bytes_filled; + total_changed += local_chars_changed; + } while ( e == kExitDoAgain_2 ); + *bytes_consumed = total_consumed; + *bytes_filled = total_filled; + *chars_changed = total_changed; + + return e - kExitOK_2 + kExitOK; +} + +// Older version without offsetmap +int UTF8GenericReplaceTwoByte(const UTF8ReplaceObj_2* st, + const StringPiece& istr, + StringPiece& ostr, + bool is_plain_text, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed) { + return UTF8GenericReplaceTwoByte(st, + istr, + ostr, + is_plain_text, + bytes_consumed, + bytes_filled, + chars_changed, + NULL); +} + +// Older version without is_plain_text or offsetmap +int UTF8GenericReplaceTwoByte(const UTF8ReplaceObj_2* st, + const StringPiece& istr, + StringPiece& ostr, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed) { + bool is_plain_text = false; + return UTF8GenericReplaceTwoByte(st, + istr, + ostr, + is_plain_text, + bytes_consumed, + bytes_filled, + chars_changed, + NULL); +} + + + +// Adjust a stringpiece to encompass complete UTF-8 characters. +// The data pointer will be increased by 0..3 bytes to get to a character +// boundary, and the length will then be decreased by 0..3 bytes +// to encompass the last complete character. +void UTF8TrimToChars(StringPiece* istr) { + const char* src = istr->data(); + int len = istr->length(); + // Exit if empty string + if (len == 0) { + return; + } + + // Exit on simple, common case + if ( ((src[0] & 0xc0) != 0x80) && + (static_cast<signed char>(src[len - 1]) >= 0) ) { + // First byte is not a continuation and last byte is 7-bit ASCII -- done + return; + } + + // Adjust the back end, len > 0 + const char* srclimit = src + len; + // Backscan over any ending continuation bytes to find last char start + const char* s = srclimit - 1; // Last byte of the string + while ((src <= s) && ((*s & 0xc0) == 0x80)) { + s--; + } + // Include entire last char if it fits + if (src <= s) { + int last_char_len = UTF8OneCharLen(s); + if (s + last_char_len <= srclimit) { + // Last char fits, so include it, else exclude it + s += last_char_len; + } + } + if (s != srclimit) { + // s is one byte beyond the last full character, if any + istr->remove_suffix(srclimit - s); + // Exit if now empty string + if (istr->length() == 0) { + return; + } + } + + // Adjust the front end, len > 0 + len = istr->length(); + srclimit = src + len; + s = src; // First byte of the string + // Scan over any beginning continuation bytes to find first char start + while ((s < srclimit) && ((*s & 0xc0) == 0x80)) { + s++; + } + if (s != src) { + // s is at the first full character, if any + istr->remove_prefix(s - src); + } +} + +} // End namespace CLD2 +} // End namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/script_span/utf8statetable.h b/chromium/third_party/cld_3/src/src/script_span/utf8statetable.h new file mode 100644 index 00000000000..5817c410ba1 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/script_span/utf8statetable.h @@ -0,0 +1,285 @@ +// Copyright 2013 Google Inc. All Rights Reserved. +// +// 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. + +// +// State Table follower for scanning UTF-8 strings without converting to +// 32- or 16-bit Unicode values. +// +// Author: dsites@google.com (Dick Sites) +// + +#ifndef SCRIPT_SPAN_UTF8STATETABLE_H_ +#define SCRIPT_SPAN_UTF8STATETABLE_H_ + +#include <string> + +#include "integral_types.h" // for uint8, uint32, uint16 +#include "stringpiece.h" + +namespace chrome_lang_id { +namespace CLD2 { + +class OffsetMap; + + +// These four-byte entries compactly encode how many bytes 0..255 to delete +// in making a string replacement, how many bytes to add 0..255, and the offset +// 0..64k-1 of the replacement string in remap_string. +struct RemapEntry { + uint8 delete_bytes; + uint8 add_bytes; + uint16 bytes_offset; +}; + +// Exit type codes for state tables. All but the first get stuffed into +// signed one-byte entries. The first is only generated by executable code. +// To distinguish from next-state entries, these must be contiguous and +// all <= kExitNone +typedef enum { + kExitDstSpaceFull = 239, + kExitIllegalStructure, // 240 + kExitOK, // 241 + kExitReject, // ... + kExitReplace1, + kExitReplace2, + kExitReplace3, + kExitReplace21, + kExitReplace31, + kExitReplace32, + kExitReplaceOffset1, + kExitReplaceOffset2, + kExitReplace1S0, + kExitSpecial, + kExitDoAgain, + kExitRejectAlt, + kExitNone // 255 +} ExitReason; + +typedef enum { + kExitDstSpaceFull_2 = 32767, // 0x7fff + kExitIllegalStructure_2, // 32768 0x8000 + kExitOK_2, // 32769 0x8001 + kExitReject_2, // ... + kExitReplace1_2, + kExitReplace2_2, + kExitReplace3_2, + kExitReplace21_2, + kExitReplace31_2, + kExitReplace32_2, + kExitReplaceOffset1_2, + kExitReplaceOffset2_2, + kExitReplace1S0_2, + kExitSpecial_2, + kExitDoAgain_2, + kExitRejectAlt_2, + kExitNone_2 // 32783 0x800f +} ExitReason_2; + + +// This struct represents one entire state table. The three initialized byte +// areas are state_table, remap_base, and remap_string. state0 and state0_size +// give the byte offset and length within state_table of the initial state -- +// table lookups are expected to start and end in this state, but for +// truncated UTF-8 strings, may end in a different state. These allow a quick +// test for that condition. entry_shift is 8 for tables subscripted by a full +// byte value and 6 for space-optimized tables subscripted by only six +// significant bits in UTF-8 continuation bytes. +typedef struct { + const uint32 state0; + const uint32 state0_size; + const uint32 total_size; + const int max_expand; + const int entry_shift; + const int bytes_per_entry; + const uint32 losub; + const uint32 hiadd; + const uint8* state_table; + const RemapEntry* remap_base; + const uint8* remap_string; + const uint8* fast_state; +} UTF8StateMachineObj; + +// Near-duplicate declaration for tables with two-byte entries +typedef struct { + const uint32 state0; + const uint32 state0_size; + const uint32 total_size; + const int max_expand; + const int entry_shift; + const int bytes_per_entry; + const uint32 losub; + const uint32 hiadd; + const unsigned short* state_table; + const RemapEntry* remap_base; + const uint8* remap_string; + const uint8* fast_state; +} UTF8StateMachineObj_2; + + +typedef UTF8StateMachineObj UTF8PropObj; +typedef UTF8StateMachineObj UTF8ScanObj; +typedef UTF8StateMachineObj UTF8ReplaceObj; +typedef UTF8StateMachineObj_2 UTF8PropObj_2; +typedef UTF8StateMachineObj_2 UTF8ReplaceObj_2; +// NOT IMPLEMENTED typedef UTF8StateMachineObj_2 UTF8ScanObj_2; + + +// Look up property of one UTF-8 character and advance over it +// Return 0 if input length is zero +// Return 0 and advance one byte if input is ill-formed +uint8 UTF8GenericProperty(const UTF8PropObj* st, + const uint8** src, + int* srclen); + +// Look up property of one UTF-8 character (assumed to be valid). +// (This is a faster version of UTF8GenericProperty.) +bool UTF8HasGenericProperty(const UTF8PropObj& st, const char* src); + + +// BigOneByte versions are needed for tables > 240 states, but most +// won't need the TwoByte versions. + +// Look up property of one UTF-8 character and advance over it +// Return 0 if input length is zero +// Return 0 and advance one byte if input is ill-formed +uint8 UTF8GenericPropertyBigOneByte(const UTF8PropObj* st, + const uint8** src, + int* srclen); + + +// TwoByte versions are needed for tables > 240 states that don't fit onto +// BigOneByte -- rare ultimate fallback + +// Look up property of one UTF-8 character (assumed to be valid). +// (This is a faster version of UTF8GenericProperty.) +bool UTF8HasGenericPropertyBigOneByte(const UTF8PropObj& st, const char* src); + +// Look up property of one UTF-8 character and advance over it +// Return 0 if input length is zero +// Return 0 and advance one byte if input is ill-formed +uint8 UTF8GenericPropertyTwoByte(const UTF8PropObj_2* st, + const uint8** src, + int* srclen); + +// Look up property of one UTF-8 character (assumed to be valid). +// (This is a faster version of UTF8GenericProperty.) +bool UTF8HasGenericPropertyTwoByte(const UTF8PropObj_2& st, const char* src); + +// Scan a UTF-8 stringpiece based on a state table. +// Always scan complete UTF-8 characters +// Set number of bytes scanned. Return reason for exiting +int UTF8GenericScan(const UTF8ScanObj* st, + const StringPiece& str, + int* bytes_consumed); + + + +// Scan a UTF-8 stringpiece based on state table, copying to output stringpiece +// and doing text replacements. +// Always scan complete UTF-8 characters +// Set number of bytes consumed from input, number filled to output. +// Return reason for exiting +// Also writes an optional OffsetMap. Pass NULL to skip writing one. +int UTF8GenericReplace(const UTF8ReplaceObj* st, + const StringPiece& istr, + StringPiece& ostr, + bool is_plain_text, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed, + OffsetMap* offsetmap); + +// Older version without offsetmap +int UTF8GenericReplace(const UTF8ReplaceObj* st, + const StringPiece& istr, + StringPiece& ostr, + bool is_plain_text, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed); + +// Older version without is_plain_text or offsetmap +int UTF8GenericReplace(const UTF8ReplaceObj* st, + const StringPiece& istr, + StringPiece& ostr, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed); + + +// TwoByte version is needed for tables > about 256 states, such +// as the table for full Unicode 4.1 canonical + compatibility mapping + +// Scan a UTF-8 stringpiece based on state table with two-byte entries, +// copying to output stringpiece +// and doing text replacements. +// Always scan complete UTF-8 characters +// Set number of bytes consumed from input, number filled to output. +// Return reason for exiting +// Also writes an optional OffsetMap. Pass NULL to skip writing one. +int UTF8GenericReplaceTwoByte(const UTF8ReplaceObj_2* st, + const StringPiece& istr, + StringPiece& ostr, + bool is_plain_text, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed, + OffsetMap* offsetmap); + +// Older version without offsetmap +int UTF8GenericReplaceTwoByte(const UTF8ReplaceObj_2* st, + const StringPiece& istr, + StringPiece& ostr, + bool is_plain_text, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed); + +// Older version without is_plain_text or offsetmap +int UTF8GenericReplaceTwoByte(const UTF8ReplaceObj_2* st, + const StringPiece& istr, + StringPiece& ostr, + int* bytes_consumed, + int* bytes_filled, + int* chars_changed); + + +static const unsigned char kUTF8LenTbl[256] = { + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, + + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1, + 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2, + 3,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, 4,4,4,4,4,4,4,4, 4,4,4,4,4,4,4,4 +}; + +inline int UTF8OneCharLen(const char* in) { + return kUTF8LenTbl[*reinterpret_cast<const uint8*>(in)]; +} + +// Adjust a stringpiece to encompass complete UTF-8 characters. +// The data pointer will be increased by 0..3 bytes to get to a character +// boundary, and the length will then be decreased by 0..3 bytes +// to encompass the last complete character. +// This is useful especially when a UTF-8 string must be put into a fixed- +// maximum-size buffer cleanly, such as a MySQL buffer. +void UTF8TrimToChars(StringPiece* istr); + +} // End namespace CLD2 +} // End namespace chrome_lang_id + +#endif // SCRIPT_SPAN_UTF8STATETABLE_H_ diff --git a/chromium/third_party/cld_3/src/src/sentence.proto b/chromium/third_party/cld_3/src/src/sentence.proto new file mode 100644 index 00000000000..a5b71db6c44 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/sentence.proto @@ -0,0 +1,77 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +// Protocol buffer specification for sentence analysis. + +syntax = "proto2"; +option optimize_for = LITE_RUNTIME; + +package chrome_lang_id; + +// A Sentence contains the raw text contents of a sentence, as well as an +// analysis. +message Sentence { + // Identifier for sentence. + optional string id = 1; + + // Raw text contents of the sentence. + optional string text = 2; + + // Tokenization of the sentence. + repeated Token token = 3; + + extensions 1000 to max; +} + +// A sentence token marks a span of bytes in the sentence text as a token +// or word. +message Token { + // Token word form. + required string word = 1; + + // Start position of token in text. + required int32 start = 2; + + // End position of token in text. Gives index of last byte, not one past + // the last byte. If token came from lexer, excludes any trailing HTML tags. + required int32 end = 3; + + // Head of this token in the dependency tree: the id of the token which has an + // arc going to this one. If it is the root token of a sentence, then it is + // set to -1. + optional int32 head = 4 [default = -1]; + + // Part-of-speech tag for token. + optional string tag = 5; + + // Coarse-grained word category for token. + optional string category = 6; + + // Label for dependency relation between this token and its head. + optional string label = 7; + + // Break level for tokens that indicates how it was separated from the + // previous token in the text. + enum BreakLevel { + NO_BREAK = 0; // No separation between tokens. + SPACE_BREAK = 1; // Tokens separated by space. + LINE_BREAK = 2; // Tokens separated by line break. + SENTENCE_BREAK = 3; // Tokens separated by sentence break. + } + + optional BreakLevel break_level = 8 [default = SPACE_BREAK]; + + extensions 1000 to max; +} diff --git a/chromium/third_party/cld_3/src/src/sentence_features.cc b/chromium/third_party/cld_3/src/src/sentence_features.cc new file mode 100644 index 00000000000..cae6e368c87 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/sentence_features.cc @@ -0,0 +1,29 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "sentence_features.h" + +#include "registry.h" + +namespace chrome_lang_id { + +// Declare registry for the whole Sentence feature functions. NOTE: this is not +// yet set to anything meaningful. It will be set so in NNetLanguageIdentifier +// constructor, *before* we use any feature. +template <> +WholeSentenceFeature::Registry + *RegisterableClass<WholeSentenceFeature>::registry_ = nullptr; + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/sentence_features.h b/chromium/third_party/cld_3/src/src/sentence_features.h new file mode 100644 index 00000000000..165bfd5f1a3 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/sentence_features.h @@ -0,0 +1,35 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +// Features that operate on Sentence objects. Most features are defined +// in this header so they may be re-used via composition into other more +// advanced feature classes. + +#ifndef SENTENCE_FEATURES_H_ +#define SENTENCE_FEATURES_H_ + +#include "feature_extractor.h" +#include "cld_3/protos/sentence.pb.h" + +namespace chrome_lang_id { + +// Feature function that extracts features for the full Sentence. +typedef FeatureFunction<Sentence> WholeSentenceFeature; + +typedef FeatureExtractor<Sentence> WholeSentenceExtractor; + +} // namespace chrome_lang_id + +#endif // SENTENCE_FEATURES_H_ diff --git a/chromium/third_party/cld_3/src/src/simple_adder.h b/chromium/third_party/cld_3/src/src/simple_adder.h new file mode 100644 index 00000000000..f70665eff78 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/simple_adder.h @@ -0,0 +1,72 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef SIMPLE_ADDER_H_ +#define SIMPLE_ADDER_H_ + +#include "base.h" + +namespace chrome_lang_id { + +// Class for adding (possibly) scaled arrays. +class SimpleAdder { + public: + static constexpr const int kNumFloatsPerBatch = 1; + + CLD3_ATTRIBUTE_ALWAYS_INLINE SimpleAdder(float *dest, int num_floats) + : dest_(dest), num_floats_(num_floats) {} + + CLD3_ATTRIBUTE_ALWAYS_INLINE ~SimpleAdder() { + // Should call Finalize function before destruction. + CLD3_DCHECK(dest_ == nullptr); + } + + // Caller must call this function before calling deconstruct this object. + CLD3_ATTRIBUTE_ALWAYS_INLINE void Finalize() { dest_ = nullptr; } + + CLD3_ATTRIBUTE_ALWAYS_INLINE void LazyAdd(const float *source) const { + AddImpl(source, num_floats_, dest_); + } + + CLD3_ATTRIBUTE_ALWAYS_INLINE void LazyScaleAdd(const float *source, + const float scale) const { + ScaleAddImpl(source, num_floats_, scale, dest_); + } + + // Simple fast while loop to implement dest += source. + CLD3_ATTRIBUTE_ALWAYS_INLINE static void AddImpl( + const float *__restrict source, uint32 size, float *__restrict dest) { + for (uint32 i = 0; i < size; ++i) { + dest[i] += source[i]; + } + } + + // Simple fast while loop to implement dest += scale * source. + CLD3_ATTRIBUTE_ALWAYS_INLINE static void ScaleAddImpl( + const float *__restrict source, uint32 size, const float scale, + float *__restrict dest) { + for (uint32 i = 0; i < size; ++i) { + dest[i] += source[i] * scale; + } + } + + private: + float *dest_; + int num_floats_; +}; + +} // namespace chrome_lang_id + +#endif // SIMPLE_ADDER_H_ diff --git a/chromium/third_party/cld_3/src/src/task_context.cc b/chromium/third_party/cld_3/src/src/task_context.cc new file mode 100644 index 00000000000..4f9636882f4 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/task_context.cc @@ -0,0 +1,161 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "task_context.h" + +#include "utils.h" + +namespace chrome_lang_id { + +TaskContext::TaskContext() {} + +TaskContext::~TaskContext() {} + +TaskInput *TaskContext::GetInput(const string &name) { + // Return existing input if it exists. + for (int i = 0; i < spec_.input_size(); ++i) { + if (spec_.input(i).name() == name) return spec_.mutable_input(i); + } + + // Create new input. + TaskInput *input = spec_.add_input(); + input->set_name(name); + return input; +} + +TaskInput *TaskContext::GetInput(const string &name, const string &file_format, + const string &record_format) { + TaskInput *input = GetInput(name); + if (!file_format.empty()) { + bool found = false; + for (int i = 0; i < input->file_format_size(); ++i) { + if (input->file_format(i) == file_format) found = true; + } + if (!found) input->add_file_format(file_format); + } + if (!record_format.empty()) { + bool found = false; + for (int i = 0; i < input->record_format_size(); ++i) { + if (input->record_format(i) == record_format) found = true; + } + if (!found) input->add_record_format(record_format); + } + return input; +} + +void TaskContext::SetParameter(const string &name, const string &value) { + // If the parameter already exists update the value. + for (int i = 0; i < spec_.parameter_size(); ++i) { + if (spec_.parameter(i).name() == name) { + spec_.mutable_parameter(i)->set_value(value); + return; + } + } + + // Add new parameter. + TaskSpec::Parameter *param = spec_.add_parameter(); + param->set_name(name); + param->set_value(value); +} + +string TaskContext::GetParameter(const string &name) const { + // First try to find parameter in task specification. + for (int i = 0; i < spec_.parameter_size(); ++i) { + if (spec_.parameter(i).name() == name) return spec_.parameter(i).value(); + } + + // Parameter not found, return empty string. + return ""; +} + +int TaskContext::GetIntParameter(const string &name) const { + string value = GetParameter(name); + return utils::ParseUsing<int>(value, 0, utils::ParseInt32); +} + +bool TaskContext::GetBoolParameter(const string &name) const { + string value = GetParameter(name); + return value == "true"; +} + +double TaskContext::GetFloatParameter(const string &name) const { + string value = GetParameter(name); + return utils::ParseUsing<double>(value, .0, utils::ParseDouble); +} + +string TaskContext::Get(const string &name, const char *defval) const { + // First try to find parameter in task specification. + for (int i = 0; i < spec_.parameter_size(); ++i) { + if (spec_.parameter(i).name() == name) return spec_.parameter(i).value(); + } + + // Parameter not found, return default value. + return defval; +} + +string TaskContext::Get(const string &name, const string &defval) const { + return Get(name, defval.c_str()); +} + +int TaskContext::Get(const string &name, int defval) const { + string value = Get(name, ""); + return utils::ParseUsing<int>(value, defval, utils::ParseInt32); +} + +double TaskContext::Get(const string &name, double defval) const { + string value = Get(name, ""); + return utils::ParseUsing<double>(value, defval, utils::ParseDouble); +} + +bool TaskContext::Get(const string &name, bool defval) const { + string value = Get(name, ""); + return value.empty() ? defval : value == "true"; +} + +string TaskContext::InputFile(const TaskInput &input) { + CLD3_CHECK(input.part_size() == 1); + return input.part(0).file_pattern(); +} + +bool TaskContext::Supports(const TaskInput &input, const string &file_format, + const string &record_format) { + // Check file format. + if (input.file_format_size() > 0) { + bool found = false; + for (int i = 0; i < input.file_format_size(); ++i) { + if (input.file_format(i) == file_format) { + found = true; + break; + } + } + if (!found) return false; + } + + // Check record format. + if (input.record_format_size() > 0) { + bool found = false; + for (int i = 0; i < input.record_format_size(); ++i) { + if (input.record_format(i) == record_format) { + found = true; + break; + } + } + if (!found) return false; + } + + return true; +} + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/task_context.h b/chromium/third_party/cld_3/src/src/task_context.h new file mode 100644 index 00000000000..d3a5eb6c066 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/task_context.h @@ -0,0 +1,81 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef TASK_CONTEXT_H_ +#define TASK_CONTEXT_H_ + +#include <string> +#include <vector> + +#include "base.h" +#include "cld_3/protos/task_spec.pb.h" + +namespace chrome_lang_id { + +// A task context holds configuration information for a task. It is basically a +// wrapper around a TaskSpec protocol buffer. +class TaskContext { + public: + TaskContext(); + ~TaskContext(); + + // Returns the underlying task specification protocol buffer for the context. + const TaskSpec &spec() const { return spec_; } + TaskSpec *mutable_spec() { return &spec_; } + + // Returns a named input descriptor for the task. A new input is created if + // the task context does not already have an input with that name. + TaskInput *GetInput(const string &name); + TaskInput *GetInput(const string &name, const string &file_format, + const string &record_format); + + // Sets task parameter. + void SetParameter(const string &name, const string &value); + + // Returns task parameter. If the parameter is not in the task configuration + // the (default) value of the corresponding command line flag is returned. + string GetParameter(const string &name) const; + int GetIntParameter(const string &name) const; + bool GetBoolParameter(const string &name) const; + double GetFloatParameter(const string &name) const; + + // Returns task parameter. If the parameter is not in the task configuration + // the default value is returned. Parameters retrieved using these methods + // don't need to be defined with a DEFINE_*() macro. + string Get(const string &name, const string &defval) const; + string Get(const string &name, const char *defval) const; + int Get(const string &name, int defval) const; + double Get(const string &name, double defval) const; + bool Get(const string &name, bool defval) const; + + // Returns input file name for a single-file task input. + static string InputFile(const TaskInput &input); + + // Returns true if task input supports the file and record format. + static bool Supports(const TaskInput &input, const string &file_format, + const string &record_format); + + private: + // Underlying task specification protocol buffer. + TaskSpec spec_; + + // Vector of parameters required by this task. These must be specified in the + // task rather than relying on default values. + std::vector<string> required_parameters_; +}; + +} // namespace chrome_lang_id + +#endif // TASK_CONTEXT_H_ diff --git a/chromium/third_party/cld_3/src/src/task_context_params.cc b/chromium/third_party/cld_3/src/src/task_context_params.cc new file mode 100644 index 00000000000..27cf89d36bb --- /dev/null +++ b/chromium/third_party/cld_3/src/src/task_context_params.cc @@ -0,0 +1,74 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +// This file contains the hard-coded parameters from the training workflow. If +// you update the binary model, you may need to update the variables below as +// well. + +#include "task_context_params.h" + +#include "task_context.h" + +namespace chrome_lang_id { + +void TaskContextParams::ToTaskContext(TaskContext *context) { + context->SetParameter("language_identifier_features", + kLanguageIdentifierFeatures); + context->SetParameter("language_identifier_embedding_names", + kLanguageIdentifierEmbeddingNames); + context->SetParameter("language_identifier_embedding_dims", + kLanguageIdentifierEmbeddingDims); +} + +int TaskContextParams::GetNumLanguages() { + int i = 0; + while (kLanguageNames[i] != nullptr) { + i++; + } + return i; +} + +const char *const TaskContextParams::kLanguageNames[] = { + "eo", "co", "eu", "ta", "de", "mt", "ps", "te", "su", "uz", "zh-Latn", "ne", + "nl", "sw", "sq", "hmn", "ja", "no", "mn", "so", "ko", "kk", "sl", "ig", + "mr", "th", "zu", "ml", "hr", "bs", "lo", "sd", "cy", "hy", "uk", "pt", + "lv", "iw", "cs", "vi", "jv", "be", "km", "mk", "tr", "fy", "am", "zh", + "da", "sv", "fi", "ht", "af", "la", "id", "fil", "sm", "ca", "el", "ka", + "sr", "it", "sk", "ru", "ru-Latn", "bg", "ny", "fa", "haw", "gl", "et", + "ms", "gd", "bg-Latn", "ha", "is", "ur", "mi", "hi", "bn", "hi-Latn", "fr", + "yi", "hu", "xh", "my", "tg", "ro", "ar", "lb", "el-Latn", "st", "ceb", + "kn", "az", "si", "ky", "mg", "en", "gu", "es", "pl", "ja-Latn", "ga", "lt", + "sn", "yo", "pa", "ku", + + // last element must be nullptr + nullptr, +}; + +const char TaskContextParams::kLanguageIdentifierFeatures[] = + "continuous-bag-of-ngrams(include_terminators=true,include_spaces=false," + "use_equal_weight=false,id_dim=1000,size=2);continuous-bag-of-ngrams(" + "include_terminators=true,include_spaces=false,use_equal_weight=false,id_" + "dim=5000,size=4);continuous-bag-of-relevant-scripts;script;continuous-bag-" + "of-ngrams(include_terminators=true,include_spaces=false,use_equal_weight=" + "false,id_dim=5000,size=3);continuous-bag-of-ngrams(include_terminators=" + "true,include_spaces=false,use_equal_weight=false,id_dim=100,size=1)"; + +const char TaskContextParams::kLanguageIdentifierEmbeddingNames[] = + "bigrams;quadgrams;relevant-scripts;text-script;trigrams;unigrams"; + +const char TaskContextParams::kLanguageIdentifierEmbeddingDims[] = + "16;16;8;8;16;16"; + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/task_context_params.h b/chromium/third_party/cld_3/src/src/task_context_params.h new file mode 100644 index 00000000000..95d865b3be5 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/task_context_params.h @@ -0,0 +1,54 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef TASK_CONTEXT_PARAMS_H_ +#define TASK_CONTEXT_PARAMS_H_ + +#include <string> + +#include "base.h" +#include "task_context.h" + +namespace chrome_lang_id { + +// Encapsulates the TaskContext specifying only the parameters for the model. +// The model weights are loaded statically. +class TaskContextParams { + public: + // Gets the name of the i'th language. + static const char *language_names(int i) { return kLanguageNames[i]; } + + // Saves the parameters to the given TaskContext. + static void ToTaskContext(TaskContext *context); + + // Gets the number of languages. + static int GetNumLanguages(); + + private: + // Names of all the languages. + static const char *const kLanguageNames[]; + + // Features in FML format. + static const char kLanguageIdentifierFeatures[]; + + // Names of the embedding spaces. + static const char kLanguageIdentifierEmbeddingNames[]; + + // Dimensions of the embedding spaces. + static const char kLanguageIdentifierEmbeddingDims[]; +}; +} // namespace chrome_lang_id + +#endif // TASK_CONTEXT_PARAMS_H_ diff --git a/chromium/third_party/cld_3/src/src/task_spec.proto b/chromium/third_party/cld_3/src/src/task_spec.proto new file mode 100644 index 00000000000..b91bb1261ca --- /dev/null +++ b/chromium/third_party/cld_3/src/src/task_spec.proto @@ -0,0 +1,98 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +// LINT: ALLOW_GROUPS +// Protocol buffer specifications for task configuration. + +syntax = "proto2"; +option optimize_for = LITE_RUNTIME; + +package chrome_lang_id; + +// Task input descriptor. +message TaskInput { + // Name of input resource. + required string name = 1; + + // Name of stage responsible of creating this resource. + optional string creator = 2; + + // File format for resource. + repeated string file_format = 3; + + // Record format for resource. + repeated string record_format = 4; + + // Is this resource multi-file? + optional bool multi_file = 5 [default = false]; + + // An input can consist of multiple file sets. + repeated group Part = 6 { + // File pattern for file set. + optional string file_pattern = 7; + + // File format for file set. + optional string file_format = 8; + + // Record format for file set. + optional string record_format = 9; + } +} + +// Task output descriptor. +message TaskOutput { + // Name of output resource. + required string name = 1; + + // File format for output resource. + optional string file_format = 2; + + // Record format for output resource. + optional string record_format = 3; + + // Number of shards in output. If it is different from zero this output is + // sharded. If the number of shards is set to -1 this means that the output is + // sharded, but the number of shard is unknown. The files are then named + // 'base-*-of-*'. + optional int32 shards = 4 [default = 0]; + + // Base file name for output resource. If this is not set by the task + // component it is set to a default value by the workflow engine. + optional string file_base = 5; + + // Optional extension added to the file name. + optional string file_extension = 6; +} + +// A task specification is used for describing executing parameters. +message TaskSpec { + // Name of task. + optional string task_name = 1; + + // Workflow task type. + optional string task_type = 2; + + // Task parameters. + repeated group Parameter = 3 { + required string name = 4; + optional string value = 5; + } + + // Task inputs. + repeated TaskInput input = 6; + + // Task outputs. + repeated TaskOutput output = 7; +} diff --git a/chromium/third_party/cld_3/src/src/unicodetext.cc b/chromium/third_party/cld_3/src/src/unicodetext.cc new file mode 100644 index 00000000000..67f52a0981f --- /dev/null +++ b/chromium/third_party/cld_3/src/src/unicodetext.cc @@ -0,0 +1,96 @@ +// Copyright (C) 2006 Google Inc. +// +// 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. + +// Author: Jim Meehan + +#include "unicodetext.h" + +#include "base.h" +#include "utils.h" + +namespace chrome_lang_id { + +// *************** Data representation ********** +// Note: the copy constructor is undefined. + +void UnicodeText::Repr::PointTo(const char *data, int size) { + if (ours_ && data_) delete[] data_; // If we owned the old buffer, free it. + data_ = const_cast<char *>(data); + size_ = size; + capacity_ = size; + ours_ = false; +} + +// *************** UnicodeText ****************** + +UnicodeText::UnicodeText() {} + +UnicodeText &UnicodeText::PointToUTF8(const char *buffer, int byte_length) { + repr_.PointTo(buffer, byte_length); + return *this; +} + +UnicodeText::~UnicodeText() {} + +// ******************* UnicodeText::const_iterator ********************* + +// The implementation of const_iterator would be nicer if it +// inherited from boost::iterator_facade +// (http://boost.org/libs/iterator/doc/iterator_facade.html). + +UnicodeText::const_iterator::const_iterator() : it_(0) {} + +UnicodeText::const_iterator &UnicodeText::const_iterator::operator=( + const const_iterator &other) { + if (&other != this) it_ = other.it_; + return *this; +} + +UnicodeText::const_iterator UnicodeText::begin() const { + return const_iterator(repr_.data_); +} + +UnicodeText::const_iterator UnicodeText::end() const { + return const_iterator(repr_.data_ + repr_.size_); +} + +char32 UnicodeText::const_iterator::operator*() const { + // (We could call chartorune here, but that does some + // error-checking, and we're guaranteed that our data is valid + // UTF-8. Also, we expect this routine to be called very often. So + // for speed, we do the calculation ourselves.) + + // Convert from UTF-8 + unsigned char byte1 = static_cast<unsigned char>(it_[0]); + if (byte1 < 0x80) return byte1; + + unsigned char byte2 = static_cast<unsigned char>(it_[1]); + if (byte1 < 0xE0) return ((byte1 & 0x1F) << 6) | (byte2 & 0x3F); + + unsigned char byte3 = static_cast<unsigned char>(it_[2]); + if (byte1 < 0xF0) { + return ((byte1 & 0x0F) << 12) | ((byte2 & 0x3F) << 6) | (byte3 & 0x3F); + } + + unsigned char byte4 = static_cast<unsigned char>(it_[3]); + return ((byte1 & 0x07) << 18) | ((byte2 & 0x3F) << 12) | + ((byte3 & 0x3F) << 6) | (byte4 & 0x3F); +} + +UnicodeText::const_iterator &UnicodeText::const_iterator::operator++() { + it_ += chrome_lang_id::utils::OneCharLen(it_); + return *this; +} + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/unicodetext.h b/chromium/third_party/cld_3/src/src/unicodetext.h new file mode 100644 index 00000000000..e53c870fe7e --- /dev/null +++ b/chromium/third_party/cld_3/src/src/unicodetext.h @@ -0,0 +1,144 @@ +// Copyright (C) 2006 Google Inc. +// +// 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. + +// Author: Jim Meehan + +#ifndef UNICODETEXT_H_ +#define UNICODETEXT_H_ + +#include <iterator> +#include <utility> + +#include "base.h" + +namespace chrome_lang_id { + +// ***************************** UnicodeText ************************** +// +// A UnicodeText object is a wrapper around a sequence of Unicode +// codepoint values that allows iteration over these values. +// +// The internal representation of the text is UTF-8. Since UTF-8 is a +// variable-width format, UnicodeText does not provide random access +// to the text, and changes to the text are permitted only at the end. +// +// The UnicodeText class defines a const_iterator. The dereferencing +// operator (*) returns a codepoint (int32). The iterator is a +// read-only iterator. It becomes invalid if the text is changed. +// +// Codepoints are integers in the range [0, 0xD7FF] or [0xE000, +// 0x10FFFF], but UnicodeText has the additional restriction that it +// can contain only those characters that are valid for interchange on +// the Web. This excludes all of the control codes except for carriage +// return, line feed, and horizontal tab. It also excludes +// non-characters, but codepoints that are in the Private Use regions +// are allowed, as are codepoints that are unassigned. (See the +// Unicode reference for details.) +// +// MEMORY MANAGEMENT: +// +// PointToUTF8(buffer, size) creates an alias pointing to buffer. +// +// The purpose of an alias is to avoid making an unnecessary copy of a +// UTF-8 buffer while still providing access to the Unicode values +// within that text through iterators. The lifetime of an alias must not +// exceed the lifetime of the buffer from which it was constructed. +// +// Aliases should be used with care. If the source from which an alias +// was created is freed, or if the contents are changed, while the +// alias is still in use, fatal errors could result. But it can be +// quite useful to have a UnicodeText "window" through which to see a +// UTF-8 buffer without having to pay the price of making a copy. + +// TODO(abakalov): Consider merging this class with the script detection +// code in the directory script_span. +class UnicodeText { + public: + class const_iterator; + + UnicodeText(); // Create an empty text. + ~UnicodeText(); + + class const_iterator { + typedef const_iterator CI; + + public: + // Iterators are default-constructible. + const_iterator(); + + // It's safe to make multiple passes over a UnicodeText. + const_iterator(const const_iterator &other); + const_iterator &operator=(const const_iterator &other); + + char32 operator*() const; // Dereference + + const_iterator &operator++(); // Advance (++iter) + + friend bool operator==(const CI &lhs, const CI &rhs) { + return lhs.it_ == rhs.it_; + } + friend bool operator!=(const CI &lhs, const CI &rhs) { + return !(lhs == rhs); + } + + private: + friend class UnicodeText; + explicit const_iterator(const char *it) : it_(it) {} + + const char *it_; + }; + + const_iterator begin() const; + const_iterator end() const; + + // x.PointToUTF8(buf,len) changes x so that it points to buf + // ("becomes an alias"). It does not take ownership or copy buf. + // This function assumes that the input is interchange valid UTF8. + UnicodeText &PointToUTF8(const char *utf8_buffer, int byte_length); + + private: + friend class const_iterator; + + class Repr { // A byte-string. + public: + char *data_; + int size_; + int capacity_; + bool ours_; // Do we own data_? + + Repr() : data_(NULL), size_(0), capacity_(0), ours_(true) {} + ~Repr() { + if (ours_) delete[] data_; + } + + void clear(); + void reserve(int capacity); + void resize(int size); + + void append(const char *bytes, int byte_length); + void Copy(const char *data, int size); + void TakeOwnershipOf(char *data, int size, int capacity); + void PointTo(const char *data, int size); + + private: + Repr &operator=(const Repr &); + Repr(const Repr &other); + }; + + Repr repr_; +}; + +} // namespace chrome_lang_id + +#endif // UNICODETEXT_H_ diff --git a/chromium/third_party/cld_3/src/src/utils.cc b/chromium/third_party/cld_3/src/src/utils.cc new file mode 100644 index 00000000000..3268a9bd094 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/utils.cc @@ -0,0 +1,241 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "utils.h" + +#include <ctype.h> +#include <stdlib.h> + +#include "script_span/stringpiece.h" + +namespace chrome_lang_id { +namespace utils { + +bool ParseInt32(const char *c_str, int *value) { + char *temp; + *value = strtol(c_str, &temp, 0); // NOLINT + return (*temp == '\0'); +} + +bool ParseDouble(const char *c_str, double *value) { + char *temp; + *value = strtod(c_str, &temp); + return (*temp == '\0'); +} + +static char hex_char[] = "0123456789abcdef"; + +string CEscape(const string &src) { + string dest; + + for (unsigned char c : src) { + switch (c) { + case '\n': + dest.append("\\n"); + break; + case '\r': + dest.append("\\r"); + break; + case '\t': + dest.append("\\t"); + break; + case '\"': + dest.append("\\\""); + break; + case '\'': + dest.append("\\'"); + break; + case '\\': + dest.append("\\\\"); + break; + default: + // Note that if we emit \xNN and the src character after that is a hex + // digit then that digit must be escaped too to prevent it being + // interpreted as part of the character code by C. + if ((c >= 0x80) || !isprint(c)) { + dest.append("\\"); + dest.push_back(hex_char[c / 64]); + dest.push_back(hex_char[(c % 64) / 8]); + dest.push_back(hex_char[c % 8]); + } else { + dest.push_back(c); + break; + } + } + } + + return dest; +} + +std::vector<string> Split(const string &text, char delim) { + std::vector<string> result; + size_t token_start = 0; + if (!text.empty()) { + for (size_t i = 0; i < text.size() + 1; i++) { + if ((i == text.size()) || (text[i] == delim)) { + result.push_back(string(text.data() + token_start, i - token_start)); + token_start = i + 1; + } + } + } + return result; +} + +int RemoveLeadingWhitespace(StringPiece *text) { + int count = 0; + const char *ptr = text->data(); + while (count < text->size() && isspace(*ptr)) { + count++; + ptr++; + } + text->remove_prefix(count); + return count; +} + +int RemoveTrailingWhitespace(StringPiece *text) { + int count = 0; + const char *ptr = text->data() + text->size() - 1; + while (count < text->size() && isspace(*ptr)) { + ++count; + --ptr; + } + text->remove_suffix(count); + return count; +} + +int RemoveWhitespaceContext(StringPiece *text) { + // use RemoveLeadingWhitespace() and RemoveTrailingWhitespace() to do the job + return RemoveLeadingWhitespace(text) + RemoveTrailingWhitespace(text); +} + +namespace { +// Lower-level versions of Get... that read directly from a character buffer +// without any bounds checking. +inline uint32 DecodeFixed32(const char *ptr) { + return ((static_cast<uint32>(static_cast<unsigned char>(ptr[0]))) | + (static_cast<uint32>(static_cast<unsigned char>(ptr[1])) << 8) | + (static_cast<uint32>(static_cast<unsigned char>(ptr[2])) << 16) | + (static_cast<uint32>(static_cast<unsigned char>(ptr[3])) << 24)); +} + +// 0xff is in case char is signed. +static inline uint32 ByteAs32(char c) { return static_cast<uint32>(c) & 0xff; } +} // namespace + +uint32 Hash32(const char *data, size_t n, uint32 seed) { + // 'm' and 'r' are mixing constants generated offline. + // They're not really 'magic', they just happen to work well. + const uint32 m = 0x5bd1e995; + const int r = 24; + + // Initialize the hash to a 'random' value + uint32 h = static_cast<uint32>(seed ^ n); + + // Mix 4 bytes at a time into the hash + while (n >= 4) { + uint32 k = DecodeFixed32(data); + k *= m; + k ^= k >> r; + k *= m; + h *= m; + h ^= k; + data += 4; + n -= 4; + } + + // Handle the last few bytes of the input array + if (n == 3) { + h ^= ByteAs32(data[2]) << 16; + h ^= ByteAs32(data[1]) << 8; + h ^= ByteAs32(data[0]); + h *= m; + } else if (n == 2) { + h ^= ByteAs32(data[1]) << 8; + h ^= ByteAs32(data[0]); + h *= m; + } else if (n == 1) { + h ^= ByteAs32(data[0]); + h *= m; + } + + // Do a few final mixes of the hash to ensure the last few + // bytes are well-incorporated. + h ^= h >> 13; + h *= m; + h ^= h >> 15; + return h; +} + +uint32 Hash32WithDefaultSeed(const string &input) { + return Hash32(input.data(), input.size(), 0xBEEF); +} + +PunctuationUtil::CharacterRange PunctuationUtil::kPunctuation[] = { + {33, 35}, {37, 42}, {44, 47}, {58, 59}, + {63, 64}, {91, 93}, {95, 95}, {123, 123}, + {125, 125}, {161, 161}, {171, 171}, {183, 183}, + {187, 187}, {191, 191}, {894, 894}, {903, 903}, + {1370, 1375}, {1417, 1418}, {1470, 1470}, {1472, 1472}, + {1475, 1475}, {1478, 1478}, {1523, 1524}, {1548, 1549}, + {1563, 1563}, {1566, 1567}, {1642, 1645}, {1748, 1748}, + {1792, 1805}, {2404, 2405}, {2416, 2416}, {3572, 3572}, + {3663, 3663}, {3674, 3675}, {3844, 3858}, {3898, 3901}, + {3973, 3973}, {4048, 4049}, {4170, 4175}, {4347, 4347}, + {4961, 4968}, {5741, 5742}, {5787, 5788}, {5867, 5869}, + {5941, 5942}, {6100, 6102}, {6104, 6106}, {6144, 6154}, + {6468, 6469}, {6622, 6623}, {6686, 6687}, {8208, 8231}, + {8240, 8259}, {8261, 8273}, {8275, 8286}, {8317, 8318}, + {8333, 8334}, {9001, 9002}, {9140, 9142}, {10088, 10101}, + {10181, 10182}, {10214, 10219}, {10627, 10648}, {10712, 10715}, + {10748, 10749}, {11513, 11516}, {11518, 11519}, {11776, 11799}, + {11804, 11805}, {12289, 12291}, {12296, 12305}, {12308, 12319}, + {12336, 12336}, {12349, 12349}, {12448, 12448}, {12539, 12539}, + {64830, 64831}, {65040, 65049}, {65072, 65106}, {65108, 65121}, + {65123, 65123}, {65128, 65128}, {65130, 65131}, {65281, 65283}, + {65285, 65290}, {65292, 65295}, {65306, 65307}, {65311, 65312}, + {65339, 65341}, {65343, 65343}, {65371, 65371}, {65373, 65373}, + {65375, 65381}, {65792, 65793}, {66463, 66463}, {68176, 68184}, + {-1, -1}}; + +void NormalizeDigits(string *form) { + for (size_t i = 0; i < form->size(); ++i) { + if ((*form)[i] >= '0' && (*form)[i] <= '9') (*form)[i] = '9'; + } +} + +void GetUTF8Chars(const string &text, std::vector<string> *chars) { + const char *start = text.c_str(); + const char *end = text.c_str() + text.size(); + while (start < end) { + int char_length = UTF8FirstLetterNumBytes(start); + chars->emplace_back(start, char_length); + start += char_length; + } +} + +int UTF8FirstLetterNumBytes(const char *utf8_str) { + if (*utf8_str == '\0') return 0; + return OneCharLen(utf8_str); +} + +int OneCharLen(const char *src) { + // On most platforms, char is unsigned by default, but iOS is an exception. + // The cast below makes sure we always interpret *src as an unsigned char. + return "\1\1\1\1\1\1\1\1\1\1\1\1\2\2\3\4" + [(*(reinterpret_cast<const unsigned char *>(src)) & 0xFF) >> 4]; +} + +} // namespace utils +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/utils.h b/chromium/third_party/cld_3/src/src/utils.h new file mode 100644 index 00000000000..60845cb4bb3 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/utils.h @@ -0,0 +1,144 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#ifndef UTILS_H_ +#define UTILS_H_ + +#include <stddef.h> +#include <functional> +#include <initializer_list> +#include <string> +#include <vector> + +#include "base.h" +#include "script_span/stringpiece.h" + +namespace chrome_lang_id { +namespace utils { + +bool ParseInt32(const char *c_str, int *value); +bool ParseDouble(const char *c_str, double *value); + +template <typename T> +T ParseUsing(const string &str, std::function<bool(const char *, T *)> func) { + T value; + func(str.c_str(), &value); + return value; +} + +template <typename T> +T ParseUsing(const string &str, T defval, + std::function<bool(const char *, T *)> func) { + return str.empty() ? defval : ParseUsing<T>(str, func); +} + +string CEscape(const string &src); + +std::vector<string> Split(const string &text, char delim); + +int RemoveLeadingWhitespace(StringPiece *text); + +int RemoveTrailingWhitespace(StringPiece *text); + +int RemoveWhitespaceContext(StringPiece *text); + +uint32 Hash32(const char *data, size_t n, uint32 seed); + +uint32 Hash32WithDefaultSeed(const string &input); + +// Deletes all the elements in an STL container and clears the container. This +// function is suitable for use with a vector, set, hash_set, or any other STL +// container which defines sensible begin(), end(), and clear() methods. +// If container is NULL, this function is a no-op. +template <typename T> +void STLDeleteElements(T *container) { + if (!container) return; + auto it = container->begin(); + while (it != container->end()) { + auto temp = it; + ++it; + delete *temp; + } + container->clear(); +} + +class PunctuationUtil { + public: + // Unicode character ranges for punctuation characters according to CoNLL. + struct CharacterRange { + int first; + int last; + }; + static CharacterRange kPunctuation[]; + + // Returns true if Unicode character is a punctuation character. + static bool IsPunctuation(int u) { + int i = 0; + while (kPunctuation[i].first > 0) { + if (u < kPunctuation[i].first) return false; + if (u <= kPunctuation[i].last) return true; + ++i; + } + return false; + } + + // Determine if tag is a punctuation tag. + static bool IsPunctuationTag(const string &tag) { + for (size_t i = 0; i < tag.length(); ++i) { + int c = tag[i]; + if (c != ',' && c != ':' && c != '.' && c != '\'' && c != '`') { + return false; + } + } + return true; + } + + // Returns true if tag is non-empty and has only punctuation or parens + // symbols. + static bool IsPunctuationTagOrParens(const string &tag) { + if (tag.empty()) return false; + for (size_t i = 0; i < tag.length(); ++i) { + int c = tag[i]; + if (c != '(' && c != ')' && c != ',' && c != ':' && c != '.' && + c != '\'' && c != '`') { + return false; + } + } + return true; + } +}; + +void NormalizeDigits(string *form); + +// Takes a text and convert it into a vector, where each element is a utf8 +// character. +void GetUTF8Chars(const string &text, std::vector<string> *chars); + +// Returns the number of bytes in the first UTF-8 char at the beginning +// of the string. It is assumed that the string is valid UTF-8. If +// the first byte of the string is null, return 0 (for backwards +// compatibility only; this use is discouraged). +int UTF8FirstLetterNumBytes(const char *in_buf); + +// Returns the length (number of bytes) of the Unicode code point starting at +// src, based on inspecting just that one byte. Preconditions: src != NULL, +// *src can be read, and *src is not '\0', and src points to a well-formed UTF-8 +// string. +int OneCharLen(const char *src); + +} // namespace utils +} // namespace chrome_lang_id + +#endif // UTILS_H_ diff --git a/chromium/third_party/cld_3/src/src/workspace.cc b/chromium/third_party/cld_3/src/src/workspace.cc new file mode 100644 index 00000000000..e48b5116068 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/workspace.cc @@ -0,0 +1,64 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +#include "workspace.h" + +#include "base.h" + +namespace chrome_lang_id { + +WorkspaceSet::WorkspaceSet() {} + +WorkspaceSet::~WorkspaceSet() { Reset(WorkspaceRegistry()); } + +WorkspaceRegistry::WorkspaceRegistry() {} + +WorkspaceRegistry::~WorkspaceRegistry() {} + +string WorkspaceRegistry::DebugString() const { + string str; + for (auto &it : workspace_names_) { + const string &type_name = workspace_types_.at(it.first); + for (size_t index = 0; index < it.second.size(); ++index) { + const string &workspace_name = it.second[index]; + str += "\n "; + str += type_name; + str += " :: "; + str += workspace_name; + } + } + return str; +} + +VectorIntWorkspace::~VectorIntWorkspace() {} + +VectorIntWorkspace::VectorIntWorkspace(int size) : elements_(size) {} + +VectorIntWorkspace::VectorIntWorkspace(int size, int value) + : elements_(size, value) {} + +VectorIntWorkspace::VectorIntWorkspace(const std::vector<int> &elements) + : elements_(elements) {} + +string VectorIntWorkspace::TypeName() { return "Vector"; } + +VectorVectorIntWorkspace::~VectorVectorIntWorkspace() {} + +VectorVectorIntWorkspace::VectorVectorIntWorkspace(int size) + : elements_(size) {} + +string VectorVectorIntWorkspace::TypeName() { return "VectorVector"; } + +} // namespace chrome_lang_id diff --git a/chromium/third_party/cld_3/src/src/workspace.h b/chromium/third_party/cld_3/src/src/workspace.h new file mode 100644 index 00000000000..d31e9ca6792 --- /dev/null +++ b/chromium/third_party/cld_3/src/src/workspace.h @@ -0,0 +1,177 @@ +/* Copyright 2016 Google Inc. All Rights Reserved. + +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. +==============================================================================*/ + +// Notes on thread-safety: All of the classes here are thread-compatible. More +// specifically, the registry machinery is thread-safe, as long as each thread +// performs feature extraction on a different Sentence object. + +#ifndef WORKSPACE_H_ +#define WORKSPACE_H_ + +#include <stddef.h> +#include <string> +#include <typeindex> +#include <unordered_map> +#include <utility> +#include <vector> + +#include "base.h" + +namespace chrome_lang_id { + +// A base class for shared workspaces. Derived classes implement a static member +// function TypeName() which returns a human readable string name for the class. +class Workspace { + public: + // Polymorphic destructor. + virtual ~Workspace() {} + + protected: + // Create an empty workspace. + Workspace() {} + + private: + CLD3_DISALLOW_COPY_AND_ASSIGN(Workspace); +}; + +// A registry that keeps track of workspaces. +class WorkspaceRegistry { + public: + // Create an empty registry. + WorkspaceRegistry(); + ~WorkspaceRegistry(); + + const std::unordered_map<std::type_index, std::vector<std::string>> + &WorkspaceNames() const { + return workspace_names_; + } + + // Returns a string describing the registered workspaces. + string DebugString() const; + + private: + // Workspace type names, indexed as workspace_types_[typeid]. + std::unordered_map<std::type_index, string> workspace_types_; + + // Workspace names, indexed as workspace_names_[typeid][workspace]. + std::unordered_map<std::type_index, std::vector<string>> workspace_names_; + + CLD3_DISALLOW_COPY_AND_ASSIGN(WorkspaceRegistry); +}; + +// A typed collected of workspaces. The workspaces are indexed according to an +// external WorkspaceRegistry. If the WorkspaceSet is const, the contents are +// also immutable. +class WorkspaceSet { + public: + WorkspaceSet(); + ~WorkspaceSet(); + + void Reset(const WorkspaceRegistry ®istry) { + // Deallocate current workspaces. + for (auto &it : workspaces_) { + for (size_t index = 0; index < it.second.size(); ++index) { + delete it.second[index]; + } + } + workspaces_.clear(); + + // Allocate space for new workspaces. + for (auto &it : registry.WorkspaceNames()) { + workspaces_[it.first].resize(it.second.size()); + } + } + + private: + // The set of workspaces, indexed as workspaces_[typeid][index]. + std::unordered_map<std::type_index, std::vector<Workspace *>> workspaces_; +}; + +// A workspace that wraps around a single int. +class SingletonIntWorkspace : public Workspace { + public: + // Default-initializes the int value. + SingletonIntWorkspace() {} + + // Initializes the int with the given value. + explicit SingletonIntWorkspace(int value) : value_(value) {} + + // Returns the name of this type of workspace. + static string TypeName() { return "SingletonInt"; } + + // Returns the int value. + int get() const { return value_; } + + // Sets the int value. + void set(int value) { value_ = value; } + + private: + // The enclosed int. + int value_ = 0; +}; + +// A workspace that wraps around a vector of int. +class VectorIntWorkspace : public Workspace { + public: + // Creates a vector of the given size. + explicit VectorIntWorkspace(int size); + + // Creates a vector initialized with the given array. + explicit VectorIntWorkspace(const std::vector<int> &elements); + + // Creates a vector of the given size, with each element initialized to the + // given value. + VectorIntWorkspace(int size, int value); + + ~VectorIntWorkspace() override; + + // Returns the name of this type of workspace. + static string TypeName(); + + // Returns the i'th element. + int element(int i) const { return elements_[i]; } + + // Sets the i'th element. + void set_element(int i, int value) { elements_[i] = value; } + + private: + // The enclosed vector. + std::vector<int> elements_; +}; + +// A workspace that wraps around a vector of vector of int. +class VectorVectorIntWorkspace : public Workspace { + public: + // Creates a vector of empty vectors of the given size. + explicit VectorVectorIntWorkspace(int size); + ~VectorVectorIntWorkspace() override; + + // Returns the name of this type of workspace. + static string TypeName(); + + // Returns the i'th vector of elements. + const std::vector<int> &elements(int i) const { return elements_[i]; } + + // Mutable access to the i'th vector of elements. + std::vector<int> *mutable_elements(int i) { return &(elements_[i]); } + + private: + // The enclosed vector of vector of elements. + std::vector<std::vector<int>> elements_; +}; + +} // namespace chrome_lang_id + +#endif // WORKSPACE_H_ |