diff --git a/CHANGELOG.md b/CHANGELOG.md index 4594313d8a..8827e7e832 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ +# v6.18.1 +- [#3129](https://github.com/xmrig/xmrig/pull/3129) Fix: protectRX flushed CPU cache only on MacOS/iOS. +- [#3126](https://github.com/xmrig/xmrig/pull/3126) Don't reset when pool sends the same job blob. +- [#3120](https://github.com/xmrig/xmrig/pull/3120) RandomX: optimized `CFROUND` elimination. +- [#3109](https://github.com/xmrig/xmrig/pull/3109) RandomX: added Blake2 AVX2 version. +- [#3082](https://github.com/xmrig/xmrig/pull/3082) Fixed GCC 12 warnings. +- [#3075](https://github.com/xmrig/xmrig/pull/3075) Recognize `armv7ve` as valid ARMv7 target. +- [#3132](https://github.com/xmrig/xmrig/pull/3132) RandomX: added MSR mod for Zen 4. +- [#3134](https://github.com/xmrig/xmrig/pull/3134) Added Zen4 to `randomx_boost.sh`. + +# v6.18.0 +- [#3067](https://github.com/xmrig/xmrig/pull/3067) Monero v15 network upgrade support and more house keeping. + - Removed deprecated AstroBWTv1 and v2. + - Fixed debug GhostRider build. + - Monero v15 network upgrade support. + - Fixed ZMQ debug log. + - Improved daemon ZMQ mining stability. +- [#3054](https://github.com/xmrig/xmrig/pull/3054) Fixes for 32-bit ARM. +- [#3042](https://github.com/xmrig/xmrig/pull/3042) Fixed being unable to resume from `pause-on-battery`. +- [#3031](https://github.com/xmrig/xmrig/pull/3031) Fixed `--cpu-priority` not working sometimes. +- [#3020](https://github.com/xmrig/xmrig/pull/3020) Removed old AstroBWT algorithm. + # v6.17.0 - [#2954](https://github.com/xmrig/xmrig/pull/2954) **Dero HE fork support (`astrobwt/v2` algorithm).** - [#2961](https://github.com/xmrig/xmrig/pull/2961) Dero HE (`astrobwt/v2`) CUDA config generator. diff --git a/CMakeLists.txt b/CMakeLists.txt index bb35bfee61..7d8b25d639 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,6 @@ option(WITH_CN_PICO "Enable CryptoNight-Pico algorithm" ON) option(WITH_CN_FEMTO "Enable CryptoNight-UPX2 algorithm" ON) option(WITH_RANDOMX "Enable RandomX algorithms family" ON) option(WITH_ARGON2 "Enable Argon2 algorithms family" ON) -option(WITH_ASTROBWT "Enable AstroBWT algorithms family" ON) option(WITH_KAWPOW "Enable KawPow algorithms family" ON) option(WITH_GHOSTRIDER "Enable GhostRider algorithm" ON) option(WITH_HTTP "Enable HTTP protocol support (client/server)" ON) @@ -28,6 +27,7 @@ option(WITH_STRICT_CACHE "Enable strict checks for OpenCL cache" ON) option(WITH_INTERLEAVE_DEBUG_LOG "Enable debug log for threads interleave" OFF) option(WITH_PROFILING "Enable profiling for developers" OFF) option(WITH_SSE4_1 "Enable SSE 4.1 for Blake2" ON) +option(WITH_AVX2 "Enable AVX2 for Blake2" ON) option(WITH_VAES "Enable VAES instructions for Cryptonight" ON) option(WITH_BENCHMARK "Enable builtin RandomX benchmark and stress test" ON) option(WITH_SECURE_JIT "Enable secure access to JIT memory" OFF) @@ -199,7 +199,6 @@ find_package(UV REQUIRED) include(cmake/flags.cmake) include(cmake/randomx.cmake) include(cmake/argon2.cmake) -include(cmake/astrobwt.cmake) include(cmake/kawpow.cmake) include(cmake/ghostrider.cmake) include(cmake/OpenSSL.cmake) diff --git a/README.md b/README.md index d9c67d0181..1d07cc81b8 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![GitHub stars](https://img.shields.io/github/stars/xmrig/xmrig.svg)](https://github.com/xmrig/xmrig/stargazers) [![GitHub forks](https://img.shields.io/github/forks/xmrig/xmrig.svg)](https://github.com/xmrig/xmrig/network) -XMRig is a high performance, open source, cross platform RandomX, KawPow, CryptoNight, AstroBWT and [GhostRider](https://github.com/xmrig/xmrig/tree/master/src/crypto/ghostrider#readme) unified CPU/GPU miner and [RandomX benchmark](https://xmrig.com/benchmark). Official binaries are available for Windows, Linux, macOS and FreeBSD. +XMRig is a high performance, open source, cross platform RandomX, KawPow, CryptoNight and [GhostRider](https://github.com/xmrig/xmrig/tree/master/src/crypto/ghostrider#readme) unified CPU/GPU miner and [RandomX benchmark](https://xmrig.com/benchmark). Official binaries are available for Windows, Linux, macOS and FreeBSD. ## Mining backends - **CPU** (x64/ARMv7/ARMv8) diff --git a/cmake/astrobwt.cmake b/cmake/astrobwt.cmake deleted file mode 100644 index 5b0b769178..0000000000 --- a/cmake/astrobwt.cmake +++ /dev/null @@ -1,57 +0,0 @@ -if (WITH_ASTROBWT) - add_definitions(/DXMRIG_ALGO_ASTROBWT) - - list(APPEND HEADERS_CRYPTO - src/crypto/astrobwt/AstroBWT.h - src/crypto/astrobwt/sort_indices2.h - ) - - list(APPEND SOURCES_CRYPTO - src/crypto/astrobwt/AstroBWT.cpp - src/crypto/astrobwt/sort_indices2.cpp - ) - - if (XMRIG_ARM) - list(APPEND HEADERS_CRYPTO - src/crypto/astrobwt/salsa20_ref/ecrypt-config.h - src/crypto/astrobwt/salsa20_ref/ecrypt-machine.h - src/crypto/astrobwt/salsa20_ref/ecrypt-portable.h - src/crypto/astrobwt/salsa20_ref/ecrypt-sync.h - ) - - list(APPEND SOURCES_CRYPTO - src/crypto/astrobwt/salsa20_ref/salsa20.c - ) - else() - if (CMAKE_C_COMPILER_ID MATCHES MSVC) - set_source_files_properties(src/crypto/astrobwt/sort_indices2.cpp PROPERTIES COMPILE_FLAGS "/std:c++20") - endif() - - if (CMAKE_SIZEOF_VOID_P EQUAL 8) - add_definitions(/DASTROBWT_AVX2) - list(APPEND SOURCES_CRYPTO src/crypto/astrobwt/xmm6int/salsa20_xmm6int-avx2.c) - - if (CMAKE_C_COMPILER_ID MATCHES GNU OR CMAKE_C_COMPILER_ID MATCHES Clang) - set_source_files_properties(src/crypto/astrobwt/xmm6int/salsa20_xmm6int-avx2.c PROPERTIES COMPILE_FLAGS -mavx2) - endif() - - if (CMAKE_C_COMPILER_ID MATCHES MSVC) - enable_language(ASM_MASM) - list(APPEND SOURCES_CRYPTO src/crypto/astrobwt/sha3_256_avx2.asm) - else() - enable_language(ASM) - list(APPEND SOURCES_CRYPTO src/crypto/astrobwt/sha3_256_avx2.S) - endif() - endif() - - list(APPEND HEADERS_CRYPTO - src/crypto/astrobwt/Salsa20.hpp - ) - - list(APPEND SOURCES_CRYPTO - src/crypto/astrobwt/Salsa20.cpp - ) - endif() -else() - remove_definitions(/DXMRIG_ALGO_ASTROBWT) -endif() diff --git a/cmake/cpu.cmake b/cmake/cpu.cmake index 4a661b2359..cbcd8b015c 100644 --- a/cmake/cpu.cmake +++ b/cmake/cpu.cmake @@ -25,13 +25,14 @@ if (XMRIG_64_BIT AND CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|AMD64)$") add_definitions(-DRAPIDJSON_SSE2) else() set(WITH_SSE4_1 OFF) + set(WITH_AVX2 OFF) set(WITH_VAES OFF) endif() if (NOT ARM_TARGET) if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64|armv8-a)$") set(ARM_TARGET 8) - elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7|armv7f|armv7s|armv7k|armv7-a|armv7l)$") + elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7|armv7f|armv7s|armv7k|armv7-a|armv7l|armv7ve)$") set(ARM_TARGET 7) endif() endif() @@ -57,3 +58,7 @@ endif() if (WITH_SSE4_1) add_definitions(-DXMRIG_FEATURE_SSE4_1) endif() + +if (WITH_AVX2) + add_definitions(-DXMRIG_FEATURE_AVX2) +endif() diff --git a/cmake/randomx.cmake b/cmake/randomx.cmake index 7038774c63..2d54dbf786 100644 --- a/cmake/randomx.cmake +++ b/cmake/randomx.cmake @@ -76,7 +76,15 @@ if (WITH_RANDOMX) list(APPEND SOURCES_CRYPTO src/crypto/randomx/blake2/blake2b_sse41.c) if (CMAKE_C_COMPILER_ID MATCHES GNU OR CMAKE_C_COMPILER_ID MATCHES Clang) - set_source_files_properties(src/crypto/randomx/blake2/blake2b_sse41.c PROPERTIES COMPILE_FLAGS -msse4.1) + set_source_files_properties(src/crypto/randomx/blake2/blake2b_sse41.c PROPERTIES COMPILE_FLAGS "-Ofast -msse4.1") + endif() + endif() + + if (WITH_AVX2) + list(APPEND SOURCES_CRYPTO src/crypto/randomx/blake2/avx2/blake2b_avx2.c) + + if (CMAKE_C_COMPILER_ID MATCHES GNU OR CMAKE_C_COMPILER_ID MATCHES Clang) + set_source_files_properties(src/crypto/randomx/blake2/avx2/blake2b_avx2.c PROPERTIES COMPILE_FLAGS "-Ofast -mavx2") endif() endif() diff --git a/scripts/build.hwloc.sh b/scripts/build.hwloc.sh index cae766986b..12fed195f4 100755 --- a/scripts/build.hwloc.sh +++ b/scripts/build.hwloc.sh @@ -2,7 +2,7 @@ HWLOC_VERSION_MAJOR="2" HWLOC_VERSION_MINOR="7" -HWLOC_VERSION_PATCH="0" +HWLOC_VERSION_PATCH="1" HWLOC_VERSION="${HWLOC_VERSION_MAJOR}.${HWLOC_VERSION_MINOR}.${HWLOC_VERSION_PATCH}" diff --git a/scripts/build.libressl.sh b/scripts/build.libressl.sh index 236d4d335e..d32c04fa4f 100755 --- a/scripts/build.libressl.sh +++ b/scripts/build.libressl.sh @@ -1,6 +1,6 @@ #!/bin/bash -e -LIBRESSL_VERSION="3.4.2" +LIBRESSL_VERSION="3.5.2" mkdir -p deps mkdir -p deps/include diff --git a/scripts/build.openssl.sh b/scripts/build.openssl.sh index 1aba67dacb..c1e024f2c4 100755 --- a/scripts/build.openssl.sh +++ b/scripts/build.openssl.sh @@ -1,6 +1,6 @@ #!/bin/bash -e -OPENSSL_VERSION="1.1.1m" +OPENSSL_VERSION="1.1.1o" mkdir -p deps mkdir -p deps/include diff --git a/scripts/build.openssl3.sh b/scripts/build.openssl3.sh index 935196109e..d89688a181 100755 --- a/scripts/build.openssl3.sh +++ b/scripts/build.openssl3.sh @@ -1,6 +1,6 @@ #!/bin/bash -e -OPENSSL_VERSION="3.0.1" +OPENSSL_VERSION="3.0.3" mkdir -p deps mkdir -p deps/include diff --git a/scripts/build.uv.sh b/scripts/build.uv.sh index 8124759d06..9c9bcf802f 100755 --- a/scripts/build.uv.sh +++ b/scripts/build.uv.sh @@ -1,6 +1,6 @@ #!/bin/bash -e -UV_VERSION="1.43.0" +UV_VERSION="1.44.1" mkdir -p deps mkdir -p deps/include diff --git a/scripts/generate_cl.js b/scripts/generate_cl.js index 79e430998c..6ac09f20d1 100644 --- a/scripts/generate_cl.js +++ b/scripts/generate_cl.js @@ -67,23 +67,6 @@ function rx() } -function astrobwt() -{ - const astrobwt = opencl_minify(addIncludes('astrobwt.cl', [ 'BWT.cl', 'salsa20.cl', 'sha3.cl' ])); - - // fs.writeFileSync('astrobwt_gen.cl', astrobwt); - fs.writeFileSync('astrobwt_cl.h', text2h(astrobwt, 'xmrig', 'astrobwt_cl')); -} - - -function astrobwt_v2() -{ - const astrobwt = opencl_minify(addIncludes('astrobwt_v2.cl', [ 'BWT.cl', 'salsa20.cl', 'sha3.cl' ])); - - fs.writeFileSync('astrobwt_v2_cl.h', text2h(astrobwt, 'xmrig', 'astrobwt_v2_cl')); -} - - function kawpow() { const kawpow = opencl_minify(addIncludes('kawpow.cl', [ 'defs.h' ])); @@ -105,16 +88,6 @@ process.chdir(path.resolve('src/backend/opencl/cl/rx')); rx(); -process.chdir(cwd); -process.chdir(path.resolve('src/backend/opencl/cl/astrobwt')); - -astrobwt(); - -process.chdir(cwd); -process.chdir(path.resolve('src/backend/opencl/cl/astrobwt_v2')); - -astrobwt_v2(); - process.chdir(cwd); process.chdir(path.resolve('src/backend/opencl/cl/kawpow')); diff --git a/scripts/randomx_boost.sh b/scripts/randomx_boost.sh index 3b60959d9f..f9f3ac2e9b 100755 --- a/scripts/randomx_boost.sh +++ b/scripts/randomx_boost.sh @@ -10,14 +10,24 @@ fi if grep -E 'AMD Ryzen|AMD EPYC' /proc/cpuinfo > /dev/null; then - if grep "cpu family[[:space:]]:[[:space:]]25" /proc/cpuinfo > /dev/null; + if grep "cpu family[[:space:]]\{1,\}:[[:space:]]25" /proc/cpuinfo > /dev/null; then - echo "Detected Zen3 CPU" - wrmsr -a 0xc0011020 0x4480000000000 - wrmsr -a 0xc0011021 0x1c000200000040 - wrmsr -a 0xc0011022 0xc000000401500000 - wrmsr -a 0xc001102b 0x2000cc14 - echo "MSR register values for Zen3 applied" + if grep "model[[:space:]]\{1,\}:[[:space:]]97" /proc/cpuinfo > /dev/null; + then + echo "Detected Zen4 CPU" + wrmsr -a 0xc0011020 0x4400000000000 + wrmsr -a 0xc0011021 0x4000000000040 + wrmsr -a 0xc0011022 0x8680000401570000 + wrmsr -a 0xc001102b 0x2040cc10 + echo "MSR register values for Zen4 applied" + else + echo "Detected Zen3 CPU" + wrmsr -a 0xc0011020 0x4480000000000 + wrmsr -a 0xc0011021 0x1c000200000040 + wrmsr -a 0xc0011022 0xc000000401500000 + wrmsr -a 0xc001102b 0x2000cc14 + echo "MSR register values for Zen3 applied" + fi else echo "Detected Zen1/Zen2 CPU" wrmsr -a 0xc0011020 0 diff --git a/src/3rdparty/hwloc/NEWS b/src/3rdparty/hwloc/NEWS index 71f858a3d0..75557e5f43 100644 --- a/src/3rdparty/hwloc/NEWS +++ b/src/3rdparty/hwloc/NEWS @@ -1,5 +1,5 @@ Copyright © 2009 CNRS -Copyright © 2009-2021 Inria. All rights reserved. +Copyright © 2009-2022 Inria. All rights reserved. Copyright © 2009-2013 Université Bordeaux Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. Copyright © 2020 Hewlett Packard Enterprise. All rights reserved. @@ -17,6 +17,18 @@ bug fixes (and other actions) for each version of hwloc since version 0.9. +Version 2.7.1 +------------- +* Workaround crashes when virtual machines report incoherent x86 CPUID + information about numbers of cores and threads. + Thanks to Peter Bense for the report. +* Use setenv() instead of putenv() when trying to force enable oneAPI L0 + support, to avoid issues with applications that touch the environment, + thanks to Josh Hursey for the patch. +* Add some warnings at the end of configure when GPU libraries are + missing on the system or their path is missing in the environment. + + Version 2.7.0 ------------- * Backends diff --git a/src/3rdparty/hwloc/VERSION b/src/3rdparty/hwloc/VERSION index 7486ae04f3..d17fb44e23 100644 --- a/src/3rdparty/hwloc/VERSION +++ b/src/3rdparty/hwloc/VERSION @@ -9,7 +9,7 @@ major=2 minor=7 -release=0 +release=1 # greek is used for alpha or beta release tags. If it is non-empty, # it will be appended to the version number. It does not have to be @@ -22,7 +22,7 @@ greek= # The date when this release was created -date="Dec 06, 2021" +date="Mar 20, 2022" # If snapshot=1, then use the value from snapshot_version as the # entire hwloc version (i.e., ignore major, minor, release, and @@ -41,7 +41,7 @@ snapshot_version=${major}.${minor}.${release}${greek}-git # 2. Version numbers are described in the Libtool current:revision:age # format. -libhwloc_so_version=20:2:5 +libhwloc_so_version=20:3:5 libnetloc_so_version=0:0:0 # Please also update the lines in contrib/windows/libhwloc.vcxproj diff --git a/src/3rdparty/hwloc/include/hwloc.h b/src/3rdparty/hwloc/include/hwloc.h index b5f0f48a15..35bbcc7178 100644 --- a/src/3rdparty/hwloc/include/hwloc.h +++ b/src/3rdparty/hwloc/include/hwloc.h @@ -29,7 +29,7 @@ * THAT IS IN THE PDF/HTML THAT IS ***NOT*** IN hwloc.h! * * There are entire paragraph-length descriptions, discussions, and - * pretty prictures to explain subtle corner cases, provide concrete + * pretty pictures to explain subtle corner cases, provide concrete * examples, etc. * * Please, go read the documentation. :-) @@ -517,7 +517,7 @@ struct hwloc_obj { * objects). * * If the ::HWLOC_TOPOLOGY_FLAG_INCLUDE_DISALLOWED configuration flag is set, - * some of these CPUs may not be allowed for binding, + * some of these CPUs may be online but not allowed for binding, * see hwloc_topology_get_allowed_cpuset(). * * \note All objects have non-NULL CPU and node sets except Misc and I/O objects. @@ -549,7 +549,7 @@ struct hwloc_obj { * nodes more precisely. * * If the ::HWLOC_TOPOLOGY_FLAG_INCLUDE_DISALLOWED configuration flag is set, - * some of these nodes may not be allowed for allocation, + * some of these nodes may be online but not allowed for allocation, * see hwloc_topology_get_allowed_nodeset(). * * If there are no NUMA nodes in the machine, all the memory is close to this @@ -642,7 +642,7 @@ union hwloc_obj_attr_u { unsigned char revision; float linkspeed; /* in GB/s */ } pcidev; - /** \brief Bridge specific Object Attribues */ + /** \brief Bridge specific Object Attributes */ struct hwloc_bridge_attr_s { union { struct hwloc_pcidev_attr_s pci; @@ -1089,7 +1089,7 @@ HWLOC_DECLSPEC int hwloc_obj_add_info(hwloc_obj_t obj, const char *name, const c * * Some operating systems only support binding threads or processes to a single PU. * Others allow binding to larger sets such as entire Cores or Packages or - * even random sets of invididual PUs. In such operating system, the scheduler + * even random sets of individual PUs. In such operating system, the scheduler * is free to run the task on one of these PU, then migrate it to another PU, etc. * It is often useful to call hwloc_bitmap_singlify() on the target CPU set before * passing it to the binding function to avoid these expensive migrations. @@ -1167,7 +1167,7 @@ typedef enum { * CPUs are idle, operating systems may execute the thread/process * on those other CPUs instead of the designated CPUs, to let them * progress anyway. Strict binding means that the thread/process - * will _never_ execute on other cpus than the designated CPUs, even + * will _never_ execute on other CPUs than the designated CPUs, even * when those are busy with other tasks and other CPUs are idle. * * \note Depending on the operating system, strict binding may not @@ -1204,7 +1204,7 @@ typedef enum { HWLOC_CPUBIND_NOMEMBIND = (1<<3) } hwloc_cpubind_flags_t; -/** \brief Bind current process or thread on cpus given in physical bitmap \p set. +/** \brief Bind current process or thread on CPUs given in physical bitmap \p set. * * \return -1 with errno set to ENOSYS if the action is not supported * \return -1 with errno set to EXDEV if the binding cannot be enforced @@ -1219,7 +1219,7 @@ HWLOC_DECLSPEC int hwloc_set_cpubind(hwloc_topology_t topology, hwloc_const_cpus */ HWLOC_DECLSPEC int hwloc_get_cpubind(hwloc_topology_t topology, hwloc_cpuset_t set, int flags); -/** \brief Bind a process \p pid on cpus given in physical bitmap \p set. +/** \brief Bind a process \p pid on CPUs given in physical bitmap \p set. * * \note \p hwloc_pid_t is \p pid_t on Unix platforms, * and \p HANDLE on native Windows platforms. @@ -1250,7 +1250,7 @@ HWLOC_DECLSPEC int hwloc_set_proc_cpubind(hwloc_topology_t topology, hwloc_pid_t HWLOC_DECLSPEC int hwloc_get_proc_cpubind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_cpuset_t set, int flags); #ifdef hwloc_thread_t -/** \brief Bind a thread \p thread on cpus given in physical bitmap \p set. +/** \brief Bind a thread \p thread on CPUs given in physical bitmap \p set. * * \note \p hwloc_thread_t is \p pthread_t on Unix platforms, * and \p HANDLE on native Windows platforms. @@ -1914,8 +1914,9 @@ HWLOC_DECLSPEC int hwloc_topology_set_components(hwloc_topology_t __hwloc_restri enum hwloc_topology_flags_e { /** \brief Detect the whole system, ignore reservations, include disallowed objects. * - * Gather all resources, even if some were disabled by the administrator. + * Gather all online resources, even if some were disabled by the administrator. * For instance, ignore Linux Cgroup/Cpusets and gather all processors and memory nodes. + * However offline PUs and NUMA nodes are still ignored. * * When this flag is not set, PUs and NUMA nodes that are disallowed are not added to the topology. * Parent objects (package, core, cache, etc.) are added only if some of their children are allowed. @@ -2066,10 +2067,12 @@ enum hwloc_topology_flags_e { * * Set a OR'ed set of ::hwloc_topology_flags_e onto a topology that was not yet loaded. * - * If this function is called multiple times, the last invokation will erase + * If this function is called multiple times, the last invocation will erase * and replace the set of flags that was previously set. * - * The flags set in a topology may be retrieved with hwloc_topology_get_flags() + * By default, no flags are set (\c 0). + * + * The flags set in a topology may be retrieved with hwloc_topology_get_flags(). */ HWLOC_DECLSPEC int hwloc_topology_set_flags (hwloc_topology_t topology, unsigned long flags); @@ -2077,6 +2080,9 @@ HWLOC_DECLSPEC int hwloc_topology_set_flags (hwloc_topology_t topology, unsigned * * Get the OR'ed set of ::hwloc_topology_flags_e of a topology. * + * If hwloc_topology_set_flags() was not called earlier, + * no flags are set (\c 0 is returned). + * * \return the flags previously set with hwloc_topology_set_flags(). */ HWLOC_DECLSPEC unsigned long hwloc_topology_get_flags (hwloc_topology_t topology); diff --git a/src/3rdparty/hwloc/include/hwloc/autogen/config.h b/src/3rdparty/hwloc/include/hwloc/autogen/config.h index 8d89fa2538..562a48115e 100644 --- a/src/3rdparty/hwloc/include/hwloc/autogen/config.h +++ b/src/3rdparty/hwloc/include/hwloc/autogen/config.h @@ -11,10 +11,10 @@ #ifndef HWLOC_CONFIG_H #define HWLOC_CONFIG_H -#define HWLOC_VERSION "2.7.0" +#define HWLOC_VERSION "2.7.1" #define HWLOC_VERSION_MAJOR 2 #define HWLOC_VERSION_MINOR 7 -#define HWLOC_VERSION_RELEASE 0 +#define HWLOC_VERSION_RELEASE 1 #define HWLOC_VERSION_GREEK "" #define __hwloc_restrict diff --git a/src/3rdparty/hwloc/include/hwloc/memattrs.h b/src/3rdparty/hwloc/include/hwloc/memattrs.h index 2494abb086..02ffa83267 100644 --- a/src/3rdparty/hwloc/include/hwloc/memattrs.h +++ b/src/3rdparty/hwloc/include/hwloc/memattrs.h @@ -1,5 +1,5 @@ /* - * Copyright © 2019-2020 Inria. All rights reserved. + * Copyright © 2019-2022 Inria. All rights reserved. * See COPYING in top-level directory. */ @@ -354,7 +354,7 @@ hwloc_memattr_register(hwloc_topology_t topology, * \p flags must be \c 0 for now. * * \note The initiator \p initiator should be of type ::HWLOC_LOCATION_TYPE_CPUSET - * when refering to accesses performed by CPU cores. + * when referring to accesses performed by CPU cores. * ::HWLOC_LOCATION_TYPE_OBJECT is currently unused internally by hwloc, * but users may for instance use it to provide custom information about * host memory accesses performed by GPUs. @@ -398,7 +398,7 @@ hwloc_memattr_set_value(hwloc_topology_t topology, * values. * * \note The initiator \p initiator should be of type ::HWLOC_LOCATION_TYPE_CPUSET - * when refering to accesses performed by CPU cores. + * when referring to accesses performed by CPU cores. * ::HWLOC_LOCATION_TYPE_OBJECT is currently unused internally by hwloc, * but users may for instance use it to provide custom information about * host memory accesses performed by GPUs. @@ -408,7 +408,7 @@ hwloc_memattr_get_targets(hwloc_topology_t topology, hwloc_memattr_id_t attribute, struct hwloc_location *initiator, unsigned long flags, - unsigned *nrp, hwloc_obj_t *targets, hwloc_uint64_t *values); + unsigned *nr, hwloc_obj_t *targets, hwloc_uint64_t *values); /** \brief Return the initiators that have values for a given attribute for a specific target NUMA node. * diff --git a/src/3rdparty/hwloc/src/topology-x86.c b/src/3rdparty/hwloc/src/topology-x86.c index 42172eca5d..b9bc7fb09e 100644 --- a/src/3rdparty/hwloc/src/topology-x86.c +++ b/src/3rdparty/hwloc/src/topology-x86.c @@ -614,10 +614,13 @@ static void look_proc(struct hwloc_backend *backend, struct procinfo *infos, uns eax = 0x01; cpuid_or_from_dump(&eax, &ebx, &ecx, &edx, src_cpuiddump); infos->apicid = ebx >> 24; - if (edx & (1 << 28)) + if (edx & (1 << 28)) { legacy_max_log_proc = 1 << hwloc_flsl(((ebx >> 16) & 0xff) - 1); - else + } else { + hwloc_debug("HTT bit not set in CPUID 0x01.edx, assuming legacy_max_log_proc = 1\n"); legacy_max_log_proc = 1; + } + hwloc_debug("APIC ID 0x%02x legacy_max_log_proc %u\n", infos->apicid, legacy_max_log_proc); infos->ids[PKG] = infos->apicid / legacy_max_log_proc; legacy_log_proc_id = infos->apicid % legacy_max_log_proc; @@ -680,12 +683,23 @@ static void look_proc(struct hwloc_backend *backend, struct procinfo *infos, uns unsigned max_nbcores; unsigned max_nbthreads; unsigned threadid __hwloc_attribute_unused; + hwloc_debug("Trying to get core/thread IDs from 0x04...\n"); max_nbcores = ((eax >> 26) & 0x3f) + 1; - max_nbthreads = legacy_max_log_proc / max_nbcores; - hwloc_debug("thus %u threads\n", max_nbthreads); - threadid = legacy_log_proc_id % max_nbthreads; - infos->ids[CORE] = legacy_log_proc_id / max_nbthreads; - hwloc_debug("this is thread %u of core %u\n", threadid, infos->ids[CORE]); + hwloc_debug("found %u cores max\n", max_nbcores); + /* some VMs (e.g. issue#525) don't report valid information, check things before dividing by 0. */ + if (!max_nbcores) { + hwloc_debug("cannot detect core/thread IDs from 0x04 without a valid max of cores\n"); + } else { + max_nbthreads = legacy_max_log_proc / max_nbcores; + hwloc_debug("found %u threads max\n", max_nbthreads); + if (!max_nbthreads) { + hwloc_debug("cannot detect core/thread IDs from 0x04 without a valid max of threads\n"); + } else { + threadid = legacy_log_proc_id % max_nbthreads; + infos->ids[CORE] = legacy_log_proc_id / max_nbthreads; + hwloc_debug("this is thread %u of core %u\n", threadid, infos->ids[CORE]); + } + } } } diff --git a/src/3rdparty/hwloc/src/topology.c b/src/3rdparty/hwloc/src/topology.c index c0f39c77ac..54b772ffb9 100644 --- a/src/3rdparty/hwloc/src/topology.c +++ b/src/3rdparty/hwloc/src/topology.c @@ -3,6 +3,7 @@ * Copyright © 2009-2021 Inria. All rights reserved. * Copyright © 2009-2012, 2020 Université Bordeaux * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. + * Copyright © 2022 IBM Corporation. All rights reserved. * See COPYING in top-level directory. */ @@ -52,29 +53,41 @@ #include #endif + +#ifdef HWLOC_HAVE_LEVELZERO /* * Define ZES_ENABLE_SYSMAN=1 early so that the LevelZero backend gets Sysman enabled. + * + * Only if the levelzero was enabled in this build so that we don't enable sysman + * for external levelzero users when hwloc doesn't need it. If somebody ever loads + * an external levelzero plugin in a hwloc library built without levelzero (unlikely), + * he may have to manually set ZES_ENABLE_SYSMAN=1. + * * Use the constructor if supported and/or the Windows DllMain callback. * Do it in the main hwloc library instead of the levelzero component because * the latter could be loaded later as a plugin. * * L0 seems to be using getenv() to check this variable on Windows * (at least in the Intel Compute-Runtime of March 2021), - * so use putenv() to set the variable. + * but setenv() doesn't seem to exist on Windows, hence use putenv() to set the variable. * * For the record, Get/SetEnvironmentVariable() is not exactly the same as getenv/putenv(): * - getenv() doesn't see what was set with SetEnvironmentVariable() * - GetEnvironmentVariable() doesn't see putenv() in cygwin (while it does in MSVC and MinGW). * Hence, if L0 ever switches from getenv() to GetEnvironmentVariable(), * it will break in cygwin, we'll have to use both putenv() and SetEnvironmentVariable(). - * Hopefully L0 will be provide a way to enable Sysman without env vars before it happens. + * Hopefully L0 will provide a way to enable Sysman without env vars before it happens. */ #if HWLOC_HAVE_ATTRIBUTE_CONSTRUCTOR static void hwloc_constructor(void) __attribute__((constructor)); static void hwloc_constructor(void) { if (!getenv("ZES_ENABLE_SYSMAN")) - putenv((char *) "ZES_ENABLE_SYSMAN=1"); +#ifdef HWLOC_WIN_SYS + putenv("ZES_ENABLE_SYSMAN=1"); +#else + setenv("ZES_ENABLE_SYSMAN", "1", 1); +#endif } #endif #ifdef HWLOC_WIN_SYS @@ -82,11 +95,14 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved) { if (fdwReason == DLL_PROCESS_ATTACH) { if (!getenv("ZES_ENABLE_SYSMAN")) + /* Windows does not have a setenv, so use putenv. */ putenv((char *) "ZES_ENABLE_SYSMAN=1"); } return TRUE; } #endif +#endif /* HWLOC_HAVE_LEVELZERO */ + unsigned hwloc_get_api_version(void) { diff --git a/src/backend/common/WorkerJob.h b/src/backend/common/WorkerJob.h index 7057c3571e..b579a1168c 100644 --- a/src/backend/common/WorkerJob.h +++ b/src/backend/common/WorkerJob.h @@ -109,7 +109,7 @@ class WorkerJob } - alignas(16) uint8_t m_blobs[2][Job::kMaxBlobSize * N]{}; + alignas(8) uint8_t m_blobs[2][Job::kMaxBlobSize * N]{}; Job m_jobs[2]; uint32_t m_rounds[2] = { 0, 0 }; uint64_t m_nonce_mask[2] = { 0, 0 }; diff --git a/src/backend/cpu/CpuBackend.cpp b/src/backend/cpu/CpuBackend.cpp index 16db4e5e25..529b14e232 100644 --- a/src/backend/cpu/CpuBackend.cpp +++ b/src/backend/cpu/CpuBackend.cpp @@ -436,10 +436,6 @@ rapidjson::Value xmrig::CpuBackend::toJSON(rapidjson::Document &doc) const out.AddMember("argon2-impl", argon2::Impl::name().toJSON(), allocator); # endif -# ifdef XMRIG_ALGO_ASTROBWT - out.AddMember("astrobwt-max-size", cpu.astrobwtMaxSize(), allocator); -# endif - out.AddMember("hugepages", d_ptr->hugePages(2, doc), allocator); out.AddMember("memory", static_cast(d_ptr->algo.isValid() ? (d_ptr->ways() * d_ptr->algo.l3()) : 0), allocator); diff --git a/src/backend/cpu/CpuConfig.cpp b/src/backend/cpu/CpuConfig.cpp index e20c8e9aff..a7d5db55fa 100644 --- a/src/backend/cpu/CpuConfig.cpp +++ b/src/backend/cpu/CpuConfig.cpp @@ -45,11 +45,6 @@ const char *CpuConfig::kAsm = "asm"; const char *CpuConfig::kArgon2Impl = "argon2-impl"; #endif -#ifdef XMRIG_ALGO_ASTROBWT -const char *CpuConfig::kAstroBWTMaxSize = "astrobwt-max-size"; -const char *CpuConfig::kAstroBWTAVX2 = "astrobwt-avx2"; -#endif - extern template class Threads; @@ -89,11 +84,6 @@ rapidjson::Value xmrig::CpuConfig::toJSON(rapidjson::Document &doc) const obj.AddMember(StringRef(kArgon2Impl), m_argon2Impl.toJSON(), allocator); # endif -# ifdef XMRIG_ALGO_ASTROBWT - obj.AddMember(StringRef(kAstroBWTMaxSize), m_astrobwtMaxSize, allocator); - obj.AddMember(StringRef(kAstroBWTAVX2), m_astrobwtAVX2, allocator); -# endif - m_threads.toJSON(obj, doc); return obj; @@ -158,24 +148,6 @@ void xmrig::CpuConfig::read(const rapidjson::Value &value) m_argon2Impl = Json::getString(value, kArgon2Impl); # endif -# ifdef XMRIG_ALGO_ASTROBWT - const auto& astroBWTMaxSize = Json::getValue(value, kAstroBWTMaxSize); - if (astroBWTMaxSize.IsNull() || !astroBWTMaxSize.IsInt()) { - m_shouldSave = true; - } - else { - m_astrobwtMaxSize = std::min(std::max(astroBWTMaxSize.GetInt(), 400), 1200); - } - - const auto& astroBWTAVX2 = Json::getValue(value, kAstroBWTAVX2); - if (astroBWTAVX2.IsNull() || !astroBWTAVX2.IsBool()) { - m_shouldSave = true; - } - else { - m_astrobwtAVX2 = astroBWTAVX2.GetBool(); - } -# endif - m_threads.read(value); generate(); @@ -206,7 +178,6 @@ void xmrig::CpuConfig::generate() count += xmrig::generate(m_threads, m_limit); count += xmrig::generate(m_threads, m_limit); count += xmrig::generate(m_threads, m_limit); - count += xmrig::generate(m_threads, m_limit); count += xmrig::generate(m_threads, m_limit); m_shouldSave |= count > 0; diff --git a/src/backend/cpu/CpuConfig.h b/src/backend/cpu/CpuConfig.h index 536c221e5e..4342ad89d9 100644 --- a/src/backend/cpu/CpuConfig.h +++ b/src/backend/cpu/CpuConfig.h @@ -56,11 +56,6 @@ class CpuConfig static const char *kArgon2Impl; # endif -# ifdef XMRIG_ALGO_ASTROBWT - static const char *kAstroBWTMaxSize; - static const char *kAstroBWTAVX2; -# endif - CpuConfig() = default; bool isHwAES() const; @@ -69,7 +64,6 @@ class CpuConfig std::vector get(const Miner *miner, const Algorithm &algorithm) const; void read(const rapidjson::Value &value); - inline bool astrobwtAVX2() const { return m_astrobwtAVX2; } inline bool isEnabled() const { return m_enabled; } inline bool isHugePages() const { return m_hugePageSize > 0; } inline bool isHugePagesJit() const { return m_hugePagesJit; } @@ -78,7 +72,6 @@ class CpuConfig inline const Assembly &assembly() const { return m_assembly; } inline const String &argon2Impl() const { return m_argon2Impl; } inline const Threads &threads() const { return m_threads; } - inline int astrobwtMaxSize() const { return m_astrobwtMaxSize; } inline int priority() const { return m_priority; } inline size_t hugePageSize() const { return m_hugePageSize * 1024U; } inline uint32_t limit() const { return m_limit; } @@ -96,12 +89,10 @@ class CpuConfig AesMode m_aes = AES_AUTO; Assembly m_assembly; - bool m_astrobwtAVX2 = false; bool m_enabled = true; bool m_hugePagesJit = false; bool m_shouldSave = false; bool m_yield = true; - int m_astrobwtMaxSize = 550; int m_memoryPool = 0; int m_priority = -1; size_t m_hugePageSize = kDefaultHugePageSizeKb; diff --git a/src/backend/cpu/CpuConfig_gen.h b/src/backend/cpu/CpuConfig_gen.h index 6698861af1..c1bdb90847 100644 --- a/src/backend/cpu/CpuConfig_gen.h +++ b/src/backend/cpu/CpuConfig_gen.h @@ -153,22 +153,6 @@ size_t inline generate(Threads &threads, uint32_t #endif -#ifdef XMRIG_ALGO_ASTROBWT -template<> -size_t inline generate(Threads& threads, uint32_t limit) -{ - size_t count = 0; - - if (!threads.isExist(Algorithm::ASTROBWT_DERO_2)) { - auto v2 = Cpu::info()->threads(Algorithm::ASTROBWT_DERO_2, limit); - count += threads.move(Algorithm::kASTROBWT_DERO_2, std::move(v2)); - } - - count += generate(Algorithm::kASTROBWT, threads, Algorithm::ASTROBWT_DERO, limit); - return count; -} -#endif - #ifdef XMRIG_ALGO_GHOSTRIDER template<> size_t inline generate(Threads& threads, uint32_t limit) diff --git a/src/backend/cpu/CpuLaunchData.cpp b/src/backend/cpu/CpuLaunchData.cpp index 9d71ad8372..7d3b08f4da 100644 --- a/src/backend/cpu/CpuLaunchData.cpp +++ b/src/backend/cpu/CpuLaunchData.cpp @@ -35,11 +35,9 @@ xmrig::CpuLaunchData::CpuLaunchData(const Miner *miner, const Algorithm &algorithm, const CpuConfig &config, const CpuThread &thread, size_t threads, const std::vector& affinities) : algorithm(algorithm), assembly(config.assembly()), - astrobwtAVX2(config.astrobwtAVX2()), hugePages(config.isHugePages()), hwAES(config.isHwAES()), yield(config.isYield()), - astrobwtMaxSize(config.astrobwtMaxSize()), priority(config.priority()), affinity(thread.affinity()), miner(miner), diff --git a/src/backend/cpu/CpuLaunchData.h b/src/backend/cpu/CpuLaunchData.h index b446550272..9742a1b4e3 100644 --- a/src/backend/cpu/CpuLaunchData.h +++ b/src/backend/cpu/CpuLaunchData.h @@ -58,11 +58,9 @@ class CpuLaunchData const Algorithm algorithm; const Assembly assembly; - const bool astrobwtAVX2; const bool hugePages; const bool hwAES; const bool yield; - const int astrobwtMaxSize; const int priority; const int64_t affinity; const Miner *miner; diff --git a/src/backend/cpu/CpuWorker.cpp b/src/backend/cpu/CpuWorker.cpp index 4109a6cf24..3eb6e46830 100644 --- a/src/backend/cpu/CpuWorker.cpp +++ b/src/backend/cpu/CpuWorker.cpp @@ -44,11 +44,6 @@ #endif -#ifdef XMRIG_ALGO_ASTROBWT -# include "crypto/astrobwt/AstroBWT.h" -#endif - - #ifdef XMRIG_FEATURE_BENCHMARK # include "backend/common/benchmark/BenchState.h" #endif @@ -73,19 +68,20 @@ xmrig::CpuWorker::CpuWorker(size_t id, const CpuLaunchData &data) : Worker(id, data.affinity, data.priority), m_algorithm(data.algorithm), m_assembly(data.assembly), - m_astrobwtAVX2(data.astrobwtAVX2), m_hwAES(data.hwAES), m_yield(data.yield), m_av(data.av()), - m_astrobwtMaxSize(data.astrobwtMaxSize * 1000), m_miner(data.miner), m_threads(data.threads), m_ctx() { # ifdef XMRIG_ALGO_CN_HEAVY // cn-heavy optimization for Zen3 CPUs - const bool is_vermeer = (Cpu::info()->arch() == ICpuInfo::ARCH_ZEN3) && (Cpu::info()->model() == 0x21); - if ((N == 1) && (m_av == CnHash::AV_SINGLE) && (m_algorithm.family() == Algorithm::CN_HEAVY) && (m_assembly != Assembly::NONE) && is_vermeer) { + const auto arch = Cpu::info()->arch(); + const uint32_t model = Cpu::info()->model(); + const bool is_vermeer = (arch == ICpuInfo::ARCH_ZEN3) && (model == 0x21); + const bool is_raphael = (arch == ICpuInfo::ARCH_ZEN4) && (model == 0x61); + if ((N == 1) && (m_av == CnHash::AV_SINGLE) && (m_algorithm.family() == Algorithm::CN_HEAVY) && (m_assembly != Assembly::NONE) && (is_vermeer || is_raphael)) { std::lock_guard lock(cn_heavyZen3MemoryMutex); if (!cn_heavyZen3Memory) { // Round up number of threads to the multiple of 8 @@ -223,11 +219,6 @@ bool xmrig::CpuWorker::selfTest() } # endif -# ifdef XMRIG_ALGO_ASTROBWT - if (m_algorithm.id() == Algorithm::ASTROBWT_DERO) return verify(Algorithm::ASTROBWT_DERO, astrobwt_dero_test_out); - if (m_algorithm.id() == Algorithm::ASTROBWT_DERO_2) return verify(Algorithm::ASTROBWT_DERO_2, astrobwt_dero_2_test_out); -# endif - return false; } @@ -317,21 +308,6 @@ void xmrig::CpuWorker::start() { switch (job.algorithm().family()) { -# ifdef XMRIG_ALGO_ASTROBWT - case Algorithm::ASTROBWT: - if (job.algorithm().id() == Algorithm::ASTROBWT_DERO) { - if (!astrobwt::astrobwt_dero(m_job.blob(), job.size(), m_ctx[0]->memory, m_hash, m_astrobwtMaxSize, m_astrobwtAVX2)) { - valid = false; - } - } - else { - if (!astrobwt::astrobwt_dero_v2(m_job.blob(), job.size(), m_ctx[0]->memory, m_hash)) { - valid = false; - } - } - break; -# endif - # ifdef XMRIG_ALGO_GHOSTRIDER case Algorithm::GHOSTRIDER: if (N == 8) { diff --git a/src/backend/cpu/CpuWorker.h b/src/backend/cpu/CpuWorker.h index ade256ec56..5fc06fd3ed 100644 --- a/src/backend/cpu/CpuWorker.h +++ b/src/backend/cpu/CpuWorker.h @@ -83,14 +83,12 @@ class CpuWorker : public Worker void allocateCnCtx(); void consumeJob(); - alignas(16) uint8_t m_hash[N * 32]{ 0 }; + alignas(8) uint8_t m_hash[N * 32]{ 0 }; const Algorithm m_algorithm; const Assembly m_assembly; - const bool m_astrobwtAVX2; const bool m_hwAES; const bool m_yield; const CnHash::AlgoVariant m_av; - const int m_astrobwtMaxSize; const Miner *m_miner; const size_t m_threads; cryptonight_ctx *m_ctx[N]; diff --git a/src/backend/cpu/interfaces/ICpuInfo.h b/src/backend/cpu/interfaces/ICpuInfo.h index f2b56009ad..387f319b10 100644 --- a/src/backend/cpu/interfaces/ICpuInfo.h +++ b/src/backend/cpu/interfaces/ICpuInfo.h @@ -45,19 +45,21 @@ class ICpuInfo ARCH_ZEN, ARCH_ZEN_PLUS, ARCH_ZEN2, - ARCH_ZEN3 + ARCH_ZEN3, + ARCH_ZEN4 }; enum MsrMod : uint32_t { MSR_MOD_NONE, MSR_MOD_RYZEN_17H, MSR_MOD_RYZEN_19H, + MSR_MOD_RYZEN_19H_ZEN4, MSR_MOD_INTEL, MSR_MOD_CUSTOM, MSR_MOD_MAX }; -# define MSR_NAMES_LIST "none", "ryzen_17h", "ryzen_19h", "intel", "custom" +# define MSR_NAMES_LIST "none", "ryzen_17h", "ryzen_19h", "ryzen_19h_zen4", "intel", "custom" enum Flag : uint32_t { FLAG_AES, diff --git a/src/backend/cpu/platform/BasicCpuInfo.cpp b/src/backend/cpu/platform/BasicCpuInfo.cpp index 81d9395e58..0680d1bf88 100644 --- a/src/backend/cpu/platform/BasicCpuInfo.cpp +++ b/src/backend/cpu/platform/BasicCpuInfo.cpp @@ -64,7 +64,7 @@ static_assert(kCpuFlagsSize == ICpuInfo::FLAG_MAX, "kCpuFlagsSize and FLAG_MAX m #ifdef XMRIG_FEATURE_MSR -constexpr size_t kMsrArraySize = 5; +constexpr size_t kMsrArraySize = 6; static const std::array msrNames = { MSR_NAMES_LIST }; static_assert(kMsrArraySize == ICpuInfo::MSR_MOD_MAX, "kMsrArraySize and MSR_MOD_MAX mismatch"); #endif @@ -250,8 +250,14 @@ xmrig::BasicCpuInfo::BasicCpuInfo() : break; case 0x19: - m_arch = ARCH_ZEN3; - m_msrMod = MSR_MOD_RYZEN_19H; + if (m_model == 0x61) { + m_arch = ARCH_ZEN4; + m_msrMod = MSR_MOD_RYZEN_19H_ZEN4; + } + else { + m_arch = ARCH_ZEN3; + m_msrMod = MSR_MOD_RYZEN_19H; + } break; default: @@ -362,16 +368,6 @@ xmrig::CpuThreads xmrig::BasicCpuInfo::threads(const Algorithm &algorithm, uint3 } # endif -# ifdef XMRIG_ALGO_ASTROBWT - if (f == Algorithm::ASTROBWT) { - CpuThreads threads; - for (size_t i = 0; i < count; ++i) { - threads.add(i, 0); - } - return threads; - } -# endif - # ifdef XMRIG_ALGO_GHOSTRIDER if (f == Algorithm::GHOSTRIDER) { return CpuThreads(std::max(count / 2, 1), 8); diff --git a/src/backend/cpu/platform/HwlocCpuInfo.cpp b/src/backend/cpu/platform/HwlocCpuInfo.cpp index 9a195db246..ee2cfca0fd 100644 --- a/src/backend/cpu/platform/HwlocCpuInfo.cpp +++ b/src/backend/cpu/platform/HwlocCpuInfo.cpp @@ -318,13 +318,6 @@ void xmrig::HwlocCpuInfo::processTopLevelCache(hwloc_obj_t cache, const Algorith size_t scratchpad = algorithm.l3(); uint32_t intensity = algorithm.maxIntensity() == 1 ? 0 : 1; -# ifdef XMRIG_ALGO_ASTROBWT - if (algorithm == Algorithm::ASTROBWT_DERO) { - // Use fake low value to force usage of all available cores for AstroBWT (taking 'limit' into account) - scratchpad = 16 * 1024; - } -# endif - if (cache->attr->cache.depth == 3) { for (size_t i = 0; i < cache->arity; ++i) { hwloc_obj_t l2 = cache->children[i]; diff --git a/src/backend/cuda/CudaBackend.cpp b/src/backend/cuda/CudaBackend.cpp index fd6ec3d953..5a732ae1d3 100644 --- a/src/backend/cuda/CudaBackend.cpp +++ b/src/backend/cuda/CudaBackend.cpp @@ -40,11 +40,6 @@ #include "core/Controller.h" -#ifdef XMRIG_ALGO_ASTROBWT -# include "backend/cuda/runners/CudaAstroBWTRunner.h" -#endif - - #ifdef XMRIG_ALGO_KAWPOW # include "crypto/kawpow/KPCache.h" # include "crypto/kawpow/KPHash.h" @@ -220,12 +215,6 @@ class CudaBackendPrivate size_t algo_l3 = algo.l3(); -# ifdef XMRIG_ALGO_ASTROBWT - if (algo.id() == Algorithm::ASTROBWT_DERO) { - algo_l3 = CudaAstroBWTRunner::BWT_DATA_STRIDE * 17 + 1024; - } -# endif - size_t i = 0; for (const auto &data : threads) { size_t mem_used = (data.thread.threads() * data.thread.blocks()) * algo_l3 / oneMiB; diff --git a/src/backend/cuda/CudaConfig.cpp b/src/backend/cuda/CudaConfig.cpp index 65084f2416..be8840ea08 100644 --- a/src/backend/cuda/CudaConfig.cpp +++ b/src/backend/cuda/CudaConfig.cpp @@ -174,7 +174,6 @@ void xmrig::CudaConfig::generate() count += xmrig::generate(m_threads, devices); count += xmrig::generate(m_threads, devices); count += xmrig::generate(m_threads, devices); - count += xmrig::generate(m_threads, devices); count += xmrig::generate(m_threads, devices); generated = true; diff --git a/src/backend/cuda/CudaConfig_gen.h b/src/backend/cuda/CudaConfig_gen.h index 73c77e48dd..7c46e32a6b 100644 --- a/src/backend/cuda/CudaConfig_gen.h +++ b/src/backend/cuda/CudaConfig_gen.h @@ -135,22 +135,6 @@ size_t inline generate(Threads &threads, const #endif -#ifdef XMRIG_ALGO_ASTROBWT -template<> -size_t inline generate(Threads &threads, const std::vector &devices) -{ - size_t count = 0; - - if (!threads.isExist(Algorithm::ASTROBWT_DERO_2)) { - count += threads.move(Algorithm::kASTROBWT_DERO_2, CudaThreads(devices, Algorithm::ASTROBWT_DERO_2)); - } - - count += generate(Algorithm::kASTROBWT, threads, Algorithm::ASTROBWT_DERO, devices); - return count; -} -#endif - - #ifdef XMRIG_ALGO_KAWPOW template<> size_t inline generate(Threads &threads, const std::vector &devices) diff --git a/src/backend/cuda/CudaWorker.cpp b/src/backend/cuda/CudaWorker.cpp index 5c51b9a6c5..97553637a8 100644 --- a/src/backend/cuda/CudaWorker.cpp +++ b/src/backend/cuda/CudaWorker.cpp @@ -34,11 +34,6 @@ #endif -#ifdef XMRIG_ALGO_ASTROBWT -# include "backend/cuda/runners/CudaAstroBWTRunner.h" -#endif - - #ifdef XMRIG_ALGO_KAWPOW # include "backend/cuda/runners/CudaKawPowRunner.h" #endif @@ -76,12 +71,6 @@ xmrig::CudaWorker::CudaWorker(size_t id, const CudaLaunchData &data) : case Algorithm::ARGON2: break; - case Algorithm::ASTROBWT: -# ifdef XMRIG_ALGO_ASTROBWT - m_runner = new CudaAstroBWTRunner(id, data); -# endif - break; - case Algorithm::KAWPOW: # ifdef XMRIG_ALGO_KAWPOW m_runner = new CudaKawPowRunner(id, data); diff --git a/src/backend/cuda/cuda.cmake b/src/backend/cuda/cuda.cmake index 6661ec83d0..d45b2c4297 100644 --- a/src/backend/cuda/cuda.cmake +++ b/src/backend/cuda/cuda.cmake @@ -54,11 +54,6 @@ if (WITH_CUDA) list(APPEND SOURCES_BACKEND_CUDA src/backend/cuda/runners/CudaRxRunner.cpp) endif() - if (WITH_ASTROBWT) - list(APPEND HEADERS_BACKEND_CUDA src/backend/cuda/runners/CudaAstroBWTRunner.h) - list(APPEND SOURCES_BACKEND_CUDA src/backend/cuda/runners/CudaAstroBWTRunner.cpp) - endif() - if (WITH_KAWPOW) list(APPEND HEADERS_BACKEND_CUDA src/backend/cuda/runners/CudaKawPowRunner.h) list(APPEND SOURCES_BACKEND_CUDA src/backend/cuda/runners/CudaKawPowRunner.cpp) diff --git a/src/backend/cuda/runners/CudaAstroBWTRunner.cpp b/src/backend/cuda/runners/CudaAstroBWTRunner.cpp deleted file mode 100644 index 6b078e4f85..0000000000 --- a/src/backend/cuda/runners/CudaAstroBWTRunner.cpp +++ /dev/null @@ -1,85 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/cuda/runners/CudaAstroBWTRunner.h" -#include "backend/cuda/CudaLaunchData.h" -#include "backend/cuda/wrappers/CudaLib.h" -#include "base/net/stratum/Job.h" - - -constexpr uint32_t xmrig::CudaAstroBWTRunner::BWT_DATA_STRIDE; - - -xmrig::CudaAstroBWTRunner::CudaAstroBWTRunner(size_t index, const CudaLaunchData &data) - : CudaBaseRunner(index, data) - , m_algorithm(data.algorithm) -{ - m_intensity = m_data.thread.threads() * m_data.thread.blocks(); - m_intensity -= m_intensity % 32; - - // Dero HE has very fast blocks, so we can't use high intensity - if ((m_algorithm == Algorithm::ASTROBWT_DERO_2) && (m_intensity > 4096)) { - m_intensity = 4096; - } -} - - -bool xmrig::CudaAstroBWTRunner::run(uint32_t startNonce, uint32_t *rescount, uint32_t *resnonce) -{ - return callWrapper(CudaLib::astroBWTHash(m_ctx, startNonce, m_target, rescount, resnonce)); -} - - -bool xmrig::CudaAstroBWTRunner::set(const Job &job, uint8_t *blob) -{ - if (!CudaBaseRunner::set(job, blob)) { - return false; - } - - return callWrapper(CudaLib::astroBWTPrepare(m_ctx, static_cast(m_intensity))); -} - - -size_t xmrig::CudaAstroBWTRunner::roundSize() const -{ - if (m_algorithm == Algorithm::ASTROBWT_DERO_2) { - return m_intensity; - } - - constexpr uint32_t STAGE1_SIZE = 147253; - constexpr uint32_t STAGE1_DATA_STRIDE = (STAGE1_SIZE + 256 + 255) & ~255U; - - const uint32_t BATCH2_SIZE = static_cast(m_intensity); - const uint32_t BWT_ALLOCATION_SIZE = BATCH2_SIZE * BWT_DATA_STRIDE; - const uint32_t BATCH1_SIZE = (BWT_ALLOCATION_SIZE / STAGE1_DATA_STRIDE) & ~255U; - - return BATCH1_SIZE; -} - - -size_t xmrig::CudaAstroBWTRunner::processedHashes() const -{ - return CudaLib::deviceInt(m_ctx, CudaLib::DeviceAstroBWTProcessedHashes); -} diff --git a/src/backend/cuda/runners/CudaAstroBWTRunner.h b/src/backend/cuda/runners/CudaAstroBWTRunner.h deleted file mode 100644 index d217d65a50..0000000000 --- a/src/backend/cuda/runners/CudaAstroBWTRunner.h +++ /dev/null @@ -1,61 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef XMRIG_CUDAASTROBWTRUNNER_H -#define XMRIG_CUDAASTROBWTRUNNER_H - - -#include "backend/cuda/runners/CudaBaseRunner.h" -#include "base/crypto/Algorithm.h" - - -namespace xmrig { - - -class CudaAstroBWTRunner : public CudaBaseRunner -{ -public: - static constexpr uint32_t BWT_DATA_MAX_SIZE = 560 * 1024 - 256; - static constexpr uint32_t BWT_DATA_STRIDE = (BWT_DATA_MAX_SIZE + 256 + 255) & ~255U; - - CudaAstroBWTRunner(size_t index, const CudaLaunchData &data); - -protected: - inline size_t intensity() const override { return m_intensity; } - inline size_t roundSize() const override; - inline size_t processedHashes() const override; - - bool run(uint32_t startNonce, uint32_t *rescount, uint32_t *resnonce) override; - bool set(const Job &job, uint8_t *blob) override; - -private: - size_t m_intensity = 0; - Algorithm m_algorithm; -}; - - -} /* namespace xmrig */ - - -#endif // XMRIG_CUDAASTROBWTRUNNER_H diff --git a/src/backend/cuda/wrappers/CudaLib.cpp b/src/backend/cuda/wrappers/CudaLib.cpp index 4848f8c841..00517ae564 100644 --- a/src/backend/cuda/wrappers/CudaLib.cpp +++ b/src/backend/cuda/wrappers/CudaLib.cpp @@ -50,8 +50,6 @@ static String defaultLoader = "libxmrig-cuda.so"; static const char *kAlloc = "alloc"; -static const char *kAstroBWTHash = "astroBWTHash"; -static const char *kAstroBWTPrepare = "astroBWTPrepare"; static const char *kCnHash = "cnHash"; static const char *kDeviceCount = "deviceCount"; static const char *kDeviceInfo = "deviceInfo"; @@ -76,8 +74,6 @@ static const char *kVersion = "version"; using alloc_t = nvid_ctx * (*)(uint32_t, int32_t, int32_t); -using astroBWTHash_t = bool (*)(nvid_ctx *, uint32_t, uint64_t, uint32_t *, uint32_t *); -using astroBWTPrepare_t = bool (*)(nvid_ctx *, uint32_t); using cnHash_t = bool (*)(nvid_ctx *, uint32_t, uint64_t, uint64_t, uint32_t *, uint32_t *); using deviceCount_t = uint32_t (*)(); using deviceInfo_t = bool (*)(nvid_ctx *, int32_t, int32_t, uint32_t, int32_t); @@ -102,8 +98,6 @@ using version_t = uint32_t (*)(Version); static alloc_t pAlloc = nullptr; -static astroBWTHash_t pAstroBWTHash = nullptr; -static astroBWTPrepare_t pAstroBWTPrepare = nullptr; static cnHash_t pCnHash = nullptr; static deviceCount_t pDeviceCount = nullptr; static deviceInfo_t pDeviceInfo = nullptr; @@ -176,18 +170,6 @@ void xmrig::CudaLib::close() } -bool xmrig::CudaLib::astroBWTHash(nvid_ctx *ctx, uint32_t startNonce, uint64_t target, uint32_t *rescount, uint32_t *resnonce) noexcept -{ - return pAstroBWTHash(ctx, startNonce, target, rescount, resnonce); -} - - -bool xmrig::CudaLib::astroBWTPrepare(nvid_ctx *ctx, uint32_t batchSize) noexcept -{ - return pAstroBWTPrepare(ctx, batchSize); -} - - bool xmrig::CudaLib::cnHash(nvid_ctx *ctx, uint32_t startNonce, uint64_t height, uint64_t target, uint32_t *rescount, uint32_t *resnonce) { return pCnHash(ctx, startNonce, height, target, rescount, resnonce); @@ -410,8 +392,6 @@ void xmrig::CudaLib::load() DLSYM(Release); DLSYM(RxHash); DLSYM(RxPrepare); - DLSYM(AstroBWTHash); - DLSYM(AstroBWTPrepare); DLSYM(KawPowHash); DLSYM(KawPowPrepare_v2); DLSYM(KawPowStopHash); diff --git a/src/backend/cuda/wrappers/CudaLib.h b/src/backend/cuda/wrappers/CudaLib.h index 70b90dbfdc..cf1a538b37 100644 --- a/src/backend/cuda/wrappers/CudaLib.h +++ b/src/backend/cuda/wrappers/CudaLib.h @@ -56,7 +56,6 @@ class CudaLib DevicePciDeviceID, DevicePciDomainID, DeviceDatasetHost, - DeviceAstroBWTProcessedHashes, }; static bool init(const char *fileName = nullptr); @@ -67,8 +66,6 @@ class CudaLib static inline bool isReady() noexcept { return m_ready; } static inline const String &loader() { return m_loader; } - static bool astroBWTHash(nvid_ctx *ctx, uint32_t startNonce, uint64_t target, uint32_t *rescount, uint32_t *resnonce) noexcept; - static bool astroBWTPrepare(nvid_ctx *ctx, uint32_t batchSize) noexcept; static bool cnHash(nvid_ctx *ctx, uint32_t startNonce, uint64_t height, uint64_t target, uint32_t *rescount, uint32_t *resnonce); static bool deviceInfo(nvid_ctx *ctx, int32_t blocks, int32_t threads, const Algorithm &algorithm, int32_t dataset_host = -1) noexcept; static bool deviceInit(nvid_ctx *ctx) noexcept; diff --git a/src/backend/opencl/OclBackend.cpp b/src/backend/opencl/OclBackend.cpp index 6f9543b818..493ad4c8d1 100644 --- a/src/backend/opencl/OclBackend.cpp +++ b/src/backend/opencl/OclBackend.cpp @@ -29,7 +29,6 @@ #include "backend/opencl/OclConfig.h" #include "backend/opencl/OclLaunchData.h" #include "backend/opencl/OclWorker.h" -#include "backend/opencl/runners/OclAstroBWTRunner.h" #include "backend/opencl/runners/tools/OclSharedState.h" #include "backend/opencl/wrappers/OclContext.h" #include "backend/opencl/wrappers/OclLib.h" @@ -204,12 +203,6 @@ class OclBackendPrivate size_t algo_l3 = algo.l3(); -# ifdef XMRIG_ALGO_ASTROBWT - if (algo.id() == Algorithm::ASTROBWT_DERO) { - algo_l3 = OclAstroBWTRunner::BWT_DATA_STRIDE * 17 + 324; - } -# endif - size_t i = 0; for (const auto &data : threads) { size_t mem_used = data.thread.intensity() * algo_l3 / oneMiB; diff --git a/src/backend/opencl/OclConfig.cpp b/src/backend/opencl/OclConfig.cpp index 06a9b2831e..14ea7d8e02 100644 --- a/src/backend/opencl/OclConfig.cpp +++ b/src/backend/opencl/OclConfig.cpp @@ -214,7 +214,6 @@ void xmrig::OclConfig::generate() count += xmrig::generate(m_threads, devices); count += xmrig::generate(m_threads, devices); count += xmrig::generate(m_threads, devices); - count += xmrig::generate(m_threads, devices); count += xmrig::generate(m_threads, devices); m_shouldSave = count > 0; diff --git a/src/backend/opencl/OclConfig_gen.h b/src/backend/opencl/OclConfig_gen.h index aedd3983f5..31fa47a52f 100644 --- a/src/backend/opencl/OclConfig_gen.h +++ b/src/backend/opencl/OclConfig_gen.h @@ -129,22 +129,6 @@ size_t inline generate(Threads &threads, const #endif -#ifdef XMRIG_ALGO_ASTROBWT -template<> -size_t inline generate(Threads& threads, const std::vector& devices) -{ - size_t count = 0; - - if (!threads.isExist(Algorithm::ASTROBWT_DERO_2)) { - count += threads.move(Algorithm::kASTROBWT_DERO_2, OclThreads(devices, Algorithm::ASTROBWT_DERO_2)); - } - - count += generate(Algorithm::kASTROBWT, threads, Algorithm::ASTROBWT_DERO, devices); - return count; -} -#endif - - #ifdef XMRIG_ALGO_KAWPOW template<> size_t inline generate(Threads& threads, const std::vector& devices) diff --git a/src/backend/opencl/OclThread.cpp b/src/backend/opencl/OclThread.cpp index c04d5e12a0..285c2b9b6d 100644 --- a/src/backend/opencl/OclThread.cpp +++ b/src/backend/opencl/OclThread.cpp @@ -116,9 +116,7 @@ rapidjson::Value xmrig::OclThread::toJSON(rapidjson::Document &doc) const out.AddMember(StringRef(kIndex), index(), allocator); out.AddMember(StringRef(kIntensity), intensity(), allocator); - if (!m_fields.test(ASTROBWT_FIELDS)) { - out.AddMember(StringRef(kWorksize), worksize(), allocator); - } + out.AddMember(StringRef(kWorksize), worksize(), allocator); if (m_fields.test(STRIDED_INDEX_FIELD)) { Value si(kArrayType); @@ -144,7 +142,7 @@ rapidjson::Value xmrig::OclThread::toJSON(rapidjson::Document &doc) const out.AddMember(StringRef(kDatasetHost), isDatasetHost(), allocator); # endif } - else if (!m_fields.test(ASTROBWT_FIELDS) && !m_fields.test(KAWPOW_FIELDS)) { + else if (!m_fields.test(KAWPOW_FIELDS)) { out.AddMember(StringRef(kUnroll), unrollFactor(), allocator); } diff --git a/src/backend/opencl/OclThread.h b/src/backend/opencl/OclThread.h index 5d2e6658d8..7152e7d336 100644 --- a/src/backend/opencl/OclThread.h +++ b/src/backend/opencl/OclThread.h @@ -61,20 +61,6 @@ class OclThread } # endif -# ifdef XMRIG_ALGO_ASTROBWT - OclThread(uint32_t index, uint32_t intensity, uint32_t threads) : - m_fields(4), - m_threads(threads, -1), - m_index(index), - m_memChunk(0), - m_stridedIndex(0), - m_unrollFactor(1), - m_worksize(1) - { - setIntensity(intensity); - } -# endif - # ifdef XMRIG_ALGO_KAWPOW OclThread(uint32_t index, uint32_t intensity, uint32_t worksize, uint32_t threads) : m_fields(8), @@ -113,7 +99,6 @@ class OclThread enum Fields { STRIDED_INDEX_FIELD, RANDOMX_FIELDS, - ASTROBWT_FIELDS, KAWPOW_FIELDS, FIELD_MAX }; diff --git a/src/backend/opencl/OclWorker.cpp b/src/backend/opencl/OclWorker.cpp index cd49a50e9c..6f90320efe 100644 --- a/src/backend/opencl/OclWorker.cpp +++ b/src/backend/opencl/OclWorker.cpp @@ -35,11 +35,6 @@ # include "backend/opencl/runners/OclRxVmRunner.h" #endif -#ifdef XMRIG_ALGO_ASTROBWT -# include "backend/opencl/runners/OclAstroBWTRunner.h" -# include "backend/opencl/runners/OclAstroBWT_v2_Runner.h" -#endif - #ifdef XMRIG_ALGO_KAWPOW # include "backend/opencl/runners/OclKawPowRunner.h" #endif @@ -91,17 +86,6 @@ xmrig::OclWorker::OclWorker(size_t id, const OclLaunchData &data) : # endif break; - case Algorithm::ASTROBWT: -# ifdef XMRIG_ALGO_ASTROBWT - if (m_algorithm.id() == Algorithm::ASTROBWT_DERO_2) { - m_runner = new OclAstroBWT_v2_Runner(id, data); - } - else { - m_runner = new OclAstroBWTRunner(id, data); - } -# endif - break; - case Algorithm::KAWPOW: # ifdef XMRIG_ALGO_KAWPOW m_runner = new OclKawPowRunner(id, data); diff --git a/src/backend/opencl/cl/OclSource.cpp b/src/backend/opencl/cl/OclSource.cpp index c55fda8f6b..cfeae81e6e 100644 --- a/src/backend/opencl/cl/OclSource.cpp +++ b/src/backend/opencl/cl/OclSource.cpp @@ -32,11 +32,6 @@ # include "backend/opencl/cl/rx/randomx_cl.h" #endif -#ifdef XMRIG_ALGO_ASTROBWT -# include "backend/opencl/cl/astrobwt/astrobwt_cl.h" -# include "backend/opencl/cl/astrobwt_v2/astrobwt_v2_cl.h" -#endif - #ifdef XMRIG_ALGO_KAWPOW # include "backend/opencl/cl/kawpow/kawpow_cl.h" # include "backend/opencl/cl/kawpow/kawpow_dag_cl.h" @@ -51,12 +46,6 @@ const char *xmrig::OclSource::get(const Algorithm &algorithm) } # endif -# ifdef XMRIG_ALGO_ASTROBWT - if (algorithm.family() == Algorithm::ASTROBWT) { - return (algorithm.id() == Algorithm::ASTROBWT_DERO_2) ? astrobwt_v2_cl : astrobwt_cl; - } -# endif - # ifdef XMRIG_ALGO_KAWPOW if (algorithm.family() == Algorithm::KAWPOW) { return kawpow_dag_cl; diff --git a/src/backend/opencl/cl/astrobwt/BWT.cl b/src/backend/opencl/cl/astrobwt/BWT.cl deleted file mode 100644 index e68fb71ec5..0000000000 --- a/src/backend/opencl/cl/astrobwt/BWT.cl +++ /dev/null @@ -1,206 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#define STAGE1_SIZE 147253 - -#define COUNTING_SORT_BITS 11 -#define COUNTING_SORT_SIZE (1 << COUNTING_SORT_BITS) - -__attribute__((reqd_work_group_size(BWT_GROUP_SIZE, 1, 1))) -__kernel void BWT(__global uint8_t* datas, __global uint32_t* data_sizes, uint32_t data_stride, __global uint64_t* indices, __global uint64_t* tmp_indices) -{ - const uint32_t tid = get_local_id(0); - const uint32_t gid = get_group_id(0); - - __local int counters[COUNTING_SORT_SIZE][2]; - - for (uint32_t i = tid; i < COUNTING_SORT_SIZE * 2; i += BWT_GROUP_SIZE) - ((__local int*)counters)[i] = 0; - - barrier(CLK_LOCAL_MEM_FENCE); - - const uint64_t data_offset = (uint64_t)(gid) * data_stride; - - __global uint8_t* input = datas + data_offset + 128; - const uint32_t N = data_sizes[gid] + 1; - - __global uint64_t* p = (__global uint64_t*)(input); - volatile __local uint8_t* counters_atomic = (volatile __local uint8_t*)(counters); - - indices += data_offset; - tmp_indices += data_offset; - - for (uint32_t i = tid; i < N; i += BWT_GROUP_SIZE) - { - const uint32_t index = i >> 3; - const uint32_t bit_offset = (i & 7) << 3; - - const uint64_t a = p[index]; - uint64_t b = p[index + 1]; - if (bit_offset == 0) - b = 0; - - uint64_t value = (a >> bit_offset) | (b << (64 - bit_offset)); - - uint2 tmp; - const uchar4 mask = (uchar4)(3, 2, 1, 0); - - tmp.x = as_uint(shuffle(as_uchar4(as_uint2(value).y), mask)); - tmp.y = as_uint(shuffle(as_uchar4(as_uint2(value).x), mask)); - - value = as_ulong(tmp); - - indices[i] = (value & ((uint64_t)(-1) << 21)) | i; - atomic_add((volatile __local int*)(counters_atomic + (((value >> (64 - COUNTING_SORT_BITS * 2)) & (COUNTING_SORT_SIZE - 1)) << 3)), 1); - atomic_add((volatile __local int*)(counters_atomic + ((value >> (64 - COUNTING_SORT_BITS)) << 3) + 4), 1); - } - - barrier(CLK_LOCAL_MEM_FENCE); - - if (tid == 0) - { - int t0 = counters[0][0]; - int t1 = counters[0][1]; - counters[0][0] = t0 - 1; - counters[0][1] = t1 - 1; - for (uint32_t i = 1; i < COUNTING_SORT_SIZE; ++i) - { - t0 += counters[i][0]; - t1 += counters[i][1]; - counters[i][0] = t0 - 1; - counters[i][1] = t1 - 1; - } - } - - barrier(CLK_LOCAL_MEM_FENCE); - - for (int i = tid; i < N; i += BWT_GROUP_SIZE) - { - const uint64_t data = indices[i]; - const int k = atomic_sub((volatile __local int*)(counters_atomic + (((data >> (64 - COUNTING_SORT_BITS * 2)) & (COUNTING_SORT_SIZE - 1)) << 3)), 1); - tmp_indices[k] = data; - } - - barrier(CLK_GLOBAL_MEM_FENCE); - - if (tid == 0) - { - for (int i = N - 1; i >= 0; --i) - { - const uint64_t data = tmp_indices[i]; - const int k = atomic_sub((volatile __local int*)(counters_atomic + ((data >> (64 - COUNTING_SORT_BITS)) << 3) + 4), 1); - indices[k] = data; - } - } - - barrier(CLK_GLOBAL_MEM_FENCE); - - const uint32_t N1 = N - 1; - __global uint32_t* indices32 = (__global uint32_t*)(indices); - for (uint32_t i = tid; i < N1; i += BWT_GROUP_SIZE) - { - const uint32_t value = indices32[i * 2 + 1] >> (32 - COUNTING_SORT_BITS * 2); - if (value != (indices32[i * 2 + 3] >> (32 - COUNTING_SORT_BITS * 2))) - continue; - - if ((i > 0) && ((indices32[i * 2 - 1] >> (32 - COUNTING_SORT_BITS * 2)) == value)) - continue; - - uint32_t i1 = i + 2; - while ((i1 < N) && ((indices32[i1 * 2 + 1] >> (32 - COUNTING_SORT_BITS * 2)) == value)) - ++i1; - - for (uint32_t j = i; j < i1; ++j) - { - uint64_t t = indices[j]; - for (uint32_t k = j + 1; k < i1; ++k) - { - if (t > indices[k]) - { - const uint64_t t1 = t; - t = indices[k]; - indices[k] = t1; - } - } - indices[j] = t; - } - } - - barrier(CLK_GLOBAL_MEM_FENCE); - - --input; - __global uint8_t* output = (__global uint8_t*)(tmp_indices); - for (int i = tid; i <= N; i += BWT_GROUP_SIZE) - output[i] = input[indices[i] & ((1 << 21) - 1)]; -} - -__kernel void filter(uint32_t nonce, uint32_t bwt_max_size, __global const uint32_t* hashes, __global uint32_t* filtered_hashes) -{ - const uint32_t global_id = get_global_id(0); - - __global const uint32_t* hash = hashes + global_id * (32 / sizeof(uint32_t)); - const uint32_t stage2_size = STAGE1_SIZE + (*hash & 0xfffff); - - if (stage2_size < bwt_max_size) - { - const int index = atomic_add((volatile __global int*)(filtered_hashes), 1) * (36 / sizeof(uint32_t)) + 1; - - filtered_hashes[index] = nonce + global_id; - - #pragma unroll 8 - for (uint32_t i = 0; i < 8; ++i) - filtered_hashes[index + i + 1] = hash[i]; - } -} - -__kernel void prepare_batch2(__global uint32_t* hashes, __global uint32_t* filtered_hashes, __global uint32_t* data_sizes) -{ - const uint32_t global_id = get_global_id(0); - const uint32_t N = filtered_hashes[0] - get_global_size(0); - - if (global_id == 0) - filtered_hashes[0] = N; - - __global uint32_t* hash = hashes + global_id * 8; - __global uint32_t* filtered_hash = filtered_hashes + (global_id + N) * 9 + 1; - - const uint32_t stage2_size = STAGE1_SIZE + (filtered_hash[1] & 0xfffff); - data_sizes[global_id] = stage2_size; - - #pragma unroll 8 - for (uint32_t i = 0; i < 8; ++i) - hash[i] = filtered_hash[i + 1]; -} - -__kernel void find_shares(__global const uint64_t* hashes, __global const uint32_t* filtered_hashes, uint64_t target, __global uint32_t* shares) -{ - const uint32_t global_index = get_global_id(0); - - if (hashes[global_index * 4 + 3] < target) - { - const uint32_t idx = atomic_inc(shares + 0xFF); - if (idx < 0xFF) - shares[idx] = filtered_hashes[(filtered_hashes[0] + global_index) * 9 + 1]; - } -} diff --git a/src/backend/opencl/cl/astrobwt/astrobwt.cl b/src/backend/opencl/cl/astrobwt/astrobwt.cl deleted file mode 100644 index 476366c845..0000000000 --- a/src/backend/opencl/cl/astrobwt/astrobwt.cl +++ /dev/null @@ -1,35 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -typedef uchar uint8_t; -typedef ushort uint16_t; -typedef uint uint32_t; -typedef ulong uint64_t; - -typedef int int32_t; -typedef long int64_t; - -#include "BWT.cl" -#include "salsa20.cl" -#include "sha3.cl" diff --git a/src/backend/opencl/cl/astrobwt/astrobwt_cl.h b/src/backend/opencl/cl/astrobwt/astrobwt_cl.h deleted file mode 100644 index 3d65f0ce3c..0000000000 --- a/src/backend/opencl/cl/astrobwt/astrobwt_cl.h +++ /dev/null @@ -1,399 +0,0 @@ -#pragma once - -namespace xmrig { - -static const char astrobwt_cl[12489] = { - 0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x63,0x68,0x61,0x72,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75, - 0x73,0x68,0x6f,0x72,0x74,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x69,0x6e,0x74,0x20,0x75,0x69,0x6e, - 0x74,0x33,0x32,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x3b,0x0a,0x74, - 0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x69,0x6e,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x6c,0x6f,0x6e,0x67, - 0x20,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x54,0x41,0x47,0x45,0x31,0x5f,0x53,0x49,0x5a,0x45,0x20,0x31,0x34, - 0x37,0x32,0x35,0x33,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x42,0x49,0x54,0x53,0x20, - 0x31,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x31, - 0x20,0x3c,0x3c,0x20,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x42,0x49,0x54,0x53,0x29,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62, - 0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x42,0x57,0x54,0x5f, - 0x47,0x52,0x4f,0x55,0x50,0x5f,0x53,0x49,0x5a,0x45,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20, - 0x42,0x57,0x54,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x64,0x61,0x74,0x61,0x73,0x2c,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x64,0x61,0x74,0x61,0x5f,0x73,0x69,0x7a,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x20,0x64,0x61,0x74,0x61,0x5f,0x73,0x74,0x72,0x69,0x64,0x65,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74, - 0x2a,0x20,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x74,0x6d,0x70, - 0x5f,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x69,0x64,0x3d,0x67, - 0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67, - 0x69,0x64,0x3d,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x69,0x6e,0x74,0x20, - 0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x53,0x49,0x5a,0x45,0x5d,0x5b,0x32,0x5d,0x3b, - 0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x74,0x69,0x64,0x3b,0x20,0x69,0x3c,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47, - 0x5f,0x53,0x4f,0x52,0x54,0x5f,0x53,0x49,0x5a,0x45,0x2a,0x32,0x3b,0x20,0x69,0x2b,0x3d,0x42,0x57,0x54,0x5f,0x47,0x52,0x4f,0x55,0x50,0x5f,0x53,0x49,0x5a,0x45,0x29, - 0x0a,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x69,0x6e,0x74,0x2a,0x29,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x29,0x5b,0x69,0x5d,0x3d,0x30,0x3b,0x0a, - 0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x64,0x61,0x74,0x61,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x28,0x75,0x69,0x6e,0x74,0x36,0x34, - 0x5f,0x74,0x29,0x28,0x67,0x69,0x64,0x29,0x2a,0x64,0x61,0x74,0x61,0x5f,0x73,0x74,0x72,0x69,0x64,0x65,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75, - 0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x69,0x6e,0x70,0x75,0x74,0x3d,0x64,0x61,0x74,0x61,0x73,0x2b,0x64,0x61,0x74,0x61,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2b, - 0x31,0x32,0x38,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x4e,0x3d,0x64,0x61,0x74,0x61,0x5f,0x73,0x69,0x7a,0x65,0x73, - 0x5b,0x67,0x69,0x64,0x5d,0x2b,0x31,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x70,0x3d,0x28,0x5f, - 0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x69,0x6e,0x70,0x75,0x74,0x29,0x3b,0x0a,0x76,0x6f,0x6c,0x61,0x74, - 0x69,0x6c,0x65,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5f,0x61,0x74, - 0x6f,0x6d,0x69,0x63,0x3d,0x28,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29, - 0x28,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x29,0x3b,0x0a,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x2b,0x3d,0x64,0x61,0x74,0x61,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74, - 0x3b,0x0a,0x74,0x6d,0x70,0x5f,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x2b,0x3d,0x64,0x61,0x74,0x61,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a,0x66,0x6f,0x72,0x20, - 0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x74,0x69,0x64,0x3b,0x20,0x69,0x3c,0x4e,0x3b,0x20,0x69,0x2b,0x3d,0x42,0x57,0x54,0x5f,0x47,0x52,0x4f, - 0x55,0x50,0x5f,0x53,0x49,0x5a,0x45,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x64,0x65,0x78,0x3d, - 0x69,0x3e,0x3e,0x33,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x62,0x69,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d, - 0x28,0x69,0x26,0x37,0x29,0x3c,0x3c,0x33,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x61,0x3d,0x70,0x5b,0x69,0x6e,0x64, - 0x65,0x78,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x62,0x3d,0x70,0x5b,0x69,0x6e,0x64,0x65,0x78,0x2b,0x31,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x62, - 0x69,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x3d,0x30,0x29,0x0a,0x62,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x76,0x61,0x6c,0x75, - 0x65,0x3d,0x28,0x61,0x3e,0x3e,0x62,0x69,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x29,0x7c,0x28,0x62,0x3c,0x3c,0x28,0x36,0x34,0x2d,0x62,0x69,0x74,0x5f,0x6f,0x66, - 0x66,0x73,0x65,0x74,0x29,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x74,0x6d,0x70,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x63,0x68,0x61,0x72,0x34,0x20, - 0x6d,0x61,0x73,0x6b,0x3d,0x28,0x75,0x63,0x68,0x61,0x72,0x34,0x29,0x28,0x33,0x2c,0x32,0x2c,0x31,0x2c,0x30,0x29,0x3b,0x0a,0x74,0x6d,0x70,0x2e,0x78,0x3d,0x61,0x73, - 0x5f,0x75,0x69,0x6e,0x74,0x28,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x61,0x73,0x5f,0x75,0x63,0x68,0x61,0x72,0x34,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32, - 0x28,0x76,0x61,0x6c,0x75,0x65,0x29,0x2e,0x79,0x29,0x2c,0x6d,0x61,0x73,0x6b,0x29,0x29,0x3b,0x0a,0x74,0x6d,0x70,0x2e,0x79,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74, - 0x28,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x61,0x73,0x5f,0x75,0x63,0x68,0x61,0x72,0x34,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x76,0x61,0x6c,0x75, - 0x65,0x29,0x2e,0x78,0x29,0x2c,0x6d,0x61,0x73,0x6b,0x29,0x29,0x3b,0x0a,0x76,0x61,0x6c,0x75,0x65,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x74,0x6d,0x70, - 0x29,0x3b,0x0a,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x5b,0x69,0x5d,0x3d,0x28,0x76,0x61,0x6c,0x75,0x65,0x26,0x28,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29, - 0x28,0x2d,0x31,0x29,0x3c,0x3c,0x32,0x31,0x29,0x29,0x7c,0x69,0x3b,0x0a,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x61,0x64,0x64,0x28,0x28,0x76,0x6f,0x6c,0x61,0x74,0x69, - 0x6c,0x65,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x69,0x6e,0x74,0x2a,0x29,0x28,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5f,0x61,0x74,0x6f,0x6d,0x69,0x63, - 0x2b,0x28,0x28,0x28,0x76,0x61,0x6c,0x75,0x65,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x42,0x49,0x54, - 0x53,0x2a,0x32,0x29,0x29,0x26,0x28,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x53,0x49,0x5a,0x45,0x2d,0x31,0x29,0x29,0x3c,0x3c,0x33, - 0x29,0x29,0x2c,0x31,0x29,0x3b,0x0a,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x61,0x64,0x64,0x28,0x28,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x20,0x5f,0x5f,0x6c,0x6f, - 0x63,0x61,0x6c,0x20,0x69,0x6e,0x74,0x2a,0x29,0x28,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5f,0x61,0x74,0x6f,0x6d,0x69,0x63,0x2b,0x28,0x28,0x76,0x61,0x6c,0x75, - 0x65,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x42,0x49,0x54,0x53,0x29,0x29,0x3c,0x3c,0x33,0x29,0x2b, - 0x34,0x29,0x2c,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46, - 0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x69,0x66,0x28,0x74,0x69,0x64,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x74,0x20,0x74,0x30,0x3d,0x63,0x6f,0x75,0x6e,0x74, - 0x65,0x72,0x73,0x5b,0x30,0x5d,0x5b,0x30,0x5d,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x74,0x31,0x3d,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b,0x30,0x5d,0x5b,0x31,0x5d, - 0x3b,0x0a,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b,0x30,0x5d,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x2d,0x31,0x3b,0x0a,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b, - 0x30,0x5d,0x5b,0x31,0x5d,0x3d,0x74,0x31,0x2d,0x31,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x31,0x3b,0x20,0x69, - 0x3c,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x53,0x49,0x5a,0x45,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x74,0x30,0x2b,0x3d, - 0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b,0x69,0x5d,0x5b,0x30,0x5d,0x3b,0x0a,0x74,0x31,0x2b,0x3d,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b,0x69,0x5d,0x5b, - 0x31,0x5d,0x3b,0x0a,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b,0x69,0x5d,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x2d,0x31,0x3b,0x0a,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72, - 0x73,0x5b,0x69,0x5d,0x5b,0x31,0x5d,0x3d,0x74,0x31,0x2d,0x31,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f, - 0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x74,0x69,0x64,0x3b,0x20, - 0x69,0x3c,0x4e,0x3b,0x20,0x69,0x2b,0x3d,0x42,0x57,0x54,0x5f,0x47,0x52,0x4f,0x55,0x50,0x5f,0x53,0x49,0x5a,0x45,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x64,0x61,0x74,0x61,0x3d,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x5b,0x69,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x69,0x6e,0x74,0x20,0x6b,0x3d,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x73,0x75,0x62,0x28,0x28,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x20,0x5f,0x5f,0x6c,0x6f,0x63, - 0x61,0x6c,0x20,0x69,0x6e,0x74,0x2a,0x29,0x28,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5f,0x61,0x74,0x6f,0x6d,0x69,0x63,0x2b,0x28,0x28,0x28,0x64,0x61,0x74,0x61, - 0x3e,0x3e,0x28,0x36,0x34,0x2d,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x42,0x49,0x54,0x53,0x2a,0x32,0x29,0x29,0x26,0x28,0x43,0x4f, - 0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x53,0x49,0x5a,0x45,0x2d,0x31,0x29,0x29,0x3c,0x3c,0x33,0x29,0x29,0x2c,0x31,0x29,0x3b,0x0a,0x74,0x6d, - 0x70,0x5f,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x5b,0x6b,0x5d,0x3d,0x64,0x61,0x74,0x61,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b, - 0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x69,0x66,0x28,0x74,0x69,0x64,0x3d,0x3d,0x30,0x29,0x0a,0x7b, - 0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x4e,0x2d,0x31,0x3b,0x20,0x69,0x3e,0x3d,0x30,0x3b,0x20,0x2d,0x2d,0x69,0x29,0x0a,0x7b,0x0a,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x64,0x61,0x74,0x61,0x3d,0x74,0x6d,0x70,0x5f,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x5b,0x69,0x5d, - 0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x6b,0x3d,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x73,0x75,0x62,0x28,0x28,0x76,0x6f,0x6c,0x61,0x74,0x69, - 0x6c,0x65,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x69,0x6e,0x74,0x2a,0x29,0x28,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5f,0x61,0x74,0x6f,0x6d,0x69,0x63, - 0x2b,0x28,0x28,0x64,0x61,0x74,0x61,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x42,0x49,0x54,0x53,0x29, - 0x29,0x3c,0x3c,0x33,0x29,0x2b,0x34,0x29,0x2c,0x31,0x29,0x3b,0x0a,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x5b,0x6b,0x5d,0x3d,0x64,0x61,0x74,0x61,0x3b,0x0a,0x7d,0x0a, - 0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x4e,0x31,0x3d,0x4e,0x2d,0x31,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, - 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x33,0x32,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x69,0x3d,0x74,0x69,0x64,0x3b,0x20,0x69,0x3c,0x4e,0x31,0x3b,0x20,0x69,0x2b,0x3d,0x42,0x57,0x54,0x5f,0x47,0x52,0x4f,0x55,0x50,0x5f,0x53,0x49,0x5a,0x45, - 0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x69,0x6e,0x64,0x69,0x63,0x65,0x73, - 0x33,0x32,0x5b,0x69,0x2a,0x32,0x2b,0x31,0x5d,0x3e,0x3e,0x28,0x33,0x32,0x2d,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x42,0x49,0x54, - 0x53,0x2a,0x32,0x29,0x3b,0x0a,0x69,0x66,0x28,0x76,0x61,0x6c,0x75,0x65,0x21,0x3d,0x28,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x33,0x32,0x5b,0x69,0x2a,0x32,0x2b,0x33, - 0x5d,0x3e,0x3e,0x28,0x33,0x32,0x2d,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x42,0x49,0x54,0x53,0x2a,0x32,0x29,0x29,0x29,0x0a,0x63, - 0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x69,0x66,0x28,0x28,0x69,0x3e,0x30,0x29,0x26,0x26,0x28,0x28,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x33,0x32,0x5b,0x69, - 0x2a,0x32,0x2d,0x31,0x5d,0x3e,0x3e,0x28,0x33,0x32,0x2d,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x42,0x49,0x54,0x53,0x2a,0x32,0x29, - 0x29,0x3d,0x3d,0x76,0x61,0x6c,0x75,0x65,0x29,0x29,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x31, - 0x3d,0x69,0x2b,0x32,0x3b,0x0a,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x28,0x69,0x31,0x3c,0x4e,0x29,0x26,0x26,0x28,0x28,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x33,0x32, - 0x5b,0x69,0x31,0x2a,0x32,0x2b,0x31,0x5d,0x3e,0x3e,0x28,0x33,0x32,0x2d,0x43,0x4f,0x55,0x4e,0x54,0x49,0x4e,0x47,0x5f,0x53,0x4f,0x52,0x54,0x5f,0x42,0x49,0x54,0x53, - 0x2a,0x32,0x29,0x29,0x3d,0x3d,0x76,0x61,0x6c,0x75,0x65,0x29,0x29,0x0a,0x2b,0x2b,0x69,0x31,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x6a,0x3d,0x69,0x3b,0x20,0x6a,0x3c,0x69,0x31,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x74,0x3d,0x69, - 0x6e,0x64,0x69,0x63,0x65,0x73,0x5b,0x6a,0x5d,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6b,0x3d,0x6a,0x2b,0x31,0x3b,0x20, - 0x6b,0x3c,0x69,0x31,0x3b,0x20,0x2b,0x2b,0x6b,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x74,0x3e,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x5b,0x6b,0x5d,0x29,0x0a,0x7b,0x0a, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x74,0x31,0x3d,0x74,0x3b,0x0a,0x74,0x3d,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x5b,0x6b, - 0x5d,0x3b,0x0a,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x5b,0x6b,0x5d,0x3d,0x74,0x31,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x5b,0x6a,0x5d, - 0x3d,0x74,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46, - 0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x2d,0x2d,0x69,0x6e,0x70,0x75,0x74,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74, - 0x2a,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x28,0x74,0x6d,0x70, - 0x5f,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x74,0x69,0x64,0x3b,0x20,0x69,0x3c,0x3d,0x4e,0x3b, - 0x20,0x69,0x2b,0x3d,0x42,0x57,0x54,0x5f,0x47,0x52,0x4f,0x55,0x50,0x5f,0x53,0x49,0x5a,0x45,0x29,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x69,0x5d,0x3d,0x69,0x6e, - 0x70,0x75,0x74,0x5b,0x69,0x6e,0x64,0x69,0x63,0x65,0x73,0x5b,0x69,0x5d,0x26,0x28,0x28,0x31,0x3c,0x3c,0x32,0x31,0x29,0x2d,0x31,0x29,0x5d,0x3b,0x0a,0x7d,0x0a,0x5f, - 0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x66,0x69,0x6c,0x74,0x65,0x72,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x6f,0x6e, - 0x63,0x65,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x62,0x77,0x74,0x5f,0x6d,0x61,0x78,0x5f,0x73,0x69,0x7a,0x65,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, - 0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x68,0x61,0x73,0x68,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, - 0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x66,0x69,0x6c,0x74,0x65,0x72,0x65,0x64,0x5f,0x68,0x61,0x73,0x68,0x65,0x73,0x29,0x0a,0x7b,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62, - 0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x2a,0x20,0x68,0x61,0x73,0x68,0x3d,0x68,0x61,0x73,0x68,0x65,0x73,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x2a,0x28,0x33,0x32,0x2f,0x73,0x69,0x7a, - 0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73, - 0x74,0x61,0x67,0x65,0x32,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x53,0x54,0x41,0x47,0x45,0x31,0x5f,0x53,0x49,0x5a,0x45,0x2b,0x28,0x2a,0x68,0x61,0x73,0x68,0x26,0x30,0x78, - 0x66,0x66,0x66,0x66,0x66,0x29,0x3b,0x0a,0x69,0x66,0x28,0x73,0x74,0x61,0x67,0x65,0x32,0x5f,0x73,0x69,0x7a,0x65,0x3c,0x62,0x77,0x74,0x5f,0x6d,0x61,0x78,0x5f,0x73, - 0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x69,0x6e,0x64,0x65,0x78,0x3d,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x61,0x64, - 0x64,0x28,0x28,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x20,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x69,0x6e,0x74,0x2a,0x29,0x28,0x66,0x69,0x6c,0x74,0x65, - 0x72,0x65,0x64,0x5f,0x68,0x61,0x73,0x68,0x65,0x73,0x29,0x2c,0x31,0x29,0x2a,0x28,0x33,0x36,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x29,0x29,0x2b,0x31,0x3b,0x0a,0x66,0x69,0x6c,0x74,0x65,0x72,0x65,0x64,0x5f,0x68,0x61,0x73,0x68,0x65,0x73,0x5b,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3d,0x6e, - 0x6f,0x6e,0x63,0x65,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x38, - 0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x66,0x69, - 0x6c,0x74,0x65,0x72,0x65,0x64,0x5f,0x68,0x61,0x73,0x68,0x65,0x73,0x5b,0x69,0x6e,0x64,0x65,0x78,0x2b,0x69,0x2b,0x31,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x69,0x5d, - 0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x70,0x72,0x65,0x70,0x61,0x72,0x65,0x5f,0x62,0x61,0x74,0x63, - 0x68,0x32,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x68,0x61,0x73,0x68,0x65,0x73,0x2c,0x5f,0x5f,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x66,0x69,0x6c,0x74,0x65,0x72,0x65,0x64,0x5f,0x68,0x61,0x73,0x68,0x65,0x73,0x2c, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x64,0x61,0x74,0x61,0x5f,0x73,0x69,0x7a,0x65,0x73,0x29,0x0a,0x7b, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x4e,0x3d,0x66,0x69,0x6c, - 0x74,0x65,0x72,0x65,0x64,0x5f,0x68,0x61,0x73,0x68,0x65,0x73,0x5b,0x30,0x5d,0x2d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x28, - 0x30,0x29,0x3b,0x0a,0x69,0x66,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x3d,0x3d,0x30,0x29,0x0a,0x66,0x69,0x6c,0x74,0x65,0x72,0x65,0x64,0x5f,0x68,0x61, - 0x73,0x68,0x65,0x73,0x5b,0x30,0x5d,0x3d,0x4e,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x68,0x61, - 0x73,0x68,0x3d,0x68,0x61,0x73,0x68,0x65,0x73,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x2a,0x38,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x66,0x69,0x6c,0x74,0x65,0x72,0x65,0x64,0x5f,0x68,0x61,0x73,0x68,0x3d,0x66,0x69,0x6c,0x74,0x65,0x72,0x65,0x64, - 0x5f,0x68,0x61,0x73,0x68,0x65,0x73,0x2b,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x2b,0x4e,0x29,0x2a,0x39,0x2b,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x74,0x61,0x67,0x65,0x32,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x53,0x54,0x41,0x47,0x45,0x31,0x5f,0x53,0x49,0x5a, - 0x45,0x2b,0x28,0x66,0x69,0x6c,0x74,0x65,0x72,0x65,0x64,0x5f,0x68,0x61,0x73,0x68,0x5b,0x31,0x5d,0x26,0x30,0x78,0x66,0x66,0x66,0x66,0x66,0x29,0x3b,0x0a,0x64,0x61, - 0x74,0x61,0x5f,0x73,0x69,0x7a,0x65,0x73,0x5b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x5d,0x3d,0x73,0x74,0x61,0x67,0x65,0x32,0x5f,0x73,0x69,0x7a,0x65,0x3b, - 0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x38,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, - 0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x68,0x61,0x73,0x68,0x5b,0x69,0x5d,0x3d,0x66,0x69,0x6c,0x74,0x65,0x72,0x65,0x64,0x5f, - 0x68,0x61,0x73,0x68,0x5b,0x69,0x2b,0x31,0x5d,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x66,0x69,0x6e,0x64,0x5f, - 0x73,0x68,0x61,0x72,0x65,0x73,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20, - 0x68,0x61,0x73,0x68,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20, - 0x66,0x69,0x6c,0x74,0x65,0x72,0x65,0x64,0x5f,0x68,0x61,0x73,0x68,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x2c, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x73,0x68,0x61,0x72,0x65,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f, - 0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x69,0x66,0x28,0x68,0x61,0x73,0x68,0x65,0x73,0x5b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65, - 0x78,0x2a,0x34,0x2b,0x33,0x5d,0x3c,0x74,0x61,0x72,0x67,0x65,0x74,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, - 0x69,0x64,0x78,0x3d,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x69,0x6e,0x63,0x28,0x73,0x68,0x61,0x72,0x65,0x73,0x2b,0x30,0x78,0x46,0x46,0x29,0x3b,0x0a,0x69,0x66,0x28, - 0x69,0x64,0x78,0x3c,0x30,0x78,0x46,0x46,0x29,0x0a,0x73,0x68,0x61,0x72,0x65,0x73,0x5b,0x69,0x64,0x78,0x5d,0x3d,0x66,0x69,0x6c,0x74,0x65,0x72,0x65,0x64,0x5f,0x68, - 0x61,0x73,0x68,0x65,0x73,0x5b,0x28,0x66,0x69,0x6c,0x74,0x65,0x72,0x65,0x64,0x5f,0x68,0x61,0x73,0x68,0x65,0x73,0x5b,0x30,0x5d,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c, - 0x5f,0x69,0x6e,0x64,0x65,0x78,0x29,0x2a,0x39,0x2b,0x31,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x54,0x41,0x54,0x45, - 0x28,0x76,0x2c,0x63,0x29,0x20,0x28,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x76,0x2c,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x63,0x29,0x29,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x58,0x4f,0x52,0x28,0x76,0x2c,0x77,0x29,0x20,0x28,0x28,0x76,0x29,0x20,0x5e,0x20,0x28,0x77,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69, - 0x6e,0x65,0x20,0x50,0x4c,0x55,0x53,0x28,0x76,0x2c,0x77,0x29,0x20,0x28,0x28,0x76,0x29,0x20,0x2b,0x20,0x28,0x77,0x29,0x29,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69, - 0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x53,0x41,0x4c, - 0x53,0x41,0x32,0x30,0x5f,0x47,0x52,0x4f,0x55,0x50,0x5f,0x53,0x49,0x5a,0x45,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20, - 0x76,0x6f,0x69,0x64,0x20,0x53,0x61,0x6c,0x73,0x61,0x32,0x30,0x5f,0x58,0x4f,0x52,0x4b,0x65,0x79,0x53,0x74,0x72,0x65,0x61,0x6d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62, - 0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x6b,0x65,0x79,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, - 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, - 0x33,0x32,0x5f,0x74,0x2a,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6f,0x75,0x74,0x70, - 0x75,0x74,0x5f,0x73,0x74,0x72,0x69,0x64,0x65,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x3d,0x67,0x65, - 0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x3d, - 0x67,0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20, - 0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x67,0x2a,0x28,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x6f,0x75,0x74,0x70,0x75, - 0x74,0x5f,0x73,0x74,0x72,0x69,0x64,0x65,0x29,0x2b,0x31,0x32,0x38,0x3b,0x0a,0x7b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x2a,0x20,0x70,0x3d,0x6f,0x75,0x74,0x70,0x75,0x74,0x73,0x2b,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2d,0x31,0x32,0x38, - 0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x69,0x3d,0x74,0x3b,0x20,0x69,0x3c,0x31,0x32,0x38,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x3b,0x20,0x69, - 0x2b,0x3d,0x53,0x41,0x4c,0x53,0x41,0x32,0x30,0x5f,0x47,0x52,0x4f,0x55,0x50,0x5f,0x53,0x49,0x5a,0x45,0x29,0x0a,0x70,0x5b,0x69,0x5d,0x3d,0x30,0x3b,0x0a,0x7d,0x0a, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x6b,0x3d,0x6b,0x65,0x79,0x73,0x2b, - 0x67,0x2a,0x38,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x3d,0x6f, - 0x75,0x74,0x70,0x75,0x74,0x73,0x2b,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2b,0x28,0x74,0x2a,0x36,0x34,0x29,0x29,0x2f,0x73,0x69, - 0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6f, - 0x75,0x74,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x73,0x5b,0x67,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x31,0x3d,0x6b,0x5b,0x30,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x20,0x6a,0x32,0x3d,0x6b,0x5b,0x31,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x33,0x3d,0x6b,0x5b, - 0x32,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x34,0x3d,0x6b,0x5b,0x33,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x31,0x31,0x3d,0x6b,0x5b,0x34,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x20,0x6a,0x31,0x32,0x3d,0x6b,0x5b,0x35,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x31,0x33, - 0x3d,0x6b,0x5b,0x36,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x31,0x34,0x3d,0x6b,0x5b,0x37,0x5d,0x3b,0x0a, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x30,0x3d,0x30,0x78,0x36,0x31,0x37,0x30,0x37,0x38,0x36,0x35,0x55,0x3b,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x35,0x3d,0x30,0x78,0x33,0x33,0x32,0x30,0x36,0x34,0x36,0x45,0x55,0x3b,0x0a,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x31,0x30,0x3d,0x30,0x78,0x37,0x39,0x36,0x32,0x32,0x44,0x33,0x32,0x55,0x3b,0x0a,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x31,0x35,0x3d,0x30,0x78,0x36,0x42,0x32,0x30,0x36,0x35,0x37,0x34,0x55,0x3b,0x0a,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x36,0x3d,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x6a,0x37,0x3d,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x38,0x3d,0x30,0x3b,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x39,0x3d,0x30,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, - 0x69,0x3d,0x74,0x2a,0x36,0x34,0x3b,0x20,0x69,0x3c,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x3b,0x20,0x69,0x2b,0x3d,0x53,0x41,0x4c,0x53,0x41,0x32, - 0x30,0x5f,0x47,0x52,0x4f,0x55,0x50,0x5f,0x53,0x49,0x5a,0x45,0x2a,0x36,0x34,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x6a,0x38,0x5f,0x31,0x3d,0x6a,0x38,0x2b,0x28,0x69,0x2f,0x36,0x34,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x30,0x3d,0x6a,0x30, - 0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x31,0x3d,0x6a,0x31,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x32,0x3d,0x6a,0x32, - 0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x33,0x3d,0x6a,0x33,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x34,0x3d,0x6a,0x34, - 0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x35,0x3d,0x6a,0x35,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x36,0x3d,0x6a,0x36, - 0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x37,0x3d,0x6a,0x37,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x38,0x3d,0x6a,0x38, - 0x5f,0x31,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x39,0x3d,0x6a,0x39,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x31,0x30, - 0x3d,0x6a,0x31,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x31,0x31,0x3d,0x6a,0x31,0x31,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, - 0x20,0x78,0x31,0x32,0x3d,0x6a,0x31,0x32,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x31,0x33,0x3d,0x6a,0x31,0x33,0x3b,0x0a,0x75,0x69,0x6e,0x74, - 0x33,0x32,0x5f,0x74,0x20,0x78,0x31,0x34,0x3d,0x6a,0x31,0x34,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x31,0x35,0x3d,0x6a,0x31,0x35,0x3b,0x0a, - 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x35,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a, - 0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x31,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x7b,0x0a,0x78,0x34,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x34,0x2c,0x52,0x4f,0x54,0x41, - 0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x30,0x2c,0x78,0x31,0x32,0x29,0x2c,0x37,0x29,0x29,0x3b,0x0a,0x78,0x38,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x38, - 0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x34,0x2c,0x78,0x30,0x29,0x2c,0x39,0x29,0x29,0x3b,0x0a,0x78,0x31,0x32,0x3d,0x58,0x4f, - 0x52,0x28,0x78,0x31,0x32,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x38,0x2c,0x78,0x34,0x29,0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a, - 0x78,0x30,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x30,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x32,0x2c,0x78,0x38,0x29,0x2c,0x31, - 0x38,0x29,0x29,0x3b,0x0a,0x78,0x39,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x39,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x35,0x2c, - 0x78,0x31,0x29,0x2c,0x37,0x29,0x29,0x3b,0x0a,0x78,0x31,0x33,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x33,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53, - 0x28,0x20,0x78,0x39,0x2c,0x78,0x35,0x29,0x2c,0x39,0x29,0x29,0x3b,0x0a,0x78,0x31,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x31,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28, - 0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x33,0x2c,0x78,0x39,0x29,0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a,0x78,0x35,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x35,0x2c,0x52,0x4f, - 0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x31,0x2c,0x78,0x31,0x33,0x29,0x2c,0x31,0x38,0x29,0x29,0x3b,0x0a,0x78,0x31,0x34,0x3d,0x58,0x4f,0x52, - 0x28,0x78,0x31,0x34,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x30,0x2c,0x78,0x36,0x29,0x2c,0x37,0x29,0x29,0x3b,0x0a,0x78,0x32, - 0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x32,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x34,0x2c,0x78,0x31,0x30,0x29,0x2c,0x39,0x29, - 0x29,0x3b,0x0a,0x78,0x36,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x36,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x32,0x2c,0x78,0x31, - 0x34,0x29,0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a,0x78,0x31,0x30,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x30,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53, - 0x28,0x20,0x78,0x36,0x2c,0x78,0x32,0x29,0x2c,0x31,0x38,0x29,0x29,0x3b,0x0a,0x78,0x33,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x33,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45, - 0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x35,0x2c,0x78,0x31,0x31,0x29,0x2c,0x37,0x29,0x29,0x3b,0x0a,0x78,0x37,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x37,0x2c,0x52, - 0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x33,0x2c,0x78,0x31,0x35,0x29,0x2c,0x39,0x29,0x29,0x3b,0x0a,0x78,0x31,0x31,0x3d,0x58,0x4f,0x52, - 0x28,0x78,0x31,0x31,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x37,0x2c,0x78,0x33,0x29,0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a,0x78, - 0x31,0x35,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x35,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x31,0x2c,0x78,0x37,0x29,0x2c,0x31, - 0x38,0x29,0x29,0x3b,0x0a,0x78,0x31,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x31,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x30,0x2c, - 0x78,0x33,0x29,0x2c,0x37,0x29,0x29,0x3b,0x0a,0x78,0x32,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x32,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28, - 0x20,0x78,0x31,0x2c,0x78,0x30,0x29,0x2c,0x39,0x29,0x29,0x3b,0x0a,0x78,0x33,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x33,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50, - 0x4c,0x55,0x53,0x28,0x20,0x78,0x32,0x2c,0x78,0x31,0x29,0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a,0x78,0x30,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x30,0x2c,0x52,0x4f,0x54, - 0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x33,0x2c,0x78,0x32,0x29,0x2c,0x31,0x38,0x29,0x29,0x3b,0x0a,0x78,0x36,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78, - 0x36,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x35,0x2c,0x78,0x34,0x29,0x2c,0x37,0x29,0x29,0x3b,0x0a,0x78,0x37,0x3d,0x58,0x4f, - 0x52,0x28,0x20,0x78,0x37,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x36,0x2c,0x78,0x35,0x29,0x2c,0x39,0x29,0x29,0x3b,0x0a,0x78, - 0x34,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x34,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x37,0x2c,0x78,0x36,0x29,0x2c,0x31,0x33, - 0x29,0x29,0x3b,0x0a,0x78,0x35,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x35,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x34,0x2c,0x78, - 0x37,0x29,0x2c,0x31,0x38,0x29,0x29,0x3b,0x0a,0x78,0x31,0x31,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x31,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53, - 0x28,0x78,0x31,0x30,0x2c,0x78,0x39,0x29,0x2c,0x37,0x29,0x29,0x3b,0x0a,0x78,0x38,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x38,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28, - 0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x31,0x2c,0x78,0x31,0x30,0x29,0x2c,0x39,0x29,0x29,0x3b,0x0a,0x78,0x39,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x39,0x2c,0x52,0x4f, - 0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x38,0x2c,0x78,0x31,0x31,0x29,0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a,0x78,0x31,0x30,0x3d,0x58,0x4f,0x52, - 0x28,0x78,0x31,0x30,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x39,0x2c,0x78,0x38,0x29,0x2c,0x31,0x38,0x29,0x29,0x3b,0x0a,0x78, - 0x31,0x32,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x32,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x35,0x2c,0x78,0x31,0x34,0x29,0x2c, - 0x37,0x29,0x29,0x3b,0x0a,0x78,0x31,0x33,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x33,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x32, - 0x2c,0x78,0x31,0x35,0x29,0x2c,0x39,0x29,0x29,0x3b,0x0a,0x78,0x31,0x34,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x34,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c, - 0x55,0x53,0x28,0x78,0x31,0x33,0x2c,0x78,0x31,0x32,0x29,0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a,0x78,0x31,0x35,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x35,0x2c,0x52,0x4f, - 0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x34,0x2c,0x78,0x31,0x33,0x29,0x2c,0x31,0x38,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x6f,0x75,0x74,0x70,0x75, - 0x74,0x5b,0x30,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x30,0x2c,0x6a,0x30,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x31,0x5d,0x3d,0x50,0x4c,0x55,0x53, - 0x28,0x78,0x31,0x2c,0x6a,0x31,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x32,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x32,0x2c,0x6a,0x32,0x29,0x3b,0x0a, - 0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x33,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x33,0x2c,0x6a,0x33,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x34,0x5d, - 0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x34,0x2c,0x6a,0x34,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x35,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x35,0x2c, - 0x6a,0x35,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x36,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x36,0x2c,0x6a,0x36,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70, - 0x75,0x74,0x5b,0x37,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x37,0x2c,0x6a,0x37,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x38,0x5d,0x3d,0x50,0x4c,0x55, - 0x53,0x28,0x78,0x38,0x2c,0x6a,0x38,0x5f,0x31,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x39,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x39,0x2c,0x6a,0x39, - 0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x31,0x30,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x30,0x2c,0x6a,0x31,0x30,0x29,0x3b,0x0a,0x6f,0x75,0x74, - 0x70,0x75,0x74,0x5b,0x31,0x31,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x31,0x2c,0x6a,0x31,0x31,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x31,0x32, - 0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x32,0x2c,0x6a,0x31,0x32,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x31,0x33,0x5d,0x3d,0x50,0x4c,0x55,0x53, - 0x28,0x78,0x31,0x33,0x2c,0x6a,0x31,0x33,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x31,0x34,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x34,0x2c,0x6a, - 0x31,0x34,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x31,0x35,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x35,0x2c,0x6a,0x31,0x35,0x29,0x3b,0x0a,0x6f, - 0x75,0x74,0x70,0x75,0x74,0x2b,0x3d,0x28,0x53,0x41,0x4c,0x53,0x41,0x32,0x30,0x5f,0x47,0x52,0x4f,0x55,0x50,0x5f,0x53,0x49,0x5a,0x45,0x2a,0x36,0x34,0x29,0x2f,0x73, - 0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x47, - 0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x69,0x66,0x28,0x74,0x3c,0x31,0x36,0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x70,0x3d,0x6f,0x75,0x74,0x70,0x75,0x74,0x73,0x2b,0x28,0x6f,0x75,0x74,0x70,0x75, - 0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2b,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x2b,0x33,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x3b,0x0a,0x70,0x5b,0x74,0x5d,0x3d,0x30,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x28,0x74,0x3d,0x3d,0x30,0x29,0x26,0x26,0x28, - 0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x26,0x33,0x29,0x29,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x73,0x5b,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f, - 0x6f,0x66,0x66,0x73,0x65,0x74,0x2b,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x29,0x5d,0x20,0x26,0x3d,0x20,0x30,0x78,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x55,0x3e,0x3e,0x28,0x28,0x34,0x2d,0x28,0x6f,0x75,0x74,0x70,0x75, - 0x74,0x5f,0x73,0x69,0x7a,0x65,0x26,0x33,0x29,0x29,0x3c,0x3c,0x33,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x53, - 0x20,0x32,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x36,0x34,0x28,0x61,0x2c,0x62,0x2c,0x63,0x29,0x20,0x28,0x28,0x28,0x61,0x29,0x20,0x3c,0x3c,0x20, - 0x62,0x29,0x20,0x7c,0x20,0x28,0x28,0x61,0x29,0x20,0x3e,0x3e,0x20,0x63,0x29,0x29,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x63,0x5b,0x32,0x5d,0x5b,0x52,0x4f,0x55,0x4e,0x44,0x53,0x5d,0x3d,0x7b,0x0a,0x7b,0x30,0x78,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38, - 0x30,0x38,0x32,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38, - 0x30,0x38,0x42,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x38,0x31,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38, - 0x30,0x30,0x39,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x38,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38, - 0x30,0x30,0x39,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x38,0x42,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x38,0x42,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x33,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38, - 0x30,0x30,0x32,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x41,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30, - 0x30,0x30,0x41,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x38,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30, - 0x30,0x30,0x31,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x38,0x55,0x4c,0x7d,0x2c,0x0a,0x7b,0x30,0x55, - 0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x0a,0x30, - 0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x0a, - 0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x7d, - 0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x5b,0x32,0x35,0x5d,0x5b, - 0x32,0x5d,0x3d,0x7b,0x0a,0x7b,0x20,0x30,0x2c,0x36,0x34,0x7d,0x2c,0x7b,0x34,0x34,0x2c,0x32,0x30,0x7d,0x2c,0x7b,0x34,0x33,0x2c,0x32,0x31,0x7d,0x2c,0x7b,0x32,0x31, - 0x2c,0x34,0x33,0x7d,0x2c,0x7b,0x31,0x34,0x2c,0x35,0x30,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x2c,0x36,0x33,0x7d,0x2c,0x7b,0x20,0x36,0x2c,0x35,0x38,0x7d,0x2c,0x7b,0x32, - 0x35,0x2c,0x33,0x39,0x7d,0x2c,0x7b,0x20,0x38,0x2c,0x35,0x36,0x7d,0x2c,0x7b,0x31,0x38,0x2c,0x34,0x36,0x7d,0x2c,0x0a,0x7b,0x36,0x32,0x2c,0x32,0x7d,0x2c,0x7b,0x35, - 0x35,0x2c,0x39,0x7d,0x2c,0x7b,0x33,0x39,0x2c,0x32,0x35,0x7d,0x2c,0x7b,0x34,0x31,0x2c,0x32,0x33,0x7d,0x2c,0x7b,0x20,0x32,0x2c,0x36,0x32,0x7d,0x2c,0x0a,0x7b,0x32, - 0x38,0x2c,0x33,0x36,0x7d,0x2c,0x7b,0x32,0x30,0x2c,0x34,0x34,0x7d,0x2c,0x7b,0x20,0x33,0x2c,0x36,0x31,0x7d,0x2c,0x7b,0x34,0x35,0x2c,0x31,0x39,0x7d,0x2c,0x7b,0x36, - 0x31,0x2c,0x33,0x7d,0x2c,0x0a,0x7b,0x32,0x37,0x2c,0x33,0x37,0x7d,0x2c,0x7b,0x33,0x36,0x2c,0x32,0x38,0x7d,0x2c,0x7b,0x31,0x30,0x2c,0x35,0x34,0x7d,0x2c,0x7b,0x31, - 0x35,0x2c,0x34,0x39,0x7d,0x2c,0x7b,0x35,0x36,0x2c,0x38,0x7d,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x69,0x6e,0x74,0x20,0x61,0x5b,0x32,0x35,0x5d,0x3d,0x7b,0x0a,0x30,0x2c,0x36,0x2c,0x31,0x32,0x2c,0x31,0x38,0x2c,0x32,0x34,0x2c,0x0a,0x31,0x2c,0x37,0x2c,0x31, - 0x33,0x2c,0x31,0x39,0x2c,0x32,0x30,0x2c,0x0a,0x32,0x2c,0x38,0x2c,0x31,0x34,0x2c,0x31,0x35,0x2c,0x32,0x31,0x2c,0x0a,0x33,0x2c,0x39,0x2c,0x31,0x30,0x2c,0x31,0x36, - 0x2c,0x32,0x32,0x2c,0x0a,0x34,0x2c,0x35,0x2c,0x31,0x31,0x2c,0x31,0x37,0x2c,0x32,0x33,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x62,0x5b,0x32,0x35,0x5d,0x3d,0x7b,0x0a,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x0a,0x31,0x2c,0x32, - 0x2c,0x33,0x2c,0x34,0x2c,0x30,0x2c,0x0a,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x30,0x2c,0x31,0x2c,0x0a,0x33,0x2c,0x34,0x2c,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x0a,0x34,0x2c, - 0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20, - 0x63,0x5b,0x32,0x35,0x5d,0x5b,0x33,0x5d,0x3d,0x7b,0x0a,0x7b,0x20,0x30,0x2c,0x31,0x2c,0x32,0x7d,0x2c,0x7b,0x20,0x31,0x2c,0x32,0x2c,0x33,0x7d,0x2c,0x7b,0x20,0x32, - 0x2c,0x33,0x2c,0x34,0x7d,0x2c,0x7b,0x20,0x33,0x2c,0x34,0x2c,0x30,0x7d,0x2c,0x7b,0x20,0x34,0x2c,0x30,0x2c,0x31,0x7d,0x2c,0x0a,0x7b,0x20,0x35,0x2c,0x36,0x2c,0x37, - 0x7d,0x2c,0x7b,0x20,0x36,0x2c,0x37,0x2c,0x38,0x7d,0x2c,0x7b,0x20,0x37,0x2c,0x38,0x2c,0x39,0x7d,0x2c,0x7b,0x20,0x38,0x2c,0x39,0x2c,0x35,0x7d,0x2c,0x7b,0x20,0x39, - 0x2c,0x35,0x2c,0x36,0x7d,0x2c,0x0a,0x7b,0x31,0x30,0x2c,0x31,0x31,0x2c,0x31,0x32,0x7d,0x2c,0x7b,0x31,0x31,0x2c,0x31,0x32,0x2c,0x31,0x33,0x7d,0x2c,0x7b,0x31,0x32, - 0x2c,0x31,0x33,0x2c,0x31,0x34,0x7d,0x2c,0x7b,0x31,0x33,0x2c,0x31,0x34,0x2c,0x31,0x30,0x7d,0x2c,0x7b,0x31,0x34,0x2c,0x31,0x30,0x2c,0x31,0x31,0x7d,0x2c,0x0a,0x7b, - 0x31,0x35,0x2c,0x31,0x36,0x2c,0x31,0x37,0x7d,0x2c,0x7b,0x31,0x36,0x2c,0x31,0x37,0x2c,0x31,0x38,0x7d,0x2c,0x7b,0x31,0x37,0x2c,0x31,0x38,0x2c,0x31,0x39,0x7d,0x2c, - 0x7b,0x31,0x38,0x2c,0x31,0x39,0x2c,0x31,0x35,0x7d,0x2c,0x7b,0x31,0x39,0x2c,0x31,0x35,0x2c,0x31,0x36,0x7d,0x2c,0x0a,0x7b,0x32,0x30,0x2c,0x32,0x31,0x2c,0x32,0x32, - 0x7d,0x2c,0x7b,0x32,0x31,0x2c,0x32,0x32,0x2c,0x32,0x33,0x7d,0x2c,0x7b,0x32,0x32,0x2c,0x32,0x33,0x2c,0x32,0x34,0x7d,0x2c,0x7b,0x32,0x33,0x2c,0x32,0x34,0x2c,0x32, - 0x30,0x7d,0x2c,0x7b,0x32,0x34,0x2c,0x32,0x30,0x2c,0x32,0x31,0x7d,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x69,0x6e,0x74,0x20,0x64,0x5b,0x32,0x35,0x5d,0x3d,0x7b,0x0a,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x0a,0x31,0x30,0x2c,0x31,0x31,0x2c,0x31, - 0x32,0x2c,0x31,0x33,0x2c,0x31,0x34,0x2c,0x0a,0x32,0x30,0x2c,0x32,0x31,0x2c,0x32,0x32,0x2c,0x32,0x33,0x2c,0x32,0x34,0x2c,0x0a,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x38, - 0x2c,0x39,0x2c,0x0a,0x31,0x35,0x2c,0x31,0x36,0x2c,0x31,0x37,0x2c,0x31,0x38,0x2c,0x31,0x39,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74, - 0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x33,0x32,0x2c,0x31,0x2c,0x31, - 0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x73,0x68,0x61,0x33,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x69,0x6e,0x70,0x75,0x74,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x20,0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x74,0x72,0x69,0x64,0x65,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34, - 0x5f,0x74,0x2a,0x20,0x68,0x61,0x73,0x68,0x65,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x3d,0x67, - 0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67, - 0x3d,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x69,0x66,0x28,0x74,0x3e,0x3d,0x32,0x35,0x29,0x0a,0x72,0x65,0x74,0x75, - 0x72,0x6e,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x3d,0x74,0x20,0x25,0x20,0x35,0x3b,0x0a,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x69,0x6e,0x70,0x75,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x36,0x34, - 0x5f,0x74,0x29,0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x74,0x72,0x69,0x64,0x65,0x29,0x2a,0x67,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e, - 0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x69,0x6e,0x70,0x75,0x74,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a, - 0x29,0x28,0x69,0x6e,0x70,0x75,0x74,0x73,0x2b,0x69,0x6e,0x70,0x75,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, - 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x73,0x5b,0x67,0x5d, - 0x2b,0x31,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x41,0x5b,0x32,0x35,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f, - 0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x43,0x5b,0x32,0x35,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, - 0x36,0x34,0x5f,0x74,0x20,0x44,0x5b,0x32,0x35,0x5d,0x3b,0x0a,0x41,0x5b,0x74,0x5d,0x3d,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x20,0x77,0x6f,0x72,0x64,0x73,0x3d,0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36, - 0x34,0x5f,0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x61,0x69,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x69, - 0x6e,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x20,0x25,0x20,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x75,0x69, - 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x77,0x6f,0x72,0x64,0x49,0x6e,0x64,0x65,0x78,0x3d,0x30,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x77,0x6f,0x72,0x64,0x73,0x3b,0x20,0x2b,0x2b,0x69,0x2c,0x2b,0x2b,0x69,0x6e,0x70,0x75,0x74,0x29,0x0a,0x7b,0x0a,0x41, - 0x5b,0x77,0x6f,0x72,0x64,0x49,0x6e,0x64,0x65,0x78,0x5d,0x20,0x5e,0x3d,0x20,0x2a,0x69,0x6e,0x70,0x75,0x74,0x3b,0x0a,0x2b,0x2b,0x77,0x6f,0x72,0x64,0x49,0x6e,0x64, - 0x65,0x78,0x3b,0x0a,0x69,0x66,0x28,0x77,0x6f,0x72,0x64,0x49,0x6e,0x64,0x65,0x78,0x3d,0x3d,0x31,0x37,0x29,0x0a,0x7b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20, - 0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x52,0x4f,0x55,0x4e,0x44,0x53,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x52,0x4f, - 0x55,0x4e,0x44,0x53,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x43,0x5b,0x74,0x5d,0x3d,0x41,0x5b,0x73,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x35,0x5d,0x5e,0x41,0x5b, - 0x73,0x2b,0x31,0x30,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x31,0x35,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x32,0x30,0x5d,0x3b,0x0a,0x44,0x5b,0x74,0x5d,0x3d,0x43,0x5b,0x62,0x5b, - 0x32,0x30,0x2b,0x73,0x5d,0x5d,0x5e,0x52,0x36,0x34,0x28,0x43,0x5b,0x62,0x5b,0x35,0x2b,0x73,0x5d,0x5d,0x2c,0x31,0x2c,0x36,0x33,0x29,0x3b,0x0a,0x43,0x5b,0x74,0x5d, - 0x3d,0x52,0x36,0x34,0x28,0x41,0x5b,0x61,0x5b,0x74,0x5d,0x5d,0x5e,0x44,0x5b,0x62,0x5b,0x74,0x5d,0x5d,0x2c,0x72,0x6f,0x5b,0x74,0x5d,0x5b,0x30,0x5d,0x2c,0x72,0x6f, - 0x5b,0x74,0x5d,0x5b,0x31,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x64,0x5b,0x74,0x5d,0x5d,0x3d,0x43,0x5b,0x63,0x5b,0x74,0x5d,0x5b,0x30,0x5d,0x5d,0x5e,0x28,0x28,0x7e,0x43, - 0x5b,0x63,0x5b,0x74,0x5d,0x5b,0x31,0x5d,0x5d,0x29,0x26,0x43,0x5b,0x63,0x5b,0x74,0x5d,0x5b,0x32,0x5d,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x74,0x5d,0x20,0x5e,0x3d,0x20, - 0x72,0x63,0x5b,0x28,0x74,0x3d,0x3d,0x30,0x29,0x3f,0x30,0x3a,0x31,0x5d,0x5b,0x69,0x5d,0x3b,0x0a,0x7d,0x0a,0x77,0x6f,0x72,0x64,0x49,0x6e,0x64,0x65,0x78,0x3d,0x30, - 0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x74,0x61,0x69,0x6c,0x3d,0x30,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x70,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x69,0x6e,0x70,0x75,0x74,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69, - 0x3d,0x30,0x3b,0x20,0x69,0x3c,0x74,0x61,0x69,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x74,0x61,0x69,0x6c,0x7c,0x3d,0x28,0x75, - 0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x70,0x5b,0x69,0x5d,0x29,0x3c,0x3c,0x28,0x69,0x2a,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x41,0x5b,0x77,0x6f,0x72,0x64,0x49, - 0x6e,0x64,0x65,0x78,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x61,0x69,0x6c,0x5e,0x28,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x28,0x28,0x75,0x69,0x6e,0x74, - 0x36,0x34,0x5f,0x74,0x29,0x28,0x30,0x78,0x30,0x32,0x7c,0x28,0x31,0x3c,0x3c,0x32,0x29,0x29,0x29,0x3c,0x3c,0x28,0x74,0x61,0x69,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x2a, - 0x38,0x29,0x29,0x29,0x3b,0x0a,0x41,0x5b,0x31,0x36,0x5d,0x20,0x5e,0x3d,0x20,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x55,0x4c,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69, - 0x3d,0x30,0x3b,0x20,0x69,0x3c,0x52,0x4f,0x55,0x4e,0x44,0x53,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x43,0x5b,0x74,0x5d,0x3d,0x41,0x5b,0x73,0x5d,0x5e,0x41, - 0x5b,0x73,0x2b,0x35,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x31,0x30,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x31,0x35,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x32,0x30,0x5d,0x3b,0x0a,0x44, - 0x5b,0x74,0x5d,0x3d,0x43,0x5b,0x62,0x5b,0x32,0x30,0x2b,0x73,0x5d,0x5d,0x5e,0x52,0x36,0x34,0x28,0x43,0x5b,0x62,0x5b,0x35,0x2b,0x73,0x5d,0x5d,0x2c,0x31,0x2c,0x36, - 0x33,0x29,0x3b,0x0a,0x43,0x5b,0x74,0x5d,0x3d,0x52,0x36,0x34,0x28,0x41,0x5b,0x61,0x5b,0x74,0x5d,0x5d,0x5e,0x44,0x5b,0x62,0x5b,0x74,0x5d,0x5d,0x2c,0x72,0x6f,0x5b, - 0x74,0x5d,0x5b,0x30,0x5d,0x2c,0x72,0x6f,0x5b,0x74,0x5d,0x5b,0x31,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x64,0x5b,0x74,0x5d,0x5d,0x3d,0x43,0x5b,0x63,0x5b,0x74,0x5d,0x5b, - 0x30,0x5d,0x5d,0x5e,0x28,0x28,0x7e,0x43,0x5b,0x63,0x5b,0x74,0x5d,0x5b,0x31,0x5d,0x5d,0x29,0x26,0x43,0x5b,0x63,0x5b,0x74,0x5d,0x5b,0x32,0x5d,0x5d,0x29,0x3b,0x0a, - 0x41,0x5b,0x74,0x5d,0x20,0x5e,0x3d,0x20,0x72,0x63,0x5b,0x28,0x74,0x3d,0x3d,0x30,0x29,0x3f,0x30,0x3a,0x31,0x5d,0x5b,0x69,0x5d,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28, - 0x74,0x3c,0x34,0x29,0x0a,0x7b,0x0a,0x68,0x61,0x73,0x68,0x65,0x73,0x2b,0x3d,0x67,0x2a,0x28,0x33,0x32,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74, - 0x36,0x34,0x5f,0x74,0x29,0x29,0x3b,0x0a,0x68,0x61,0x73,0x68,0x65,0x73,0x5b,0x74,0x5d,0x3d,0x41,0x5b,0x74,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x5f,0x5f,0x61,0x74, - 0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28, - 0x33,0x32,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x73,0x68,0x61,0x33,0x5f,0x69,0x6e,0x69, - 0x74,0x69,0x61,0x6c,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x69,0x6e,0x70, - 0x75,0x74,0x5f,0x64,0x61,0x74,0x61,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x2c,0x75,0x69,0x6e,0x74, - 0x33,0x32,0x5f,0x74,0x20,0x6e,0x6f,0x6e,0x63,0x65,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x68,0x61, - 0x73,0x68,0x65,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63, - 0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x3d,0x67,0x65,0x74,0x5f,0x67, - 0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x69,0x66,0x28,0x74,0x3e,0x3d,0x32,0x35,0x29,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x3d,0x74,0x20,0x25,0x20,0x35,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75, - 0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x69,0x6e,0x70,0x75,0x74,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f, - 0x74,0x2a,0x29,0x28,0x69,0x6e,0x70,0x75,0x74,0x5f,0x64,0x61,0x74,0x61,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f, - 0x74,0x20,0x41,0x5b,0x32,0x35,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x43,0x5b,0x32,0x35,0x5d,0x3b, - 0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x44,0x5b,0x32,0x35,0x5d,0x3b,0x0a,0x41,0x5b,0x74,0x5d,0x3d,0x28,0x74, - 0x3c,0x31,0x36,0x29,0x3f,0x69,0x6e,0x70,0x75,0x74,0x5b,0x74,0x5d,0x3a,0x30,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x2a,0x20,0x6e,0x6f,0x6e,0x63,0x65,0x5f,0x70,0x6f,0x73,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29, - 0x28,0x41,0x29,0x2b,0x39,0x3b,0x0a,0x6e,0x6f,0x6e,0x63,0x65,0x2b,0x3d,0x67,0x3b,0x0a,0x6e,0x6f,0x6e,0x63,0x65,0x5f,0x70,0x6f,0x73,0x5b,0x30,0x5d,0x3d,0x28,0x6e, - 0x6f,0x6e,0x63,0x65,0x5f,0x70,0x6f,0x73,0x5b,0x30,0x5d,0x26,0x30,0x78,0x46,0x46,0x46,0x46,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x6e,0x6f,0x6e,0x63,0x65,0x26,0x30, - 0x78,0x46,0x46,0x29,0x3c,0x3c,0x32,0x34,0x29,0x3b,0x0a,0x6e,0x6f,0x6e,0x63,0x65,0x5f,0x70,0x6f,0x73,0x5b,0x31,0x5d,0x3d,0x28,0x6e,0x6f,0x6e,0x63,0x65,0x5f,0x70, - 0x6f,0x73,0x5b,0x31,0x5d,0x26,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x29,0x7c,0x28,0x6e,0x6f,0x6e,0x63,0x65,0x3e,0x3e,0x38,0x29,0x3b,0x0a,0x75, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x77,0x6f,0x72,0x64,0x49,0x6e,0x64,0x65,0x78,0x3d,0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x2f,0x73,0x69,0x7a, - 0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x61, - 0x69,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x20,0x25,0x20,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74, - 0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x41,0x5b,0x77,0x6f,0x72,0x64,0x49,0x6e,0x64,0x65,0x78,0x5d,0x20,0x5e,0x3d,0x20,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74, - 0x29,0x28,0x28,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x30,0x78,0x30,0x32,0x7c,0x28,0x31,0x3c,0x3c,0x32,0x29,0x29,0x29,0x3c,0x3c,0x28,0x74,0x61, - 0x69,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x41,0x5b,0x31,0x36,0x5d,0x20,0x5e,0x3d,0x20,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x52,0x4f,0x55,0x4e,0x44, - 0x53,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x52,0x4f,0x55,0x4e,0x44,0x53,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b, - 0x0a,0x43,0x5b,0x74,0x5d,0x3d,0x41,0x5b,0x73,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x35,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x31,0x30,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x31,0x35, - 0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x32,0x30,0x5d,0x3b,0x0a,0x44,0x5b,0x74,0x5d,0x3d,0x43,0x5b,0x62,0x5b,0x32,0x30,0x2b,0x73,0x5d,0x5d,0x5e,0x52,0x36,0x34,0x28,0x43, - 0x5b,0x62,0x5b,0x35,0x2b,0x73,0x5d,0x5d,0x2c,0x31,0x2c,0x36,0x33,0x29,0x3b,0x0a,0x43,0x5b,0x74,0x5d,0x3d,0x52,0x36,0x34,0x28,0x41,0x5b,0x61,0x5b,0x74,0x5d,0x5d, - 0x5e,0x44,0x5b,0x62,0x5b,0x74,0x5d,0x5d,0x2c,0x72,0x6f,0x5b,0x74,0x5d,0x5b,0x30,0x5d,0x2c,0x72,0x6f,0x5b,0x74,0x5d,0x5b,0x31,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x64, - 0x5b,0x74,0x5d,0x5d,0x3d,0x43,0x5b,0x63,0x5b,0x74,0x5d,0x5b,0x30,0x5d,0x5d,0x5e,0x28,0x28,0x7e,0x43,0x5b,0x63,0x5b,0x74,0x5d,0x5b,0x31,0x5d,0x5d,0x29,0x26,0x43, - 0x5b,0x63,0x5b,0x74,0x5d,0x5b,0x32,0x5d,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x74,0x5d,0x20,0x5e,0x3d,0x20,0x72,0x63,0x5b,0x28,0x74,0x3d,0x3d,0x30,0x29,0x3f,0x30,0x3a, - 0x31,0x5d,0x5b,0x69,0x5d,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x74,0x3c,0x34,0x29,0x0a,0x7b,0x0a,0x68,0x61,0x73,0x68,0x65,0x73,0x2b,0x3d,0x67,0x2a,0x28,0x33,0x32, - 0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x3b,0x0a,0x68,0x61,0x73,0x68,0x65,0x73,0x5b,0x74,0x5d,0x3d,0x41,0x5b, - 0x74,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x00 -}; - -} // namespace xmrig diff --git a/src/backend/opencl/cl/astrobwt/salsa20.cl b/src/backend/opencl/cl/astrobwt/salsa20.cl deleted file mode 100644 index 12a68321ac..0000000000 --- a/src/backend/opencl/cl/astrobwt/salsa20.cl +++ /dev/null @@ -1,153 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#define ROTATE(v,c) (rotate(v,(uint32_t)c)) -#define XOR(v,w) ((v) ^ (w)) -#define PLUS(v,w) ((v) + (w)) - -__attribute__((reqd_work_group_size(SALSA20_GROUP_SIZE, 1, 1))) -__kernel void Salsa20_XORKeyStream(__global const uint32_t* keys, __global uint32_t* outputs, __global uint32_t* output_sizes, uint32_t output_stride) -{ - const uint32_t t = get_local_id(0); - const uint32_t g = get_group_id(0); - - // Put zeroes in the beginning - const uint64_t output_offset = g * ((uint64_t)output_stride) + 128; - { - __global uint32_t* p = outputs + (output_offset - 128) / sizeof(uint32_t); - for (uint32_t i = t; i < 128 / sizeof(uint32_t); i += SALSA20_GROUP_SIZE) - p[i] = 0; - } - - __global const uint32_t* k = keys + g * 8; - __global uint32_t* output = outputs + (output_offset + (t * 64)) / sizeof(uint32_t); - const uint32_t output_size = output_sizes[g]; - - const uint32_t j1 = k[0]; - const uint32_t j2 = k[1]; - const uint32_t j3 = k[2]; - const uint32_t j4 = k[3]; - const uint32_t j11 = k[4]; - const uint32_t j12 = k[5]; - const uint32_t j13 = k[6]; - const uint32_t j14 = k[7]; - const uint32_t j0 = 0x61707865U; - const uint32_t j5 = 0x3320646EU; - const uint32_t j10 = 0x79622D32U; - const uint32_t j15 = 0x6B206574U; - const uint32_t j6 = 0; - const uint32_t j7 = 0; - const uint32_t j8 = 0; - const uint32_t j9 = 0; - - for (uint32_t i = t * 64; i < output_size; i += SALSA20_GROUP_SIZE * 64) - { - const uint32_t j8_1 = j8 + (i / 64); - - uint32_t x0 = j0; - uint32_t x1 = j1; - uint32_t x2 = j2; - uint32_t x3 = j3; - uint32_t x4 = j4; - uint32_t x5 = j5; - uint32_t x6 = j6; - uint32_t x7 = j7; - uint32_t x8 = j8_1; - uint32_t x9 = j9; - uint32_t x10 = j10; - uint32_t x11 = j11; - uint32_t x12 = j12; - uint32_t x13 = j13; - uint32_t x14 = j14; - uint32_t x15 = j15; - - #pragma unroll 5 - for (uint32_t j = 0; j < 10; ++j) - { - x4 = XOR( x4,ROTATE(PLUS( x0,x12), 7)); - x8 = XOR( x8,ROTATE(PLUS( x4, x0), 9)); - x12 = XOR(x12,ROTATE(PLUS( x8, x4),13)); - x0 = XOR( x0,ROTATE(PLUS(x12, x8),18)); - x9 = XOR( x9,ROTATE(PLUS( x5, x1), 7)); - x13 = XOR(x13,ROTATE(PLUS( x9, x5), 9)); - x1 = XOR( x1,ROTATE(PLUS(x13, x9),13)); - x5 = XOR( x5,ROTATE(PLUS( x1,x13),18)); - x14 = XOR(x14,ROTATE(PLUS(x10, x6), 7)); - x2 = XOR( x2,ROTATE(PLUS(x14,x10), 9)); - x6 = XOR( x6,ROTATE(PLUS( x2,x14),13)); - x10 = XOR(x10,ROTATE(PLUS( x6, x2),18)); - x3 = XOR( x3,ROTATE(PLUS(x15,x11), 7)); - x7 = XOR( x7,ROTATE(PLUS( x3,x15), 9)); - x11 = XOR(x11,ROTATE(PLUS( x7, x3),13)); - x15 = XOR(x15,ROTATE(PLUS(x11, x7),18)); - x1 = XOR( x1,ROTATE(PLUS( x0, x3), 7)); - x2 = XOR( x2,ROTATE(PLUS( x1, x0), 9)); - x3 = XOR( x3,ROTATE(PLUS( x2, x1),13)); - x0 = XOR( x0,ROTATE(PLUS( x3, x2),18)); - x6 = XOR( x6,ROTATE(PLUS( x5, x4), 7)); - x7 = XOR( x7,ROTATE(PLUS( x6, x5), 9)); - x4 = XOR( x4,ROTATE(PLUS( x7, x6),13)); - x5 = XOR( x5,ROTATE(PLUS( x4, x7),18)); - x11 = XOR(x11,ROTATE(PLUS(x10, x9), 7)); - x8 = XOR( x8,ROTATE(PLUS(x11,x10), 9)); - x9 = XOR( x9,ROTATE(PLUS( x8,x11),13)); - x10 = XOR(x10,ROTATE(PLUS( x9, x8),18)); - x12 = XOR(x12,ROTATE(PLUS(x15,x14), 7)); - x13 = XOR(x13,ROTATE(PLUS(x12,x15), 9)); - x14 = XOR(x14,ROTATE(PLUS(x13,x12),13)); - x15 = XOR(x15,ROTATE(PLUS(x14,x13),18)); - } - - output[0] = PLUS(x0, j0); - output[1] = PLUS(x1, j1); - output[2] = PLUS(x2, j2); - output[3] = PLUS(x3, j3); - output[4] = PLUS(x4, j4); - output[5] = PLUS(x5, j5); - output[6] = PLUS(x6, j6); - output[7] = PLUS(x7, j7); - output[8] = PLUS(x8, j8_1); - output[9] = PLUS(x9, j9); - output[10] = PLUS(x10,j10); - output[11] = PLUS(x11,j11); - output[12] = PLUS(x12,j12); - output[13] = PLUS(x13,j13); - output[14] = PLUS(x14,j14); - output[15] = PLUS(x15,j15); - - output += (SALSA20_GROUP_SIZE * 64) / sizeof(uint32_t); - } - - barrier(CLK_GLOBAL_MEM_FENCE); - - // Put zeroes after output's end - if (t < 16) - { - __global uint32_t* p = outputs + (output_offset + output_size + 3) / sizeof(uint32_t); - p[t] = 0; - } - - if ((t == 0) && (output_size & 3)) - outputs[(output_offset + output_size) / sizeof(uint32_t)] &= 0xFFFFFFFFU >> ((4 - (output_size & 3)) << 3); -} diff --git a/src/backend/opencl/cl/astrobwt/sha3.cl b/src/backend/opencl/cl/astrobwt/sha3.cl deleted file mode 100644 index 52cec28e50..0000000000 --- a/src/backend/opencl/cl/astrobwt/sha3.cl +++ /dev/null @@ -1,198 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#define ROUNDS 24 -#define R64(a,b,c) (((a) << b) | ((a) >> c)) - -__constant const uint64_t rc[2][ROUNDS] = { - {0x0000000000000001UL, 0x0000000000008082UL, 0x800000000000808AUL, - 0x8000000080008000UL, 0x000000000000808BUL, 0x0000000080000001UL, - 0x8000000080008081UL, 0x8000000000008009UL, 0x000000000000008AUL, - 0x0000000000000088UL, 0x0000000080008009UL, 0x000000008000000AUL, - 0x000000008000808BUL, 0x800000000000008BUL, 0x8000000000008089UL, - 0x8000000000008003UL, 0x8000000000008002UL, 0x8000000000000080UL, - 0x000000000000800AUL, 0x800000008000000AUL, 0x8000000080008081UL, - 0x8000000000008080UL, 0x0000000080000001UL, 0x8000000080008008UL}, - {0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, - 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, - 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL} -}; - - -__constant const int ro[25][2] = { - { 0,64}, {44,20}, {43,21}, {21,43}, {14,50}, - { 1,63}, { 6,58}, {25,39}, { 8,56}, {18,46}, - {62, 2}, {55, 9}, {39,25}, {41,23}, { 2,62}, - {28,36}, {20,44}, { 3,61}, {45,19}, {61, 3}, - {27,37}, {36,28}, {10,54}, {15,49}, {56, 8} -}; - -__constant const int a[25] = { - 0, 6, 12, 18, 24, - 1, 7, 13, 19, 20, - 2, 8, 14, 15, 21, - 3, 9, 10, 16, 22, - 4, 5, 11, 17, 23 -}; - -__constant const int b[25] = { - 0, 1, 2, 3, 4, - 1, 2, 3, 4, 0, - 2, 3, 4, 0, 1, - 3, 4, 0, 1, 2, - 4, 0, 1, 2, 3 -}; - -__constant const int c[25][3] = { - { 0, 1, 2}, { 1, 2, 3}, { 2, 3, 4}, { 3, 4, 0}, { 4, 0, 1}, - { 5, 6, 7}, { 6, 7, 8}, { 7, 8, 9}, { 8, 9, 5}, { 9, 5, 6}, - {10,11,12}, {11,12,13}, {12,13,14}, {13,14,10}, {14,10,11}, - {15,16,17}, {16,17,18}, {17,18,19}, {18,19,15}, {19,15,16}, - {20,21,22}, {21,22,23}, {22,23,24}, {23,24,20}, {24,20,21} -}; - -__constant const int d[25] = { - 0, 1, 2, 3, 4, - 10, 11, 12, 13, 14, - 20, 21, 22, 23, 24, - 5, 6, 7, 8, 9, - 15, 16, 17, 18, 19 -}; - -__attribute__((reqd_work_group_size(32, 1, 1))) -__kernel void sha3(__global const uint8_t* inputs, __global const uint32_t* input_sizes, uint32_t input_stride, __global uint64_t* hashes) -{ - const uint32_t t = get_local_id(0); - const uint32_t g = get_group_id(0); - - if (t >= 25) - return; - - const uint32_t s = t % 5; - - const uint64_t input_offset = ((uint64_t)input_stride) * g; - __global uint64_t* input = (__global uint64_t*)(inputs + input_offset); - const uint32_t input_size = input_sizes[g] + 1; - - __local uint64_t A[25]; - __local uint64_t C[25]; - __local uint64_t D[25]; - - A[t] = 0; - - const uint32_t words = input_size / sizeof(uint64_t); - const uint32_t tail_size = input_size % sizeof(uint64_t); - - uint32_t wordIndex = 0; - for (uint32_t i = 0; i < words; ++i, ++input) - { - A[wordIndex] ^= *input; - ++wordIndex; - if (wordIndex == 17) - { - #pragma unroll ROUNDS - for (int i = 0; i < ROUNDS; ++i) - { - C[t] = A[s] ^ A[s+5] ^ A[s+10] ^ A[s+15] ^ A[s+20]; - D[t] = C[b[20+s]] ^ R64(C[b[5+s]], 1, 63); - C[t] = R64(A[a[t]] ^ D[b[t]], ro[t][0], ro[t][1]); - A[d[t]] = C[c[t][0]] ^ ((~C[c[t][1]]) & C[c[t][2]]); - A[t] ^= rc[(t == 0) ? 0 : 1][i]; - } - wordIndex = 0; - } - } - - uint64_t tail = 0; - __global const uint8_t* p = (__global const uint8_t*)input; - for (uint32_t i = 0; i < tail_size; ++i) - { - tail |= (uint64_t)(p[i]) << (i * 8); - } - A[wordIndex] ^= tail ^ ((uint64_t)(((uint64_t)(0x02 | (1 << 2))) << (tail_size * 8))); - A[16] ^= 0x8000000000000000UL; - - #pragma unroll 1 - for (int i = 0; i < ROUNDS; ++i) - { - C[t] = A[s] ^ A[s+5] ^ A[s+10] ^ A[s+15] ^ A[s+20]; - D[t] = C[b[20+s]] ^ R64(C[b[5+s]], 1, 63); - C[t] = R64(A[a[t]] ^ D[b[t]], ro[t][0], ro[t][1]); - A[d[t]] = C[c[t][0]] ^ ((~C[c[t][1]]) & C[c[t][2]]); - A[t] ^= rc[(t == 0) ? 0 : 1][i]; - } - - if (t < 4) - { - hashes += g * (32 / sizeof(uint64_t)); - hashes[t] = A[t]; - } -} - -__attribute__((reqd_work_group_size(32, 1, 1))) -__kernel void sha3_initial(__global const uint8_t* input_data, uint32_t input_size, uint32_t nonce, __global uint64_t* hashes) -{ - const uint32_t t = get_local_id(0); - const uint32_t g = get_group_id(0); - - if (t >= 25) - return; - - const uint32_t s = t % 5; - - __global uint64_t* input = (__global uint64_t*)(input_data); - - __local uint64_t A[25]; - __local uint64_t C[25]; - __local uint64_t D[25]; - - A[t] = (t < 16) ? input[t] : 0; - - __local uint32_t* nonce_pos = (__local uint32_t*)(A) + 9; - nonce += g; - nonce_pos[0] = (nonce_pos[0] & 0xFFFFFFU) | ((nonce & 0xFF) << 24); - nonce_pos[1] = (nonce_pos[1] & 0xFF000000U) | (nonce >> 8); - - uint32_t wordIndex = input_size / sizeof(uint64_t); - const uint32_t tail_size = input_size % sizeof(uint64_t); - - A[wordIndex] ^= (uint64_t)(((uint64_t)(0x02 | (1 << 2))) << (tail_size * 8)); - A[16] ^= 0x8000000000000000UL; - - #pragma unroll ROUNDS - for (int i = 0; i < ROUNDS; ++i) - { - C[t] = A[s] ^ A[s+5] ^ A[s+10] ^ A[s+15] ^ A[s+20]; - D[t] = C[b[20+s]] ^ R64(C[b[5+s]], 1, 63); - C[t] = R64(A[a[t]] ^ D[b[t]], ro[t][0], ro[t][1]); - A[d[t]] = C[c[t][0]] ^ ((~C[c[t][1]]) & C[c[t][2]]); - A[t] ^= rc[(t == 0) ? 0 : 1][i]; - } - - if (t < 4) - { - hashes += g * (32 / sizeof(uint64_t)); - hashes[t] = A[t]; - } -} diff --git a/src/backend/opencl/cl/astrobwt_v2/BWT.cl b/src/backend/opencl/cl/astrobwt_v2/BWT.cl deleted file mode 100644 index 5ecbed22bd..0000000000 --- a/src/backend/opencl/cl/astrobwt_v2/BWT.cl +++ /dev/null @@ -1,179 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2022 SChernykh - * Copyright 2016-2022 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#define BLOCK_SIZE 1024 -#define DATA_SIZE 9973 -#define DATA_STRIDE 10240 -#define BITS 14 -#define COUNTERS_SIZE (1 << BITS) - -inline uint16_t atomic_inc16(__local uint16_t* value) -{ - const size_t k = (size_t) value; - if ((k & 3) == 0) { - return atomic_add((__local uint32_t*) value, 1); - } - return atomic_add((__local uint32_t*)(k - 2), 0x10000) >> 16; -} - -__attribute__((reqd_work_group_size(BLOCK_SIZE, 1, 1))) -__kernel void BWT_preprocess(__global const uint8_t* datas, __global uint32_t* keys) -{ - const uint32_t data_offset = get_group_id(0) * DATA_STRIDE; - const uint32_t tid = get_local_id(0); - - __local uint32_t counters_buf[COUNTERS_SIZE / 2]; - __local uint16_t* counters = (__local uint16_t*) counters_buf; - for (uint32_t i = tid; i < COUNTERS_SIZE / 2; i += BLOCK_SIZE) { - counters_buf[i] = 0; - } - barrier(CLK_LOCAL_MEM_FENCE); - - datas += data_offset; - keys += data_offset; - - for (uint32_t i = tid; i < DATA_SIZE; i += BLOCK_SIZE) { - const uint32_t k0 = datas[i]; - const uint32_t k1 = datas[i + 1]; - const uint32_t k = ((k0 << 8) | k1) >> (16 - BITS); - atomic_inc16(counters + k); - } - barrier(CLK_LOCAL_MEM_FENCE); - - #pragma unroll BITS - for (int k = 0; k < BITS; ++k) { - for (uint32_t t1 = tid; t1 < ((COUNTERS_SIZE / 2) >> k); t1 += BLOCK_SIZE) { - const uint32_t i = (t1 << (k + 1)) + ((1 << (k + 1)) - 1); - counters[i] += counters[i - (1 << k)]; - } - barrier(CLK_LOCAL_MEM_FENCE); - } - - if (tid == 0) { - counters[COUNTERS_SIZE - 1] = 0; - } - barrier(CLK_LOCAL_MEM_FENCE); - - #pragma unroll BITS - for (int k = BITS - 1; k >= 0; --k) { - for (uint32_t t1 = tid; t1 < ((COUNTERS_SIZE / 2) >> k); t1 += BLOCK_SIZE) { - const uint32_t i = (t1 << (k + 1)) + ((1 << (k + 1)) - 1); - const uint16_t old = counters[i]; - counters[i] = old + counters[i - (1 << k)]; - counters[i - (1 << k)] = old; - } - barrier(CLK_LOCAL_MEM_FENCE); - } - - for (uint32_t i = tid; i < DATA_SIZE; i += BLOCK_SIZE) { - const uint32_t k0 = datas[i]; - const uint32_t k1 = datas[i + 1]; - const uint32_t k = (k0 << 8) | k1; - const uint32_t index = atomic_inc16(counters + (k >> (16 - BITS))); - keys[index] = (k << 16) | i; - } -} - -inline void fix_order(__global const uint8_t* input, uint32_t a, uint32_t b, __global uint32_t* keys) -{ - const uint32_t ka = keys[a]; - const uint32_t kb = keys[b]; - const uint32_t index_a = ka & 0xFFFF; - const uint32_t index_b = kb & 0xFFFF; - - const uint32_t value_a = - (((uint32_t)input[index_a + 1]) << 24) | - (((uint32_t)input[index_a + 2]) << 16) | - (((uint32_t)input[index_a + 3]) << 8) | - ((uint32_t)input[index_a + 4]); - - const uint32_t value_b = - (((uint32_t)input[index_b + 1]) << 24) | - (((uint32_t)input[index_b + 2]) << 16) | - (((uint32_t)input[index_b + 3]) << 8) | - ((uint32_t)input[index_b + 4]); - - if (value_a > value_b) - { - keys[a] = kb; - keys[b] = ka; - } -} - -__attribute__((reqd_work_group_size(BLOCK_SIZE, 1, 1))) -__kernel void BWT_fix_order(__global const uint8_t* datas, __global uint32_t* keys, __global uint16_t* values) -{ - const uint32_t tid = get_local_id(0); - const uint32_t gid = get_group_id(0); - - const uint32_t data_offset = gid * 10240; - - const uint32_t N = 9973; - - datas += data_offset; - keys += data_offset; - values += data_offset; - - for (uint32_t i = tid, N1 = N - 1; i < N1; i += BLOCK_SIZE) - { - const uint32_t value = keys[i] >> (32 - BITS); - if (value == (keys[i + 1] >> (32 - BITS))) - { - if (i && (value == (keys[i - 1] >> (32 - BITS)))) - continue; - - uint32_t n = i + 2; - while ((n < N) && (value == (keys[n] >> (32 - BITS)))) - ++n; - - for (uint32_t j = i; j < n; ++j) - for (uint32_t k = j + 1; k < n; ++k) - fix_order(datas, j, k, keys); - } - } - barrier(CLK_GLOBAL_MEM_FENCE); - - for (uint32_t i = tid; i < N; i += BLOCK_SIZE) { - values[i] = keys[i]; - } -} - -__kernel void find_shares(__global const uint64_t* hashes, uint64_t target, __global uint32_t* shares) -{ - const uint32_t global_index = get_global_id(0); - - if (hashes[global_index * 4 + 3] >= target) { - return; - } - - const uint32_t idx = atomic_inc(shares + 0xFF); - if (idx < 0xFF) - shares[idx] = global_index; -} - -#undef BLOCK_SIZE -#undef DATA_SIZE -#undef DATA_STRIDE -#undef BITS -#undef COUNTERS_SIZE diff --git a/src/backend/opencl/cl/astrobwt_v2/astrobwt_v2.cl b/src/backend/opencl/cl/astrobwt_v2/astrobwt_v2.cl deleted file mode 100644 index 915c16a69e..0000000000 --- a/src/backend/opencl/cl/astrobwt_v2/astrobwt_v2.cl +++ /dev/null @@ -1,35 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2022 SChernykh - * Copyright 2016-2022 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -typedef uchar uint8_t; -typedef ushort uint16_t; -typedef uint uint32_t; -typedef ulong uint64_t; - -typedef int int32_t; -typedef long int64_t; - -#include "BWT.cl" -#include "salsa20.cl" -#include "sha3.cl" diff --git a/src/backend/opencl/cl/astrobwt_v2/astrobwt_v2_cl.h b/src/backend/opencl/cl/astrobwt_v2/astrobwt_v2_cl.h deleted file mode 100644 index 62a600661f..0000000000 --- a/src/backend/opencl/cl/astrobwt_v2/astrobwt_v2_cl.h +++ /dev/null @@ -1,388 +0,0 @@ -#pragma once - -namespace xmrig { - -static const char astrobwt_v2_cl[12139] = { - 0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x63,0x68,0x61,0x72,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75, - 0x73,0x68,0x6f,0x72,0x74,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x69,0x6e,0x74,0x20,0x75,0x69,0x6e, - 0x74,0x33,0x32,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x3b,0x0a,0x74, - 0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x69,0x6e,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x6c,0x6f,0x6e,0x67, - 0x20,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x4c,0x4f,0x43,0x4b,0x5f,0x53,0x49,0x5a,0x45,0x20,0x31,0x30,0x32, - 0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x44,0x41,0x54,0x41,0x5f,0x53,0x49,0x5a,0x45,0x20,0x39,0x39,0x37,0x33,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x44,0x41,0x54,0x41,0x5f,0x53,0x54,0x52,0x49,0x44,0x45,0x20,0x31,0x30,0x32,0x34,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x49,0x54,0x53,0x20, - 0x31,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x4f,0x55,0x4e,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x31,0x20,0x3c,0x3c,0x20,0x42, - 0x49,0x54,0x53,0x29,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x5f,0x74,0x20,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x69,0x6e,0x63,0x31, - 0x36,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x5f,0x74,0x2a,0x20,0x76,0x61,0x6c,0x75,0x65,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x6b,0x3d,0x28,0x73,0x69,0x7a,0x65,0x5f,0x74,0x29,0x20,0x76,0x61,0x6c,0x75,0x65,0x3b,0x0a,0x69,0x66,0x28,0x28, - 0x6b,0x26,0x33,0x29,0x3d,0x3d,0x30,0x29,0x20,0x7b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x61,0x64,0x64,0x28,0x28,0x5f,0x5f, - 0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x20,0x76,0x61,0x6c,0x75,0x65,0x2c,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74, - 0x75,0x72,0x6e,0x20,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x61,0x64,0x64,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, - 0x2a,0x29,0x28,0x6b,0x2d,0x32,0x29,0x2c,0x30,0x78,0x31,0x30,0x30,0x30,0x30,0x29,0x3e,0x3e,0x31,0x36,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62, - 0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x42,0x4c,0x4f,0x43, - 0x4b,0x5f,0x53,0x49,0x5a,0x45,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x42,0x57,0x54,0x5f, - 0x70,0x72,0x65,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f, - 0x74,0x2a,0x20,0x64,0x61,0x74,0x61,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x6b,0x65,0x79,0x73, - 0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x61,0x74,0x61,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x67, - 0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x44,0x41,0x54,0x41,0x5f,0x53,0x54,0x52,0x49,0x44,0x45,0x3b,0x0a,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x69,0x64,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a, - 0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5f,0x62,0x75,0x66,0x5b,0x43,0x4f, - 0x55,0x4e,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x32,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x5f,0x74, - 0x2a,0x20,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x5f,0x74,0x2a,0x29,0x20,0x63, - 0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5f,0x62,0x75,0x66,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x74,0x69,0x64, - 0x3b,0x20,0x69,0x3c,0x43,0x4f,0x55,0x4e,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x32,0x3b,0x20,0x69,0x2b,0x3d,0x42,0x4c,0x4f,0x43,0x4b,0x5f,0x53,0x49, - 0x5a,0x45,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5f,0x62,0x75,0x66,0x5b,0x69,0x5d,0x3d,0x30,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69, - 0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x64,0x61,0x74,0x61,0x73,0x2b,0x3d, - 0x64,0x61,0x74,0x61,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a,0x6b,0x65,0x79,0x73,0x2b,0x3d,0x64,0x61,0x74,0x61,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a, - 0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x74,0x69,0x64,0x3b,0x20,0x69,0x3c,0x44,0x41,0x54,0x41,0x5f,0x53,0x49,0x5a,0x45, - 0x3b,0x20,0x69,0x2b,0x3d,0x42,0x4c,0x4f,0x43,0x4b,0x5f,0x53,0x49,0x5a,0x45,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x6b,0x30,0x3d,0x64,0x61,0x74,0x61,0x73,0x5b,0x69,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6b,0x31, - 0x3d,0x64,0x61,0x74,0x61,0x73,0x5b,0x69,0x2b,0x31,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6b,0x3d,0x28,0x28, - 0x6b,0x30,0x3c,0x3c,0x38,0x29,0x7c,0x6b,0x31,0x29,0x3e,0x3e,0x28,0x31,0x36,0x2d,0x42,0x49,0x54,0x53,0x29,0x3b,0x0a,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x69,0x6e, - 0x63,0x31,0x36,0x28,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x2b,0x6b,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c, - 0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20, - 0x42,0x49,0x54,0x53,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x6b,0x3d,0x30,0x3b,0x20,0x6b,0x3c,0x42,0x49,0x54,0x53,0x3b,0x20,0x2b,0x2b,0x6b,0x29,0x20, - 0x7b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x31,0x3d,0x74,0x69,0x64,0x3b,0x20,0x74,0x31,0x3c,0x28,0x28,0x43,0x4f,0x55, - 0x4e,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x32,0x29,0x3e,0x3e,0x6b,0x29,0x3b,0x20,0x74,0x31,0x2b,0x3d,0x42,0x4c,0x4f,0x43,0x4b,0x5f,0x53,0x49,0x5a, - 0x45,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x28,0x74,0x31,0x3c,0x3c,0x28,0x6b,0x2b,0x31,0x29, - 0x29,0x2b,0x28,0x28,0x31,0x3c,0x3c,0x28,0x6b,0x2b,0x31,0x29,0x29,0x2d,0x31,0x29,0x3b,0x0a,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b,0x69,0x5d,0x2b,0x3d,0x63, - 0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b,0x69,0x2d,0x28,0x31,0x3c,0x3c,0x6b,0x29,0x5d,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b, - 0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x74,0x69,0x64,0x3d,0x3d,0x30,0x29,0x20, - 0x7b,0x0a,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b,0x43,0x4f,0x55,0x4e,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2d,0x31,0x5d,0x3d,0x30,0x3b,0x0a,0x7d, - 0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x23, - 0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x42,0x49,0x54,0x53,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x6b,0x3d,0x42,0x49, - 0x54,0x53,0x2d,0x31,0x3b,0x20,0x6b,0x3e,0x3d,0x30,0x3b,0x20,0x2d,0x2d,0x6b,0x29,0x20,0x7b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, - 0x20,0x74,0x31,0x3d,0x74,0x69,0x64,0x3b,0x20,0x74,0x31,0x3c,0x28,0x28,0x43,0x4f,0x55,0x4e,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x32,0x29,0x3e,0x3e, - 0x6b,0x29,0x3b,0x20,0x74,0x31,0x2b,0x3d,0x42,0x4c,0x4f,0x43,0x4b,0x5f,0x53,0x49,0x5a,0x45,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, - 0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x28,0x74,0x31,0x3c,0x3c,0x28,0x6b,0x2b,0x31,0x29,0x29,0x2b,0x28,0x28,0x31,0x3c,0x3c,0x28,0x6b,0x2b,0x31,0x29,0x29,0x2d,0x31, - 0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x5f,0x74,0x20,0x6f,0x6c,0x64,0x3d,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b,0x69, - 0x5d,0x3b,0x0a,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b,0x69,0x5d,0x3d,0x6f,0x6c,0x64,0x2b,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b,0x69,0x2d,0x28,0x31, - 0x3c,0x3c,0x6b,0x29,0x5d,0x3b,0x0a,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x5b,0x69,0x2d,0x28,0x31,0x3c,0x3c,0x6b,0x29,0x5d,0x3d,0x6f,0x6c,0x64,0x3b,0x0a,0x7d, - 0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7d, - 0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x74,0x69,0x64,0x3b,0x20,0x69,0x3c,0x44,0x41,0x54,0x41,0x5f,0x53,0x49,0x5a, - 0x45,0x3b,0x20,0x69,0x2b,0x3d,0x42,0x4c,0x4f,0x43,0x4b,0x5f,0x53,0x49,0x5a,0x45,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x20,0x6b,0x30,0x3d,0x64,0x61,0x74,0x61,0x73,0x5b,0x69,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6b, - 0x31,0x3d,0x64,0x61,0x74,0x61,0x73,0x5b,0x69,0x2b,0x31,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6b,0x3d,0x28, - 0x6b,0x30,0x3c,0x3c,0x38,0x29,0x7c,0x6b,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x64,0x65,0x78,0x3d, - 0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x69,0x6e,0x63,0x31,0x36,0x28,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x73,0x2b,0x28,0x6b,0x3e,0x3e,0x28,0x31,0x36,0x2d,0x42,0x49, - 0x54,0x53,0x29,0x29,0x29,0x3b,0x0a,0x6b,0x65,0x79,0x73,0x5b,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3d,0x28,0x6b,0x3c,0x3c,0x31,0x36,0x29,0x7c,0x69,0x3b,0x0a,0x7d,0x0a, - 0x7d,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x76,0x6f,0x69,0x64,0x20,0x66,0x69,0x78,0x5f,0x6f,0x72,0x64,0x65,0x72,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, - 0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x69,0x6e,0x70,0x75,0x74,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x61, - 0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x62,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x6b, - 0x65,0x79,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6b,0x61,0x3d,0x6b,0x65,0x79,0x73,0x5b,0x61,0x5d, - 0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6b,0x62,0x3d,0x6b,0x65,0x79,0x73,0x5b,0x62,0x5d,0x3b,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x64,0x65,0x78,0x5f,0x61,0x3d,0x6b,0x61,0x26,0x30,0x78,0x46,0x46,0x46,0x46,0x3b,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x64,0x65,0x78,0x5f,0x62,0x3d,0x6b,0x62,0x26,0x30,0x78,0x46,0x46,0x46,0x46,0x3b, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x76,0x61,0x6c,0x75,0x65,0x5f,0x61,0x20,0x3d,0x0a,0x28,0x28,0x28,0x75,0x69,0x6e, - 0x74,0x33,0x32,0x5f,0x74,0x29,0x69,0x6e,0x70,0x75,0x74,0x5b,0x69,0x6e,0x64,0x65,0x78,0x5f,0x61,0x2b,0x31,0x5d,0x29,0x3c,0x3c,0x32,0x34,0x29,0x20,0x7c,0x0a,0x28, - 0x28,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x69,0x6e,0x70,0x75,0x74,0x5b,0x69,0x6e,0x64,0x65,0x78,0x5f,0x61,0x2b,0x32,0x5d,0x29,0x3c,0x3c,0x31,0x36, - 0x29,0x20,0x7c,0x0a,0x28,0x28,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x69,0x6e,0x70,0x75,0x74,0x5b,0x69,0x6e,0x64,0x65,0x78,0x5f,0x61,0x2b,0x33,0x5d, - 0x29,0x3c,0x3c,0x38,0x29,0x20,0x7c,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x69,0x6e,0x70,0x75,0x74,0x5b,0x69,0x6e,0x64,0x65,0x78,0x5f,0x61, - 0x2b,0x34,0x5d,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x76,0x61,0x6c,0x75,0x65,0x5f,0x62,0x20,0x3d,0x0a,0x28, - 0x28,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x69,0x6e,0x70,0x75,0x74,0x5b,0x69,0x6e,0x64,0x65,0x78,0x5f,0x62,0x2b,0x31,0x5d,0x29,0x3c,0x3c,0x32,0x34, - 0x29,0x20,0x7c,0x0a,0x28,0x28,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x69,0x6e,0x70,0x75,0x74,0x5b,0x69,0x6e,0x64,0x65,0x78,0x5f,0x62,0x2b,0x32,0x5d, - 0x29,0x3c,0x3c,0x31,0x36,0x29,0x20,0x7c,0x0a,0x28,0x28,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x69,0x6e,0x70,0x75,0x74,0x5b,0x69,0x6e,0x64,0x65,0x78, - 0x5f,0x62,0x2b,0x33,0x5d,0x29,0x3c,0x3c,0x38,0x29,0x20,0x7c,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x69,0x6e,0x70,0x75,0x74,0x5b,0x69,0x6e, - 0x64,0x65,0x78,0x5f,0x62,0x2b,0x34,0x5d,0x29,0x3b,0x0a,0x69,0x66,0x28,0x76,0x61,0x6c,0x75,0x65,0x5f,0x61,0x3e,0x76,0x61,0x6c,0x75,0x65,0x5f,0x62,0x29,0x0a,0x7b, - 0x0a,0x6b,0x65,0x79,0x73,0x5b,0x61,0x5d,0x3d,0x6b,0x62,0x3b,0x0a,0x6b,0x65,0x79,0x73,0x5b,0x62,0x5d,0x3d,0x6b,0x61,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x5f,0x5f,0x61, - 0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65, - 0x28,0x42,0x4c,0x4f,0x43,0x4b,0x5f,0x53,0x49,0x5a,0x45,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64, - 0x20,0x42,0x57,0x54,0x5f,0x66,0x69,0x78,0x5f,0x6f,0x72,0x64,0x65,0x72,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, - 0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x64,0x61,0x74,0x61,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20, - 0x6b,0x65,0x79,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x5f,0x74,0x2a,0x20,0x76,0x61,0x6c,0x75,0x65,0x73,0x29,0x0a, - 0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x69,0x64,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69, - 0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x69,0x64,0x3d,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f, - 0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x61,0x74,0x61,0x5f,0x6f,0x66, - 0x66,0x73,0x65,0x74,0x3d,0x67,0x69,0x64,0x2a,0x31,0x30,0x32,0x34,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x4e, - 0x3d,0x39,0x39,0x37,0x33,0x3b,0x0a,0x64,0x61,0x74,0x61,0x73,0x2b,0x3d,0x64,0x61,0x74,0x61,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a,0x6b,0x65,0x79,0x73,0x2b, - 0x3d,0x64,0x61,0x74,0x61,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a,0x76,0x61,0x6c,0x75,0x65,0x73,0x2b,0x3d,0x64,0x61,0x74,0x61,0x5f,0x6f,0x66,0x66,0x73,0x65, - 0x74,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x74,0x69,0x64,0x2c,0x4e,0x31,0x3d,0x4e,0x2d,0x31,0x3b,0x20,0x69, - 0x3c,0x4e,0x31,0x3b,0x20,0x69,0x2b,0x3d,0x42,0x4c,0x4f,0x43,0x4b,0x5f,0x53,0x49,0x5a,0x45,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, - 0x33,0x32,0x5f,0x74,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x6b,0x65,0x79,0x73,0x5b,0x69,0x5d,0x3e,0x3e,0x28,0x33,0x32,0x2d,0x42,0x49,0x54,0x53,0x29,0x3b,0x0a,0x69, - 0x66,0x28,0x76,0x61,0x6c,0x75,0x65,0x3d,0x3d,0x28,0x6b,0x65,0x79,0x73,0x5b,0x69,0x2b,0x31,0x5d,0x3e,0x3e,0x28,0x33,0x32,0x2d,0x42,0x49,0x54,0x53,0x29,0x29,0x29, - 0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69,0x26,0x26,0x28,0x76,0x61,0x6c,0x75,0x65,0x3d,0x3d,0x28,0x6b,0x65,0x79,0x73,0x5b,0x69,0x2d,0x31,0x5d,0x3e,0x3e,0x28,0x33,0x32, - 0x2d,0x42,0x49,0x54,0x53,0x29,0x29,0x29,0x29,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x3d,0x69, - 0x2b,0x32,0x3b,0x0a,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x28,0x6e,0x3c,0x4e,0x29,0x26,0x26,0x28,0x76,0x61,0x6c,0x75,0x65,0x3d,0x3d,0x28,0x6b,0x65,0x79,0x73,0x5b, - 0x6e,0x5d,0x3e,0x3e,0x28,0x33,0x32,0x2d,0x42,0x49,0x54,0x53,0x29,0x29,0x29,0x29,0x0a,0x2b,0x2b,0x6e,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x20,0x6a,0x3d,0x69,0x3b,0x20,0x6a,0x3c,0x6e,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, - 0x20,0x6b,0x3d,0x6a,0x2b,0x31,0x3b,0x20,0x6b,0x3c,0x6e,0x3b,0x20,0x2b,0x2b,0x6b,0x29,0x0a,0x66,0x69,0x78,0x5f,0x6f,0x72,0x64,0x65,0x72,0x28,0x64,0x61,0x74,0x61, - 0x73,0x2c,0x6a,0x2c,0x6b,0x2c,0x6b,0x65,0x79,0x73,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f, - 0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d, - 0x74,0x69,0x64,0x3b,0x20,0x69,0x3c,0x4e,0x3b,0x20,0x69,0x2b,0x3d,0x42,0x4c,0x4f,0x43,0x4b,0x5f,0x53,0x49,0x5a,0x45,0x29,0x20,0x7b,0x0a,0x76,0x61,0x6c,0x75,0x65, - 0x73,0x5b,0x69,0x5d,0x3d,0x6b,0x65,0x79,0x73,0x5b,0x69,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20, - 0x66,0x69,0x6e,0x64,0x5f,0x73,0x68,0x61,0x72,0x65,0x73,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36, - 0x34,0x5f,0x74,0x2a,0x20,0x68,0x61,0x73,0x68,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x2c,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x73,0x68,0x61,0x72,0x65,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f, - 0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x69,0x66,0x28,0x68,0x61,0x73,0x68,0x65,0x73,0x5b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x34,0x2b, - 0x33,0x5d,0x3e,0x3d,0x74,0x61,0x72,0x67,0x65,0x74,0x29,0x20,0x7b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, - 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x64,0x78,0x3d,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x69,0x6e,0x63,0x28,0x73,0x68,0x61,0x72,0x65,0x73,0x2b,0x30,0x78,0x46, - 0x46,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x64,0x78,0x3c,0x30,0x78,0x46,0x46,0x29,0x0a,0x73,0x68,0x61,0x72,0x65,0x73,0x5b,0x69,0x64,0x78,0x5d,0x3d,0x67,0x6c,0x6f, - 0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x7d,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x42,0x4c,0x4f,0x43,0x4b,0x5f,0x53,0x49,0x5a,0x45,0x0a,0x23, - 0x75,0x6e,0x64,0x65,0x66,0x20,0x44,0x41,0x54,0x41,0x5f,0x53,0x49,0x5a,0x45,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x44,0x41,0x54,0x41,0x5f,0x53,0x54,0x52,0x49, - 0x44,0x45,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x42,0x49,0x54,0x53,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x43,0x4f,0x55,0x4e,0x54,0x45,0x52,0x53,0x5f,0x53, - 0x49,0x5a,0x45,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x76,0x2c,0x63,0x29,0x20,0x28,0x72,0x6f,0x74,0x61,0x74,0x65,0x28, - 0x76,0x2c,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x63,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x58,0x4f,0x52,0x28,0x76,0x2c,0x77,0x29, - 0x20,0x28,0x28,0x76,0x29,0x20,0x5e,0x20,0x28,0x77,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x50,0x4c,0x55,0x53,0x28,0x76,0x2c,0x77,0x29,0x20,0x28, - 0x28,0x76,0x29,0x20,0x2b,0x20,0x28,0x77,0x29,0x29,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77, - 0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x53,0x41,0x4c,0x53,0x41,0x32,0x30,0x5f,0x47,0x52,0x4f,0x55,0x50,0x5f,0x53,0x49,0x5a, - 0x45,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x53,0x61,0x6c,0x73,0x61,0x32,0x30,0x5f,0x58, - 0x4f,0x52,0x4b,0x65,0x79,0x53,0x74,0x72,0x65,0x61,0x6d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x2a,0x20,0x6b,0x65,0x79,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x6f,0x75,0x74, - 0x70,0x75,0x74,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63, - 0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x3d,0x67,0x65,0x74,0x5f,0x67, - 0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6f,0x75,0x74,0x70,0x75, - 0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x67,0x2a,0x31,0x30,0x32,0x34,0x30,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x6b,0x3d,0x6b,0x65,0x79,0x73,0x2b,0x67,0x2a,0x38,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x3d,0x6f,0x75,0x74,0x70,0x75,0x74,0x73,0x2b,0x28,0x6f,0x75,0x74,0x70,0x75,0x74, - 0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2b,0x28,0x74,0x2a,0x36,0x34,0x29,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29, - 0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x39,0x39,0x37, - 0x33,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x31,0x3d,0x6b,0x5b,0x30,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x32,0x3d,0x6b,0x5b,0x31,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x6a,0x33,0x3d,0x6b,0x5b,0x32,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x34,0x3d,0x6b,0x5b,0x33, - 0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x31,0x31,0x3d,0x6b,0x5b,0x34,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x31,0x32,0x3d,0x6b,0x5b,0x35,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x20,0x6a,0x31,0x33,0x3d,0x6b,0x5b,0x36,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x31,0x34, - 0x3d,0x6b,0x5b,0x37,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x30,0x3d,0x30,0x78,0x36,0x31,0x37,0x30,0x37, - 0x38,0x36,0x35,0x55,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x35,0x3d,0x30,0x78,0x33,0x33,0x32,0x30,0x36,0x34, - 0x36,0x45,0x55,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x31,0x30,0x3d,0x30,0x78,0x37,0x39,0x36,0x32,0x32,0x44, - 0x33,0x32,0x55,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x31,0x35,0x3d,0x30,0x78,0x36,0x42,0x32,0x30,0x36,0x35, - 0x37,0x34,0x55,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x36,0x3d,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x37,0x3d,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x38, - 0x3d,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x39,0x3d,0x30,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69, - 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x74,0x2a,0x36,0x34,0x3b,0x20,0x69,0x3c,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x3b,0x20,0x69,0x2b, - 0x3d,0x53,0x41,0x4c,0x53,0x41,0x32,0x30,0x5f,0x47,0x52,0x4f,0x55,0x50,0x5f,0x53,0x49,0x5a,0x45,0x2a,0x36,0x34,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x38,0x5f,0x31,0x3d,0x6a,0x38,0x2b,0x28,0x69,0x2f,0x36,0x34,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x78,0x30,0x3d,0x6a,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x31,0x3d,0x6a,0x31,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x78,0x32,0x3d,0x6a,0x32,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x33,0x3d,0x6a,0x33,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x78,0x34,0x3d,0x6a,0x34,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x35,0x3d,0x6a,0x35,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x78,0x36,0x3d,0x6a,0x36,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x37,0x3d,0x6a,0x37,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x78,0x38,0x3d,0x6a,0x38,0x5f,0x31,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x39,0x3d,0x6a,0x39,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x20,0x78,0x31,0x30,0x3d,0x6a,0x31,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x31,0x31,0x3d,0x6a,0x31,0x31,0x3b,0x0a,0x75, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x31,0x32,0x3d,0x6a,0x31,0x32,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x31,0x33,0x3d,0x6a,0x31, - 0x33,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x31,0x34,0x3d,0x6a,0x31,0x34,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x78,0x31, - 0x35,0x3d,0x6a,0x31,0x35,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x35,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e, - 0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x31,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x7b,0x0a,0x78,0x34,0x3d,0x58,0x4f,0x52,0x28,0x20, - 0x78,0x34,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x30,0x2c,0x78,0x31,0x32,0x29,0x2c,0x37,0x29,0x29,0x3b,0x0a,0x78,0x38,0x3d, - 0x58,0x4f,0x52,0x28,0x20,0x78,0x38,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x34,0x2c,0x78,0x30,0x29,0x2c,0x39,0x29,0x29,0x3b, - 0x0a,0x78,0x31,0x32,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x32,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x38,0x2c,0x78,0x34,0x29, - 0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a,0x78,0x30,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x30,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31, - 0x32,0x2c,0x78,0x38,0x29,0x2c,0x31,0x38,0x29,0x29,0x3b,0x0a,0x78,0x39,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x39,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c, - 0x55,0x53,0x28,0x20,0x78,0x35,0x2c,0x78,0x31,0x29,0x2c,0x37,0x29,0x29,0x3b,0x0a,0x78,0x31,0x33,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x33,0x2c,0x52,0x4f,0x54,0x41, - 0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x39,0x2c,0x78,0x35,0x29,0x2c,0x39,0x29,0x29,0x3b,0x0a,0x78,0x31,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x31,0x2c, - 0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x33,0x2c,0x78,0x39,0x29,0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a,0x78,0x35,0x3d,0x58,0x4f,0x52, - 0x28,0x20,0x78,0x35,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x31,0x2c,0x78,0x31,0x33,0x29,0x2c,0x31,0x38,0x29,0x29,0x3b,0x0a, - 0x78,0x31,0x34,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x34,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x30,0x2c,0x78,0x36,0x29,0x2c, - 0x37,0x29,0x29,0x3b,0x0a,0x78,0x32,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x32,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x34,0x2c, - 0x78,0x31,0x30,0x29,0x2c,0x39,0x29,0x29,0x3b,0x0a,0x78,0x36,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x36,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53, - 0x28,0x20,0x78,0x32,0x2c,0x78,0x31,0x34,0x29,0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a,0x78,0x31,0x30,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x30,0x2c,0x52,0x4f,0x54,0x41, - 0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x36,0x2c,0x78,0x32,0x29,0x2c,0x31,0x38,0x29,0x29,0x3b,0x0a,0x78,0x33,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x33, - 0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x35,0x2c,0x78,0x31,0x31,0x29,0x2c,0x37,0x29,0x29,0x3b,0x0a,0x78,0x37,0x3d,0x58,0x4f, - 0x52,0x28,0x20,0x78,0x37,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x33,0x2c,0x78,0x31,0x35,0x29,0x2c,0x39,0x29,0x29,0x3b,0x0a, - 0x78,0x31,0x31,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x31,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x37,0x2c,0x78,0x33,0x29,0x2c, - 0x31,0x33,0x29,0x29,0x3b,0x0a,0x78,0x31,0x35,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x35,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31, - 0x31,0x2c,0x78,0x37,0x29,0x2c,0x31,0x38,0x29,0x29,0x3b,0x0a,0x78,0x31,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x31,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c, - 0x55,0x53,0x28,0x20,0x78,0x30,0x2c,0x78,0x33,0x29,0x2c,0x37,0x29,0x29,0x3b,0x0a,0x78,0x32,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x32,0x2c,0x52,0x4f,0x54,0x41,0x54, - 0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x31,0x2c,0x78,0x30,0x29,0x2c,0x39,0x29,0x29,0x3b,0x0a,0x78,0x33,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x33,0x2c,0x52, - 0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x32,0x2c,0x78,0x31,0x29,0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a,0x78,0x30,0x3d,0x58,0x4f,0x52,0x28, - 0x20,0x78,0x30,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x33,0x2c,0x78,0x32,0x29,0x2c,0x31,0x38,0x29,0x29,0x3b,0x0a,0x78,0x36, - 0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x36,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x35,0x2c,0x78,0x34,0x29,0x2c,0x37,0x29,0x29, - 0x3b,0x0a,0x78,0x37,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x37,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x36,0x2c,0x78,0x35,0x29, - 0x2c,0x39,0x29,0x29,0x3b,0x0a,0x78,0x34,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x34,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x37, - 0x2c,0x78,0x36,0x29,0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a,0x78,0x35,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x35,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55, - 0x53,0x28,0x20,0x78,0x34,0x2c,0x78,0x37,0x29,0x2c,0x31,0x38,0x29,0x29,0x3b,0x0a,0x78,0x31,0x31,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x31,0x2c,0x52,0x4f,0x54,0x41, - 0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x30,0x2c,0x78,0x39,0x29,0x2c,0x37,0x29,0x29,0x3b,0x0a,0x78,0x38,0x3d,0x58,0x4f,0x52,0x28,0x20,0x78,0x38,0x2c, - 0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x31,0x2c,0x78,0x31,0x30,0x29,0x2c,0x39,0x29,0x29,0x3b,0x0a,0x78,0x39,0x3d,0x58,0x4f,0x52, - 0x28,0x20,0x78,0x39,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x38,0x2c,0x78,0x31,0x31,0x29,0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a, - 0x78,0x31,0x30,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x30,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x20,0x78,0x39,0x2c,0x78,0x38,0x29,0x2c, - 0x31,0x38,0x29,0x29,0x3b,0x0a,0x78,0x31,0x32,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x32,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31, - 0x35,0x2c,0x78,0x31,0x34,0x29,0x2c,0x37,0x29,0x29,0x3b,0x0a,0x78,0x31,0x33,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x33,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50, - 0x4c,0x55,0x53,0x28,0x78,0x31,0x32,0x2c,0x78,0x31,0x35,0x29,0x2c,0x39,0x29,0x29,0x3b,0x0a,0x78,0x31,0x34,0x3d,0x58,0x4f,0x52,0x28,0x78,0x31,0x34,0x2c,0x52,0x4f, - 0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x33,0x2c,0x78,0x31,0x32,0x29,0x2c,0x31,0x33,0x29,0x29,0x3b,0x0a,0x78,0x31,0x35,0x3d,0x58,0x4f,0x52, - 0x28,0x78,0x31,0x35,0x2c,0x52,0x4f,0x54,0x41,0x54,0x45,0x28,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x34,0x2c,0x78,0x31,0x33,0x29,0x2c,0x31,0x38,0x29,0x29,0x3b,0x0a, - 0x7d,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x30,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x30,0x2c,0x6a,0x30,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b, - 0x31,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x2c,0x6a,0x31,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x32,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78, - 0x32,0x2c,0x6a,0x32,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x33,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x33,0x2c,0x6a,0x33,0x29,0x3b,0x0a,0x6f,0x75, - 0x74,0x70,0x75,0x74,0x5b,0x34,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x34,0x2c,0x6a,0x34,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x35,0x5d,0x3d,0x50, - 0x4c,0x55,0x53,0x28,0x78,0x35,0x2c,0x6a,0x35,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x36,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x36,0x2c,0x6a,0x36, - 0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x37,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x37,0x2c,0x6a,0x37,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74, - 0x5b,0x38,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x38,0x2c,0x6a,0x38,0x5f,0x31,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x39,0x5d,0x3d,0x50,0x4c,0x55, - 0x53,0x28,0x78,0x39,0x2c,0x6a,0x39,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x31,0x30,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x30,0x2c,0x6a,0x31, - 0x30,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x31,0x31,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x31,0x2c,0x6a,0x31,0x31,0x29,0x3b,0x0a,0x6f,0x75, - 0x74,0x70,0x75,0x74,0x5b,0x31,0x32,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x32,0x2c,0x6a,0x31,0x32,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x31, - 0x33,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x33,0x2c,0x6a,0x31,0x33,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x31,0x34,0x5d,0x3d,0x50,0x4c,0x55, - 0x53,0x28,0x78,0x31,0x34,0x2c,0x6a,0x31,0x34,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x5b,0x31,0x35,0x5d,0x3d,0x50,0x4c,0x55,0x53,0x28,0x78,0x31,0x35,0x2c, - 0x6a,0x31,0x35,0x29,0x3b,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x2b,0x3d,0x28,0x53,0x41,0x4c,0x53,0x41,0x32,0x30,0x5f,0x47,0x52,0x4f,0x55,0x50,0x5f,0x53,0x49,0x5a, - 0x45,0x2a,0x36,0x34,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65, - 0x72,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x69,0x66,0x28,0x74,0x3c,0x31,0x36, - 0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x70,0x3d,0x6f,0x75,0x74,0x70,0x75,0x74,0x73, - 0x2b,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2b,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x2b,0x33,0x29,0x2f,0x73, - 0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x3b,0x0a,0x70,0x5b,0x74,0x5d,0x3d,0x30,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x28,0x74, - 0x3d,0x3d,0x30,0x29,0x26,0x26,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x26,0x33,0x29,0x29,0x0a,0x6f,0x75,0x74,0x70,0x75,0x74,0x73,0x5b,0x28, - 0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2b,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f, - 0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x5d,0x20,0x26,0x3d,0x20,0x30,0x78,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x55,0x3e,0x3e,0x28,0x28,0x34, - 0x2d,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x26,0x33,0x29,0x29,0x3c,0x3c,0x33,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20, - 0x52,0x4f,0x54,0x41,0x54,0x45,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x58,0x4f,0x52,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x50,0x4c,0x55,0x53,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x53,0x20,0x32,0x34,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x63,0x5b,0x32,0x34,0x5d,0x3d,0x7b,0x0a,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x31,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x32,0x55,0x4c,0x2c,0x30,0x78,0x38, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30, - 0x30,0x38,0x30,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x42,0x55,0x4c,0x2c,0x30,0x78,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30, - 0x30,0x38,0x30,0x38,0x31,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x39,0x55,0x4c,0x2c,0x30,0x78,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x38,0x38,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x39,0x55,0x4c,0x2c,0x30,0x78,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30, - 0x30,0x38,0x30,0x38,0x42,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x42,0x55,0x4c,0x2c,0x30,0x78,0x38, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x38,0x30,0x30,0x33,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x32,0x55,0x4c,0x2c,0x30,0x78,0x38, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x38,0x30,0x30,0x41,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x41,0x55,0x4c,0x2c,0x30,0x78,0x38, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x38,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x38,0x30,0x38,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x55,0x4c,0x2c,0x30,0x78,0x38, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x38,0x55,0x4c,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x63,0x5b,0x32,0x35,0x5d,0x5b,0x32,0x5d,0x3d,0x7b,0x0a,0x7b,0x20,0x31,0x2c,0x32,0x7d,0x2c,0x7b,0x20,0x32,0x2c, - 0x33,0x7d,0x2c,0x7b,0x20,0x33,0x2c,0x34,0x7d,0x2c,0x7b,0x20,0x34,0x2c,0x30,0x7d,0x2c,0x7b,0x20,0x30,0x2c,0x31,0x7d,0x2c,0x0a,0x7b,0x20,0x36,0x2c,0x37,0x7d,0x2c, - 0x7b,0x20,0x37,0x2c,0x38,0x7d,0x2c,0x7b,0x20,0x38,0x2c,0x39,0x7d,0x2c,0x7b,0x20,0x39,0x2c,0x35,0x7d,0x2c,0x7b,0x20,0x35,0x2c,0x36,0x7d,0x2c,0x0a,0x7b,0x31,0x31, - 0x2c,0x31,0x32,0x7d,0x2c,0x7b,0x31,0x32,0x2c,0x31,0x33,0x7d,0x2c,0x7b,0x31,0x33,0x2c,0x31,0x34,0x7d,0x2c,0x7b,0x31,0x34,0x2c,0x31,0x30,0x7d,0x2c,0x7b,0x31,0x30, - 0x2c,0x31,0x31,0x7d,0x2c,0x0a,0x7b,0x31,0x36,0x2c,0x31,0x37,0x7d,0x2c,0x7b,0x31,0x37,0x2c,0x31,0x38,0x7d,0x2c,0x7b,0x31,0x38,0x2c,0x31,0x39,0x7d,0x2c,0x7b,0x31, - 0x39,0x2c,0x31,0x35,0x7d,0x2c,0x7b,0x31,0x35,0x2c,0x31,0x36,0x7d,0x2c,0x0a,0x7b,0x32,0x31,0x2c,0x32,0x32,0x7d,0x2c,0x7b,0x32,0x32,0x2c,0x32,0x33,0x7d,0x2c,0x7b, - 0x32,0x33,0x2c,0x32,0x34,0x7d,0x2c,0x7b,0x32,0x34,0x2c,0x32,0x30,0x7d,0x2c,0x7b,0x32,0x30,0x2c,0x32,0x31,0x7d,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73, - 0x74,0x61,0x6e,0x74,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x70,0x70,0x69,0x5b,0x32,0x35,0x5d,0x5b,0x32,0x5d,0x3d,0x7b,0x0a,0x7b,0x30,0x2c,0x30, - 0x7d,0x2c,0x7b,0x36,0x2c,0x34,0x34,0x7d,0x2c,0x7b,0x31,0x32,0x2c,0x34,0x33,0x7d,0x2c,0x7b,0x31,0x38,0x2c,0x32,0x31,0x7d,0x2c,0x7b,0x32,0x34,0x2c,0x31,0x34,0x7d, - 0x2c,0x7b,0x33,0x2c,0x32,0x38,0x7d,0x2c,0x7b,0x39,0x2c,0x32,0x30,0x7d,0x2c,0x7b,0x31,0x30,0x2c,0x33,0x7d,0x2c,0x7b,0x31,0x36,0x2c,0x34,0x35,0x7d,0x2c,0x0a,0x7b, - 0x32,0x32,0x2c,0x36,0x31,0x7d,0x2c,0x7b,0x31,0x2c,0x31,0x7d,0x2c,0x7b,0x37,0x2c,0x36,0x7d,0x2c,0x7b,0x31,0x33,0x2c,0x32,0x35,0x7d,0x2c,0x7b,0x31,0x39,0x2c,0x38, - 0x7d,0x2c,0x7b,0x32,0x30,0x2c,0x31,0x38,0x7d,0x2c,0x7b,0x34,0x2c,0x32,0x37,0x7d,0x2c,0x7b,0x35,0x2c,0x33,0x36,0x7d,0x2c,0x7b,0x31,0x31,0x2c,0x31,0x30,0x7d,0x2c, - 0x0a,0x7b,0x31,0x37,0x2c,0x31,0x35,0x7d,0x2c,0x7b,0x32,0x33,0x2c,0x35,0x36,0x7d,0x2c,0x7b,0x32,0x2c,0x36,0x32,0x7d,0x2c,0x7b,0x38,0x2c,0x35,0x35,0x7d,0x2c,0x7b, - 0x31,0x34,0x2c,0x33,0x39,0x7d,0x2c,0x7b,0x31,0x35,0x2c,0x34,0x31,0x7d,0x2c,0x7b,0x32,0x31,0x2c,0x32,0x7d,0x0a,0x7d,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x52,0x36,0x34,0x28,0x61,0x2c,0x62,0x2c,0x63,0x29,0x20,0x28,0x28,0x28,0x61,0x29,0x20,0x3c,0x3c,0x20,0x62,0x29,0x20,0x7c,0x20,0x28,0x28,0x61,0x29,0x20,0x3e, - 0x3e,0x20,0x63,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x6b,0x29,0x20,0x5c,0x0a,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a, - 0x43,0x5b,0x74,0x5d,0x3d,0x41,0x5b,0x73,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x35,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x31,0x30,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x31,0x35,0x5d, - 0x5e,0x41,0x5b,0x73,0x2b,0x32,0x30,0x5d,0x3b,0x20,0x5c,0x0a,0x41,0x5b,0x74,0x5d,0x20,0x5e,0x3d,0x20,0x43,0x5b,0x73,0x2b,0x34,0x5d,0x5e,0x52,0x36,0x34,0x28,0x43, - 0x5b,0x73,0x2b,0x31,0x5d,0x2c,0x31,0x2c,0x36,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x43,0x5b,0x74,0x5d,0x3d,0x52,0x36,0x34,0x28,0x41,0x5b,0x61,0x74,0x5d,0x2c,0x72,0x6f, - 0x30,0x2c,0x72,0x6f,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x41,0x5b,0x74,0x5d,0x3d,0x28,0x43,0x5b,0x74,0x5d,0x5e,0x28,0x28,0x7e,0x43,0x5b,0x63,0x31,0x5d,0x29,0x26,0x43, - 0x5b,0x63,0x32,0x5d,0x29,0x29,0x5e,0x28,0x6b,0x31,0x26,0x28,0x6b,0x29,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x5f, - 0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69, - 0x7a,0x65,0x28,0x33,0x32,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x73,0x68,0x61,0x33,0x28, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x69,0x6e,0x70,0x75,0x74,0x73,0x2c,0x5f, - 0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x68,0x61,0x73,0x68,0x65,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x69,0x66, - 0x28,0x74,0x3e,0x3d,0x32,0x35,0x29,0x20,0x7b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x20,0x67,0x3d,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, - 0x36,0x34,0x5f,0x74,0x20,0x69,0x6e,0x70,0x75,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x31,0x30,0x32,0x34,0x30,0x2a,0x32,0x2a,0x67,0x3b,0x0a,0x5f,0x5f,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x69,0x6e,0x70,0x75,0x74,0x3d,0x28,0x5f,0x5f,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x69,0x6e,0x70,0x75,0x74,0x73,0x2b,0x69,0x6e, - 0x70,0x75,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x41,0x5b, - 0x32,0x35,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x43,0x5b,0x32,0x35,0x5d,0x3b,0x0a,0x41,0x5b,0x74, - 0x5d,0x3d,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x3d,0x74,0x20,0x25,0x20,0x35,0x3b,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x61,0x74,0x3d,0x70,0x70,0x69,0x5b,0x74,0x5d,0x5b,0x30,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x72, - 0x6f,0x30,0x3d,0x70,0x70,0x69,0x5b,0x74,0x5d,0x5b,0x31,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x31,0x3d,0x36,0x34,0x2d,0x72, - 0x6f,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x63,0x31,0x3d,0x63,0x5b,0x74,0x5d,0x5b,0x30,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x69,0x6e,0x74,0x20,0x63,0x32,0x3d,0x63,0x5b,0x74,0x5d,0x5b,0x31,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6b, - 0x31,0x3d,0x28,0x74,0x3d,0x3d,0x30,0x29,0x3f,0x30,0x78,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x55,0x4c,0x3a,0x30,0x55, - 0x4c,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x39,0x39,0x37, - 0x33,0x2a,0x32,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x70,0x75,0x74,0x5f,0x77,0x6f,0x72,0x64,0x73,0x3d, - 0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x70,0x75, - 0x74,0x5f,0x65,0x6e,0x64,0x31,0x37,0x3d,0x69,0x6e,0x70,0x75,0x74,0x2b,0x28,0x28,0x69,0x6e,0x70,0x75,0x74,0x5f,0x77,0x6f,0x72,0x64,0x73,0x2f,0x31,0x37,0x29,0x2a, - 0x31,0x37,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x69,0x6e,0x70,0x75,0x74,0x5f,0x65,0x6e,0x64,0x3d,0x69,0x6e,0x70,0x75,0x74,0x2b,0x69,0x6e,0x70,0x75,0x74,0x5f,0x77,0x6f,0x72,0x64,0x73,0x3b, - 0x0a,0x66,0x6f,0x72,0x20,0x28,0x3b,0x20,0x69,0x6e,0x70,0x75,0x74,0x3c,0x69,0x6e,0x70,0x75,0x74,0x5f,0x65,0x6e,0x64,0x31,0x37,0x3b,0x20,0x69,0x6e,0x70,0x75,0x74, - 0x2b,0x3d,0x31,0x37,0x29,0x20,0x7b,0x0a,0x69,0x66,0x28,0x74,0x3c,0x31,0x37,0x29,0x20,0x41,0x5b,0x74,0x5d,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x74, - 0x5d,0x3b,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x55,0x4c,0x29,0x3b,0x20, - 0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x32,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55, - 0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x41,0x55,0x4c,0x29,0x3b,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28, - 0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x42,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x55,0x4c,0x29,0x3b,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x38,0x31,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x38,0x30,0x30,0x39,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x38,0x41,0x55,0x4c,0x29,0x3b,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x38, - 0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x39,0x55,0x4c,0x29, - 0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x41,0x55,0x4c,0x29,0x3b,0x0a,0x52, - 0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x38,0x42,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e, - 0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x42,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30, - 0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x39,0x55,0x4c,0x29,0x3b,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x33,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x32,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x55,0x4c,0x29,0x3b,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x38,0x30,0x30,0x41,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30, - 0x30,0x41,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x38,0x31,0x55, - 0x4c,0x29,0x3b,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x30,0x55,0x4c,0x29,0x3b, - 0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f, - 0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x38,0x55,0x4c,0x29,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x77,0x6f,0x72,0x64,0x49,0x6e,0x64,0x65,0x78,0x3d,0x69,0x6e,0x70,0x75,0x74,0x5f,0x65,0x6e,0x64,0x2d, - 0x69,0x6e,0x70,0x75,0x74,0x3b,0x0a,0x69,0x66,0x28,0x74,0x3c,0x77,0x6f,0x72,0x64,0x49,0x6e,0x64,0x65,0x78,0x29,0x20,0x41,0x5b,0x74,0x5d,0x20,0x5e,0x3d,0x20,0x69, - 0x6e,0x70,0x75,0x74,0x5b,0x74,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x74,0x3d,0x3d,0x30,0x29,0x20,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x74,0x61,0x69, - 0x6c,0x3d,0x30,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x70,0x3d,0x28, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x69,0x6e,0x70,0x75,0x74,0x5f,0x65,0x6e, - 0x64,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x61,0x69,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x69,0x6e,0x70,0x75, - 0x74,0x5f,0x73,0x69,0x7a,0x65,0x20,0x25,0x20,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28, - 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x74,0x61,0x69,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20, - 0x7b,0x0a,0x74,0x61,0x69,0x6c,0x7c,0x3d,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x70,0x5b,0x69,0x5d,0x29,0x3c,0x3c,0x28,0x69,0x2a,0x38,0x29,0x3b, - 0x0a,0x7d,0x0a,0x41,0x5b,0x77,0x6f,0x72,0x64,0x49,0x6e,0x64,0x65,0x78,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x61,0x69,0x6c,0x5e,0x28,0x28,0x75,0x69,0x6e,0x74,0x36,0x34, - 0x5f,0x74,0x29,0x28,0x28,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x30,0x78,0x30,0x32,0x7c,0x28,0x31,0x3c,0x3c,0x32,0x29,0x29,0x29,0x3c,0x3c,0x28, - 0x74,0x61,0x69,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x2a,0x38,0x29,0x29,0x29,0x3b,0x0a,0x41,0x5b,0x31,0x36,0x5d,0x20,0x5e,0x3d,0x20,0x30,0x78,0x38,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43, - 0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a, - 0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x52,0x4f,0x55,0x4e,0x44,0x53,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x43, - 0x5b,0x74,0x5d,0x3d,0x41,0x5b,0x73,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x35,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x31,0x30,0x5d,0x5e,0x41,0x5b,0x73,0x2b,0x31,0x35,0x5d,0x5e, - 0x41,0x5b,0x73,0x2b,0x32,0x30,0x5d,0x3b,0x0a,0x41,0x5b,0x74,0x5d,0x20,0x5e,0x3d,0x20,0x43,0x5b,0x73,0x2b,0x34,0x5d,0x5e,0x52,0x36,0x34,0x28,0x43,0x5b,0x73,0x2b, - 0x31,0x5d,0x2c,0x31,0x2c,0x36,0x33,0x29,0x3b,0x0a,0x43,0x5b,0x74,0x5d,0x3d,0x52,0x36,0x34,0x28,0x41,0x5b,0x61,0x74,0x5d,0x2c,0x72,0x6f,0x30,0x2c,0x72,0x6f,0x31, - 0x29,0x3b,0x0a,0x41,0x5b,0x74,0x5d,0x3d,0x28,0x43,0x5b,0x74,0x5d,0x5e,0x28,0x28,0x7e,0x43,0x5b,0x63,0x31,0x5d,0x29,0x26,0x43,0x5b,0x63,0x32,0x5d,0x29,0x29,0x5e, - 0x28,0x72,0x63,0x5b,0x69,0x5d,0x26,0x6b,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x74,0x3c,0x34,0x29,0x20,0x7b,0x0a,0x68,0x61,0x73,0x68,0x65,0x73,0x5b,0x67, - 0x2a,0x34,0x2b,0x74,0x5d,0x3d,0x41,0x5b,0x74,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72, - 0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x33,0x32,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f, - 0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x73,0x68,0x61,0x33,0x5f,0x69,0x6e,0x69,0x74,0x69,0x61,0x6c,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, - 0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x69,0x6e,0x70,0x75,0x74,0x5f,0x64,0x61,0x74,0x61,0x2c,0x75,0x69,0x6e,0x74, - 0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x6f,0x6e,0x63,0x65,0x2c,0x5f, - 0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x68,0x61,0x73,0x68,0x65,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x3d,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a, - 0x69,0x66,0x28,0x74,0x3e,0x3d,0x32,0x35,0x29,0x20,0x7b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x69,0x6e,0x70,0x75,0x74,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x69,0x6e,0x70,0x75,0x74,0x5f,0x64,0x61,0x74,0x61,0x29,0x3b,0x0a,0x5f,0x5f,0x6c, - 0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x41,0x5b,0x32,0x35,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, - 0x74,0x36,0x34,0x5f,0x74,0x20,0x43,0x5b,0x32,0x35,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x70,0x75, - 0x74,0x5f,0x77,0x6f,0x72,0x64,0x73,0x3d,0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34, - 0x5f,0x74,0x29,0x3b,0x0a,0x41,0x5b,0x74,0x5d,0x3d,0x28,0x74,0x3c,0x69,0x6e,0x70,0x75,0x74,0x5f,0x77,0x6f,0x72,0x64,0x73,0x29,0x3f,0x69,0x6e,0x70,0x75,0x74,0x5b, - 0x74,0x5d,0x3a,0x30,0x3b,0x0a,0x69,0x66,0x28,0x74,0x3d,0x3d,0x30,0x29,0x20,0x7b,0x0a,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x2a,0x29,0x41,0x29,0x5b,0x31,0x31,0x5d,0x3d,0x6e,0x6f,0x6e,0x63,0x65,0x2b,0x67,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x20,0x74,0x61,0x69,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x69,0x6e,0x70,0x75,0x74,0x5f,0x73,0x69,0x7a,0x65,0x20,0x25,0x20,0x73,0x69,0x7a,0x65,0x6f, - 0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x41,0x5b,0x69,0x6e,0x70,0x75,0x74,0x5f,0x77,0x6f,0x72,0x64,0x73,0x5d,0x20,0x5e,0x3d,0x20,0x28, - 0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x28,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x30,0x78,0x30,0x32,0x7c,0x28,0x31,0x3c,0x3c,0x32, - 0x29,0x29,0x29,0x3c,0x3c,0x28,0x74,0x61,0x69,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x41,0x5b,0x31,0x36,0x5d,0x20,0x5e,0x3d,0x20,0x30,0x78, - 0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c, - 0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x20,0x73,0x3d,0x74,0x20,0x25,0x20,0x35,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x61,0x74,0x3d,0x70,0x70,0x69,0x5b,0x74,0x5d,0x5b, - 0x30,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x30,0x3d,0x70,0x70,0x69,0x5b,0x74,0x5d,0x5b,0x31,0x5d,0x3b,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x72,0x6f,0x31,0x3d,0x36,0x34,0x2d,0x72,0x6f,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x63,0x31,0x3d, - 0x63,0x5b,0x74,0x5d,0x5b,0x30,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x63,0x32,0x3d,0x63,0x5b,0x74,0x5d,0x5b,0x31,0x5d,0x3b,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6b,0x31,0x3d,0x28,0x74,0x3d,0x3d,0x30,0x29,0x3f,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f, - 0x74,0x29,0x28,0x2d,0x31,0x29,0x3a,0x30,0x3b,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x31,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x32,0x55, - 0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x41,0x55,0x4c,0x29,0x3b, - 0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f, - 0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x42,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44, - 0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x55,0x4c,0x29,0x3b,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78, - 0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x38,0x31,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x39,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x41,0x55,0x4c,0x29,0x3b,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x38,0x38,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30, - 0x38,0x30,0x30,0x39,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30, - 0x41,0x55,0x4c,0x29,0x3b,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x38,0x42,0x55,0x4c, - 0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x42,0x55,0x4c,0x29,0x3b,0x20, - 0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x39,0x55,0x4c,0x29,0x3b,0x0a,0x52,0x4f,0x55, - 0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x33,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28, - 0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x32,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x55,0x4c,0x29,0x3b,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x41,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x41,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30, - 0x30,0x30,0x38,0x30,0x38,0x31,0x55,0x4c,0x29,0x3b,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38, - 0x30,0x38,0x30,0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31, - 0x55,0x4c,0x29,0x3b,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x38,0x55,0x4c,0x29, - 0x3b,0x0a,0x69,0x66,0x28,0x74,0x3c,0x34,0x29,0x20,0x7b,0x0a,0x68,0x61,0x73,0x68,0x65,0x73,0x5b,0x67,0x2a,0x34,0x2b,0x74,0x5d,0x3d,0x41,0x5b,0x74,0x5d,0x3b,0x0a, - 0x7d,0x0a,0x7d,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x52,0x4f,0x55,0x4e,0x44,0x53,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x52,0x36,0x34,0x0a,0x23,0x75,0x6e, - 0x64,0x65,0x66,0x20,0x52,0x4f,0x55,0x4e,0x44,0x0a,0x00 -}; - -} // namespace xmrig diff --git a/src/backend/opencl/cl/astrobwt_v2/salsa20.cl b/src/backend/opencl/cl/astrobwt_v2/salsa20.cl deleted file mode 100644 index 8dd9374aea..0000000000 --- a/src/backend/opencl/cl/astrobwt_v2/salsa20.cl +++ /dev/null @@ -1,151 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2022 SChernykh - * Copyright 2016-2022 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#define ROTATE(v,c) (rotate(v,(uint32_t)c)) -#define XOR(v,w) ((v) ^ (w)) -#define PLUS(v,w) ((v) + (w)) - -__attribute__((reqd_work_group_size(SALSA20_GROUP_SIZE, 1, 1))) -__kernel void Salsa20_XORKeyStream(__global const uint32_t* keys, __global uint32_t* outputs) -{ - const uint32_t t = get_local_id(0); - const uint32_t g = get_group_id(0); - - const uint64_t output_offset = g * 10240; - - __global const uint32_t* k = keys + g * 8; - __global uint32_t* output = outputs + (output_offset + (t * 64)) / sizeof(uint32_t); - const uint32_t output_size = 9973; - - const uint32_t j1 = k[0]; - const uint32_t j2 = k[1]; - const uint32_t j3 = k[2]; - const uint32_t j4 = k[3]; - const uint32_t j11 = k[4]; - const uint32_t j12 = k[5]; - const uint32_t j13 = k[6]; - const uint32_t j14 = k[7]; - const uint32_t j0 = 0x61707865U; - const uint32_t j5 = 0x3320646EU; - const uint32_t j10 = 0x79622D32U; - const uint32_t j15 = 0x6B206574U; - const uint32_t j6 = 0; - const uint32_t j7 = 0; - const uint32_t j8 = 0; - const uint32_t j9 = 0; - - for (uint32_t i = t * 64; i < output_size; i += SALSA20_GROUP_SIZE * 64) - { - const uint32_t j8_1 = j8 + (i / 64); - - uint32_t x0 = j0; - uint32_t x1 = j1; - uint32_t x2 = j2; - uint32_t x3 = j3; - uint32_t x4 = j4; - uint32_t x5 = j5; - uint32_t x6 = j6; - uint32_t x7 = j7; - uint32_t x8 = j8_1; - uint32_t x9 = j9; - uint32_t x10 = j10; - uint32_t x11 = j11; - uint32_t x12 = j12; - uint32_t x13 = j13; - uint32_t x14 = j14; - uint32_t x15 = j15; - - #pragma unroll 5 - for (uint32_t j = 0; j < 10; ++j) - { - x4 = XOR( x4,ROTATE(PLUS( x0,x12), 7)); - x8 = XOR( x8,ROTATE(PLUS( x4, x0), 9)); - x12 = XOR(x12,ROTATE(PLUS( x8, x4),13)); - x0 = XOR( x0,ROTATE(PLUS(x12, x8),18)); - x9 = XOR( x9,ROTATE(PLUS( x5, x1), 7)); - x13 = XOR(x13,ROTATE(PLUS( x9, x5), 9)); - x1 = XOR( x1,ROTATE(PLUS(x13, x9),13)); - x5 = XOR( x5,ROTATE(PLUS( x1,x13),18)); - x14 = XOR(x14,ROTATE(PLUS(x10, x6), 7)); - x2 = XOR( x2,ROTATE(PLUS(x14,x10), 9)); - x6 = XOR( x6,ROTATE(PLUS( x2,x14),13)); - x10 = XOR(x10,ROTATE(PLUS( x6, x2),18)); - x3 = XOR( x3,ROTATE(PLUS(x15,x11), 7)); - x7 = XOR( x7,ROTATE(PLUS( x3,x15), 9)); - x11 = XOR(x11,ROTATE(PLUS( x7, x3),13)); - x15 = XOR(x15,ROTATE(PLUS(x11, x7),18)); - x1 = XOR( x1,ROTATE(PLUS( x0, x3), 7)); - x2 = XOR( x2,ROTATE(PLUS( x1, x0), 9)); - x3 = XOR( x3,ROTATE(PLUS( x2, x1),13)); - x0 = XOR( x0,ROTATE(PLUS( x3, x2),18)); - x6 = XOR( x6,ROTATE(PLUS( x5, x4), 7)); - x7 = XOR( x7,ROTATE(PLUS( x6, x5), 9)); - x4 = XOR( x4,ROTATE(PLUS( x7, x6),13)); - x5 = XOR( x5,ROTATE(PLUS( x4, x7),18)); - x11 = XOR(x11,ROTATE(PLUS(x10, x9), 7)); - x8 = XOR( x8,ROTATE(PLUS(x11,x10), 9)); - x9 = XOR( x9,ROTATE(PLUS( x8,x11),13)); - x10 = XOR(x10,ROTATE(PLUS( x9, x8),18)); - x12 = XOR(x12,ROTATE(PLUS(x15,x14), 7)); - x13 = XOR(x13,ROTATE(PLUS(x12,x15), 9)); - x14 = XOR(x14,ROTATE(PLUS(x13,x12),13)); - x15 = XOR(x15,ROTATE(PLUS(x14,x13),18)); - } - - output[0] = PLUS(x0, j0); - output[1] = PLUS(x1, j1); - output[2] = PLUS(x2, j2); - output[3] = PLUS(x3, j3); - output[4] = PLUS(x4, j4); - output[5] = PLUS(x5, j5); - output[6] = PLUS(x6, j6); - output[7] = PLUS(x7, j7); - output[8] = PLUS(x8, j8_1); - output[9] = PLUS(x9, j9); - output[10] = PLUS(x10,j10); - output[11] = PLUS(x11,j11); - output[12] = PLUS(x12,j12); - output[13] = PLUS(x13,j13); - output[14] = PLUS(x14,j14); - output[15] = PLUS(x15,j15); - - output += (SALSA20_GROUP_SIZE * 64) / sizeof(uint32_t); - } - - barrier(CLK_GLOBAL_MEM_FENCE); - - // Put zeroes after output's end - if (t < 16) - { - __global uint32_t* p = outputs + (output_offset + output_size + 3) / sizeof(uint32_t); - p[t] = 0; - } - - if ((t == 0) && (output_size & 3)) - outputs[(output_offset + output_size) / sizeof(uint32_t)] &= 0xFFFFFFFFU >> ((4 - (output_size & 3)) << 3); -} - -#undef ROTATE -#undef XOR -#undef PLUS diff --git a/src/backend/opencl/cl/astrobwt_v2/sha3.cl b/src/backend/opencl/cl/astrobwt_v2/sha3.cl deleted file mode 100644 index ddd32a7c51..0000000000 --- a/src/backend/opencl/cl/astrobwt_v2/sha3.cl +++ /dev/null @@ -1,188 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2022 SChernykh - * Copyright 2016-2022 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#define ROUNDS 24 - -__constant const uint64_t rc[24] = { - 0x0000000000000001UL, 0x0000000000008082UL, 0x800000000000808AUL, - 0x8000000080008000UL, 0x000000000000808BUL, 0x0000000080000001UL, - 0x8000000080008081UL, 0x8000000000008009UL, 0x000000000000008AUL, - 0x0000000000000088UL, 0x0000000080008009UL, 0x000000008000000AUL, - 0x000000008000808BUL, 0x800000000000008BUL, 0x8000000000008089UL, - 0x8000000000008003UL, 0x8000000000008002UL, 0x8000000000000080UL, - 0x000000000000800AUL, 0x800000008000000AUL, 0x8000000080008081UL, - 0x8000000000008080UL, 0x0000000080000001UL, 0x8000000080008008UL -}; - -__constant const int c[25][2] = { - { 1, 2}, { 2, 3}, { 3, 4}, { 4, 0}, { 0, 1}, - { 6, 7}, { 7, 8}, { 8, 9}, { 9, 5}, { 5, 6}, - {11,12}, {12,13}, {13,14}, {14,10}, {10,11}, - {16,17}, {17,18}, {18,19}, {19,15}, {15,16}, - {21,22}, {22,23}, {23,24}, {24,20}, {20,21} -}; - -__constant const int ppi[25][2] = { - {0, 0}, {6, 44}, {12, 43}, {18, 21}, {24, 14}, {3, 28}, {9, 20}, {10, 3}, {16, 45}, - {22, 61}, {1, 1}, {7, 6}, {13, 25}, {19, 8}, {20, 18}, {4, 27}, {5, 36}, {11, 10}, - {17, 15}, {23, 56}, {2, 62}, {8, 55}, {14, 39}, {15, 41}, {21, 2} -}; - -#define R64(a,b,c) (((a) << b) | ((a) >> c)) - -#define ROUND(k) \ -do { \ - C[t] = A[s] ^ A[s + 5] ^ A[s + 10] ^ A[s + 15] ^ A[s + 20]; \ - A[t] ^= C[s + 4] ^ R64(C[s + 1], 1, 63); \ - C[t] = R64(A[at], ro0, ro1); \ - A[t] = (C[t] ^ ((~C[c1]) & C[c2])) ^ (k1 & (k)); \ -} while (0) - -__attribute__((reqd_work_group_size(32, 1, 1))) -__kernel void sha3(__global const uint8_t* inputs, __global uint64_t* hashes) -{ - const uint32_t t = get_local_id(0); - - if (t >= 25) { - return; - } - - const uint32_t g = get_group_id(0); - const uint64_t input_offset = 10240 * 2 * g; - __global const uint64_t* input = (__global const uint64_t*)(inputs + input_offset); - - __local uint64_t A[25]; - __local uint64_t C[25]; - - A[t] = 0; - - const uint32_t s = t % 5; - const int at = ppi[t][0]; - const int ro0 = ppi[t][1]; - const int ro1 = 64 - ro0; - const int c1 = c[t][0]; - const int c2 = c[t][1]; - const uint64_t k1 = (t == 0) ? 0xFFFFFFFFFFFFFFFFUL : 0UL; - - const uint32_t input_size = 9973 * 2; - const uint32_t input_words = input_size / sizeof(uint64_t); - __global const uint64_t* const input_end17 = input + ((input_words / 17) * 17); - __global const uint64_t* const input_end = input + input_words; - - for (; input < input_end17; input += 17) { - if (t < 17) A[t] ^= input[t]; - - ROUND(0x0000000000000001UL); ROUND(0x0000000000008082UL); ROUND(0x800000000000808AUL); - ROUND(0x8000000080008000UL); ROUND(0x000000000000808BUL); ROUND(0x0000000080000001UL); - ROUND(0x8000000080008081UL); ROUND(0x8000000000008009UL); ROUND(0x000000000000008AUL); - ROUND(0x0000000000000088UL); ROUND(0x0000000080008009UL); ROUND(0x000000008000000AUL); - ROUND(0x000000008000808BUL); ROUND(0x800000000000008BUL); ROUND(0x8000000000008089UL); - ROUND(0x8000000000008003UL); ROUND(0x8000000000008002UL); ROUND(0x8000000000000080UL); - ROUND(0x000000000000800AUL); ROUND(0x800000008000000AUL); ROUND(0x8000000080008081UL); - ROUND(0x8000000000008080UL); ROUND(0x0000000080000001UL); ROUND(0x8000000080008008UL); - } - - const uint32_t wordIndex = input_end - input; - if (t < wordIndex) A[t] ^= input[t]; - - if (t == 0) { - uint64_t tail = 0; - __global const uint8_t* p = (__global const uint8_t*)input_end; - const uint32_t tail_size = input_size % sizeof(uint64_t); - for (uint32_t i = 0; i < tail_size; ++i) { - tail |= (uint64_t)(p[i]) << (i * 8); - } - - A[wordIndex] ^= tail ^ ((uint64_t)(((uint64_t)(0x02 | (1 << 2))) << (tail_size * 8))); - A[16] ^= 0x8000000000000000UL; - } - - barrier(CLK_LOCAL_MEM_FENCE); - - #pragma unroll 1 - for (int i = 0; i < ROUNDS; ++i) { - C[t] = A[s] ^ A[s + 5] ^ A[s + 10] ^ A[s + 15] ^ A[s + 20]; - A[t] ^= C[s + 4] ^ R64(C[s + 1], 1, 63); - C[t] = R64(A[at], ro0, ro1); - A[t] = (C[t] ^ ((~C[c1]) & C[c2])) ^ (rc[i] & k1); - } - - if (t < 4) { - hashes[g * 4 + t] = A[t]; - } -} - -__attribute__((reqd_work_group_size(32, 1, 1))) -__kernel void sha3_initial(__global const uint8_t* input_data, uint32_t input_size, uint32_t nonce, __global uint64_t* hashes) -{ - const uint32_t t = get_local_id(0); - const uint32_t g = get_group_id(0); - - if (t >= 25) { - return; - } - - __global const uint64_t* input = (__global const uint64_t*)(input_data); - - __local uint64_t A[25]; - __local uint64_t C[25]; - - const uint32_t input_words = input_size / sizeof(uint64_t); - A[t] = (t < input_words) ? input[t] : 0; - - if (t == 0) { - ((__local uint32_t*)A)[11] = nonce + g; - - const uint32_t tail_size = input_size % sizeof(uint64_t); - A[input_words] ^= (uint64_t)(((uint64_t)(0x02 | (1 << 2))) << (tail_size * 8)); - A[16] ^= 0x8000000000000000UL; - } - - barrier(CLK_LOCAL_MEM_FENCE); - - const uint32_t s = t % 5; - const int at = ppi[t][0]; - const int ro0 = ppi[t][1]; - const int ro1 = 64 - ro0; - const int c1 = c[t][0]; - const int c2 = c[t][1]; - const uint64_t k1 = (t == 0) ? (uint64_t)(-1) : 0; - - ROUND(0x0000000000000001UL); ROUND(0x0000000000008082UL); ROUND(0x800000000000808AUL); - ROUND(0x8000000080008000UL); ROUND(0x000000000000808BUL); ROUND(0x0000000080000001UL); - ROUND(0x8000000080008081UL); ROUND(0x8000000000008009UL); ROUND(0x000000000000008AUL); - ROUND(0x0000000000000088UL); ROUND(0x0000000080008009UL); ROUND(0x000000008000000AUL); - ROUND(0x000000008000808BUL); ROUND(0x800000000000008BUL); ROUND(0x8000000000008089UL); - ROUND(0x8000000000008003UL); ROUND(0x8000000000008002UL); ROUND(0x8000000000000080UL); - ROUND(0x000000000000800AUL); ROUND(0x800000008000000AUL); ROUND(0x8000000080008081UL); - ROUND(0x8000000000008080UL); ROUND(0x0000000080000001UL); ROUND(0x8000000080008008UL); - - if (t < 4) { - hashes[g * 4 + t] = A[t]; - } -} - -#undef ROUNDS -#undef R64 -#undef ROUND diff --git a/src/backend/opencl/cl/cn/algorithm.cl b/src/backend/opencl/cl/cn/algorithm.cl index 7258479d1e..3660718432 100644 --- a/src/backend/opencl/cl/cn/algorithm.cl +++ b/src/backend/opencl/cl/cn/algorithm.cl @@ -27,7 +27,6 @@ #define ALGO_AR2_CHUKWA 0x61130000 #define ALGO_AR2_CHUKWA_V2 0x61140000 #define ALGO_AR2_WRKZ 0x61120000 -#define ALGO_ASTROBWT_DERO 0x41000000 #define ALGO_KAWPOW_RVN 0x6b0f0000 #define FAMILY_UNKNOWN 0 @@ -38,5 +37,4 @@ #define FAMILY_CN_FEMTO 0x63110000 #define FAMILY_RANDOM_X 0x72000000 #define FAMILY_ARGON2 0x61000000 -#define FAMILY_ASTROBWT 0x41000000 #define FAMILY_KAWPOW 0x6b000000 diff --git a/src/backend/opencl/cl/cn/cryptonight_cl.h b/src/backend/opencl/cl/cn/cryptonight_cl.h index 791d088b78..4e546a0d41 100644 --- a/src/backend/opencl/cl/cn/cryptonight_cl.h +++ b/src/backend/opencl/cl/cn/cryptonight_cl.h @@ -2,7 +2,7 @@ namespace xmrig { -static const char cryptonight_cl[61520] = { +static const char cryptonight_cl[61447] = { 0x23,0x69,0x66,0x64,0x65,0x66,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x0a,0x23,0x65,0x6e,0x64, 0x69,0x66,0x0a,0x23,0x69,0x66,0x64,0x65,0x66,0x20,0x63,0x6c,0x5f,0x61,0x6d,0x64,0x5f,0x6d,0x65,0x64,0x69,0x61,0x5f,0x6f,0x70,0x73,0x0a,0x23,0x64,0x65,0x66,0x69, 0x6e,0x65,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53, @@ -39,1893 +39,1891 @@ static const char cryptonight_cl[61520] = { 0x31,0x35,0x31,0x32,0x36,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x41,0x52,0x32,0x5f,0x43,0x48,0x55,0x4b,0x57,0x41,0x20,0x30, 0x78,0x36,0x31,0x31,0x33,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x41,0x52,0x32,0x5f,0x43,0x48,0x55,0x4b,0x57, 0x41,0x5f,0x56,0x32,0x20,0x30,0x78,0x36,0x31,0x31,0x34,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x41,0x52,0x32, - 0x5f,0x57,0x52,0x4b,0x5a,0x20,0x30,0x78,0x36,0x31,0x31,0x32,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x41,0x53, - 0x54,0x52,0x4f,0x42,0x57,0x54,0x5f,0x44,0x45,0x52,0x4f,0x20,0x30,0x78,0x34,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41, - 0x4c,0x47,0x4f,0x5f,0x4b,0x41,0x57,0x50,0x4f,0x57,0x5f,0x52,0x56,0x4e,0x20,0x30,0x78,0x36,0x62,0x30,0x66,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x55,0x4e,0x4b,0x4e,0x4f,0x57,0x4e,0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c, - 0x59,0x5f,0x43,0x4e,0x20,0x30,0x78,0x36,0x33,0x31,0x35,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43, - 0x4e,0x5f,0x4c,0x49,0x54,0x45,0x20,0x30,0x78,0x36,0x33,0x31,0x34,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59, - 0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x20,0x30,0x78,0x36,0x33,0x31,0x36,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d, - 0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x50,0x49,0x43,0x4f,0x20,0x30,0x78,0x36,0x33,0x31,0x32,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46, - 0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x46,0x45,0x4d,0x54,0x4f,0x20,0x30,0x78,0x36,0x33,0x31,0x31,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x5f,0x58,0x20,0x30,0x78,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x41,0x52,0x47,0x4f,0x4e,0x32,0x20,0x30,0x78,0x36,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x41,0x53,0x54,0x52,0x4f,0x42,0x57,0x54,0x20,0x30,0x78,0x34,0x31,0x30,0x30,0x30,0x30,0x30,0x30, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x4b,0x41,0x57,0x50,0x4f,0x57,0x20,0x30,0x78,0x36,0x62,0x30,0x30,0x30,0x30,0x30, - 0x30,0x0a,0x23,0x69,0x66,0x6e,0x64,0x65,0x66,0x20,0x57,0x4f,0x4c,0x46,0x5f,0x41,0x45,0x53,0x5f,0x43,0x4c,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x4f, - 0x4c,0x46,0x5f,0x41,0x45,0x53,0x5f,0x43,0x4c,0x0a,0x23,0x69,0x66,0x64,0x65,0x66,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x53, - 0x54,0x41,0x54,0x49,0x43,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x69,0x66,0x64,0x65,0x66,0x20,0x63,0x6c,0x5f,0x61,0x6d,0x64,0x5f,0x6d,0x65,0x64,0x69,0x61, - 0x5f,0x6f,0x70,0x73,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x0a,0x23,0x70,0x72,0x61, - 0x67,0x6d,0x61,0x20,0x4f,0x50,0x45,0x4e,0x43,0x4c,0x20,0x45,0x58,0x54,0x45,0x4e,0x53,0x49,0x4f,0x4e,0x20,0x63,0x6c,0x5f,0x61,0x6d,0x64,0x5f,0x6d,0x65,0x64,0x69, - 0x61,0x5f,0x6f,0x70,0x73,0x32,0x20,0x3a,0x20,0x65,0x6e,0x61,0x62,0x6c,0x65,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x54, - 0x41,0x54,0x49,0x43,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x69,0x6e,0x74,0x20,0x61,0x6d,0x64,0x5f,0x62,0x66,0x65,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, - 0x6e,0x74,0x20,0x73,0x72,0x63,0x30,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x20,0x77,0x69,0x64,0x74,0x68,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x28,0x6f,0x66,0x66,0x73,0x65,0x74,0x2b,0x77,0x69,0x64,0x74,0x68,0x29,0x3c, - 0x33,0x32,0x75,0x29,0x20,0x7b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x73,0x72,0x63,0x30,0x3c,0x3c,0x28,0x33,0x32,0x75,0x2d,0x6f,0x66,0x66,0x73,0x65,0x74, - 0x2d,0x77,0x69,0x64,0x74,0x68,0x29,0x29,0x3e,0x3e,0x28,0x33,0x32,0x75,0x2d,0x77,0x69,0x64,0x74,0x68,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, - 0x73,0x72,0x63,0x30,0x3e,0x3e,0x6f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x30,0x5f,0x43,0x5b,0x32,0x35,0x36,0x5d,0x20, - 0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x41,0x35,0x36,0x33,0x36,0x33,0x43,0x36,0x55,0x2c,0x30,0x78,0x38,0x34,0x37,0x43,0x37,0x43,0x46,0x38,0x55,0x2c,0x30,0x78,0x39,0x39, - 0x37,0x37,0x37,0x37,0x45,0x45,0x55,0x2c,0x30,0x78,0x38,0x44,0x37,0x42,0x37,0x42,0x46,0x36,0x55,0x2c,0x0a,0x30,0x78,0x30,0x44,0x46,0x32,0x46,0x32,0x46,0x46,0x55, - 0x2c,0x30,0x78,0x42,0x44,0x36,0x42,0x36,0x42,0x44,0x36,0x55,0x2c,0x30,0x78,0x42,0x31,0x36,0x46,0x36,0x46,0x44,0x45,0x55,0x2c,0x30,0x78,0x35,0x34,0x43,0x35,0x43, - 0x35,0x39,0x31,0x55,0x2c,0x0a,0x30,0x78,0x35,0x30,0x33,0x30,0x33,0x30,0x36,0x30,0x55,0x2c,0x30,0x78,0x30,0x33,0x30,0x31,0x30,0x31,0x30,0x32,0x55,0x2c,0x30,0x78, - 0x41,0x39,0x36,0x37,0x36,0x37,0x43,0x45,0x55,0x2c,0x30,0x78,0x37,0x44,0x32,0x42,0x32,0x42,0x35,0x36,0x55,0x2c,0x0a,0x30,0x78,0x31,0x39,0x46,0x45,0x46,0x45,0x45, - 0x37,0x55,0x2c,0x30,0x78,0x36,0x32,0x44,0x37,0x44,0x37,0x42,0x35,0x55,0x2c,0x30,0x78,0x45,0x36,0x41,0x42,0x41,0x42,0x34,0x44,0x55,0x2c,0x30,0x78,0x39,0x41,0x37, - 0x36,0x37,0x36,0x45,0x43,0x55,0x2c,0x0a,0x30,0x78,0x34,0x35,0x43,0x41,0x43,0x41,0x38,0x46,0x55,0x2c,0x30,0x78,0x39,0x44,0x38,0x32,0x38,0x32,0x31,0x46,0x55,0x2c, - 0x30,0x78,0x34,0x30,0x43,0x39,0x43,0x39,0x38,0x39,0x55,0x2c,0x30,0x78,0x38,0x37,0x37,0x44,0x37,0x44,0x46,0x41,0x55,0x2c,0x0a,0x30,0x78,0x31,0x35,0x46,0x41,0x46, - 0x41,0x45,0x46,0x55,0x2c,0x30,0x78,0x45,0x42,0x35,0x39,0x35,0x39,0x42,0x32,0x55,0x2c,0x30,0x78,0x43,0x39,0x34,0x37,0x34,0x37,0x38,0x45,0x55,0x2c,0x30,0x78,0x30, - 0x42,0x46,0x30,0x46,0x30,0x46,0x42,0x55,0x2c,0x0a,0x30,0x78,0x45,0x43,0x41,0x44,0x41,0x44,0x34,0x31,0x55,0x2c,0x30,0x78,0x36,0x37,0x44,0x34,0x44,0x34,0x42,0x33, - 0x55,0x2c,0x30,0x78,0x46,0x44,0x41,0x32,0x41,0x32,0x35,0x46,0x55,0x2c,0x30,0x78,0x45,0x41,0x41,0x46,0x41,0x46,0x34,0x35,0x55,0x2c,0x0a,0x30,0x78,0x42,0x46,0x39, - 0x43,0x39,0x43,0x32,0x33,0x55,0x2c,0x30,0x78,0x46,0x37,0x41,0x34,0x41,0x34,0x35,0x33,0x55,0x2c,0x30,0x78,0x39,0x36,0x37,0x32,0x37,0x32,0x45,0x34,0x55,0x2c,0x30, - 0x78,0x35,0x42,0x43,0x30,0x43,0x30,0x39,0x42,0x55,0x2c,0x0a,0x30,0x78,0x43,0x32,0x42,0x37,0x42,0x37,0x37,0x35,0x55,0x2c,0x30,0x78,0x31,0x43,0x46,0x44,0x46,0x44, - 0x45,0x31,0x55,0x2c,0x30,0x78,0x41,0x45,0x39,0x33,0x39,0x33,0x33,0x44,0x55,0x2c,0x30,0x78,0x36,0x41,0x32,0x36,0x32,0x36,0x34,0x43,0x55,0x2c,0x0a,0x30,0x78,0x35, - 0x41,0x33,0x36,0x33,0x36,0x36,0x43,0x55,0x2c,0x30,0x78,0x34,0x31,0x33,0x46,0x33,0x46,0x37,0x45,0x55,0x2c,0x30,0x78,0x30,0x32,0x46,0x37,0x46,0x37,0x46,0x35,0x55, - 0x2c,0x30,0x78,0x34,0x46,0x43,0x43,0x43,0x43,0x38,0x33,0x55,0x2c,0x0a,0x30,0x78,0x35,0x43,0x33,0x34,0x33,0x34,0x36,0x38,0x55,0x2c,0x30,0x78,0x46,0x34,0x41,0x35, - 0x41,0x35,0x35,0x31,0x55,0x2c,0x30,0x78,0x33,0x34,0x45,0x35,0x45,0x35,0x44,0x31,0x55,0x2c,0x30,0x78,0x30,0x38,0x46,0x31,0x46,0x31,0x46,0x39,0x55,0x2c,0x0a,0x30, - 0x78,0x39,0x33,0x37,0x31,0x37,0x31,0x45,0x32,0x55,0x2c,0x30,0x78,0x37,0x33,0x44,0x38,0x44,0x38,0x41,0x42,0x55,0x2c,0x30,0x78,0x35,0x33,0x33,0x31,0x33,0x31,0x36, - 0x32,0x55,0x2c,0x30,0x78,0x33,0x46,0x31,0x35,0x31,0x35,0x32,0x41,0x55,0x2c,0x0a,0x30,0x78,0x30,0x43,0x30,0x34,0x30,0x34,0x30,0x38,0x55,0x2c,0x30,0x78,0x35,0x32, - 0x43,0x37,0x43,0x37,0x39,0x35,0x55,0x2c,0x30,0x78,0x36,0x35,0x32,0x33,0x32,0x33,0x34,0x36,0x55,0x2c,0x30,0x78,0x35,0x45,0x43,0x33,0x43,0x33,0x39,0x44,0x55,0x2c, - 0x0a,0x30,0x78,0x32,0x38,0x31,0x38,0x31,0x38,0x33,0x30,0x55,0x2c,0x30,0x78,0x41,0x31,0x39,0x36,0x39,0x36,0x33,0x37,0x55,0x2c,0x30,0x78,0x30,0x46,0x30,0x35,0x30, - 0x35,0x30,0x41,0x55,0x2c,0x30,0x78,0x42,0x35,0x39,0x41,0x39,0x41,0x32,0x46,0x55,0x2c,0x0a,0x30,0x78,0x30,0x39,0x30,0x37,0x30,0x37,0x30,0x45,0x55,0x2c,0x30,0x78, - 0x33,0x36,0x31,0x32,0x31,0x32,0x32,0x34,0x55,0x2c,0x30,0x78,0x39,0x42,0x38,0x30,0x38,0x30,0x31,0x42,0x55,0x2c,0x30,0x78,0x33,0x44,0x45,0x32,0x45,0x32,0x44,0x46, - 0x55,0x2c,0x0a,0x30,0x78,0x32,0x36,0x45,0x42,0x45,0x42,0x43,0x44,0x55,0x2c,0x30,0x78,0x36,0x39,0x32,0x37,0x32,0x37,0x34,0x45,0x55,0x2c,0x30,0x78,0x43,0x44,0x42, - 0x32,0x42,0x32,0x37,0x46,0x55,0x2c,0x30,0x78,0x39,0x46,0x37,0x35,0x37,0x35,0x45,0x41,0x55,0x2c,0x0a,0x30,0x78,0x31,0x42,0x30,0x39,0x30,0x39,0x31,0x32,0x55,0x2c, - 0x30,0x78,0x39,0x45,0x38,0x33,0x38,0x33,0x31,0x44,0x55,0x2c,0x30,0x78,0x37,0x34,0x32,0x43,0x32,0x43,0x35,0x38,0x55,0x2c,0x30,0x78,0x32,0x45,0x31,0x41,0x31,0x41, - 0x33,0x34,0x55,0x2c,0x0a,0x30,0x78,0x32,0x44,0x31,0x42,0x31,0x42,0x33,0x36,0x55,0x2c,0x30,0x78,0x42,0x32,0x36,0x45,0x36,0x45,0x44,0x43,0x55,0x2c,0x30,0x78,0x45, - 0x45,0x35,0x41,0x35,0x41,0x42,0x34,0x55,0x2c,0x30,0x78,0x46,0x42,0x41,0x30,0x41,0x30,0x35,0x42,0x55,0x2c,0x0a,0x30,0x78,0x46,0x36,0x35,0x32,0x35,0x32,0x41,0x34, - 0x55,0x2c,0x30,0x78,0x34,0x44,0x33,0x42,0x33,0x42,0x37,0x36,0x55,0x2c,0x30,0x78,0x36,0x31,0x44,0x36,0x44,0x36,0x42,0x37,0x55,0x2c,0x30,0x78,0x43,0x45,0x42,0x33, - 0x42,0x33,0x37,0x44,0x55,0x2c,0x0a,0x30,0x78,0x37,0x42,0x32,0x39,0x32,0x39,0x35,0x32,0x55,0x2c,0x30,0x78,0x33,0x45,0x45,0x33,0x45,0x33,0x44,0x44,0x55,0x2c,0x30, - 0x78,0x37,0x31,0x32,0x46,0x32,0x46,0x35,0x45,0x55,0x2c,0x30,0x78,0x39,0x37,0x38,0x34,0x38,0x34,0x31,0x33,0x55,0x2c,0x0a,0x30,0x78,0x46,0x35,0x35,0x33,0x35,0x33, - 0x41,0x36,0x55,0x2c,0x30,0x78,0x36,0x38,0x44,0x31,0x44,0x31,0x42,0x39,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x30,0x78,0x32,0x43, - 0x45,0x44,0x45,0x44,0x43,0x31,0x55,0x2c,0x0a,0x30,0x78,0x36,0x30,0x32,0x30,0x32,0x30,0x34,0x30,0x55,0x2c,0x30,0x78,0x31,0x46,0x46,0x43,0x46,0x43,0x45,0x33,0x55, - 0x2c,0x30,0x78,0x43,0x38,0x42,0x31,0x42,0x31,0x37,0x39,0x55,0x2c,0x30,0x78,0x45,0x44,0x35,0x42,0x35,0x42,0x42,0x36,0x55,0x2c,0x0a,0x30,0x78,0x42,0x45,0x36,0x41, - 0x36,0x41,0x44,0x34,0x55,0x2c,0x30,0x78,0x34,0x36,0x43,0x42,0x43,0x42,0x38,0x44,0x55,0x2c,0x30,0x78,0x44,0x39,0x42,0x45,0x42,0x45,0x36,0x37,0x55,0x2c,0x30,0x78, - 0x34,0x42,0x33,0x39,0x33,0x39,0x37,0x32,0x55,0x2c,0x0a,0x30,0x78,0x44,0x45,0x34,0x41,0x34,0x41,0x39,0x34,0x55,0x2c,0x30,0x78,0x44,0x34,0x34,0x43,0x34,0x43,0x39, - 0x38,0x55,0x2c,0x30,0x78,0x45,0x38,0x35,0x38,0x35,0x38,0x42,0x30,0x55,0x2c,0x30,0x78,0x34,0x41,0x43,0x46,0x43,0x46,0x38,0x35,0x55,0x2c,0x0a,0x30,0x78,0x36,0x42, - 0x44,0x30,0x44,0x30,0x42,0x42,0x55,0x2c,0x30,0x78,0x32,0x41,0x45,0x46,0x45,0x46,0x43,0x35,0x55,0x2c,0x30,0x78,0x45,0x35,0x41,0x41,0x41,0x41,0x34,0x46,0x55,0x2c, - 0x30,0x78,0x31,0x36,0x46,0x42,0x46,0x42,0x45,0x44,0x55,0x2c,0x0a,0x30,0x78,0x43,0x35,0x34,0x33,0x34,0x33,0x38,0x36,0x55,0x2c,0x30,0x78,0x44,0x37,0x34,0x44,0x34, - 0x44,0x39,0x41,0x55,0x2c,0x30,0x78,0x35,0x35,0x33,0x33,0x33,0x33,0x36,0x36,0x55,0x2c,0x30,0x78,0x39,0x34,0x38,0x35,0x38,0x35,0x31,0x31,0x55,0x2c,0x0a,0x30,0x78, - 0x43,0x46,0x34,0x35,0x34,0x35,0x38,0x41,0x55,0x2c,0x30,0x78,0x31,0x30,0x46,0x39,0x46,0x39,0x45,0x39,0x55,0x2c,0x30,0x78,0x30,0x36,0x30,0x32,0x30,0x32,0x30,0x34, - 0x55,0x2c,0x30,0x78,0x38,0x31,0x37,0x46,0x37,0x46,0x46,0x45,0x55,0x2c,0x0a,0x30,0x78,0x46,0x30,0x35,0x30,0x35,0x30,0x41,0x30,0x55,0x2c,0x30,0x78,0x34,0x34,0x33, - 0x43,0x33,0x43,0x37,0x38,0x55,0x2c,0x30,0x78,0x42,0x41,0x39,0x46,0x39,0x46,0x32,0x35,0x55,0x2c,0x30,0x78,0x45,0x33,0x41,0x38,0x41,0x38,0x34,0x42,0x55,0x2c,0x0a, - 0x30,0x78,0x46,0x33,0x35,0x31,0x35,0x31,0x41,0x32,0x55,0x2c,0x30,0x78,0x46,0x45,0x41,0x33,0x41,0x33,0x35,0x44,0x55,0x2c,0x30,0x78,0x43,0x30,0x34,0x30,0x34,0x30, - 0x38,0x30,0x55,0x2c,0x30,0x78,0x38,0x41,0x38,0x46,0x38,0x46,0x30,0x35,0x55,0x2c,0x0a,0x30,0x78,0x41,0x44,0x39,0x32,0x39,0x32,0x33,0x46,0x55,0x2c,0x30,0x78,0x42, - 0x43,0x39,0x44,0x39,0x44,0x32,0x31,0x55,0x2c,0x30,0x78,0x34,0x38,0x33,0x38,0x33,0x38,0x37,0x30,0x55,0x2c,0x30,0x78,0x30,0x34,0x46,0x35,0x46,0x35,0x46,0x31,0x55, - 0x2c,0x0a,0x30,0x78,0x44,0x46,0x42,0x43,0x42,0x43,0x36,0x33,0x55,0x2c,0x30,0x78,0x43,0x31,0x42,0x36,0x42,0x36,0x37,0x37,0x55,0x2c,0x30,0x78,0x37,0x35,0x44,0x41, - 0x44,0x41,0x41,0x46,0x55,0x2c,0x30,0x78,0x36,0x33,0x32,0x31,0x32,0x31,0x34,0x32,0x55,0x2c,0x0a,0x30,0x78,0x33,0x30,0x31,0x30,0x31,0x30,0x32,0x30,0x55,0x2c,0x30, - 0x78,0x31,0x41,0x46,0x46,0x46,0x46,0x45,0x35,0x55,0x2c,0x30,0x78,0x30,0x45,0x46,0x33,0x46,0x33,0x46,0x44,0x55,0x2c,0x30,0x78,0x36,0x44,0x44,0x32,0x44,0x32,0x42, - 0x46,0x55,0x2c,0x0a,0x30,0x78,0x34,0x43,0x43,0x44,0x43,0x44,0x38,0x31,0x55,0x2c,0x30,0x78,0x31,0x34,0x30,0x43,0x30,0x43,0x31,0x38,0x55,0x2c,0x30,0x78,0x33,0x35, - 0x31,0x33,0x31,0x33,0x32,0x36,0x55,0x2c,0x30,0x78,0x32,0x46,0x45,0x43,0x45,0x43,0x43,0x33,0x55,0x2c,0x0a,0x30,0x78,0x45,0x31,0x35,0x46,0x35,0x46,0x42,0x45,0x55, - 0x2c,0x30,0x78,0x41,0x32,0x39,0x37,0x39,0x37,0x33,0x35,0x55,0x2c,0x30,0x78,0x43,0x43,0x34,0x34,0x34,0x34,0x38,0x38,0x55,0x2c,0x30,0x78,0x33,0x39,0x31,0x37,0x31, - 0x37,0x32,0x45,0x55,0x2c,0x0a,0x30,0x78,0x35,0x37,0x43,0x34,0x43,0x34,0x39,0x33,0x55,0x2c,0x30,0x78,0x46,0x32,0x41,0x37,0x41,0x37,0x35,0x35,0x55,0x2c,0x30,0x78, - 0x38,0x32,0x37,0x45,0x37,0x45,0x46,0x43,0x55,0x2c,0x30,0x78,0x34,0x37,0x33,0x44,0x33,0x44,0x37,0x41,0x55,0x2c,0x0a,0x30,0x78,0x41,0x43,0x36,0x34,0x36,0x34,0x43, - 0x38,0x55,0x2c,0x30,0x78,0x45,0x37,0x35,0x44,0x35,0x44,0x42,0x41,0x55,0x2c,0x30,0x78,0x32,0x42,0x31,0x39,0x31,0x39,0x33,0x32,0x55,0x2c,0x30,0x78,0x39,0x35,0x37, - 0x33,0x37,0x33,0x45,0x36,0x55,0x2c,0x0a,0x30,0x78,0x41,0x30,0x36,0x30,0x36,0x30,0x43,0x30,0x55,0x2c,0x30,0x78,0x39,0x38,0x38,0x31,0x38,0x31,0x31,0x39,0x55,0x2c, - 0x30,0x78,0x44,0x31,0x34,0x46,0x34,0x46,0x39,0x45,0x55,0x2c,0x30,0x78,0x37,0x46,0x44,0x43,0x44,0x43,0x41,0x33,0x55,0x2c,0x0a,0x30,0x78,0x36,0x36,0x32,0x32,0x32, - 0x32,0x34,0x34,0x55,0x2c,0x30,0x78,0x37,0x45,0x32,0x41,0x32,0x41,0x35,0x34,0x55,0x2c,0x30,0x78,0x41,0x42,0x39,0x30,0x39,0x30,0x33,0x42,0x55,0x2c,0x30,0x78,0x38, - 0x33,0x38,0x38,0x38,0x38,0x30,0x42,0x55,0x2c,0x0a,0x30,0x78,0x43,0x41,0x34,0x36,0x34,0x36,0x38,0x43,0x55,0x2c,0x30,0x78,0x32,0x39,0x45,0x45,0x45,0x45,0x43,0x37, - 0x55,0x2c,0x30,0x78,0x44,0x33,0x42,0x38,0x42,0x38,0x36,0x42,0x55,0x2c,0x30,0x78,0x33,0x43,0x31,0x34,0x31,0x34,0x32,0x38,0x55,0x2c,0x0a,0x30,0x78,0x37,0x39,0x44, - 0x45,0x44,0x45,0x41,0x37,0x55,0x2c,0x30,0x78,0x45,0x32,0x35,0x45,0x35,0x45,0x42,0x43,0x55,0x2c,0x30,0x78,0x31,0x44,0x30,0x42,0x30,0x42,0x31,0x36,0x55,0x2c,0x30, - 0x78,0x37,0x36,0x44,0x42,0x44,0x42,0x41,0x44,0x55,0x2c,0x0a,0x30,0x78,0x33,0x42,0x45,0x30,0x45,0x30,0x44,0x42,0x55,0x2c,0x30,0x78,0x35,0x36,0x33,0x32,0x33,0x32, - 0x36,0x34,0x55,0x2c,0x30,0x78,0x34,0x45,0x33,0x41,0x33,0x41,0x37,0x34,0x55,0x2c,0x30,0x78,0x31,0x45,0x30,0x41,0x30,0x41,0x31,0x34,0x55,0x2c,0x0a,0x30,0x78,0x44, - 0x42,0x34,0x39,0x34,0x39,0x39,0x32,0x55,0x2c,0x30,0x78,0x30,0x41,0x30,0x36,0x30,0x36,0x30,0x43,0x55,0x2c,0x30,0x78,0x36,0x43,0x32,0x34,0x32,0x34,0x34,0x38,0x55, - 0x2c,0x30,0x78,0x45,0x34,0x35,0x43,0x35,0x43,0x42,0x38,0x55,0x2c,0x0a,0x30,0x78,0x35,0x44,0x43,0x32,0x43,0x32,0x39,0x46,0x55,0x2c,0x30,0x78,0x36,0x45,0x44,0x33, - 0x44,0x33,0x42,0x44,0x55,0x2c,0x30,0x78,0x45,0x46,0x41,0x43,0x41,0x43,0x34,0x33,0x55,0x2c,0x30,0x78,0x41,0x36,0x36,0x32,0x36,0x32,0x43,0x34,0x55,0x2c,0x0a,0x30, - 0x78,0x41,0x38,0x39,0x31,0x39,0x31,0x33,0x39,0x55,0x2c,0x30,0x78,0x41,0x34,0x39,0x35,0x39,0x35,0x33,0x31,0x55,0x2c,0x30,0x78,0x33,0x37,0x45,0x34,0x45,0x34,0x44, - 0x33,0x55,0x2c,0x30,0x78,0x38,0x42,0x37,0x39,0x37,0x39,0x46,0x32,0x55,0x2c,0x0a,0x30,0x78,0x33,0x32,0x45,0x37,0x45,0x37,0x44,0x35,0x55,0x2c,0x30,0x78,0x34,0x33, - 0x43,0x38,0x43,0x38,0x38,0x42,0x55,0x2c,0x30,0x78,0x35,0x39,0x33,0x37,0x33,0x37,0x36,0x45,0x55,0x2c,0x30,0x78,0x42,0x37,0x36,0x44,0x36,0x44,0x44,0x41,0x55,0x2c, - 0x0a,0x30,0x78,0x38,0x43,0x38,0x44,0x38,0x44,0x30,0x31,0x55,0x2c,0x30,0x78,0x36,0x34,0x44,0x35,0x44,0x35,0x42,0x31,0x55,0x2c,0x30,0x78,0x44,0x32,0x34,0x45,0x34, - 0x45,0x39,0x43,0x55,0x2c,0x30,0x78,0x45,0x30,0x41,0x39,0x41,0x39,0x34,0x39,0x55,0x2c,0x0a,0x30,0x78,0x42,0x34,0x36,0x43,0x36,0x43,0x44,0x38,0x55,0x2c,0x30,0x78, - 0x46,0x41,0x35,0x36,0x35,0x36,0x41,0x43,0x55,0x2c,0x30,0x78,0x30,0x37,0x46,0x34,0x46,0x34,0x46,0x33,0x55,0x2c,0x30,0x78,0x32,0x35,0x45,0x41,0x45,0x41,0x43,0x46, - 0x55,0x2c,0x0a,0x30,0x78,0x41,0x46,0x36,0x35,0x36,0x35,0x43,0x41,0x55,0x2c,0x30,0x78,0x38,0x45,0x37,0x41,0x37,0x41,0x46,0x34,0x55,0x2c,0x30,0x78,0x45,0x39,0x41, - 0x45,0x41,0x45,0x34,0x37,0x55,0x2c,0x30,0x78,0x31,0x38,0x30,0x38,0x30,0x38,0x31,0x30,0x55,0x2c,0x0a,0x30,0x78,0x44,0x35,0x42,0x41,0x42,0x41,0x36,0x46,0x55,0x2c, - 0x30,0x78,0x38,0x38,0x37,0x38,0x37,0x38,0x46,0x30,0x55,0x2c,0x30,0x78,0x36,0x46,0x32,0x35,0x32,0x35,0x34,0x41,0x55,0x2c,0x30,0x78,0x37,0x32,0x32,0x45,0x32,0x45, - 0x35,0x43,0x55,0x2c,0x0a,0x30,0x78,0x32,0x34,0x31,0x43,0x31,0x43,0x33,0x38,0x55,0x2c,0x30,0x78,0x46,0x31,0x41,0x36,0x41,0x36,0x35,0x37,0x55,0x2c,0x30,0x78,0x43, - 0x37,0x42,0x34,0x42,0x34,0x37,0x33,0x55,0x2c,0x30,0x78,0x35,0x31,0x43,0x36,0x43,0x36,0x39,0x37,0x55,0x2c,0x0a,0x30,0x78,0x32,0x33,0x45,0x38,0x45,0x38,0x43,0x42, - 0x55,0x2c,0x30,0x78,0x37,0x43,0x44,0x44,0x44,0x44,0x41,0x31,0x55,0x2c,0x30,0x78,0x39,0x43,0x37,0x34,0x37,0x34,0x45,0x38,0x55,0x2c,0x30,0x78,0x32,0x31,0x31,0x46, - 0x31,0x46,0x33,0x45,0x55,0x2c,0x0a,0x30,0x78,0x44,0x44,0x34,0x42,0x34,0x42,0x39,0x36,0x55,0x2c,0x30,0x78,0x44,0x43,0x42,0x44,0x42,0x44,0x36,0x31,0x55,0x2c,0x30, - 0x78,0x38,0x36,0x38,0x42,0x38,0x42,0x30,0x44,0x55,0x2c,0x30,0x78,0x38,0x35,0x38,0x41,0x38,0x41,0x30,0x46,0x55,0x2c,0x0a,0x30,0x78,0x39,0x30,0x37,0x30,0x37,0x30, - 0x45,0x30,0x55,0x2c,0x30,0x78,0x34,0x32,0x33,0x45,0x33,0x45,0x37,0x43,0x55,0x2c,0x30,0x78,0x43,0x34,0x42,0x35,0x42,0x35,0x37,0x31,0x55,0x2c,0x30,0x78,0x41,0x41, - 0x36,0x36,0x36,0x36,0x43,0x43,0x55,0x2c,0x0a,0x30,0x78,0x44,0x38,0x34,0x38,0x34,0x38,0x39,0x30,0x55,0x2c,0x30,0x78,0x30,0x35,0x30,0x33,0x30,0x33,0x30,0x36,0x55, - 0x2c,0x30,0x78,0x30,0x31,0x46,0x36,0x46,0x36,0x46,0x37,0x55,0x2c,0x30,0x78,0x31,0x32,0x30,0x45,0x30,0x45,0x31,0x43,0x55,0x2c,0x0a,0x30,0x78,0x41,0x33,0x36,0x31, - 0x36,0x31,0x43,0x32,0x55,0x2c,0x30,0x78,0x35,0x46,0x33,0x35,0x33,0x35,0x36,0x41,0x55,0x2c,0x30,0x78,0x46,0x39,0x35,0x37,0x35,0x37,0x41,0x45,0x55,0x2c,0x30,0x78, - 0x44,0x30,0x42,0x39,0x42,0x39,0x36,0x39,0x55,0x2c,0x0a,0x30,0x78,0x39,0x31,0x38,0x36,0x38,0x36,0x31,0x37,0x55,0x2c,0x30,0x78,0x35,0x38,0x43,0x31,0x43,0x31,0x39, - 0x39,0x55,0x2c,0x30,0x78,0x32,0x37,0x31,0x44,0x31,0x44,0x33,0x41,0x55,0x2c,0x30,0x78,0x42,0x39,0x39,0x45,0x39,0x45,0x32,0x37,0x55,0x2c,0x0a,0x30,0x78,0x33,0x38, - 0x45,0x31,0x45,0x31,0x44,0x39,0x55,0x2c,0x30,0x78,0x31,0x33,0x46,0x38,0x46,0x38,0x45,0x42,0x55,0x2c,0x30,0x78,0x42,0x33,0x39,0x38,0x39,0x38,0x32,0x42,0x55,0x2c, - 0x30,0x78,0x33,0x33,0x31,0x31,0x31,0x31,0x32,0x32,0x55,0x2c,0x0a,0x30,0x78,0x42,0x42,0x36,0x39,0x36,0x39,0x44,0x32,0x55,0x2c,0x30,0x78,0x37,0x30,0x44,0x39,0x44, - 0x39,0x41,0x39,0x55,0x2c,0x30,0x78,0x38,0x39,0x38,0x45,0x38,0x45,0x30,0x37,0x55,0x2c,0x30,0x78,0x41,0x37,0x39,0x34,0x39,0x34,0x33,0x33,0x55,0x2c,0x0a,0x30,0x78, - 0x42,0x36,0x39,0x42,0x39,0x42,0x32,0x44,0x55,0x2c,0x30,0x78,0x32,0x32,0x31,0x45,0x31,0x45,0x33,0x43,0x55,0x2c,0x30,0x78,0x39,0x32,0x38,0x37,0x38,0x37,0x31,0x35, - 0x55,0x2c,0x30,0x78,0x32,0x30,0x45,0x39,0x45,0x39,0x43,0x39,0x55,0x2c,0x0a,0x30,0x78,0x34,0x39,0x43,0x45,0x43,0x45,0x38,0x37,0x55,0x2c,0x30,0x78,0x46,0x46,0x35, - 0x35,0x35,0x35,0x41,0x41,0x55,0x2c,0x30,0x78,0x37,0x38,0x32,0x38,0x32,0x38,0x35,0x30,0x55,0x2c,0x30,0x78,0x37,0x41,0x44,0x46,0x44,0x46,0x41,0x35,0x55,0x2c,0x0a, - 0x30,0x78,0x38,0x46,0x38,0x43,0x38,0x43,0x30,0x33,0x55,0x2c,0x30,0x78,0x46,0x38,0x41,0x31,0x41,0x31,0x35,0x39,0x55,0x2c,0x30,0x78,0x38,0x30,0x38,0x39,0x38,0x39, - 0x30,0x39,0x55,0x2c,0x30,0x78,0x31,0x37,0x30,0x44,0x30,0x44,0x31,0x41,0x55,0x2c,0x0a,0x30,0x78,0x44,0x41,0x42,0x46,0x42,0x46,0x36,0x35,0x55,0x2c,0x30,0x78,0x33, - 0x31,0x45,0x36,0x45,0x36,0x44,0x37,0x55,0x2c,0x30,0x78,0x43,0x36,0x34,0x32,0x34,0x32,0x38,0x34,0x55,0x2c,0x30,0x78,0x42,0x38,0x36,0x38,0x36,0x38,0x44,0x30,0x55, - 0x2c,0x0a,0x30,0x78,0x43,0x33,0x34,0x31,0x34,0x31,0x38,0x32,0x55,0x2c,0x30,0x78,0x42,0x30,0x39,0x39,0x39,0x39,0x32,0x39,0x55,0x2c,0x30,0x78,0x37,0x37,0x32,0x44, - 0x32,0x44,0x35,0x41,0x55,0x2c,0x30,0x78,0x31,0x31,0x30,0x46,0x30,0x46,0x31,0x45,0x55,0x2c,0x0a,0x30,0x78,0x43,0x42,0x42,0x30,0x42,0x30,0x37,0x42,0x55,0x2c,0x30, - 0x78,0x46,0x43,0x35,0x34,0x35,0x34,0x41,0x38,0x55,0x2c,0x30,0x78,0x44,0x36,0x42,0x42,0x42,0x42,0x36,0x44,0x55,0x2c,0x30,0x78,0x33,0x41,0x31,0x36,0x31,0x36,0x32, - 0x43,0x55,0x0a,0x7d,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x59,0x54,0x45,0x28,0x78,0x2c,0x20,0x79,0x29,0x20,0x28,0x61,0x6d,0x64,0x5f,0x62,0x66, - 0x65,0x28,0x28,0x78,0x29,0x2c,0x20,0x28,0x79,0x29,0x20,0x3c,0x3c,0x20,0x33,0x55,0x2c,0x20,0x38,0x55,0x29,0x29,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f, - 0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x54,0x55,0x42,0x45,0x29,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x75, - 0x69,0x6e,0x74,0x34,0x20,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x5f,0x62,0x69,0x74,0x74,0x75,0x62,0x65,0x32,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f, - 0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x41,0x45,0x53,0x30,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75, - 0x69,0x6e,0x74,0x20,0x2a,0x41,0x45,0x53,0x31,0x2c,0x75,0x69,0x6e,0x74,0x34,0x20,0x78,0x2c,0x75,0x69,0x6e,0x74,0x34,0x20,0x6b,0x29,0x0a,0x7b,0x0a,0x78,0x3d,0x7e, - 0x78,0x3b,0x0a,0x6b,0x2e,0x73,0x30,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x30,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45, - 0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x31,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54, - 0x45,0x28,0x78,0x2e,0x73,0x32,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x33,0x2c,0x33,0x29,0x5d,0x2c,0x31,0x36, - 0x55,0x29,0x3b,0x0a,0x78,0x2e,0x73,0x30,0x20,0x5e,0x3d,0x20,0x6b,0x2e,0x73,0x30,0x3b,0x0a,0x6b,0x2e,0x73,0x31,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42, - 0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x31,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x32,0x2c,0x31,0x29,0x5d,0x5e, - 0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x33,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42, - 0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x30,0x2c,0x33,0x29,0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x78,0x2e,0x73,0x31,0x20,0x5e,0x3d,0x20,0x6b,0x2e,0x73,0x31,0x3b, - 0x0a,0x6b,0x2e,0x73,0x32,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x32,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31, - 0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x33,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28, - 0x78,0x2e,0x73,0x30,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x31,0x2c,0x33,0x29,0x5d,0x2c,0x31,0x36,0x55,0x29, - 0x3b,0x0a,0x78,0x2e,0x73,0x32,0x20,0x5e,0x3d,0x20,0x6b,0x2e,0x73,0x32,0x3b,0x0a,0x6b,0x2e,0x73,0x33,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54, - 0x45,0x28,0x78,0x2e,0x73,0x33,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x30,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f, - 0x74,0x61,0x74,0x65,0x28,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x31,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54, - 0x45,0x28,0x78,0x2e,0x73,0x32,0x2c,0x33,0x29,0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6b,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e, - 0x64,0x69,0x66,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61, - 0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x41,0x45,0x53,0x30,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20, - 0x2a,0x41,0x45,0x53,0x31,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x41,0x45,0x53,0x32,0x2c,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x41,0x45,0x53,0x33,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, - 0x6e,0x74,0x34,0x20,0x58,0x2c,0x75,0x69,0x6e,0x74,0x34,0x20,0x6b,0x65,0x79,0x29,0x0a,0x7b,0x0a,0x6b,0x65,0x79,0x2e,0x73,0x30,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53, - 0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x30,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x31,0x2c,0x31, - 0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x32,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28, - 0x58,0x2e,0x73,0x33,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x6b,0x65,0x79,0x2e,0x73,0x31,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e, - 0x73,0x31,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x32,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42, - 0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x33,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x30,0x2c,0x33,0x29,0x5d,0x3b, - 0x0a,0x6b,0x65,0x79,0x2e,0x73,0x32,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x32,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45, - 0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x33,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x30,0x2c, - 0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x31,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x6b,0x65,0x79,0x2e,0x73,0x33,0x20,0x5e, - 0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x33,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58, - 0x2e,0x73,0x30,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x31,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b, - 0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x32,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6b,0x65,0x79,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e, - 0x74,0x34,0x20,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x5f,0x54,0x77,0x6f,0x5f,0x54,0x61,0x62,0x6c,0x65,0x73,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f, - 0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x41,0x45,0x53,0x30,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75, - 0x69,0x6e,0x74,0x20,0x2a,0x41,0x45,0x53,0x31,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x58,0x2c,0x75,0x69,0x6e,0x74,0x34,0x20,0x6b,0x65, - 0x79,0x29,0x0a,0x7b,0x0a,0x6b,0x65,0x79,0x2e,0x73,0x30,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x30,0x2c,0x30,0x29, - 0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x31,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x41,0x45,0x53,0x30, - 0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x32,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x33,0x2c,0x33,0x29, - 0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x6b,0x65,0x79,0x2e,0x73,0x31,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x31, - 0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x32,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x41, - 0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x33,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x30, - 0x2c,0x33,0x29,0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x6b,0x65,0x79,0x2e,0x73,0x32,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58, - 0x2e,0x73,0x32,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x33,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74, - 0x65,0x28,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x30,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58, - 0x2e,0x73,0x31,0x2c,0x33,0x29,0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x6b,0x65,0x79,0x2e,0x73,0x33,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54, - 0x45,0x28,0x58,0x2e,0x73,0x33,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x30,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f, - 0x74,0x61,0x74,0x65,0x28,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x31,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54, - 0x45,0x28,0x58,0x2e,0x73,0x32,0x2c,0x33,0x29,0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6b,0x65,0x79,0x3b,0x0a,0x7d,0x0a,0x53, - 0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x63,0x68,0x61,0x72,0x20,0x72,0x63,0x6f, - 0x6e,0x5b,0x38,0x5d,0x3d,0x7b,0x20,0x30,0x78,0x38,0x64,0x2c,0x30,0x78,0x30,0x31,0x2c,0x30,0x78,0x30,0x32,0x2c,0x30,0x78,0x30,0x34,0x2c,0x30,0x78,0x30,0x38,0x2c, - 0x30,0x78,0x31,0x30,0x2c,0x30,0x78,0x32,0x30,0x2c,0x30,0x78,0x34,0x30,0x20,0x7d,0x3b,0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f, - 0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x63,0x68,0x61,0x72,0x20,0x73,0x62,0x6f,0x78,0x5b,0x32,0x35,0x36,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78, - 0x36,0x33,0x2c,0x30,0x78,0x37,0x43,0x2c,0x30,0x78,0x37,0x37,0x2c,0x30,0x78,0x37,0x42,0x2c,0x30,0x78,0x46,0x32,0x2c,0x30,0x78,0x36,0x42,0x2c,0x30,0x78,0x36,0x46, - 0x2c,0x30,0x78,0x43,0x35,0x2c,0x30,0x78,0x33,0x30,0x2c,0x30,0x78,0x30,0x31,0x2c,0x30,0x78,0x36,0x37,0x2c,0x30,0x78,0x32,0x42,0x2c,0x30,0x78,0x46,0x45,0x2c,0x30, - 0x78,0x44,0x37,0x2c,0x30,0x78,0x41,0x42,0x2c,0x30,0x78,0x37,0x36,0x2c,0x0a,0x30,0x78,0x43,0x41,0x2c,0x30,0x78,0x38,0x32,0x2c,0x30,0x78,0x43,0x39,0x2c,0x30,0x78, - 0x37,0x44,0x2c,0x30,0x78,0x46,0x41,0x2c,0x30,0x78,0x35,0x39,0x2c,0x30,0x78,0x34,0x37,0x2c,0x30,0x78,0x46,0x30,0x2c,0x30,0x78,0x41,0x44,0x2c,0x30,0x78,0x44,0x34, - 0x2c,0x30,0x78,0x41,0x32,0x2c,0x30,0x78,0x41,0x46,0x2c,0x30,0x78,0x39,0x43,0x2c,0x30,0x78,0x41,0x34,0x2c,0x30,0x78,0x37,0x32,0x2c,0x30,0x78,0x43,0x30,0x2c,0x0a, - 0x30,0x78,0x42,0x37,0x2c,0x30,0x78,0x46,0x44,0x2c,0x30,0x78,0x39,0x33,0x2c,0x30,0x78,0x32,0x36,0x2c,0x30,0x78,0x33,0x36,0x2c,0x30,0x78,0x33,0x46,0x2c,0x30,0x78, - 0x46,0x37,0x2c,0x30,0x78,0x43,0x43,0x2c,0x30,0x78,0x33,0x34,0x2c,0x30,0x78,0x41,0x35,0x2c,0x30,0x78,0x45,0x35,0x2c,0x30,0x78,0x46,0x31,0x2c,0x30,0x78,0x37,0x31, - 0x2c,0x30,0x78,0x44,0x38,0x2c,0x30,0x78,0x33,0x31,0x2c,0x30,0x78,0x31,0x35,0x2c,0x0a,0x30,0x78,0x30,0x34,0x2c,0x30,0x78,0x43,0x37,0x2c,0x30,0x78,0x32,0x33,0x2c, - 0x30,0x78,0x43,0x33,0x2c,0x30,0x78,0x31,0x38,0x2c,0x30,0x78,0x39,0x36,0x2c,0x30,0x78,0x30,0x35,0x2c,0x30,0x78,0x39,0x41,0x2c,0x30,0x78,0x30,0x37,0x2c,0x30,0x78, - 0x31,0x32,0x2c,0x30,0x78,0x38,0x30,0x2c,0x30,0x78,0x45,0x32,0x2c,0x30,0x78,0x45,0x42,0x2c,0x30,0x78,0x32,0x37,0x2c,0x30,0x78,0x42,0x32,0x2c,0x30,0x78,0x37,0x35, - 0x2c,0x0a,0x30,0x78,0x30,0x39,0x2c,0x30,0x78,0x38,0x33,0x2c,0x30,0x78,0x32,0x43,0x2c,0x30,0x78,0x31,0x41,0x2c,0x30,0x78,0x31,0x42,0x2c,0x30,0x78,0x36,0x45,0x2c, - 0x30,0x78,0x35,0x41,0x2c,0x30,0x78,0x41,0x30,0x2c,0x30,0x78,0x35,0x32,0x2c,0x30,0x78,0x33,0x42,0x2c,0x30,0x78,0x44,0x36,0x2c,0x30,0x78,0x42,0x33,0x2c,0x30,0x78, - 0x32,0x39,0x2c,0x30,0x78,0x45,0x33,0x2c,0x30,0x78,0x32,0x46,0x2c,0x30,0x78,0x38,0x34,0x2c,0x0a,0x30,0x78,0x35,0x33,0x2c,0x30,0x78,0x44,0x31,0x2c,0x30,0x78,0x30, - 0x30,0x2c,0x30,0x78,0x45,0x44,0x2c,0x30,0x78,0x32,0x30,0x2c,0x30,0x78,0x46,0x43,0x2c,0x30,0x78,0x42,0x31,0x2c,0x30,0x78,0x35,0x42,0x2c,0x30,0x78,0x36,0x41,0x2c, - 0x30,0x78,0x43,0x42,0x2c,0x30,0x78,0x42,0x45,0x2c,0x30,0x78,0x33,0x39,0x2c,0x30,0x78,0x34,0x41,0x2c,0x30,0x78,0x34,0x43,0x2c,0x30,0x78,0x35,0x38,0x2c,0x30,0x78, - 0x43,0x46,0x2c,0x0a,0x30,0x78,0x44,0x30,0x2c,0x30,0x78,0x45,0x46,0x2c,0x30,0x78,0x41,0x41,0x2c,0x30,0x78,0x46,0x42,0x2c,0x30,0x78,0x34,0x33,0x2c,0x30,0x78,0x34, - 0x44,0x2c,0x30,0x78,0x33,0x33,0x2c,0x30,0x78,0x38,0x35,0x2c,0x30,0x78,0x34,0x35,0x2c,0x30,0x78,0x46,0x39,0x2c,0x30,0x78,0x30,0x32,0x2c,0x30,0x78,0x37,0x46,0x2c, - 0x30,0x78,0x35,0x30,0x2c,0x30,0x78,0x33,0x43,0x2c,0x30,0x78,0x39,0x46,0x2c,0x30,0x78,0x41,0x38,0x2c,0x0a,0x30,0x78,0x35,0x31,0x2c,0x30,0x78,0x41,0x33,0x2c,0x30, - 0x78,0x34,0x30,0x2c,0x30,0x78,0x38,0x46,0x2c,0x30,0x78,0x39,0x32,0x2c,0x30,0x78,0x39,0x44,0x2c,0x30,0x78,0x33,0x38,0x2c,0x30,0x78,0x46,0x35,0x2c,0x30,0x78,0x42, - 0x43,0x2c,0x30,0x78,0x42,0x36,0x2c,0x30,0x78,0x44,0x41,0x2c,0x30,0x78,0x32,0x31,0x2c,0x30,0x78,0x31,0x30,0x2c,0x30,0x78,0x46,0x46,0x2c,0x30,0x78,0x46,0x33,0x2c, - 0x30,0x78,0x44,0x32,0x2c,0x0a,0x30,0x78,0x43,0x44,0x2c,0x30,0x78,0x30,0x43,0x2c,0x30,0x78,0x31,0x33,0x2c,0x30,0x78,0x45,0x43,0x2c,0x30,0x78,0x35,0x46,0x2c,0x30, - 0x78,0x39,0x37,0x2c,0x30,0x78,0x34,0x34,0x2c,0x30,0x78,0x31,0x37,0x2c,0x30,0x78,0x43,0x34,0x2c,0x30,0x78,0x41,0x37,0x2c,0x30,0x78,0x37,0x45,0x2c,0x30,0x78,0x33, - 0x44,0x2c,0x30,0x78,0x36,0x34,0x2c,0x30,0x78,0x35,0x44,0x2c,0x30,0x78,0x31,0x39,0x2c,0x30,0x78,0x37,0x33,0x2c,0x0a,0x30,0x78,0x36,0x30,0x2c,0x30,0x78,0x38,0x31, - 0x2c,0x30,0x78,0x34,0x46,0x2c,0x30,0x78,0x44,0x43,0x2c,0x30,0x78,0x32,0x32,0x2c,0x30,0x78,0x32,0x41,0x2c,0x30,0x78,0x39,0x30,0x2c,0x30,0x78,0x38,0x38,0x2c,0x30, - 0x78,0x34,0x36,0x2c,0x30,0x78,0x45,0x45,0x2c,0x30,0x78,0x42,0x38,0x2c,0x30,0x78,0x31,0x34,0x2c,0x30,0x78,0x44,0x45,0x2c,0x30,0x78,0x35,0x45,0x2c,0x30,0x78,0x30, - 0x42,0x2c,0x30,0x78,0x44,0x42,0x2c,0x0a,0x30,0x78,0x45,0x30,0x2c,0x30,0x78,0x33,0x32,0x2c,0x30,0x78,0x33,0x41,0x2c,0x30,0x78,0x30,0x41,0x2c,0x30,0x78,0x34,0x39, - 0x2c,0x30,0x78,0x30,0x36,0x2c,0x30,0x78,0x32,0x34,0x2c,0x30,0x78,0x35,0x43,0x2c,0x30,0x78,0x43,0x32,0x2c,0x30,0x78,0x44,0x33,0x2c,0x30,0x78,0x41,0x43,0x2c,0x30, - 0x78,0x36,0x32,0x2c,0x30,0x78,0x39,0x31,0x2c,0x30,0x78,0x39,0x35,0x2c,0x30,0x78,0x45,0x34,0x2c,0x30,0x78,0x37,0x39,0x2c,0x0a,0x30,0x78,0x45,0x37,0x2c,0x30,0x78, - 0x43,0x38,0x2c,0x30,0x78,0x33,0x37,0x2c,0x30,0x78,0x36,0x44,0x2c,0x30,0x78,0x38,0x44,0x2c,0x30,0x78,0x44,0x35,0x2c,0x30,0x78,0x34,0x45,0x2c,0x30,0x78,0x41,0x39, - 0x2c,0x30,0x78,0x36,0x43,0x2c,0x30,0x78,0x35,0x36,0x2c,0x30,0x78,0x46,0x34,0x2c,0x30,0x78,0x45,0x41,0x2c,0x30,0x78,0x36,0x35,0x2c,0x30,0x78,0x37,0x41,0x2c,0x30, - 0x78,0x41,0x45,0x2c,0x30,0x78,0x30,0x38,0x2c,0x0a,0x30,0x78,0x42,0x41,0x2c,0x30,0x78,0x37,0x38,0x2c,0x30,0x78,0x32,0x35,0x2c,0x30,0x78,0x32,0x45,0x2c,0x30,0x78, - 0x31,0x43,0x2c,0x30,0x78,0x41,0x36,0x2c,0x30,0x78,0x42,0x34,0x2c,0x30,0x78,0x43,0x36,0x2c,0x30,0x78,0x45,0x38,0x2c,0x30,0x78,0x44,0x44,0x2c,0x30,0x78,0x37,0x34, - 0x2c,0x30,0x78,0x31,0x46,0x2c,0x30,0x78,0x34,0x42,0x2c,0x30,0x78,0x42,0x44,0x2c,0x30,0x78,0x38,0x42,0x2c,0x30,0x78,0x38,0x41,0x2c,0x0a,0x30,0x78,0x37,0x30,0x2c, - 0x30,0x78,0x33,0x45,0x2c,0x30,0x78,0x42,0x35,0x2c,0x30,0x78,0x36,0x36,0x2c,0x30,0x78,0x34,0x38,0x2c,0x30,0x78,0x30,0x33,0x2c,0x30,0x78,0x46,0x36,0x2c,0x30,0x78, - 0x30,0x45,0x2c,0x30,0x78,0x36,0x31,0x2c,0x30,0x78,0x33,0x35,0x2c,0x30,0x78,0x35,0x37,0x2c,0x30,0x78,0x42,0x39,0x2c,0x30,0x78,0x38,0x36,0x2c,0x30,0x78,0x43,0x31, - 0x2c,0x30,0x78,0x31,0x44,0x2c,0x30,0x78,0x39,0x45,0x2c,0x0a,0x30,0x78,0x45,0x31,0x2c,0x30,0x78,0x46,0x38,0x2c,0x30,0x78,0x39,0x38,0x2c,0x30,0x78,0x31,0x31,0x2c, - 0x30,0x78,0x36,0x39,0x2c,0x30,0x78,0x44,0x39,0x2c,0x30,0x78,0x38,0x45,0x2c,0x30,0x78,0x39,0x34,0x2c,0x30,0x78,0x39,0x42,0x2c,0x30,0x78,0x31,0x45,0x2c,0x30,0x78, - 0x38,0x37,0x2c,0x30,0x78,0x45,0x39,0x2c,0x30,0x78,0x43,0x45,0x2c,0x30,0x78,0x35,0x35,0x2c,0x30,0x78,0x32,0x38,0x2c,0x30,0x78,0x44,0x46,0x2c,0x0a,0x30,0x78,0x38, - 0x43,0x2c,0x30,0x78,0x41,0x31,0x2c,0x30,0x78,0x38,0x39,0x2c,0x30,0x78,0x30,0x44,0x2c,0x30,0x78,0x42,0x46,0x2c,0x30,0x78,0x45,0x36,0x2c,0x30,0x78,0x34,0x32,0x2c, - 0x30,0x78,0x36,0x38,0x2c,0x30,0x78,0x34,0x31,0x2c,0x30,0x78,0x39,0x39,0x2c,0x30,0x78,0x32,0x44,0x2c,0x30,0x78,0x30,0x46,0x2c,0x30,0x78,0x42,0x30,0x2c,0x30,0x78, - 0x35,0x34,0x2c,0x30,0x78,0x42,0x42,0x2c,0x30,0x78,0x31,0x36,0x0a,0x7d,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x75,0x62,0x57,0x6f,0x72,0x64,0x28, - 0x69,0x6e,0x77,0x29,0x20,0x28,0x28,0x73,0x62,0x6f,0x78,0x5b,0x42,0x59,0x54,0x45,0x28,0x69,0x6e,0x77,0x2c,0x20,0x33,0x29,0x5d,0x20,0x3c,0x3c,0x20,0x32,0x34,0x29, - 0x20,0x7c,0x20,0x28,0x73,0x62,0x6f,0x78,0x5b,0x42,0x59,0x54,0x45,0x28,0x69,0x6e,0x77,0x2c,0x20,0x32,0x29,0x5d,0x20,0x3c,0x3c,0x20,0x31,0x36,0x29,0x20,0x7c,0x20, - 0x28,0x73,0x62,0x6f,0x78,0x5b,0x42,0x59,0x54,0x45,0x28,0x69,0x6e,0x77,0x2c,0x20,0x31,0x29,0x5d,0x20,0x3c,0x3c,0x20,0x38,0x29,0x20,0x7c,0x20,0x73,0x62,0x6f,0x78, - 0x5b,0x42,0x59,0x54,0x45,0x28,0x69,0x6e,0x77,0x2c,0x20,0x30,0x29,0x5d,0x29,0x0a,0x76,0x6f,0x69,0x64,0x20,0x41,0x45,0x53,0x45,0x78,0x70,0x61,0x6e,0x64,0x4b,0x65, - 0x79,0x32,0x35,0x36,0x28,0x75,0x69,0x6e,0x74,0x20,0x2a,0x6b,0x65,0x79,0x62,0x75,0x66,0x29,0x0a,0x7b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x63, - 0x3d,0x38,0x2c,0x69,0x3d,0x31,0x3b,0x20,0x63,0x3c,0x34,0x30,0x3b,0x20,0x2b,0x2b,0x63,0x29,0x20,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x74,0x3d,0x28,0x28,0x21,0x28, - 0x63,0x26,0x37,0x29,0x29,0x7c,0x7c,0x28,0x28,0x63,0x26,0x37,0x29,0x3d,0x3d,0x34,0x29,0x29,0x3f,0x53,0x75,0x62,0x57,0x6f,0x72,0x64,0x28,0x6b,0x65,0x79,0x62,0x75, - 0x66,0x5b,0x63,0x2d,0x31,0x5d,0x29,0x3a,0x6b,0x65,0x79,0x62,0x75,0x66,0x5b,0x63,0x2d,0x31,0x5d,0x3b,0x0a,0x6b,0x65,0x79,0x62,0x75,0x66,0x5b,0x63,0x5d,0x3d,0x6b, - 0x65,0x79,0x62,0x75,0x66,0x5b,0x63,0x2d,0x38,0x5d,0x5e,0x28,0x28,0x21,0x28,0x63,0x26,0x37,0x29,0x29,0x3f,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x2c,0x32,0x34, - 0x55,0x29,0x5e,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x28,0x75,0x63,0x68,0x61,0x72,0x34,0x29,0x28,0x72,0x63,0x6f,0x6e,0x5b,0x69,0x2b,0x2b,0x5d,0x2c,0x30,0x55, - 0x2c,0x30,0x55,0x2c,0x30,0x55,0x29,0x29,0x3a,0x74,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x69,0x66,0x6e,0x64,0x65,0x66,0x20, - 0x57,0x4f,0x4c,0x46,0x5f,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x43,0x4c,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x4f,0x4c,0x46,0x5f,0x53,0x4b,0x45,0x49,0x4e, - 0x5f,0x43,0x4c,0x0a,0x23,0x69,0x66,0x64,0x65,0x66,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x0a, - 0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x69,0x66,0x64,0x65,0x66,0x20,0x63,0x6c,0x5f,0x61,0x6d,0x64,0x5f,0x6d,0x65,0x64,0x69,0x61,0x5f,0x6f,0x70,0x73,0x0a,0x23, - 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x4f,0x50,0x45, - 0x4e,0x43,0x4c,0x20,0x45,0x58,0x54,0x45,0x4e,0x53,0x49,0x4f,0x4e,0x20,0x63,0x6c,0x5f,0x61,0x6d,0x64,0x5f,0x6d,0x65,0x64,0x69,0x61,0x5f,0x6f,0x70,0x73,0x20,0x3a, - 0x20,0x65,0x6e,0x61,0x62,0x6c,0x65,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x0a,0x69,0x6e,0x6c, - 0x69,0x6e,0x65,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x61,0x6d,0x64,0x5f,0x62,0x69,0x74,0x61,0x6c,0x69,0x67,0x6e,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e, - 0x74,0x32,0x20,0x73,0x72,0x63,0x30,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x73,0x72,0x63,0x31,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75, - 0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x32,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x72,0x65,0x73,0x75,0x6c,0x74, - 0x2e,0x73,0x30,0x3d,0x28,0x75,0x69,0x6e,0x74,0x29,0x20,0x28,0x28,0x28,0x28,0x28,0x6c,0x6f,0x6e,0x67,0x29,0x73,0x72,0x63,0x30,0x2e,0x73,0x30,0x29,0x3c,0x3c,0x33, - 0x32,0x29,0x7c,0x28,0x6c,0x6f,0x6e,0x67,0x29,0x73,0x72,0x63,0x31,0x2e,0x73,0x30,0x29,0x3e,0x3e,0x28,0x73,0x72,0x63,0x32,0x29,0x29,0x3b,0x0a,0x72,0x65,0x73,0x75, - 0x6c,0x74,0x2e,0x73,0x31,0x3d,0x28,0x75,0x69,0x6e,0x74,0x29,0x20,0x28,0x28,0x28,0x28,0x28,0x6c,0x6f,0x6e,0x67,0x29,0x73,0x72,0x63,0x30,0x2e,0x73,0x31,0x29,0x3c, - 0x3c,0x33,0x32,0x29,0x7c,0x28,0x6c,0x6f,0x6e,0x67,0x29,0x73,0x72,0x63,0x31,0x2e,0x73,0x31,0x29,0x3e,0x3e,0x28,0x73,0x72,0x63,0x32,0x29,0x29,0x3b,0x0a,0x72,0x65, - 0x74,0x75,0x72,0x6e,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x4b, - 0x45,0x49,0x4e,0x5f,0x4b,0x53,0x5f,0x50,0x41,0x52,0x49,0x54,0x59,0x20,0x30,0x78,0x31,0x42,0x44,0x31,0x31,0x42,0x44,0x41,0x41,0x39,0x46,0x43,0x31,0x41,0x32,0x32, - 0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x53, - 0x4b,0x45,0x49,0x4e,0x32,0x35,0x36,0x5f,0x49,0x56,0x5b,0x38,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x43,0x43,0x44,0x30,0x34,0x34,0x41,0x31,0x32,0x46,0x44,0x42, - 0x33,0x45,0x31,0x33,0x55,0x4c,0x2c,0x30,0x78,0x45,0x38,0x33,0x35,0x39,0x30,0x33,0x30,0x31,0x41,0x37,0x39,0x41,0x39,0x45,0x42,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35, - 0x35,0x41,0x45,0x41,0x30,0x36,0x31,0x34,0x46,0x38,0x31,0x36,0x45,0x36,0x46,0x55,0x4c,0x2c,0x30,0x78,0x32,0x41,0x32,0x37,0x36,0x37,0x41,0x34,0x41,0x45,0x39,0x42, - 0x39,0x34,0x44,0x42,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x45,0x43,0x30,0x36,0x30,0x32,0x35,0x45,0x37,0x34,0x44,0x44,0x37,0x36,0x38,0x33,0x55,0x4c,0x2c,0x30,0x78,0x45, - 0x37,0x41,0x34,0x33,0x36,0x43,0x44,0x43,0x34,0x37,0x34,0x36,0x32,0x35,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x33,0x36,0x46,0x42,0x41,0x46,0x39,0x33,0x39,0x33, - 0x41,0x44,0x31,0x38,0x35,0x55,0x4c,0x2c,0x30,0x78,0x33,0x45,0x45,0x44,0x42,0x41,0x31,0x38,0x33,0x33,0x45,0x44,0x46,0x43,0x31,0x33,0x55,0x4c,0x0a,0x7d,0x3b,0x0a, - 0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x53,0x4b, - 0x45,0x49,0x4e,0x35,0x31,0x32,0x5f,0x32,0x35,0x36,0x5f,0x49,0x56,0x5b,0x38,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x43,0x43,0x44,0x30,0x34,0x34,0x41,0x31,0x32, - 0x46,0x44,0x42,0x33,0x45,0x31,0x33,0x55,0x4c,0x2c,0x30,0x78,0x45,0x38,0x33,0x35,0x39,0x30,0x33,0x30,0x31,0x41,0x37,0x39,0x41,0x39,0x45,0x42,0x55,0x4c,0x2c,0x0a, - 0x30,0x78,0x35,0x35,0x41,0x45,0x41,0x30,0x36,0x31,0x34,0x46,0x38,0x31,0x36,0x45,0x36,0x46,0x55,0x4c,0x2c,0x30,0x78,0x32,0x41,0x32,0x37,0x36,0x37,0x41,0x34,0x41, - 0x45,0x39,0x42,0x39,0x34,0x44,0x42,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x45,0x43,0x30,0x36,0x30,0x32,0x35,0x45,0x37,0x34,0x44,0x44,0x37,0x36,0x38,0x33,0x55,0x4c,0x2c, - 0x30,0x78,0x45,0x37,0x41,0x34,0x33,0x36,0x43,0x44,0x43,0x34,0x37,0x34,0x36,0x32,0x35,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x33,0x36,0x46,0x42,0x41,0x46,0x39, - 0x33,0x39,0x33,0x41,0x44,0x31,0x38,0x35,0x55,0x4c,0x2c,0x30,0x78,0x33,0x45,0x45,0x44,0x42,0x41,0x31,0x38,0x33,0x33,0x45,0x44,0x46,0x43,0x31,0x33,0x55,0x4c,0x0a, - 0x7d,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x49,0x4e,0x4a,0x45,0x43,0x54,0x5f,0x4b,0x45,0x59,0x28,0x70,0x2c,0x20,0x73, - 0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x70,0x2b,0x3d,0x68,0x3b,0x20,0x5c,0x0a,0x70,0x2e,0x73,0x35,0x2b,0x3d,0x74,0x5b,0x73,0x20,0x25,0x20,0x33,0x5d,0x3b, - 0x20,0x5c,0x0a,0x70,0x2e,0x73,0x36,0x2b,0x3d,0x74,0x5b,0x28,0x73,0x2b,0x31,0x29,0x20,0x25,0x20,0x33,0x5d,0x3b,0x20,0x5c,0x0a,0x70,0x2e,0x73,0x37,0x2b,0x3d,0x73, - 0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x28,0x30,0x29,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x52,0x4f,0x54,0x28,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x78,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x79,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28, - 0x79,0x3c,0x33,0x32,0x29,0x20,0x7b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x61,0x6d,0x64,0x5f,0x62,0x69,0x74,0x61, - 0x6c,0x69,0x67,0x6e,0x28,0x78,0x2c,0x78,0x2e,0x73,0x31,0x30,0x2c,0x33,0x32,0x2d,0x79,0x29,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x7b,0x0a,0x72, - 0x65,0x74,0x75,0x72,0x6e,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x61,0x6d,0x64,0x5f,0x62,0x69,0x74,0x61,0x6c,0x69,0x67,0x6e,0x28,0x78,0x2e,0x73,0x31, - 0x30,0x2c,0x78,0x2c,0x33,0x32,0x2d,0x28,0x79,0x2d,0x33,0x32,0x29,0x29,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x76,0x6f,0x69,0x64,0x20,0x53,0x6b,0x65,0x69,0x6e, - 0x4d,0x69,0x78,0x38,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x20,0x2a,0x70,0x76,0x30,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x20,0x2a,0x70,0x76,0x31,0x2c,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x72,0x63,0x30,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x72,0x63,0x31,0x2c,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x75,0x69,0x6e,0x74,0x20,0x72,0x63,0x32,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x72,0x63,0x33,0x29,0x0a,0x7b,0x0a,0x2a,0x70,0x76,0x30, - 0x2b,0x3d,0x2a,0x70,0x76,0x31,0x3b,0x0a,0x28,0x2a,0x70,0x76,0x31,0x29,0x2e,0x73,0x30,0x3d,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x52,0x4f,0x54,0x28,0x61,0x73,0x5f,0x75, - 0x69,0x6e,0x74,0x32,0x28,0x28,0x2a,0x70,0x76,0x31,0x29,0x2e,0x73,0x30,0x29,0x2c,0x72,0x63,0x30,0x29,0x3b,0x0a,0x28,0x2a,0x70,0x76,0x31,0x29,0x2e,0x73,0x31,0x3d, - 0x53,0x4b,0x45,0x49,0x4e,0x5f,0x52,0x4f,0x54,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x28,0x2a,0x70,0x76,0x31,0x29,0x2e,0x73,0x31,0x29,0x2c,0x72,0x63, - 0x31,0x29,0x3b,0x0a,0x28,0x2a,0x70,0x76,0x31,0x29,0x2e,0x73,0x32,0x3d,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x52,0x4f,0x54,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32, - 0x28,0x28,0x2a,0x70,0x76,0x31,0x29,0x2e,0x73,0x32,0x29,0x2c,0x72,0x63,0x32,0x29,0x3b,0x0a,0x28,0x2a,0x70,0x76,0x31,0x29,0x2e,0x73,0x33,0x3d,0x53,0x4b,0x45,0x49, - 0x4e,0x5f,0x52,0x4f,0x54,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x28,0x2a,0x70,0x76,0x31,0x29,0x2e,0x73,0x33,0x29,0x2c,0x72,0x63,0x33,0x29,0x3b,0x0a, - 0x2a,0x70,0x76,0x31,0x20,0x5e,0x3d,0x20,0x2a,0x70,0x76,0x30,0x3b,0x0a,0x7d,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x53,0x6b,0x65,0x69,0x6e,0x45,0x76,0x65,0x6e, - 0x52,0x6f,0x75,0x6e,0x64,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x70,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x68,0x2c,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x74,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x29,0x0a,0x7b,0x0a,0x53,0x4b,0x45, - 0x49,0x4e,0x5f,0x49,0x4e,0x4a,0x45,0x43,0x54,0x5f,0x4b,0x45,0x59,0x28,0x70,0x2c,0x73,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x20,0x70,0x76,0x30,0x3d,0x70, - 0x2e,0x65,0x76,0x65,0x6e,0x2c,0x70,0x76,0x31,0x3d,0x70,0x2e,0x6f,0x64,0x64,0x3b,0x0a,0x53,0x6b,0x65,0x69,0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c, - 0x26,0x70,0x76,0x31,0x2c,0x34,0x36,0x2c,0x33,0x36,0x2c,0x31,0x39,0x2c,0x33,0x37,0x29,0x3b,0x0a,0x70,0x76,0x30,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70, - 0x76,0x30,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x30,0x29,0x29,0x3b,0x0a,0x70,0x76,0x31,0x3d,0x73,0x68,0x75,0x66,0x66, - 0x6c,0x65,0x28,0x70,0x76,0x31,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x30,0x2c,0x33,0x2c,0x32,0x2c,0x31,0x29,0x29,0x3b,0x0a,0x53,0x6b,0x65,0x69,0x6e, - 0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c,0x26,0x70,0x76,0x31,0x2c,0x33,0x33,0x2c,0x32,0x37,0x2c,0x31,0x34,0x2c,0x34,0x32,0x29,0x3b,0x0a,0x70,0x76,0x30, - 0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x30,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x30,0x29,0x29,0x3b, - 0x0a,0x70,0x76,0x31,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x31,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x30,0x2c,0x33,0x2c,0x32,0x2c, - 0x31,0x29,0x29,0x3b,0x0a,0x53,0x6b,0x65,0x69,0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c,0x26,0x70,0x76,0x31,0x2c,0x31,0x37,0x2c,0x34,0x39,0x2c,0x33, - 0x36,0x2c,0x33,0x39,0x29,0x3b,0x0a,0x70,0x76,0x30,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x30,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28, - 0x31,0x2c,0x32,0x2c,0x33,0x2c,0x30,0x29,0x29,0x3b,0x0a,0x70,0x76,0x31,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x31,0x2c,0x28,0x75,0x6c,0x6f,0x6e, - 0x67,0x34,0x29,0x28,0x30,0x2c,0x33,0x2c,0x32,0x2c,0x31,0x29,0x29,0x3b,0x0a,0x53,0x6b,0x65,0x69,0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c,0x26,0x70, - 0x76,0x31,0x2c,0x34,0x34,0x2c,0x39,0x2c,0x35,0x34,0x2c,0x35,0x36,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x28,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x32,0x28, - 0x70,0x76,0x30,0x2c,0x70,0x76,0x31,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x29,0x28,0x31,0x2c,0x34,0x2c,0x32,0x2c,0x37,0x2c,0x33,0x2c,0x36,0x2c,0x30,0x2c,0x35, - 0x29,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x53,0x6b,0x65,0x69,0x6e,0x4f,0x64,0x64,0x52,0x6f,0x75,0x6e,0x64,0x28,0x75,0x6c,0x6f,0x6e, - 0x67,0x38,0x20,0x70,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x68,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20, - 0x2a,0x74,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x29,0x0a,0x7b,0x0a,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x49,0x4e,0x4a,0x45,0x43,0x54,0x5f, - 0x4b,0x45,0x59,0x28,0x70,0x2c,0x73,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x20,0x70,0x76,0x30,0x3d,0x70,0x2e,0x65,0x76,0x65,0x6e,0x2c,0x70,0x76,0x31,0x3d, - 0x70,0x2e,0x6f,0x64,0x64,0x3b,0x0a,0x53,0x6b,0x65,0x69,0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c,0x26,0x70,0x76,0x31,0x2c,0x33,0x39,0x2c,0x33,0x30, - 0x2c,0x33,0x34,0x2c,0x32,0x34,0x29,0x3b,0x0a,0x70,0x76,0x30,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x30,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34, - 0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x30,0x29,0x29,0x3b,0x0a,0x70,0x76,0x31,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x31,0x2c,0x28,0x75,0x6c, - 0x6f,0x6e,0x67,0x34,0x29,0x28,0x30,0x2c,0x33,0x2c,0x32,0x2c,0x31,0x29,0x29,0x3b,0x0a,0x53,0x6b,0x65,0x69,0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c, - 0x26,0x70,0x76,0x31,0x2c,0x31,0x33,0x2c,0x35,0x30,0x2c,0x31,0x30,0x2c,0x31,0x37,0x29,0x3b,0x0a,0x70,0x76,0x30,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70, - 0x76,0x30,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x30,0x29,0x29,0x3b,0x0a,0x70,0x76,0x31,0x3d,0x73,0x68,0x75,0x66,0x66, - 0x6c,0x65,0x28,0x70,0x76,0x31,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x30,0x2c,0x33,0x2c,0x32,0x2c,0x31,0x29,0x29,0x3b,0x0a,0x53,0x6b,0x65,0x69,0x6e, - 0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c,0x26,0x70,0x76,0x31,0x2c,0x32,0x35,0x2c,0x32,0x39,0x2c,0x33,0x39,0x2c,0x34,0x33,0x29,0x3b,0x0a,0x70,0x76,0x30, - 0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x30,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x30,0x29,0x29,0x3b, - 0x0a,0x70,0x76,0x31,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x31,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x30,0x2c,0x33,0x2c,0x32,0x2c, - 0x31,0x29,0x29,0x3b,0x0a,0x53,0x6b,0x65,0x69,0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c,0x26,0x70,0x76,0x31,0x2c,0x38,0x2c,0x33,0x35,0x2c,0x35,0x36, - 0x2c,0x32,0x32,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x28,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x32,0x28,0x70,0x76,0x30,0x2c,0x70,0x76,0x31,0x2c,0x28,0x75, - 0x6c,0x6f,0x6e,0x67,0x38,0x29,0x28,0x31,0x2c,0x34,0x2c,0x32,0x2c,0x37,0x2c,0x33,0x2c,0x36,0x2c,0x30,0x2c,0x35,0x29,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x75,0x6c,0x6f, - 0x6e,0x67,0x38,0x20,0x53,0x6b,0x65,0x69,0x6e,0x35,0x31,0x32,0x42,0x6c,0x6f,0x63,0x6b,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x70,0x2c,0x75,0x6c,0x6f,0x6e,0x67, - 0x38,0x20,0x68,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x68,0x38,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x74,0x29,0x0a,0x7b,0x0a,0x23, - 0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x31,0x38,0x3b, - 0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x53,0x6b,0x65,0x69,0x6e,0x45,0x76,0x65,0x6e,0x52,0x6f,0x75,0x6e,0x64,0x28,0x70,0x2c,0x68,0x2c,0x74,0x2c,0x69, - 0x29,0x3b,0x0a,0x2b,0x2b,0x69,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x6d,0x70,0x3d,0x68,0x2e,0x73,0x30,0x3b,0x0a,0x68,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c, - 0x65,0x28,0x68,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x29,0x29,0x3b,0x0a, - 0x68,0x2e,0x73,0x37,0x3d,0x68,0x38,0x3b,0x0a,0x68,0x38,0x3d,0x74,0x6d,0x70,0x3b,0x0a,0x70,0x3d,0x53,0x6b,0x65,0x69,0x6e,0x4f,0x64,0x64,0x52,0x6f,0x75,0x6e,0x64, - 0x28,0x70,0x2c,0x68,0x2c,0x74,0x2c,0x69,0x29,0x3b,0x0a,0x74,0x6d,0x70,0x3d,0x68,0x2e,0x73,0x30,0x3b,0x0a,0x68,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x68, - 0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x29,0x29,0x3b,0x0a,0x68,0x2e,0x73, - 0x37,0x3d,0x68,0x38,0x3b,0x0a,0x68,0x38,0x3d,0x74,0x6d,0x70,0x3b,0x0a,0x7d,0x0a,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x49,0x4e,0x4a,0x45,0x43,0x54,0x5f,0x4b,0x45,0x59, - 0x28,0x70,0x2c,0x31,0x38,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x28,0x70,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x53,0x50,0x48,0x5f,0x4a,0x48,0x5f,0x36,0x34,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x50,0x48,0x5f,0x4c,0x49,0x54,0x54, - 0x4c,0x45,0x5f,0x45,0x4e,0x44,0x49,0x41,0x4e,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x78,0x29,0x09,0x78, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x09,0x78,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x69, - 0x6e,0x74,0x20,0x73,0x70,0x68,0x5f,0x75,0x33,0x32,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x73,0x70,0x68,0x5f,0x75,0x36, - 0x34,0x3b,0x0a,0x23,0x69,0x66,0x20,0x53,0x50,0x48,0x5f,0x4c,0x49,0x54,0x54,0x4c,0x45,0x5f,0x45,0x4e,0x44,0x49,0x41,0x4e,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x43,0x33,0x32,0x65,0x28,0x78,0x29,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x32,0x34,0x29,0x20,0x5c,0x0a,0x7c, - 0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x78,0x29,0x3e,0x3e,0x38,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x30,0x78,0x30,0x30,0x30,0x30, - 0x46,0x46,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x78,0x29,0x3c,0x3c,0x38,0x29,0x26,0x53,0x50,0x48,0x5f, - 0x43,0x33,0x32,0x28,0x30,0x78,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x78, - 0x29,0x3c,0x3c,0x32,0x34,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x29,0x0a,0x23,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x20,0x64,0x65,0x63,0x33,0x32,0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x20,0x73,0x70,0x68,0x5f,0x64,0x65,0x63,0x33,0x32,0x6c,0x65,0x5f, - 0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x6e,0x63,0x33,0x32,0x65,0x20,0x73,0x70,0x68,0x5f,0x65,0x6e,0x63,0x33,0x32, - 0x6c,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x36,0x34,0x65,0x28,0x78,0x29,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x20, - 0x3e,0x3e,0x20,0x35,0x36,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3e,0x3e,0x34,0x30,0x29,0x26,0x53,0x50,0x48, - 0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28, - 0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3e,0x3e,0x32,0x34,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3e,0x3e,0x38, - 0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c, - 0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c,0x38,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30, - 0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78, - 0x29,0x3c,0x3c,0x32,0x34,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c,0x34,0x30,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36, - 0x34,0x28,0x30,0x78,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48, - 0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c,0x35,0x36,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x64,0x65,0x63,0x36,0x34,0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65, - 0x64,0x20,0x73,0x70,0x68,0x5f,0x64,0x65,0x63,0x36,0x34,0x6c,0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x6e, - 0x63,0x36,0x34,0x65,0x20,0x73,0x70,0x68,0x5f,0x65,0x6e,0x63,0x36,0x34,0x6c,0x65,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43, - 0x33,0x32,0x65,0x28,0x78,0x29,0x20,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x78,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x64,0x65,0x63,0x33,0x32,0x65, - 0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x20,0x73,0x70,0x68,0x5f,0x64,0x65,0x63,0x33,0x32,0x62,0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x0a,0x23,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x20,0x65,0x6e,0x63,0x33,0x32,0x65,0x20,0x73,0x70,0x68,0x5f,0x65,0x6e,0x63,0x33,0x32,0x62,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, - 0x43,0x36,0x34,0x65,0x28,0x78,0x29,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x64,0x65,0x63,0x36,0x34, - 0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x20,0x73,0x70,0x68,0x5f,0x64,0x65,0x63,0x36,0x34,0x62,0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x6e,0x63,0x36,0x34,0x65,0x20,0x73,0x70,0x68,0x5f,0x65,0x6e,0x63,0x36,0x34,0x62,0x65,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a, - 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x62,0x28,0x78,0x30,0x2c,0x20,0x78,0x31,0x2c,0x20,0x78,0x32,0x2c,0x20,0x78,0x33,0x2c,0x20,0x63,0x29,0x20,0x64,0x6f, - 0x20,0x7b,0x20,0x5c,0x0a,0x78,0x33,0x3d,0x7e,0x78,0x33,0x3b,0x20,0x5c,0x0a,0x78,0x30,0x20,0x5e,0x3d,0x20,0x28,0x63,0x29,0x26,0x7e,0x78,0x32,0x3b,0x20,0x5c,0x0a, - 0x74,0x6d,0x70,0x3d,0x28,0x63,0x29,0x5e,0x28,0x78,0x30,0x26,0x78,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x78,0x30,0x20,0x5e,0x3d,0x20,0x78,0x32,0x26,0x78,0x33,0x3b,0x20, - 0x5c,0x0a,0x78,0x33,0x20,0x5e,0x3d,0x20,0x7e,0x78,0x31,0x26,0x78,0x32,0x3b,0x20,0x5c,0x0a,0x78,0x31,0x20,0x5e,0x3d,0x20,0x78,0x30,0x26,0x78,0x32,0x3b,0x20,0x5c, - 0x0a,0x78,0x32,0x20,0x5e,0x3d,0x20,0x78,0x30,0x26,0x7e,0x78,0x33,0x3b,0x20,0x5c,0x0a,0x78,0x30,0x20,0x5e,0x3d,0x20,0x78,0x31,0x7c,0x78,0x33,0x3b,0x20,0x5c,0x0a, - 0x78,0x33,0x20,0x5e,0x3d,0x20,0x78,0x31,0x26,0x78,0x32,0x3b,0x20,0x5c,0x0a,0x78,0x31,0x20,0x5e,0x3d,0x20,0x74,0x6d,0x70,0x26,0x78,0x30,0x3b,0x20,0x5c,0x0a,0x78, - 0x32,0x20,0x5e,0x3d,0x20,0x74,0x6d,0x70,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, - 0x4c,0x62,0x28,0x78,0x30,0x2c,0x20,0x78,0x31,0x2c,0x20,0x78,0x32,0x2c,0x20,0x78,0x33,0x2c,0x20,0x78,0x34,0x2c,0x20,0x78,0x35,0x2c,0x20,0x78,0x36,0x2c,0x20,0x78, - 0x37,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x78,0x34,0x20,0x5e,0x3d,0x20,0x78,0x31,0x3b,0x20,0x5c,0x0a,0x78,0x35,0x20,0x5e,0x3d,0x20,0x78,0x32,0x3b,0x20, - 0x5c,0x0a,0x78,0x36,0x20,0x5e,0x3d,0x20,0x78,0x33,0x5e,0x78,0x30,0x3b,0x20,0x5c,0x0a,0x78,0x37,0x20,0x5e,0x3d,0x20,0x78,0x30,0x3b,0x20,0x5c,0x0a,0x78,0x30,0x20, - 0x5e,0x3d,0x20,0x78,0x35,0x3b,0x20,0x5c,0x0a,0x78,0x31,0x20,0x5e,0x3d,0x20,0x78,0x36,0x3b,0x20,0x5c,0x0a,0x78,0x32,0x20,0x5e,0x3d,0x20,0x78,0x37,0x5e,0x78,0x34, - 0x3b,0x20,0x5c,0x0a,0x78,0x33,0x20,0x5e,0x3d,0x20,0x78,0x34,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x53,0x54,0x41,0x54, - 0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x43,0x5b,0x5d,0x20,0x3d,0x0a, - 0x7b,0x0a,0x30,0x78,0x36,0x37,0x46,0x38,0x31,0x35,0x44,0x46,0x41,0x32,0x44,0x45,0x44,0x35,0x37,0x32,0x55,0x4c,0x2c,0x30,0x78,0x35,0x37,0x31,0x35,0x32,0x33,0x42, - 0x37,0x30,0x41,0x31,0x35,0x38,0x34,0x37,0x42,0x55,0x4c,0x2c,0x30,0x78,0x46,0x36,0x38,0x37,0x35,0x41,0x34,0x44,0x39,0x30,0x44,0x36,0x41,0x42,0x38,0x31,0x55,0x4c, - 0x2c,0x30,0x78,0x34,0x30,0x32,0x42,0x44,0x31,0x43,0x33,0x43,0x35,0x34,0x46,0x39,0x46,0x34,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x43,0x46,0x41,0x34,0x35,0x35, - 0x43,0x45,0x30,0x33,0x41,0x39,0x38,0x45,0x41,0x55,0x4c,0x2c,0x30,0x78,0x39,0x41,0x39,0x39,0x42,0x32,0x36,0x36,0x39,0x39,0x44,0x32,0x43,0x35,0x30,0x33,0x55,0x4c, - 0x2c,0x30,0x78,0x38,0x41,0x35,0x33,0x42,0x42,0x46,0x32,0x42,0x34,0x39,0x36,0x30,0x32,0x36,0x36,0x55,0x4c,0x2c,0x30,0x78,0x33,0x31,0x41,0x32,0x44,0x42,0x38,0x38, - 0x31,0x41,0x31,0x34,0x35,0x36,0x42,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x42,0x30,0x45,0x31,0x39,0x39,0x41,0x35,0x43,0x35,0x41,0x41,0x33,0x30,0x33,0x55,0x4c, - 0x2c,0x30,0x78,0x31,0x30,0x34,0x34,0x43,0x31,0x38,0x37,0x30,0x41,0x42,0x32,0x33,0x46,0x34,0x30,0x55,0x4c,0x2c,0x30,0x78,0x31,0x44,0x39,0x35,0x39,0x45,0x38,0x34, - 0x38,0x30,0x31,0x39,0x30,0x35,0x31,0x43,0x55,0x4c,0x2c,0x30,0x78,0x44,0x43,0x43,0x44,0x45,0x37,0x35,0x45,0x41,0x44,0x45,0x42,0x33,0x33,0x36,0x46,0x55,0x4c,0x2c, - 0x0a,0x30,0x78,0x34,0x31,0x36,0x42,0x42,0x46,0x30,0x32,0x39,0x32,0x31,0x33,0x42,0x41,0x31,0x30,0x55,0x4c,0x2c,0x30,0x78,0x44,0x30,0x32,0x37,0x42,0x42,0x46,0x37, - 0x31,0x35,0x36,0x35,0x37,0x38,0x44,0x43,0x55,0x4c,0x2c,0x30,0x78,0x35,0x30,0x37,0x38,0x41,0x41,0x33,0x37,0x33,0x39,0x38,0x31,0x32,0x43,0x30,0x41,0x55,0x4c,0x2c, - 0x30,0x78,0x44,0x33,0x39,0x31,0x30,0x30,0x34,0x31,0x44,0x32,0x42,0x46,0x31,0x41,0x33,0x46,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x30,0x37,0x45,0x43,0x43,0x46,0x36, - 0x30,0x44,0x35,0x41,0x32,0x44,0x34,0x32,0x55,0x4c,0x2c,0x30,0x78,0x43,0x45,0x39,0x37,0x43,0x30,0x39,0x32,0x39,0x43,0x39,0x46,0x36,0x32,0x44,0x44,0x55,0x4c,0x2c, - 0x30,0x78,0x41,0x43,0x34,0x34,0x32,0x42,0x43,0x37,0x30,0x42,0x41,0x37,0x35,0x43,0x31,0x38,0x55,0x4c,0x2c,0x30,0x78,0x32,0x33,0x46,0x43,0x43,0x36,0x36,0x33,0x44, - 0x36,0x36,0x35,0x44,0x46,0x44,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31,0x41,0x42,0x38,0x45,0x30,0x39,0x45,0x30,0x33,0x36,0x43,0x36,0x45,0x39,0x37,0x55,0x4c,0x2c, - 0x30,0x78,0x41,0x38,0x45,0x43,0x36,0x43,0x34,0x34,0x37,0x45,0x34,0x35,0x30,0x35,0x32,0x31,0x55,0x4c,0x2c,0x30,0x78,0x46,0x41,0x36,0x31,0x38,0x45,0x35,0x44,0x42, - 0x42,0x30,0x33,0x46,0x31,0x45,0x45,0x55,0x4c,0x2c,0x30,0x78,0x39,0x37,0x38,0x31,0x38,0x33,0x39,0x34,0x42,0x32,0x39,0x37,0x39,0x36,0x46,0x44,0x55,0x4c,0x2c,0x0a, - 0x30,0x78,0x32,0x46,0x33,0x30,0x30,0x33,0x44,0x42,0x33,0x37,0x38,0x35,0x38,0x45,0x34,0x41,0x55,0x4c,0x2c,0x30,0x78,0x39,0x35,0x36,0x41,0x39,0x46,0x46,0x42,0x32, - 0x44,0x38,0x44,0x36,0x37,0x32,0x41,0x55,0x4c,0x2c,0x30,0x78,0x36,0x43,0x36,0x39,0x42,0x38,0x46,0x38,0x38,0x31,0x37,0x33,0x46,0x45,0x38,0x41,0x55,0x4c,0x2c,0x30, - 0x78,0x31,0x34,0x34,0x32,0x37,0x46,0x43,0x30,0x34,0x36,0x37,0x32,0x43,0x37,0x38,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x34,0x35,0x45,0x43,0x37,0x42,0x44,0x38, - 0x46,0x31,0x35,0x46,0x34,0x43,0x35,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x42,0x42,0x31,0x31,0x38,0x46,0x41,0x37,0x36,0x46,0x34,0x34,0x37,0x35,0x55,0x4c,0x2c,0x30, - 0x78,0x42,0x43,0x38,0x38,0x45,0x34,0x41,0x45,0x42,0x37,0x37,0x35,0x44,0x45,0x35,0x32,0x55,0x4c,0x2c,0x30,0x78,0x46,0x34,0x41,0x33,0x41,0x36,0x39,0x38,0x31,0x45, - 0x30,0x30,0x42,0x38,0x38,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31,0x35,0x36,0x33,0x41,0x33,0x41,0x39,0x33,0x33,0x38,0x46,0x46,0x34,0x38,0x45,0x55,0x4c,0x2c,0x30, - 0x78,0x38,0x39,0x46,0x39,0x42,0x37,0x44,0x35,0x32,0x34,0x35,0x36,0x35,0x46,0x41,0x41,0x55,0x4c,0x2c,0x30,0x78,0x46,0x44,0x45,0x30,0x35,0x41,0x37,0x43,0x32,0x30, - 0x45,0x44,0x46,0x31,0x42,0x36,0x55,0x4c,0x2c,0x30,0x78,0x33,0x36,0x32,0x43,0x34,0x32,0x30,0x36,0x35,0x41,0x45,0x39,0x43,0x41,0x33,0x36,0x55,0x4c,0x2c,0x0a,0x30, - 0x78,0x33,0x44,0x39,0x38,0x46,0x45,0x34,0x45,0x34,0x33,0x33,0x35,0x32,0x39,0x43,0x45,0x55,0x4c,0x2c,0x30,0x78,0x41,0x37,0x34,0x42,0x39,0x41,0x37,0x33,0x37,0x34, - 0x46,0x39,0x33,0x41,0x35,0x33,0x55,0x4c,0x2c,0x30,0x78,0x38,0x36,0x38,0x31,0x34,0x45,0x36,0x46,0x35,0x39,0x31,0x46,0x46,0x35,0x44,0x30,0x55,0x4c,0x2c,0x30,0x78, - 0x39,0x46,0x35,0x41,0x44,0x38,0x41,0x46,0x38,0x31,0x41,0x44,0x39,0x44,0x30,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x41,0x36,0x32,0x33,0x34,0x45,0x45,0x36,0x37, - 0x30,0x36,0x30,0x35,0x41,0x37,0x55,0x4c,0x2c,0x30,0x78,0x32,0x37,0x31,0x37,0x42,0x39,0x36,0x45,0x42,0x45,0x32,0x38,0x30,0x42,0x38,0x42,0x55,0x4c,0x2c,0x30,0x78, - 0x33,0x46,0x31,0x30,0x38,0x30,0x43,0x36,0x32,0x36,0x30,0x37,0x37,0x34,0x34,0x37,0x55,0x4c,0x2c,0x30,0x78,0x37,0x42,0x34,0x38,0x37,0x45,0x43,0x36,0x36,0x46,0x37, - 0x45,0x41,0x30,0x45,0x30,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x30,0x41,0x34,0x46,0x38,0x34,0x41,0x41,0x35,0x30,0x41,0x35,0x35,0x30,0x44,0x55,0x4c,0x2c,0x30,0x78, - 0x39,0x45,0x46,0x31,0x38,0x45,0x39,0x37,0x39,0x46,0x45,0x37,0x45,0x33,0x39,0x31,0x55,0x4c,0x2c,0x30,0x78,0x44,0x34,0x38,0x44,0x36,0x30,0x35,0x30,0x38,0x31,0x37, - 0x32,0x37,0x36,0x38,0x36,0x55,0x4c,0x2c,0x30,0x78,0x36,0x32,0x42,0x30,0x45,0x35,0x46,0x33,0x34,0x31,0x35,0x41,0x39,0x45,0x37,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78, - 0x37,0x41,0x32,0x30,0x35,0x34,0x34,0x30,0x45,0x43,0x31,0x46,0x39,0x46,0x46,0x43,0x55,0x4c,0x2c,0x30,0x78,0x38,0x34,0x43,0x39,0x46,0x34,0x43,0x45,0x30,0x30,0x31, - 0x41,0x45,0x34,0x45,0x33,0x55,0x4c,0x2c,0x30,0x78,0x44,0x38,0x39,0x35,0x46,0x41,0x39,0x44,0x46,0x35,0x39,0x34,0x44,0x37,0x34,0x46,0x55,0x4c,0x2c,0x30,0x78,0x41, - 0x35,0x35,0x34,0x43,0x33,0x32,0x34,0x31,0x31,0x37,0x45,0x32,0x45,0x35,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x38,0x36,0x45,0x46,0x45,0x42,0x44,0x32,0x38,0x37, - 0x32,0x44,0x46,0x35,0x42,0x55,0x4c,0x2c,0x30,0x78,0x42,0x32,0x43,0x34,0x41,0x35,0x30,0x46,0x45,0x32,0x37,0x46,0x46,0x35,0x37,0x38,0x55,0x4c,0x2c,0x30,0x78,0x32, - 0x45,0x44,0x33,0x34,0x39,0x45,0x45,0x45,0x46,0x37,0x43,0x38,0x39,0x30,0x35,0x55,0x4c,0x2c,0x30,0x78,0x37,0x46,0x35,0x39,0x32,0x38,0x45,0x42,0x38,0x35,0x39,0x33, - 0x37,0x45,0x34,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x34,0x41,0x33,0x31,0x32,0x34,0x42,0x33,0x33,0x37,0x36,0x39,0x35,0x46,0x37,0x30,0x55,0x4c,0x2c,0x30,0x78,0x36, - 0x35,0x45,0x34,0x44,0x36,0x31,0x44,0x46,0x31,0x32,0x38,0x38,0x36,0x35,0x45,0x55,0x4c,0x2c,0x30,0x78,0x45,0x37,0x32,0x30,0x42,0x39,0x35,0x31,0x30,0x34,0x37,0x37, - 0x31,0x42,0x43,0x37,0x55,0x4c,0x2c,0x30,0x78,0x38,0x41,0x38,0x37,0x44,0x34,0x32,0x33,0x45,0x38,0x34,0x33,0x46,0x45,0x37,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x46, - 0x32,0x39,0x34,0x37,0x36,0x39,0x32,0x41,0x33,0x45,0x38,0x32,0x39,0x37,0x44,0x55,0x4c,0x2c,0x30,0x78,0x43,0x31,0x44,0x39,0x33,0x30,0x39,0x42,0x30,0x39,0x37,0x41, - 0x43,0x42,0x44,0x44,0x55,0x4c,0x2c,0x30,0x78,0x45,0x30,0x31,0x42,0x44,0x43,0x35,0x42,0x46,0x42,0x33,0x30,0x31,0x42,0x31,0x44,0x55,0x4c,0x2c,0x30,0x78,0x42,0x46, - 0x38,0x32,0x39,0x43,0x46,0x32,0x34,0x46,0x34,0x39,0x32,0x34,0x44,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x46,0x46,0x42,0x46,0x37,0x30,0x42,0x34,0x33,0x31,0x42,0x41, - 0x45,0x37,0x41,0x34,0x55,0x4c,0x2c,0x30,0x78,0x34,0x38,0x42,0x43,0x46,0x38,0x44,0x45,0x30,0x35,0x34,0x34,0x33,0x32,0x30,0x44,0x55,0x4c,0x2c,0x30,0x78,0x33,0x39, - 0x44,0x33,0x42,0x42,0x35,0x33,0x33,0x32,0x46,0x43,0x41,0x45,0x33,0x42,0x55,0x4c,0x2c,0x30,0x78,0x41,0x30,0x38,0x42,0x32,0x39,0x45,0x30,0x43,0x31,0x43,0x33,0x39, - 0x46,0x34,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x46,0x30,0x39,0x41,0x45,0x46,0x37,0x46,0x44,0x30,0x35,0x43,0x39,0x45,0x35,0x55,0x4c,0x2c,0x30,0x78,0x33,0x34, - 0x46,0x31,0x39,0x30,0x34,0x32,0x31,0x32,0x33,0x34,0x37,0x30,0x39,0x34,0x55,0x4c,0x2c,0x30,0x78,0x39,0x35,0x45,0x44,0x34,0x34,0x45,0x33,0x30,0x31,0x42,0x37,0x37, - 0x31,0x41,0x32,0x55,0x4c,0x2c,0x30,0x78,0x34,0x41,0x39,0x38,0x32,0x46,0x34,0x46,0x33,0x36,0x38,0x45,0x33,0x42,0x45,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31,0x35, - 0x46,0x36,0x36,0x43,0x41,0x30,0x36,0x33,0x31,0x44,0x34,0x30,0x38,0x38,0x55,0x4c,0x2c,0x30,0x78,0x46,0x46,0x41,0x46,0x35,0x32,0x38,0x37,0x34,0x42,0x34,0x34,0x43, - 0x31,0x34,0x37,0x55,0x4c,0x2c,0x30,0x78,0x33,0x30,0x43,0x36,0x30,0x41,0x45,0x32,0x46,0x31,0x34,0x41,0x42,0x42,0x37,0x45,0x55,0x4c,0x2c,0x30,0x78,0x45,0x36,0x38, - 0x43,0x36,0x45,0x43,0x43,0x43,0x35,0x42,0x36,0x37,0x30,0x34,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x30,0x43,0x41,0x34,0x46,0x42,0x44,0x35,0x36,0x41,0x34,0x44, - 0x35,0x41,0x34,0x55,0x4c,0x2c,0x30,0x78,0x41,0x45,0x31,0x38,0x33,0x45,0x43,0x38,0x34,0x42,0x38,0x34,0x39,0x44,0x44,0x41,0x55,0x4c,0x2c,0x30,0x78,0x41,0x44,0x44, - 0x31,0x36,0x34,0x33,0x30,0x34,0x35,0x43,0x45,0x35,0x37,0x37,0x33,0x55,0x4c,0x2c,0x30,0x78,0x36,0x37,0x32,0x35,0x35,0x43,0x31,0x34,0x36,0x38,0x43,0x45,0x41,0x36, - 0x45,0x38,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31,0x36,0x45,0x31,0x30,0x45,0x43,0x42,0x46,0x32,0x38,0x43,0x44,0x41,0x41,0x33,0x55,0x4c,0x2c,0x30,0x78,0x39,0x41,0x39, - 0x39,0x39,0x34,0x39,0x41,0x35,0x38,0x30,0x36,0x45,0x39,0x33,0x33,0x55,0x4c,0x2c,0x30,0x78,0x37,0x42,0x38,0x34,0x36,0x46,0x43,0x32,0x32,0x30,0x42,0x32,0x36,0x30, - 0x31,0x46,0x55,0x4c,0x2c,0x30,0x78,0x31,0x38,0x38,0x35,0x44,0x31,0x41,0x30,0x37,0x46,0x41,0x43,0x43,0x45,0x44,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x33,0x31, - 0x39,0x44,0x44,0x38,0x44,0x41,0x31,0x35,0x42,0x35,0x39,0x33,0x32,0x55,0x4c,0x2c,0x30,0x78,0x34,0x36,0x42,0x34,0x41,0x35,0x41,0x41,0x43,0x30,0x31,0x43,0x39,0x41, - 0x35,0x30,0x55,0x4c,0x2c,0x30,0x78,0x42,0x41,0x36,0x42,0x30,0x34,0x45,0x34,0x36,0x37,0x36,0x33,0x33,0x44,0x39,0x46,0x55,0x4c,0x2c,0x30,0x78,0x37,0x45,0x45,0x45, - 0x35,0x36,0x30,0x42,0x41,0x42,0x31,0x39,0x43,0x41,0x46,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x37,0x34,0x32,0x31,0x32,0x38,0x41,0x39,0x45,0x41,0x37,0x39,0x42,0x31, - 0x31,0x46,0x55,0x4c,0x2c,0x30,0x78,0x45,0x45,0x35,0x31,0x33,0x36,0x33,0x42,0x33,0x35,0x46,0x37,0x42,0x44,0x45,0x39,0x55,0x4c,0x2c,0x30,0x78,0x37,0x36,0x44,0x33, - 0x35,0x30,0x37,0x35,0x35,0x41,0x41,0x43,0x35,0x37,0x31,0x44,0x55,0x4c,0x2c,0x30,0x78,0x30,0x31,0x37,0x30,0x37,0x44,0x41,0x33,0x46,0x45,0x43,0x32,0x34,0x36,0x33, - 0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x34,0x32,0x44,0x38,0x41,0x34,0x39,0x38,0x41,0x46,0x43,0x31,0x33,0x35,0x46,0x37,0x55,0x4c,0x2c,0x30,0x78,0x37,0x39,0x36,0x37, - 0x36,0x42,0x39,0x45,0x32,0x30,0x45,0x43,0x45,0x44,0x37,0x38,0x55,0x4c,0x2c,0x30,0x78,0x41,0x38,0x44,0x42,0x33,0x41,0x45,0x41,0x31,0x35,0x36,0x33,0x38,0x33,0x34, - 0x31,0x55,0x4c,0x2c,0x30,0x78,0x38,0x33,0x32,0x43,0x38,0x33,0x33,0x32,0x34,0x44,0x33,0x42,0x43,0x33,0x46,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x46,0x33,0x34,0x37, - 0x32,0x37,0x31,0x43,0x31,0x46,0x33,0x42,0x34,0x30,0x41,0x37,0x55,0x4c,0x2c,0x30,0x78,0x39,0x41,0x37,0x36,0x32,0x44,0x42,0x37,0x33,0x34,0x46,0x30,0x34,0x30,0x35, - 0x39,0x55,0x4c,0x2c,0x30,0x78,0x46,0x44,0x34,0x46,0x32,0x31,0x44,0x32,0x36,0x43,0x34,0x45,0x33,0x45,0x45,0x37,0x55,0x4c,0x2c,0x30,0x78,0x45,0x46,0x35,0x39,0x35, - 0x37,0x44,0x43,0x33,0x39,0x38,0x44,0x46,0x44,0x42,0x38,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x41,0x45,0x42,0x34,0x39,0x32,0x42,0x34,0x39,0x30,0x43,0x39,0x42,0x38, - 0x44,0x55,0x4c,0x2c,0x30,0x78,0x30,0x44,0x37,0x30,0x46,0x33,0x36,0x38,0x34,0x39,0x44,0x37,0x41,0x32,0x35,0x42,0x55,0x4c,0x2c,0x30,0x78,0x38,0x34,0x35,0x35,0x38, - 0x44,0x37,0x41,0x44,0x30,0x41,0x45,0x33,0x42,0x37,0x44,0x55,0x4c,0x2c,0x30,0x78,0x36,0x35,0x38,0x45,0x46,0x38,0x45,0x34,0x46,0x30,0x45,0x39,0x41,0x35,0x46,0x35, - 0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x33,0x33,0x42,0x31,0x30,0x33,0x36,0x46,0x34,0x41,0x32,0x42,0x38,0x41,0x30,0x55,0x4c,0x2c,0x30,0x78,0x35,0x41,0x45,0x43,0x33, - 0x45,0x37,0x35,0x39,0x45,0x30,0x37,0x41,0x38,0x30,0x43,0x55,0x4c,0x2c,0x30,0x78,0x34,0x46,0x38,0x38,0x45,0x38,0x35,0x36,0x39,0x32,0x39,0x34,0x36,0x38,0x39,0x31, - 0x55,0x4c,0x2c,0x30,0x78,0x34,0x43,0x42,0x43,0x42,0x41,0x46,0x38,0x35,0x35,0x35,0x43,0x42,0x30,0x35,0x42,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x37,0x42,0x39,0x34,0x38, - 0x37,0x46,0x33,0x39,0x39,0x33,0x42,0x42,0x42,0x45,0x33,0x55,0x4c,0x2c,0x30,0x78,0x35,0x44,0x31,0x43,0x36,0x42,0x37,0x32,0x44,0x36,0x46,0x34,0x44,0x41,0x37,0x35, - 0x55,0x4c,0x2c,0x30,0x78,0x36,0x44,0x42,0x33,0x33,0x34,0x44,0x43,0x32,0x38,0x41,0x43,0x41,0x45,0x36,0x34,0x55,0x4c,0x2c,0x30,0x78,0x37,0x31,0x44,0x42,0x32,0x38, - 0x42,0x38,0x35,0x30,0x41,0x35,0x33,0x34,0x36,0x43,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x41,0x35,0x31,0x38,0x44,0x31,0x30,0x46,0x32,0x45,0x32,0x36,0x31,0x46,0x38, - 0x55,0x4c,0x2c,0x30,0x78,0x46,0x43,0x37,0x35,0x44,0x44,0x35,0x39,0x33,0x33,0x36,0x34,0x44,0x42,0x45,0x33,0x55,0x4c,0x2c,0x30,0x78,0x41,0x32,0x33,0x46,0x43,0x45, - 0x34,0x33,0x46,0x31,0x42,0x43,0x41,0x43,0x31,0x43,0x55,0x4c,0x2c,0x30,0x78,0x42,0x30,0x34,0x33,0x45,0x38,0x30,0x32,0x33,0x43,0x44,0x31,0x42,0x42,0x36,0x37,0x55, - 0x4c,0x2c,0x0a,0x30,0x78,0x37,0x35,0x41,0x31,0x32,0x39,0x38,0x38,0x43,0x41,0x35,0x42,0x30,0x41,0x33,0x33,0x55,0x4c,0x2c,0x30,0x78,0x35,0x43,0x35,0x33,0x31,0x36, - 0x42,0x34,0x34,0x44,0x31,0x39,0x33,0x34,0x37,0x46,0x55,0x4c,0x2c,0x30,0x78,0x31,0x45,0x34,0x44,0x37,0x39,0x30,0x45,0x43,0x33,0x39,0x34,0x33,0x42,0x39,0x32,0x55, - 0x4c,0x2c,0x30,0x78,0x33,0x46,0x41,0x46,0x45,0x45,0x42,0x36,0x44,0x37,0x37,0x35,0x37,0x34,0x37,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x31,0x33,0x39,0x31,0x41, - 0x42,0x45,0x46,0x37,0x44,0x34,0x41,0x38,0x45,0x41,0x55,0x4c,0x2c,0x30,0x78,0x35,0x31,0x32,0x37,0x32,0x33,0x34,0x43,0x30,0x39,0x37,0x45,0x46,0x34,0x35,0x43,0x55, - 0x4c,0x2c,0x30,0x78,0x44,0x32,0x33,0x43,0x33,0x32,0x42,0x41,0x35,0x33,0x32,0x34,0x41,0x33,0x32,0x36,0x55,0x4c,0x2c,0x30,0x78,0x41,0x44,0x44,0x35,0x41,0x36,0x36, - 0x44,0x34,0x41,0x31,0x37,0x41,0x33,0x34,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x38,0x43,0x39,0x46,0x32,0x41,0x46,0x41,0x36,0x33,0x45,0x31,0x44,0x42,0x35,0x55, - 0x4c,0x2c,0x30,0x78,0x35,0x36,0x33,0x43,0x36,0x42,0x39,0x31,0x39,0x38,0x33,0x44,0x35,0x39,0x38,0x33,0x55,0x4c,0x2c,0x30,0x78,0x34,0x44,0x36,0x30,0x38,0x36,0x37, - 0x32,0x41,0x31,0x37,0x43,0x46,0x38,0x34,0x43,0x55,0x4c,0x2c,0x30,0x78,0x46,0x36,0x43,0x37,0x36,0x45,0x30,0x38,0x43,0x43,0x33,0x45,0x45,0x32,0x34,0x36,0x55,0x4c, - 0x2c,0x0a,0x30,0x78,0x35,0x45,0x37,0x36,0x42,0x43,0x42,0x31,0x42,0x33,0x33,0x33,0x39,0x38,0x32,0x46,0x55,0x4c,0x2c,0x30,0x78,0x32,0x41,0x45,0x36,0x43,0x34,0x45, - 0x46,0x41,0x35,0x36,0x36,0x44,0x36,0x32,0x42,0x55,0x4c,0x2c,0x30,0x78,0x33,0x36,0x44,0x34,0x43,0x31,0x42,0x45,0x45,0x38,0x42,0x36,0x46,0x34,0x30,0x36,0x55,0x4c, - 0x2c,0x30,0x78,0x36,0x33,0x32,0x31,0x45,0x46,0x42,0x43,0x31,0x35,0x38,0x32,0x45,0x45,0x37,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x39,0x43,0x39,0x35,0x33,0x46, - 0x34,0x30,0x44,0x34,0x45,0x43,0x31,0x46,0x44,0x55,0x4c,0x2c,0x30,0x78,0x32,0x36,0x35,0x38,0x35,0x38,0x30,0x36,0x43,0x34,0x35,0x41,0x37,0x44,0x41,0x37,0x55,0x4c, - 0x2c,0x30,0x78,0x31,0x36,0x46,0x41,0x45,0x30,0x30,0x36,0x31,0x36,0x31,0x34,0x43,0x31,0x37,0x45,0x55,0x4c,0x2c,0x30,0x78,0x33,0x46,0x39,0x44,0x36,0x33,0x32,0x38, - 0x33,0x44,0x41,0x46,0x39,0x30,0x37,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x43,0x44,0x32,0x39,0x42,0x30,0x30,0x45,0x33,0x46,0x32,0x43,0x39,0x44,0x32,0x55,0x4c, - 0x2c,0x30,0x78,0x33,0x30,0x30,0x43,0x44,0x34,0x42,0x37,0x33,0x30,0x43,0x45,0x41,0x41,0x35,0x46,0x55,0x4c,0x2c,0x30,0x78,0x39,0x38,0x33,0x32,0x45,0x30,0x46,0x32, - 0x31,0x36,0x35,0x31,0x32,0x41,0x37,0x34,0x55,0x4c,0x2c,0x30,0x78,0x39,0x41,0x46,0x38,0x43,0x45,0x45,0x33,0x44,0x38,0x33,0x30,0x45,0x42,0x30,0x44,0x55,0x4c,0x2c, - 0x0a,0x30,0x78,0x39,0x32,0x37,0x39,0x46,0x31,0x42,0x35,0x37,0x42,0x39,0x45,0x43,0x35,0x34,0x42,0x55,0x4c,0x2c,0x30,0x78,0x44,0x33,0x36,0x38,0x38,0x36,0x30,0x34, - 0x36,0x45,0x45,0x36,0x35,0x31,0x46,0x46,0x55,0x4c,0x2c,0x30,0x78,0x33,0x31,0x36,0x37,0x39,0x36,0x45,0x36,0x35,0x37,0x34,0x44,0x32,0x33,0x39,0x42,0x55,0x4c,0x2c, - 0x30,0x78,0x30,0x35,0x37,0x35,0x30,0x41,0x31,0x37,0x46,0x33,0x41,0x36,0x45,0x36,0x43,0x43,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x45,0x36,0x43,0x33,0x32,0x31,0x33, - 0x44,0x39,0x38,0x31,0x37,0x36,0x42,0x31,0x55,0x4c,0x2c,0x30,0x78,0x36,0x32,0x41,0x32,0x30,0x35,0x46,0x38,0x38,0x34,0x35,0x32,0x31,0x37,0x33,0x43,0x55,0x4c,0x2c, - 0x30,0x78,0x34,0x37,0x31,0x35,0x34,0x37,0x37,0x38,0x42,0x33,0x43,0x42,0x32,0x42,0x46,0x34,0x55,0x4c,0x2c,0x30,0x78,0x34,0x38,0x36,0x41,0x39,0x33,0x32,0x33,0x38, - 0x32,0x35,0x34,0x34,0x36,0x46,0x46,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x35,0x36,0x35,0x35,0x45,0x34,0x45,0x30,0x37,0x35,0x38,0x44,0x46,0x33,0x38,0x55,0x4c,0x2c, - 0x30,0x78,0x38,0x45,0x35,0x30,0x38,0x36,0x46,0x43,0x38,0x39,0x37,0x43,0x46,0x43,0x46,0x32,0x55,0x4c,0x2c,0x30,0x78,0x38,0x36,0x43,0x41,0x30,0x42,0x44,0x30,0x34, - 0x34,0x32,0x45,0x37,0x30,0x33,0x31,0x55,0x4c,0x2c,0x30,0x78,0x34,0x45,0x34,0x37,0x37,0x38,0x33,0x30,0x41,0x32,0x30,0x39,0x34,0x30,0x46,0x30,0x55,0x4c,0x2c,0x0a, - 0x30,0x78,0x38,0x33,0x33,0x38,0x46,0x37,0x44,0x31,0x33,0x39,0x45,0x45,0x41,0x30,0x36,0x35,0x55,0x4c,0x2c,0x30,0x78,0x42,0x44,0x33,0x41,0x32,0x43,0x45,0x34,0x33, - 0x37,0x45,0x39,0x35,0x45,0x46,0x37,0x55,0x4c,0x2c,0x30,0x78,0x36,0x46,0x46,0x38,0x31,0x33,0x30,0x31,0x32,0x36,0x42,0x32,0x39,0x37,0x32,0x31,0x55,0x4c,0x2c,0x30, - 0x78,0x45,0x37,0x44,0x45,0x39,0x46,0x45,0x46,0x44,0x31,0x45,0x44,0x34,0x34,0x41,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x39,0x39,0x32,0x32,0x35,0x37,0x36,0x31, - 0x35,0x44,0x46,0x41,0x30,0x38,0x42,0x55,0x4c,0x2c,0x30,0x78,0x42,0x45,0x34,0x32,0x44,0x43,0x31,0x32,0x46,0x36,0x46,0x37,0x38,0x35,0x33,0x43,0x55,0x4c,0x2c,0x30, - 0x78,0x37,0x45,0x42,0x30,0x32,0x37,0x41,0x42,0x37,0x43,0x45,0x43,0x41,0x37,0x44,0x38,0x55,0x4c,0x2c,0x30,0x78,0x44,0x45,0x41,0x38,0x33,0x45,0x41,0x41,0x44,0x41, - 0x37,0x44,0x38,0x44,0x35,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x38,0x36,0x39,0x30,0x32,0x42,0x44,0x39,0x33,0x43,0x45,0x32,0x35,0x41,0x41,0x55,0x4c,0x2c,0x30, - 0x78,0x46,0x39,0x30,0x38,0x37,0x33,0x31,0x41,0x46,0x44,0x34,0x33,0x46,0x36,0x35,0x41,0x55,0x4c,0x2c,0x30,0x78,0x41,0x35,0x31,0x39,0x34,0x41,0x31,0x37,0x44,0x41, - 0x45,0x46,0x35,0x46,0x43,0x30,0x55,0x4c,0x2c,0x30,0x78,0x36,0x41,0x32,0x31,0x46,0x44,0x34,0x43,0x33,0x33,0x36,0x36,0x34,0x44,0x39,0x37,0x55,0x4c,0x2c,0x0a,0x30, - 0x78,0x37,0x30,0x31,0x35,0x34,0x31,0x44,0x42,0x33,0x31,0x39,0x38,0x42,0x34,0x33,0x35,0x55,0x4c,0x2c,0x30,0x78,0x39,0x42,0x35,0x34,0x43,0x44,0x45,0x44,0x42,0x42, - 0x30,0x46,0x31,0x45,0x45,0x41,0x55,0x4c,0x2c,0x30,0x78,0x37,0x32,0x34,0x30,0x39,0x37,0x35,0x31,0x41,0x31,0x36,0x33,0x44,0x30,0x39,0x41,0x55,0x4c,0x2c,0x30,0x78, - 0x45,0x32,0x36,0x46,0x34,0x37,0x39,0x31,0x42,0x46,0x39,0x44,0x37,0x35,0x46,0x36,0x55,0x4c,0x0a,0x7d,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x65, - 0x76,0x65,0x6e,0x5f,0x68,0x69,0x28,0x72,0x29,0x20,0x28,0x43,0x5b,0x28,0x28,0x72,0x29,0x20,0x3c,0x3c,0x20,0x32,0x29,0x20,0x2b,0x20,0x30,0x5d,0x29,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x65,0x76,0x65,0x6e,0x5f,0x6c,0x6f,0x28,0x72,0x29,0x20,0x28,0x43,0x5b,0x28,0x28,0x72,0x29,0x20,0x3c,0x3c,0x20,0x32,0x29,0x20, - 0x2b,0x20,0x31,0x5d,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x6f,0x64,0x64,0x5f,0x68,0x69,0x28,0x72,0x29,0x20,0x28,0x43,0x5b,0x28,0x28,0x72,0x29, - 0x20,0x3c,0x3c,0x20,0x32,0x29,0x20,0x2b,0x20,0x32,0x5d,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x6f,0x64,0x64,0x5f,0x6c,0x6f,0x28,0x72,0x29,0x20, - 0x28,0x43,0x5b,0x28,0x28,0x72,0x29,0x20,0x3c,0x3c,0x20,0x32,0x29,0x20,0x2b,0x20,0x33,0x5d,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x28,0x78,0x30, - 0x2c,0x20,0x78,0x31,0x2c,0x20,0x78,0x32,0x2c,0x20,0x78,0x33,0x2c,0x20,0x63,0x62,0x2c,0x20,0x72,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x53,0x62,0x28,0x78, - 0x30,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x31,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x32,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x33,0x20,0x23,0x23,0x20,0x68,0x2c,0x63, - 0x62,0x20,0x23,0x23,0x20,0x68,0x69,0x28,0x72,0x29,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x62,0x28,0x78,0x30,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x31,0x20,0x23,0x23,0x20, - 0x6c,0x2c,0x78,0x32,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x33,0x20,0x23,0x23,0x20,0x6c,0x2c,0x63,0x62,0x20,0x23,0x23,0x20,0x6c,0x6f,0x28,0x72,0x29,0x29,0x3b,0x20, - 0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x28,0x78,0x30,0x2c,0x20,0x78,0x31,0x2c,0x20, - 0x78,0x32,0x2c,0x20,0x78,0x33,0x2c,0x20,0x78,0x34,0x2c,0x20,0x78,0x35,0x2c,0x20,0x78,0x36,0x2c,0x20,0x78,0x37,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x4c, - 0x62,0x28,0x78,0x30,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x31,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x32,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x33,0x20,0x23,0x23,0x20, - 0x68,0x2c,0x5c,0x0a,0x78,0x34,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x35,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x36,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x37,0x20,0x23, - 0x23,0x20,0x68,0x29,0x3b,0x20,0x5c,0x0a,0x4c,0x62,0x28,0x78,0x30,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x31,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x32,0x20,0x23,0x23, - 0x20,0x6c,0x2c,0x78,0x33,0x20,0x23,0x23,0x20,0x6c,0x2c,0x5c,0x0a,0x78,0x34,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x35,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x36,0x20, - 0x23,0x23,0x20,0x6c,0x2c,0x78,0x37,0x20,0x23,0x23,0x20,0x6c,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x20,0x57,0x7a,0x28,0x78,0x2c,0x20,0x63,0x2c,0x20,0x6e,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x73,0x70,0x68,0x5f,0x75,0x36,0x34,0x20, - 0x74,0x3d,0x28,0x78,0x20,0x23,0x23,0x20,0x68,0x26,0x28,0x63,0x29,0x29,0x3c,0x3c,0x28,0x6e,0x29,0x3b,0x20,0x5c,0x0a,0x78,0x20,0x23,0x23,0x20,0x68,0x3d,0x28,0x28, - 0x78,0x20,0x23,0x23,0x20,0x68,0x3e,0x3e,0x28,0x6e,0x29,0x29,0x26,0x28,0x63,0x29,0x29,0x7c,0x74,0x3b,0x20,0x5c,0x0a,0x74,0x3d,0x28,0x78,0x20,0x23,0x23,0x20,0x6c, - 0x26,0x28,0x63,0x29,0x29,0x3c,0x3c,0x28,0x6e,0x29,0x3b,0x20,0x5c,0x0a,0x78,0x20,0x23,0x23,0x20,0x6c,0x3d,0x28,0x28,0x78,0x20,0x23,0x23,0x20,0x6c,0x3e,0x3e,0x28, - 0x6e,0x29,0x29,0x26,0x28,0x63,0x29,0x29,0x7c,0x74,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x57,0x30,0x28,0x78,0x29,0x20,0x57,0x7a,0x28,0x78,0x2c,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35, - 0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x29,0x2c,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x31,0x28,0x78,0x29,0x20,0x57,0x7a,0x28,0x78, - 0x2c,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x29,0x2c,0x20,0x32, - 0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x32,0x28,0x78,0x29,0x20,0x57,0x7a,0x28,0x78,0x2c,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78, - 0x30,0x46,0x30,0x46,0x30,0x46,0x30,0x46,0x30,0x46,0x30,0x46,0x30,0x46,0x30,0x46,0x29,0x2c,0x20,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x33, - 0x28,0x78,0x29,0x20,0x57,0x7a,0x28,0x78,0x2c,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x46,0x46,0x30,0x30,0x46,0x46,0x30,0x30,0x46,0x46, - 0x30,0x30,0x46,0x46,0x29,0x2c,0x20,0x38,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x34,0x28,0x78,0x29,0x20,0x57,0x7a,0x28,0x78,0x2c,0x20,0x53,0x50, - 0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x46,0x46,0x46,0x46,0x30,0x30,0x30,0x30,0x46,0x46,0x46,0x46,0x29,0x2c,0x20,0x31,0x36,0x29,0x0a,0x23, - 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x35,0x28,0x78,0x29,0x20,0x57,0x7a,0x28,0x78,0x2c,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x29,0x2c,0x20,0x33,0x32,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x36,0x28,0x78, - 0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x73,0x70,0x68,0x5f,0x75,0x36,0x34,0x20,0x74,0x3d,0x78,0x20,0x23,0x23,0x20,0x68,0x3b,0x20,0x5c,0x0a,0x78,0x20,0x23, - 0x23,0x20,0x68,0x3d,0x78,0x20,0x23,0x23,0x20,0x6c,0x3b,0x20,0x5c,0x0a,0x78,0x20,0x23,0x23,0x20,0x6c,0x3d,0x74,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c, - 0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x4c,0x28,0x72,0x6f,0x29,0x20,0x53,0x4c,0x75,0x28,0x72,0x20,0x2b,0x20,0x72,0x6f,0x2c, - 0x20,0x72,0x6f,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x4c,0x75,0x28,0x72,0x2c,0x20,0x72,0x6f,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x53, - 0x28,0x68,0x30,0x2c,0x68,0x32,0x2c,0x68,0x34,0x2c,0x68,0x36,0x2c,0x43,0x65,0x76,0x65,0x6e,0x5f,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x28,0x68,0x31,0x2c,0x68, - 0x33,0x2c,0x68,0x35,0x2c,0x68,0x37,0x2c,0x43,0x6f,0x64,0x64,0x5f,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x4c,0x28,0x68,0x30,0x2c,0x68,0x32,0x2c,0x68,0x34,0x2c,0x68, - 0x36,0x2c,0x68,0x31,0x2c,0x68,0x33,0x2c,0x68,0x35,0x2c,0x68,0x37,0x29,0x3b,0x20,0x5c,0x0a,0x57,0x20,0x23,0x23,0x20,0x72,0x6f,0x28,0x68,0x31,0x29,0x3b,0x20,0x5c, - 0x0a,0x57,0x20,0x23,0x23,0x20,0x72,0x6f,0x28,0x68,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x57,0x20,0x23,0x23,0x20,0x72,0x6f,0x28,0x68,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x57, - 0x20,0x23,0x23,0x20,0x72,0x6f,0x28,0x68,0x37,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x69,0x66,0x20,0x53,0x50, - 0x48,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x46,0x4f,0x4f,0x54,0x50,0x52,0x49,0x4e,0x54,0x5f,0x4a,0x48,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x45,0x38,0x20, - 0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64,0x20,0x72,0x3b,0x20,0x5c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x72,0x3d,0x30,0x3b,0x20,0x72, - 0x3c,0x34,0x32,0x3b,0x20,0x72,0x2b,0x3d,0x37,0x29,0x20,0x7b,0x20,0x5c,0x0a,0x53,0x4c,0x28,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x28,0x31,0x29,0x3b,0x20,0x5c, - 0x0a,0x53,0x4c,0x28,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x28,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x28,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x28,0x35, - 0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x28,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x65, - 0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x45,0x38,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x30,0x2c,0x30,0x29,0x3b, - 0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x31,0x2c,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x32,0x2c,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75, - 0x28,0x20,0x33,0x2c,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x34,0x2c,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x35,0x2c,0x35,0x29, - 0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x36,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x37,0x2c,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c, - 0x75,0x28,0x20,0x38,0x2c,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x39,0x2c,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x30,0x2c,0x33, - 0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x31,0x2c,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x32,0x2c,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x53, - 0x4c,0x75,0x28,0x31,0x33,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x34,0x2c,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x35,0x2c, - 0x31,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x36,0x2c,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x37,0x2c,0x33,0x29,0x3b,0x20,0x5c,0x0a, - 0x53,0x4c,0x75,0x28,0x31,0x38,0x2c,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x39,0x2c,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x30, - 0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x31,0x2c,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x32,0x2c,0x31,0x29,0x3b,0x20,0x5c, - 0x0a,0x53,0x4c,0x75,0x28,0x32,0x33,0x2c,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x34,0x2c,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32, - 0x35,0x2c,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x36,0x2c,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x37,0x2c,0x36,0x29,0x3b,0x20, - 0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x38,0x2c,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x39,0x2c,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28, - 0x33,0x30,0x2c,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x31,0x2c,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x32,0x2c,0x34,0x29,0x3b, - 0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x33,0x2c,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x34,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75, - 0x28,0x33,0x35,0x2c,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x36,0x2c,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x37,0x2c,0x32,0x29, - 0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x38,0x2c,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x39,0x2c,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c, - 0x75,0x28,0x34,0x30,0x2c,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x34,0x31,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20, - 0x28,0x30,0x29,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x73,0x69,0x67,0x6d,0x61,0x5b,0x31,0x36,0x5d,0x5b,0x31,0x36,0x5d,0x3d,0x7b,0x0a,0x7b,0x20,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33, - 0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x30,0x2c,0x31,0x31,0x2c,0x31,0x32,0x2c,0x31,0x33,0x2c,0x31,0x34,0x2c,0x31,0x35,0x20,0x7d, - 0x2c,0x0a,0x7b,0x20,0x31,0x34,0x2c,0x31,0x30,0x2c,0x34,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x35,0x2c,0x31,0x33,0x2c,0x36,0x2c,0x31,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x32, - 0x2c,0x31,0x31,0x2c,0x37,0x2c,0x35,0x2c,0x33,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x31,0x2c,0x38,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x35,0x2c,0x32,0x2c,0x31,0x35,0x2c, - 0x31,0x33,0x2c,0x31,0x30,0x2c,0x31,0x34,0x2c,0x33,0x2c,0x36,0x2c,0x37,0x2c,0x31,0x2c,0x39,0x2c,0x34,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x37,0x2c,0x39,0x2c,0x33,0x2c, - 0x31,0x2c,0x31,0x33,0x2c,0x31,0x32,0x2c,0x31,0x31,0x2c,0x31,0x34,0x2c,0x32,0x2c,0x36,0x2c,0x35,0x2c,0x31,0x30,0x2c,0x34,0x2c,0x30,0x2c,0x31,0x35,0x2c,0x38,0x20, - 0x7d,0x2c,0x0a,0x7b,0x20,0x39,0x2c,0x30,0x2c,0x35,0x2c,0x37,0x2c,0x32,0x2c,0x34,0x2c,0x31,0x30,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x31,0x2c,0x31,0x31,0x2c,0x31, - 0x32,0x2c,0x36,0x2c,0x38,0x2c,0x33,0x2c,0x31,0x33,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x32,0x2c,0x31,0x32,0x2c,0x36,0x2c,0x31,0x30,0x2c,0x30,0x2c,0x31,0x31,0x2c,0x38, - 0x2c,0x33,0x2c,0x34,0x2c,0x31,0x33,0x2c,0x37,0x2c,0x35,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x31,0x2c,0x39,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x32,0x2c,0x35,0x2c, - 0x31,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x31,0x33,0x2c,0x34,0x2c,0x31,0x30,0x2c,0x30,0x2c,0x37,0x2c,0x36,0x2c,0x33,0x2c,0x39,0x2c,0x32,0x2c,0x38,0x2c,0x31,0x31, - 0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x33,0x2c,0x31,0x31,0x2c,0x37,0x2c,0x31,0x34,0x2c,0x31,0x32,0x2c,0x31,0x2c,0x33,0x2c,0x39,0x2c,0x35,0x2c,0x30,0x2c,0x31,0x35, - 0x2c,0x34,0x2c,0x38,0x2c,0x36,0x2c,0x32,0x2c,0x31,0x30,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x36,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x39,0x2c,0x31,0x31,0x2c,0x33,0x2c, - 0x30,0x2c,0x38,0x2c,0x31,0x32,0x2c,0x32,0x2c,0x31,0x33,0x2c,0x37,0x2c,0x31,0x2c,0x34,0x2c,0x31,0x30,0x2c,0x35,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x30,0x2c,0x32, - 0x2c,0x38,0x2c,0x34,0x2c,0x37,0x2c,0x36,0x2c,0x31,0x2c,0x35,0x2c,0x31,0x35,0x2c,0x31,0x31,0x2c,0x39,0x2c,0x31,0x34,0x2c,0x33,0x2c,0x31,0x32,0x2c,0x31,0x33,0x2c, - 0x30,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x30,0x2c,0x31,0x31, - 0x2c,0x31,0x32,0x2c,0x31,0x33,0x2c,0x31,0x34,0x2c,0x31,0x35,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x34,0x2c,0x31,0x30,0x2c,0x34,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x35, - 0x2c,0x31,0x33,0x2c,0x36,0x2c,0x31,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x32,0x2c,0x31,0x31,0x2c,0x37,0x2c,0x35,0x2c,0x33,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x31,0x2c, - 0x38,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x35,0x2c,0x32,0x2c,0x31,0x35,0x2c,0x31,0x33,0x2c,0x31,0x30,0x2c,0x31,0x34,0x2c,0x33,0x2c,0x36,0x2c,0x37,0x2c,0x31,0x2c,0x39, - 0x2c,0x34,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x37,0x2c,0x39,0x2c,0x33,0x2c,0x31,0x2c,0x31,0x33,0x2c,0x31,0x32,0x2c,0x31,0x31,0x2c,0x31,0x34,0x2c,0x32,0x2c,0x36,0x2c, - 0x35,0x2c,0x31,0x30,0x2c,0x34,0x2c,0x30,0x2c,0x31,0x35,0x2c,0x38,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x39,0x2c,0x30,0x2c,0x35,0x2c,0x37,0x2c,0x32,0x2c,0x34,0x2c,0x31, - 0x30,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x31,0x2c,0x31,0x31,0x2c,0x31,0x32,0x2c,0x36,0x2c,0x38,0x2c,0x33,0x2c,0x31,0x33,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x32,0x2c, - 0x31,0x32,0x2c,0x36,0x2c,0x31,0x30,0x2c,0x30,0x2c,0x31,0x31,0x2c,0x38,0x2c,0x33,0x2c,0x34,0x2c,0x31,0x33,0x2c,0x37,0x2c,0x35,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c, - 0x31,0x2c,0x39,0x20,0x7d,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x73,0x70,0x68,0x5f,0x75,0x33,0x32,0x20,0x63,0x5f,0x49,0x56,0x32,0x35,0x36,0x5b,0x38,0x5d,0x3d,0x7b,0x0a,0x30,0x78,0x36,0x41,0x30,0x39,0x45,0x36,0x36,0x37, - 0x2c,0x30,0x78,0x42,0x42,0x36,0x37,0x41,0x45,0x38,0x35,0x2c,0x0a,0x30,0x78,0x33,0x43,0x36,0x45,0x46,0x33,0x37,0x32,0x2c,0x30,0x78,0x41,0x35,0x34,0x46,0x46,0x35, - 0x33,0x41,0x2c,0x0a,0x30,0x78,0x35,0x31,0x30,0x45,0x35,0x32,0x37,0x46,0x2c,0x30,0x78,0x39,0x42,0x30,0x35,0x36,0x38,0x38,0x43,0x2c,0x0a,0x30,0x78,0x31,0x46,0x38, - 0x33,0x44,0x39,0x41,0x42,0x2c,0x30,0x78,0x35,0x42,0x45,0x30,0x43,0x44,0x31,0x39,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x53, - 0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x73,0x70,0x68,0x5f,0x75,0x33,0x32,0x20,0x63,0x5f,0x50,0x61,0x64,0x64,0x69,0x6e,0x67,0x5b,0x31,0x36, - 0x5d,0x3d,0x7b,0x0a,0x30,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2c,0x0a,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2c,0x0a,0x30, - 0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2c,0x0a,0x30,0x2c,0x31,0x2c,0x30,0x2c,0x36,0x34,0x30,0x2c,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74, - 0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x73,0x70,0x68,0x5f,0x75,0x33,0x32,0x20,0x63,0x5f,0x75,0x32,0x35,0x36,0x5b,0x31,0x36,0x5d, - 0x3d,0x7b,0x0a,0x30,0x78,0x32,0x34,0x33,0x46,0x36,0x41,0x38,0x38,0x2c,0x30,0x78,0x38,0x35,0x41,0x33,0x30,0x38,0x44,0x33,0x2c,0x0a,0x30,0x78,0x31,0x33,0x31,0x39, - 0x38,0x41,0x32,0x45,0x2c,0x30,0x78,0x30,0x33,0x37,0x30,0x37,0x33,0x34,0x34,0x2c,0x0a,0x30,0x78,0x41,0x34,0x30,0x39,0x33,0x38,0x32,0x32,0x2c,0x30,0x78,0x32,0x39, - 0x39,0x46,0x33,0x31,0x44,0x30,0x2c,0x0a,0x30,0x78,0x30,0x38,0x32,0x45,0x46,0x41,0x39,0x38,0x2c,0x30,0x78,0x45,0x43,0x34,0x45,0x36,0x43,0x38,0x39,0x2c,0x0a,0x30, - 0x78,0x34,0x35,0x32,0x38,0x32,0x31,0x45,0x36,0x2c,0x30,0x78,0x33,0x38,0x44,0x30,0x31,0x33,0x37,0x37,0x2c,0x0a,0x30,0x78,0x42,0x45,0x35,0x34,0x36,0x36,0x43,0x46, - 0x2c,0x30,0x78,0x33,0x34,0x45,0x39,0x30,0x43,0x36,0x43,0x2c,0x0a,0x30,0x78,0x43,0x30,0x41,0x43,0x32,0x39,0x42,0x37,0x2c,0x30,0x78,0x43,0x39,0x37,0x43,0x35,0x30, - 0x44,0x44,0x2c,0x0a,0x30,0x78,0x33,0x46,0x38,0x34,0x44,0x35,0x42,0x35,0x2c,0x30,0x78,0x42,0x35,0x34,0x37,0x30,0x39,0x31,0x37,0x0a,0x7d,0x3b,0x0a,0x23,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x20,0x47,0x53,0x28,0x61,0x2c,0x62,0x2c,0x63,0x2c,0x64,0x2c,0x78,0x29,0x20,0x7b,0x20,0x5c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x73,0x70,0x68, - 0x5f,0x75,0x33,0x32,0x20,0x69,0x64,0x78,0x31,0x3d,0x73,0x69,0x67,0x6d,0x61,0x5b,0x72,0x5d,0x5b,0x78,0x5d,0x3b,0x20,0x5c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x73, - 0x70,0x68,0x5f,0x75,0x33,0x32,0x20,0x69,0x64,0x78,0x32,0x3d,0x73,0x69,0x67,0x6d,0x61,0x5b,0x72,0x5d,0x5b,0x78,0x2b,0x31,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x61, - 0x5d,0x2b,0x3d,0x28,0x6d,0x5b,0x69,0x64,0x78,0x31,0x5d,0x5e,0x63,0x5f,0x75,0x32,0x35,0x36,0x5b,0x69,0x64,0x78,0x32,0x5d,0x29,0x2b,0x76,0x5b,0x62,0x5d,0x3b,0x20, - 0x5c,0x0a,0x76,0x5b,0x64,0x5d,0x20,0x5e,0x3d,0x20,0x76,0x5b,0x61,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x64,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x76,0x5b, - 0x64,0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x63,0x5d,0x2b,0x3d,0x76,0x5b,0x64,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x62,0x5d,0x20,0x5e,0x3d, - 0x20,0x76,0x5b,0x63,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x62,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x76,0x5b,0x62,0x5d,0x2c,0x32,0x30,0x55,0x29,0x3b,0x20, - 0x5c,0x0a,0x5c,0x0a,0x76,0x5b,0x61,0x5d,0x2b,0x3d,0x28,0x6d,0x5b,0x69,0x64,0x78,0x32,0x5d,0x5e,0x63,0x5f,0x75,0x32,0x35,0x36,0x5b,0x69,0x64,0x78,0x31,0x5d,0x29, - 0x2b,0x76,0x5b,0x62,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x64,0x5d,0x20,0x5e,0x3d,0x20,0x76,0x5b,0x61,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x64,0x5d,0x3d,0x72,0x6f, - 0x74,0x61,0x74,0x65,0x28,0x76,0x5b,0x64,0x5d,0x2c,0x32,0x34,0x55,0x29,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x63,0x5d,0x2b,0x3d,0x76,0x5b,0x64,0x5d,0x3b,0x20,0x5c,0x0a, - 0x76,0x5b,0x62,0x5d,0x20,0x5e,0x3d,0x20,0x76,0x5b,0x63,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x62,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x76,0x5b,0x62,0x5d, - 0x2c,0x32,0x35,0x55,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x09,0x78,0x0a, - 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x50,0x48,0x5f,0x52,0x4f,0x54,0x4c,0x36,0x34,0x28,0x78,0x2c,0x20,0x79,0x29,0x09,0x72,0x6f,0x74,0x61,0x74,0x65,0x28, - 0x28,0x78,0x29,0x2c,0x20,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x79,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x36,0x34,0x65,0x28,0x78,0x29, - 0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x35,0x36,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43, - 0x36,0x34,0x28,0x78,0x29,0x3e,0x3e,0x34,0x30,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x46,0x46,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3e,0x3e,0x32,0x34,0x29,0x26,0x53,0x50, - 0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28, - 0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3e,0x3e,0x38,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c,0x38, - 0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c, - 0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c,0x32,0x34,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30, - 0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28, - 0x78,0x29,0x3c,0x3c,0x34,0x30,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c,0x35,0x36,0x29,0x26,0x53,0x50,0x48,0x5f,0x43, - 0x36,0x34,0x28,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x42,0x36,0x34,0x5f,0x30,0x28,0x78,0x29,0x20,0x28,0x28,0x78,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42, - 0x36,0x34,0x5f,0x31,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x38,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x29,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x42,0x36,0x34,0x5f,0x32,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x31,0x36,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46, - 0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x36,0x34,0x5f,0x33,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x32,0x34,0x29,0x20, - 0x26,0x20,0x30,0x78,0x46,0x46,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x36,0x34,0x5f,0x34,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e, - 0x3e,0x20,0x33,0x32,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x36,0x34,0x5f,0x35,0x28,0x78,0x29,0x20,0x28, - 0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x34,0x30,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x36,0x34,0x5f, - 0x36,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x34,0x38,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x42,0x36,0x34,0x5f,0x37,0x28,0x78,0x29,0x20,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x35,0x36,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52, - 0x36,0x34,0x20,0x53,0x50,0x48,0x5f,0x52,0x4f,0x54,0x4c,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x50,0x43,0x36,0x34,0x28,0x6a,0x2c,0x20,0x72,0x29, - 0x20,0x28,0x28,0x73,0x70,0x68,0x5f,0x75,0x36,0x34,0x29,0x28,0x28,0x6a,0x29,0x20,0x2b,0x20,0x28,0x72,0x29,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, - 0x51,0x43,0x36,0x34,0x28,0x6a,0x2c,0x20,0x72,0x29,0x20,0x28,0x28,0x28,0x73,0x70,0x68,0x5f,0x75,0x36,0x34,0x29,0x28,0x72,0x29,0x20,0x3c,0x3c,0x20,0x35,0x36,0x29, - 0x20,0x5e,0x20,0x28,0x7e,0x28,0x28,0x73,0x70,0x68,0x5f,0x75,0x36,0x34,0x29,0x28,0x6a,0x29,0x20,0x3c,0x3c,0x20,0x35,0x36,0x29,0x29,0x29,0x0a,0x53,0x54,0x41,0x54, - 0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x54,0x30,0x5f,0x47,0x5b,0x5d, - 0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x63,0x36,0x61,0x35,0x39,0x37,0x66,0x34,0x61,0x35,0x66,0x34,0x33,0x32,0x63,0x36,0x55,0x4c,0x2c,0x30,0x78,0x66,0x38,0x38,0x34, - 0x65,0x62,0x39,0x37,0x38,0x34,0x39,0x37,0x36,0x66,0x66,0x38,0x55,0x4c,0x2c,0x30,0x78,0x65,0x65,0x39,0x39,0x63,0x37,0x62,0x30,0x39,0x39,0x62,0x30,0x35,0x65,0x65, - 0x65,0x55,0x4c,0x2c,0x30,0x78,0x66,0x36,0x38,0x64,0x66,0x37,0x38,0x63,0x38,0x64,0x38,0x63,0x37,0x61,0x66,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x66,0x66,0x30,0x64, - 0x65,0x35,0x31,0x37,0x30,0x64,0x31,0x37,0x65,0x38,0x66,0x66,0x55,0x4c,0x2c,0x30,0x78,0x64,0x36,0x62,0x64,0x62,0x37,0x64,0x63,0x62,0x64,0x64,0x63,0x30,0x61,0x64, - 0x36,0x55,0x4c,0x2c,0x30,0x78,0x64,0x65,0x62,0x31,0x61,0x37,0x63,0x38,0x62,0x31,0x63,0x38,0x31,0x36,0x64,0x65,0x55,0x4c,0x2c,0x30,0x78,0x39,0x31,0x35,0x34,0x33, - 0x39,0x66,0x63,0x35,0x34,0x66,0x63,0x36,0x64,0x39,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x30,0x35,0x30,0x63,0x30,0x66,0x30,0x35,0x30,0x66,0x30,0x39,0x30,0x36, - 0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x32,0x30,0x33,0x30,0x34,0x30,0x35,0x30,0x33,0x30,0x35,0x30,0x37,0x30,0x32,0x55,0x4c,0x2c,0x30,0x78,0x63,0x65,0x61,0x39,0x38, - 0x37,0x65,0x30,0x61,0x39,0x65,0x30,0x32,0x65,0x63,0x65,0x55,0x4c,0x2c,0x30,0x78,0x35,0x36,0x37,0x64,0x61,0x63,0x38,0x37,0x37,0x64,0x38,0x37,0x64,0x31,0x35,0x36, - 0x55,0x4c,0x2c,0x0a,0x30,0x78,0x65,0x37,0x31,0x39,0x64,0x35,0x32,0x62,0x31,0x39,0x32,0x62,0x63,0x63,0x65,0x37,0x55,0x4c,0x2c,0x30,0x78,0x62,0x35,0x36,0x32,0x37, - 0x31,0x61,0x36,0x36,0x32,0x61,0x36,0x31,0x33,0x62,0x35,0x55,0x4c,0x2c,0x30,0x78,0x34,0x64,0x65,0x36,0x39,0x61,0x33,0x31,0x65,0x36,0x33,0x31,0x37,0x63,0x34,0x64, - 0x55,0x4c,0x2c,0x30,0x78,0x65,0x63,0x39,0x61,0x63,0x33,0x62,0x35,0x39,0x61,0x62,0x35,0x35,0x39,0x65,0x63,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x66,0x34,0x35,0x30, - 0x35,0x63,0x66,0x34,0x35,0x63,0x66,0x34,0x30,0x38,0x66,0x55,0x4c,0x2c,0x30,0x78,0x31,0x66,0x39,0x64,0x33,0x65,0x62,0x63,0x39,0x64,0x62,0x63,0x61,0x33,0x31,0x66, - 0x55,0x4c,0x2c,0x30,0x78,0x38,0x39,0x34,0x30,0x30,0x39,0x63,0x30,0x34,0x30,0x63,0x30,0x34,0x39,0x38,0x39,0x55,0x4c,0x2c,0x30,0x78,0x66,0x61,0x38,0x37,0x65,0x66, - 0x39,0x32,0x38,0x37,0x39,0x32,0x36,0x38,0x66,0x61,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x65,0x66,0x31,0x35,0x63,0x35,0x33,0x66,0x31,0x35,0x33,0x66,0x64,0x30,0x65,0x66, - 0x55,0x4c,0x2c,0x30,0x78,0x62,0x32,0x65,0x62,0x37,0x66,0x32,0x36,0x65,0x62,0x32,0x36,0x39,0x34,0x62,0x32,0x55,0x4c,0x2c,0x30,0x78,0x38,0x65,0x63,0x39,0x30,0x37, - 0x34,0x30,0x63,0x39,0x34,0x30,0x63,0x65,0x38,0x65,0x55,0x4c,0x2c,0x30,0x78,0x66,0x62,0x30,0x62,0x65,0x64,0x31,0x64,0x30,0x62,0x31,0x64,0x65,0x36,0x66,0x62,0x55, - 0x4c,0x2c,0x0a,0x30,0x78,0x34,0x31,0x65,0x63,0x38,0x32,0x32,0x66,0x65,0x63,0x32,0x66,0x36,0x65,0x34,0x31,0x55,0x4c,0x2c,0x30,0x78,0x62,0x33,0x36,0x37,0x37,0x64, - 0x61,0x39,0x36,0x37,0x61,0x39,0x31,0x61,0x62,0x33,0x55,0x4c,0x2c,0x30,0x78,0x35,0x66,0x66,0x64,0x62,0x65,0x31,0x63,0x66,0x64,0x31,0x63,0x34,0x33,0x35,0x66,0x55, - 0x4c,0x2c,0x30,0x78,0x34,0x35,0x65,0x61,0x38,0x61,0x32,0x35,0x65,0x61,0x32,0x35,0x36,0x30,0x34,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x33,0x62,0x66,0x34,0x36, - 0x64,0x61,0x62,0x66,0x64,0x61,0x66,0x39,0x32,0x33,0x55,0x4c,0x2c,0x30,0x78,0x35,0x33,0x66,0x37,0x61,0x36,0x30,0x32,0x66,0x37,0x30,0x32,0x35,0x31,0x35,0x33,0x55, - 0x4c,0x2c,0x30,0x78,0x65,0x34,0x39,0x36,0x64,0x33,0x61,0x31,0x39,0x36,0x61,0x31,0x34,0x35,0x65,0x34,0x55,0x4c,0x2c,0x30,0x78,0x39,0x62,0x35,0x62,0x32,0x64,0x65, - 0x64,0x35,0x62,0x65,0x64,0x37,0x36,0x39,0x62,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x37,0x35,0x63,0x32,0x65,0x61,0x35,0x64,0x63,0x32,0x35,0x64,0x32,0x38,0x37,0x35,0x55, - 0x4c,0x2c,0x30,0x78,0x65,0x31,0x31,0x63,0x64,0x39,0x32,0x34,0x31,0x63,0x32,0x34,0x63,0x35,0x65,0x31,0x55,0x4c,0x2c,0x30,0x78,0x33,0x64,0x61,0x65,0x37,0x61,0x65, - 0x39,0x61,0x65,0x65,0x39,0x64,0x34,0x33,0x64,0x55,0x4c,0x2c,0x30,0x78,0x34,0x63,0x36,0x61,0x39,0x38,0x62,0x65,0x36,0x61,0x62,0x65,0x66,0x32,0x34,0x63,0x55,0x4c, - 0x2c,0x0a,0x30,0x78,0x36,0x63,0x35,0x61,0x64,0x38,0x65,0x65,0x35,0x61,0x65,0x65,0x38,0x32,0x36,0x63,0x55,0x4c,0x2c,0x30,0x78,0x37,0x65,0x34,0x31,0x66,0x63,0x63, - 0x33,0x34,0x31,0x63,0x33,0x62,0x64,0x37,0x65,0x55,0x4c,0x2c,0x30,0x78,0x66,0x35,0x30,0x32,0x66,0x31,0x30,0x36,0x30,0x32,0x30,0x36,0x66,0x33,0x66,0x35,0x55,0x4c, - 0x2c,0x30,0x78,0x38,0x33,0x34,0x66,0x31,0x64,0x64,0x31,0x34,0x66,0x64,0x31,0x35,0x32,0x38,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x38,0x35,0x63,0x64,0x30,0x65, - 0x34,0x35,0x63,0x65,0x34,0x38,0x63,0x36,0x38,0x55,0x4c,0x2c,0x30,0x78,0x35,0x31,0x66,0x34,0x61,0x32,0x30,0x37,0x66,0x34,0x30,0x37,0x35,0x36,0x35,0x31,0x55,0x4c, - 0x2c,0x30,0x78,0x64,0x31,0x33,0x34,0x62,0x39,0x35,0x63,0x33,0x34,0x35,0x63,0x38,0x64,0x64,0x31,0x55,0x4c,0x2c,0x30,0x78,0x66,0x39,0x30,0x38,0x65,0x39,0x31,0x38, - 0x30,0x38,0x31,0x38,0x65,0x31,0x66,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x65,0x32,0x39,0x33,0x64,0x66,0x61,0x65,0x39,0x33,0x61,0x65,0x34,0x63,0x65,0x32,0x55,0x4c, - 0x2c,0x30,0x78,0x61,0x62,0x37,0x33,0x34,0x64,0x39,0x35,0x37,0x33,0x39,0x35,0x33,0x65,0x61,0x62,0x55,0x4c,0x2c,0x30,0x78,0x36,0x32,0x35,0x33,0x63,0x34,0x66,0x35, - 0x35,0x33,0x66,0x35,0x39,0x37,0x36,0x32,0x55,0x4c,0x2c,0x30,0x78,0x32,0x61,0x33,0x66,0x35,0x34,0x34,0x31,0x33,0x66,0x34,0x31,0x36,0x62,0x32,0x61,0x55,0x4c,0x2c, - 0x0a,0x30,0x78,0x30,0x38,0x30,0x63,0x31,0x30,0x31,0x34,0x30,0x63,0x31,0x34,0x31,0x63,0x30,0x38,0x55,0x4c,0x2c,0x30,0x78,0x39,0x35,0x35,0x32,0x33,0x31,0x66,0x36, - 0x35,0x32,0x66,0x36,0x36,0x33,0x39,0x35,0x55,0x4c,0x2c,0x30,0x78,0x34,0x36,0x36,0x35,0x38,0x63,0x61,0x66,0x36,0x35,0x61,0x66,0x65,0x39,0x34,0x36,0x55,0x4c,0x2c, - 0x30,0x78,0x39,0x64,0x35,0x65,0x32,0x31,0x65,0x32,0x35,0x65,0x65,0x32,0x37,0x66,0x39,0x64,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33,0x30,0x32,0x38,0x36,0x30,0x37,0x38, - 0x32,0x38,0x37,0x38,0x34,0x38,0x33,0x30,0x55,0x4c,0x2c,0x30,0x78,0x33,0x37,0x61,0x31,0x36,0x65,0x66,0x38,0x61,0x31,0x66,0x38,0x63,0x66,0x33,0x37,0x55,0x4c,0x2c, - 0x30,0x78,0x30,0x61,0x30,0x66,0x31,0x34,0x31,0x31,0x30,0x66,0x31,0x31,0x31,0x62,0x30,0x61,0x55,0x4c,0x2c,0x30,0x78,0x32,0x66,0x62,0x35,0x35,0x65,0x63,0x34,0x62, - 0x35,0x63,0x34,0x65,0x62,0x32,0x66,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x65,0x30,0x39,0x31,0x63,0x31,0x62,0x30,0x39,0x31,0x62,0x31,0x35,0x30,0x65,0x55,0x4c,0x2c, - 0x30,0x78,0x32,0x34,0x33,0x36,0x34,0x38,0x35,0x61,0x33,0x36,0x35,0x61,0x37,0x65,0x32,0x34,0x55,0x4c,0x2c,0x30,0x78,0x31,0x62,0x39,0x62,0x33,0x36,0x62,0x36,0x39, - 0x62,0x62,0x36,0x61,0x64,0x31,0x62,0x55,0x4c,0x2c,0x30,0x78,0x64,0x66,0x33,0x64,0x61,0x35,0x34,0x37,0x33,0x64,0x34,0x37,0x39,0x38,0x64,0x66,0x55,0x4c,0x2c,0x0a, - 0x30,0x78,0x63,0x64,0x32,0x36,0x38,0x31,0x36,0x61,0x32,0x36,0x36,0x61,0x61,0x37,0x63,0x64,0x55,0x4c,0x2c,0x30,0x78,0x34,0x65,0x36,0x39,0x39,0x63,0x62,0x62,0x36, - 0x39,0x62,0x62,0x66,0x35,0x34,0x65,0x55,0x4c,0x2c,0x30,0x78,0x37,0x66,0x63,0x64,0x66,0x65,0x34,0x63,0x63,0x64,0x34,0x63,0x33,0x33,0x37,0x66,0x55,0x4c,0x2c,0x30, - 0x78,0x65,0x61,0x39,0x66,0x63,0x66,0x62,0x61,0x39,0x66,0x62,0x61,0x35,0x30,0x65,0x61,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31,0x32,0x31,0x62,0x32,0x34,0x32,0x64,0x31, - 0x62,0x32,0x64,0x33,0x66,0x31,0x32,0x55,0x4c,0x2c,0x30,0x78,0x31,0x64,0x39,0x65,0x33,0x61,0x62,0x39,0x39,0x65,0x62,0x39,0x61,0x34,0x31,0x64,0x55,0x4c,0x2c,0x30, - 0x78,0x35,0x38,0x37,0x34,0x62,0x30,0x39,0x63,0x37,0x34,0x39,0x63,0x63,0x34,0x35,0x38,0x55,0x4c,0x2c,0x30,0x78,0x33,0x34,0x32,0x65,0x36,0x38,0x37,0x32,0x32,0x65, - 0x37,0x32,0x34,0x36,0x33,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33,0x36,0x32,0x64,0x36,0x63,0x37,0x37,0x32,0x64,0x37,0x37,0x34,0x31,0x33,0x36,0x55,0x4c,0x2c,0x30, - 0x78,0x64,0x63,0x62,0x32,0x61,0x33,0x63,0x64,0x62,0x32,0x63,0x64,0x31,0x31,0x64,0x63,0x55,0x4c,0x2c,0x30,0x78,0x62,0x34,0x65,0x65,0x37,0x33,0x32,0x39,0x65,0x65, - 0x32,0x39,0x39,0x64,0x62,0x34,0x55,0x4c,0x2c,0x30,0x78,0x35,0x62,0x66,0x62,0x62,0x36,0x31,0x36,0x66,0x62,0x31,0x36,0x34,0x64,0x35,0x62,0x55,0x4c,0x2c,0x0a,0x30, - 0x78,0x61,0x34,0x66,0x36,0x35,0x33,0x30,0x31,0x66,0x36,0x30,0x31,0x61,0x35,0x61,0x34,0x55,0x4c,0x2c,0x30,0x78,0x37,0x36,0x34,0x64,0x65,0x63,0x64,0x37,0x34,0x64, - 0x64,0x37,0x61,0x31,0x37,0x36,0x55,0x4c,0x2c,0x30,0x78,0x62,0x37,0x36,0x31,0x37,0x35,0x61,0x33,0x36,0x31,0x61,0x33,0x31,0x34,0x62,0x37,0x55,0x4c,0x2c,0x30,0x78, - 0x37,0x64,0x63,0x65,0x66,0x61,0x34,0x39,0x63,0x65,0x34,0x39,0x33,0x34,0x37,0x64,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x32,0x37,0x62,0x61,0x34,0x38,0x64,0x37,0x62, - 0x38,0x64,0x64,0x66,0x35,0x32,0x55,0x4c,0x2c,0x30,0x78,0x64,0x64,0x33,0x65,0x61,0x31,0x34,0x32,0x33,0x65,0x34,0x32,0x39,0x66,0x64,0x64,0x55,0x4c,0x2c,0x30,0x78, - 0x35,0x65,0x37,0x31,0x62,0x63,0x39,0x33,0x37,0x31,0x39,0x33,0x63,0x64,0x35,0x65,0x55,0x4c,0x2c,0x30,0x78,0x31,0x33,0x39,0x37,0x32,0x36,0x61,0x32,0x39,0x37,0x61, - 0x32,0x62,0x31,0x31,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x61,0x36,0x66,0x35,0x35,0x37,0x30,0x34,0x66,0x35,0x30,0x34,0x61,0x32,0x61,0x36,0x55,0x4c,0x2c,0x30,0x78, - 0x62,0x39,0x36,0x38,0x36,0x39,0x62,0x38,0x36,0x38,0x62,0x38,0x30,0x31,0x62,0x39,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x63,0x31,0x32,0x63,0x39,0x39,0x37,0x34,0x32,0x63,0x37,0x34,0x62,0x35,0x63,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78, - 0x34,0x30,0x36,0x30,0x38,0x30,0x61,0x30,0x36,0x30,0x61,0x30,0x65,0x30,0x34,0x30,0x55,0x4c,0x2c,0x30,0x78,0x65,0x33,0x31,0x66,0x64,0x64,0x32,0x31,0x31,0x66,0x32, - 0x31,0x63,0x32,0x65,0x33,0x55,0x4c,0x2c,0x30,0x78,0x37,0x39,0x63,0x38,0x66,0x32,0x34,0x33,0x63,0x38,0x34,0x33,0x33,0x61,0x37,0x39,0x55,0x4c,0x2c,0x30,0x78,0x62, - 0x36,0x65,0x64,0x37,0x37,0x32,0x63,0x65,0x64,0x32,0x63,0x39,0x61,0x62,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x64,0x34,0x62,0x65,0x62,0x33,0x64,0x39,0x62,0x65,0x64, - 0x39,0x30,0x64,0x64,0x34,0x55,0x4c,0x2c,0x30,0x78,0x38,0x64,0x34,0x36,0x30,0x31,0x63,0x61,0x34,0x36,0x63,0x61,0x34,0x37,0x38,0x64,0x55,0x4c,0x2c,0x30,0x78,0x36, - 0x37,0x64,0x39,0x63,0x65,0x37,0x30,0x64,0x39,0x37,0x30,0x31,0x37,0x36,0x37,0x55,0x4c,0x2c,0x30,0x78,0x37,0x32,0x34,0x62,0x65,0x34,0x64,0x64,0x34,0x62,0x64,0x64, - 0x61,0x66,0x37,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x34,0x64,0x65,0x33,0x33,0x37,0x39,0x64,0x65,0x37,0x39,0x65,0x64,0x39,0x34,0x55,0x4c,0x2c,0x30,0x78,0x39, - 0x38,0x64,0x34,0x32,0x62,0x36,0x37,0x64,0x34,0x36,0x37,0x66,0x66,0x39,0x38,0x55,0x4c,0x2c,0x30,0x78,0x62,0x30,0x65,0x38,0x37,0x62,0x32,0x33,0x65,0x38,0x32,0x33, - 0x39,0x33,0x62,0x30,0x55,0x4c,0x2c,0x30,0x78,0x38,0x35,0x34,0x61,0x31,0x31,0x64,0x65,0x34,0x61,0x64,0x65,0x35,0x62,0x38,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x62, - 0x62,0x36,0x62,0x36,0x64,0x62,0x64,0x36,0x62,0x62,0x64,0x30,0x36,0x62,0x62,0x55,0x4c,0x2c,0x30,0x78,0x63,0x35,0x32,0x61,0x39,0x31,0x37,0x65,0x32,0x61,0x37,0x65, - 0x62,0x62,0x63,0x35,0x55,0x4c,0x2c,0x30,0x78,0x34,0x66,0x65,0x35,0x39,0x65,0x33,0x34,0x65,0x35,0x33,0x34,0x37,0x62,0x34,0x66,0x55,0x4c,0x2c,0x30,0x78,0x65,0x64, - 0x31,0x36,0x63,0x31,0x33,0x61,0x31,0x36,0x33,0x61,0x64,0x37,0x65,0x64,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x36,0x63,0x35,0x31,0x37,0x35,0x34,0x63,0x35,0x35,0x34, - 0x64,0x32,0x38,0x36,0x55,0x4c,0x2c,0x30,0x78,0x39,0x61,0x64,0x37,0x32,0x66,0x36,0x32,0x64,0x37,0x36,0x32,0x66,0x38,0x39,0x61,0x55,0x4c,0x2c,0x30,0x78,0x36,0x36, - 0x35,0x35,0x63,0x63,0x66,0x66,0x35,0x35,0x66,0x66,0x39,0x39,0x36,0x36,0x55,0x4c,0x2c,0x30,0x78,0x31,0x31,0x39,0x34,0x32,0x32,0x61,0x37,0x39,0x34,0x61,0x37,0x62, - 0x36,0x31,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x61,0x63,0x66,0x30,0x66,0x34,0x61,0x63,0x66,0x34,0x61,0x63,0x30,0x38,0x61,0x55,0x4c,0x2c,0x30,0x78,0x65,0x39, - 0x31,0x30,0x63,0x39,0x33,0x30,0x31,0x30,0x33,0x30,0x64,0x39,0x65,0x39,0x55,0x4c,0x2c,0x30,0x78,0x30,0x34,0x30,0x36,0x30,0x38,0x30,0x61,0x30,0x36,0x30,0x61,0x30, - 0x65,0x30,0x34,0x55,0x4c,0x2c,0x30,0x78,0x66,0x65,0x38,0x31,0x65,0x37,0x39,0x38,0x38,0x31,0x39,0x38,0x36,0x36,0x66,0x65,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x61,0x30, - 0x66,0x30,0x35,0x62,0x30,0x62,0x66,0x30,0x30,0x62,0x61,0x62,0x61,0x30,0x55,0x4c,0x2c,0x30,0x78,0x37,0x38,0x34,0x34,0x66,0x30,0x63,0x63,0x34,0x34,0x63,0x63,0x62, - 0x34,0x37,0x38,0x55,0x4c,0x2c,0x30,0x78,0x32,0x35,0x62,0x61,0x34,0x61,0x64,0x35,0x62,0x61,0x64,0x35,0x66,0x30,0x32,0x35,0x55,0x4c,0x2c,0x30,0x78,0x34,0x62,0x65, - 0x33,0x39,0x36,0x33,0x65,0x65,0x33,0x33,0x65,0x37,0x35,0x34,0x62,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x61,0x32,0x66,0x33,0x35,0x66,0x30,0x65,0x66,0x33,0x30,0x65,0x61, - 0x63,0x61,0x32,0x55,0x4c,0x2c,0x30,0x78,0x35,0x64,0x66,0x65,0x62,0x61,0x31,0x39,0x66,0x65,0x31,0x39,0x34,0x34,0x35,0x64,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x63, - 0x30,0x31,0x62,0x35,0x62,0x63,0x30,0x35,0x62,0x64,0x62,0x38,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x35,0x38,0x61,0x30,0x61,0x38,0x35,0x38,0x61,0x38,0x35,0x38,0x30, - 0x30,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33,0x66,0x61,0x64,0x37,0x65,0x65,0x63,0x61,0x64,0x65,0x63,0x64,0x33,0x33,0x66,0x55,0x4c,0x2c,0x30,0x78,0x32,0x31,0x62, - 0x63,0x34,0x32,0x64,0x66,0x62,0x63,0x64,0x66,0x66,0x65,0x32,0x31,0x55,0x4c,0x2c,0x30,0x78,0x37,0x30,0x34,0x38,0x65,0x30,0x64,0x38,0x34,0x38,0x64,0x38,0x61,0x38, - 0x37,0x30,0x55,0x4c,0x2c,0x30,0x78,0x66,0x31,0x30,0x34,0x66,0x39,0x30,0x63,0x30,0x34,0x30,0x63,0x66,0x64,0x66,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x33,0x64, - 0x66,0x63,0x36,0x37,0x61,0x64,0x66,0x37,0x61,0x31,0x39,0x36,0x33,0x55,0x4c,0x2c,0x30,0x78,0x37,0x37,0x63,0x31,0x65,0x65,0x35,0x38,0x63,0x31,0x35,0x38,0x32,0x66, - 0x37,0x37,0x55,0x4c,0x2c,0x30,0x78,0x61,0x66,0x37,0x35,0x34,0x35,0x39,0x66,0x37,0x35,0x39,0x66,0x33,0x30,0x61,0x66,0x55,0x4c,0x2c,0x30,0x78,0x34,0x32,0x36,0x33, - 0x38,0x34,0x61,0x35,0x36,0x33,0x61,0x35,0x65,0x37,0x34,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x30,0x33,0x30,0x34,0x30,0x35,0x30,0x33,0x30,0x35,0x30,0x37,0x30, - 0x32,0x30,0x55,0x4c,0x2c,0x30,0x78,0x65,0x35,0x31,0x61,0x64,0x31,0x32,0x65,0x31,0x61,0x32,0x65,0x63,0x62,0x65,0x35,0x55,0x4c,0x2c,0x30,0x78,0x66,0x64,0x30,0x65, - 0x65,0x31,0x31,0x32,0x30,0x65,0x31,0x32,0x65,0x66,0x66,0x64,0x55,0x4c,0x2c,0x30,0x78,0x62,0x66,0x36,0x64,0x36,0x35,0x62,0x37,0x36,0x64,0x62,0x37,0x30,0x38,0x62, - 0x66,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x31,0x34,0x63,0x31,0x39,0x64,0x34,0x34,0x63,0x64,0x34,0x35,0x35,0x38,0x31,0x55,0x4c,0x2c,0x30,0x78,0x31,0x38,0x31,0x34, - 0x33,0x30,0x33,0x63,0x31,0x34,0x33,0x63,0x32,0x34,0x31,0x38,0x55,0x4c,0x2c,0x30,0x78,0x32,0x36,0x33,0x35,0x34,0x63,0x35,0x66,0x33,0x35,0x35,0x66,0x37,0x39,0x32, - 0x36,0x55,0x4c,0x2c,0x30,0x78,0x63,0x33,0x32,0x66,0x39,0x64,0x37,0x31,0x32,0x66,0x37,0x31,0x62,0x32,0x63,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x62,0x65,0x65,0x31, - 0x36,0x37,0x33,0x38,0x65,0x31,0x33,0x38,0x38,0x36,0x62,0x65,0x55,0x4c,0x2c,0x30,0x78,0x33,0x35,0x61,0x32,0x36,0x61,0x66,0x64,0x61,0x32,0x66,0x64,0x63,0x38,0x33, - 0x35,0x55,0x4c,0x2c,0x30,0x78,0x38,0x38,0x63,0x63,0x30,0x62,0x34,0x66,0x63,0x63,0x34,0x66,0x63,0x37,0x38,0x38,0x55,0x4c,0x2c,0x30,0x78,0x32,0x65,0x33,0x39,0x35, - 0x63,0x34,0x62,0x33,0x39,0x34,0x62,0x36,0x35,0x32,0x65,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x33,0x35,0x37,0x33,0x64,0x66,0x39,0x35,0x37,0x66,0x39,0x36,0x61,0x39, - 0x33,0x55,0x4c,0x2c,0x30,0x78,0x35,0x35,0x66,0x32,0x61,0x61,0x30,0x64,0x66,0x32,0x30,0x64,0x35,0x38,0x35,0x35,0x55,0x4c,0x2c,0x30,0x78,0x66,0x63,0x38,0x32,0x65, - 0x33,0x39,0x64,0x38,0x32,0x39,0x64,0x36,0x31,0x66,0x63,0x55,0x4c,0x2c,0x30,0x78,0x37,0x61,0x34,0x37,0x66,0x34,0x63,0x39,0x34,0x37,0x63,0x39,0x62,0x33,0x37,0x61, - 0x55,0x4c,0x2c,0x0a,0x30,0x78,0x63,0x38,0x61,0x63,0x38,0x62,0x65,0x66,0x61,0x63,0x65,0x66,0x32,0x37,0x63,0x38,0x55,0x4c,0x2c,0x30,0x78,0x62,0x61,0x65,0x37,0x36, - 0x66,0x33,0x32,0x65,0x37,0x33,0x32,0x38,0x38,0x62,0x61,0x55,0x4c,0x2c,0x30,0x78,0x33,0x32,0x32,0x62,0x36,0x34,0x37,0x64,0x32,0x62,0x37,0x64,0x34,0x66,0x33,0x32, - 0x55,0x4c,0x2c,0x30,0x78,0x65,0x36,0x39,0x35,0x64,0x37,0x61,0x34,0x39,0x35,0x61,0x34,0x34,0x32,0x65,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x63,0x30,0x61,0x30,0x39, - 0x62,0x66,0x62,0x61,0x30,0x66,0x62,0x33,0x62,0x63,0x30,0x55,0x4c,0x2c,0x30,0x78,0x31,0x39,0x39,0x38,0x33,0x32,0x62,0x33,0x39,0x38,0x62,0x33,0x61,0x61,0x31,0x39, - 0x55,0x4c,0x2c,0x30,0x78,0x39,0x65,0x64,0x31,0x32,0x37,0x36,0x38,0x64,0x31,0x36,0x38,0x66,0x36,0x39,0x65,0x55,0x4c,0x2c,0x30,0x78,0x61,0x33,0x37,0x66,0x35,0x64, - 0x38,0x31,0x37,0x66,0x38,0x31,0x32,0x32,0x61,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x34,0x34,0x36,0x36,0x38,0x38,0x61,0x61,0x36,0x36,0x61,0x61,0x65,0x65,0x34,0x34, - 0x55,0x4c,0x2c,0x30,0x78,0x35,0x34,0x37,0x65,0x61,0x38,0x38,0x32,0x37,0x65,0x38,0x32,0x64,0x36,0x35,0x34,0x55,0x4c,0x2c,0x30,0x78,0x33,0x62,0x61,0x62,0x37,0x36, - 0x65,0x36,0x61,0x62,0x65,0x36,0x64,0x64,0x33,0x62,0x55,0x4c,0x2c,0x30,0x78,0x30,0x62,0x38,0x33,0x31,0x36,0x39,0x65,0x38,0x33,0x39,0x65,0x39,0x35,0x30,0x62,0x55, - 0x4c,0x2c,0x0a,0x30,0x78,0x38,0x63,0x63,0x61,0x30,0x33,0x34,0x35,0x63,0x61,0x34,0x35,0x63,0x39,0x38,0x63,0x55,0x4c,0x2c,0x30,0x78,0x63,0x37,0x32,0x39,0x39,0x35, - 0x37,0x62,0x32,0x39,0x37,0x62,0x62,0x63,0x63,0x37,0x55,0x4c,0x2c,0x30,0x78,0x36,0x62,0x64,0x33,0x64,0x36,0x36,0x65,0x64,0x33,0x36,0x65,0x30,0x35,0x36,0x62,0x55, - 0x4c,0x2c,0x30,0x78,0x32,0x38,0x33,0x63,0x35,0x30,0x34,0x34,0x33,0x63,0x34,0x34,0x36,0x63,0x32,0x38,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x61,0x37,0x37,0x39,0x35,0x35, - 0x38,0x62,0x37,0x39,0x38,0x62,0x32,0x63,0x61,0x37,0x55,0x4c,0x2c,0x30,0x78,0x62,0x63,0x65,0x32,0x36,0x33,0x33,0x64,0x65,0x32,0x33,0x64,0x38,0x31,0x62,0x63,0x55, - 0x4c,0x2c,0x30,0x78,0x31,0x36,0x31,0x64,0x32,0x63,0x32,0x37,0x31,0x64,0x32,0x37,0x33,0x31,0x31,0x36,0x55,0x4c,0x2c,0x30,0x78,0x61,0x64,0x37,0x36,0x34,0x31,0x39, - 0x61,0x37,0x36,0x39,0x61,0x33,0x37,0x61,0x64,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x64,0x62,0x33,0x62,0x61,0x64,0x34,0x64,0x33,0x62,0x34,0x64,0x39,0x36,0x64,0x62,0x55, - 0x4c,0x2c,0x30,0x78,0x36,0x34,0x35,0x36,0x63,0x38,0x66,0x61,0x35,0x36,0x66,0x61,0x39,0x65,0x36,0x34,0x55,0x4c,0x2c,0x30,0x78,0x37,0x34,0x34,0x65,0x65,0x38,0x64, - 0x32,0x34,0x65,0x64,0x32,0x61,0x36,0x37,0x34,0x55,0x4c,0x2c,0x30,0x78,0x31,0x34,0x31,0x65,0x32,0x38,0x32,0x32,0x31,0x65,0x32,0x32,0x33,0x36,0x31,0x34,0x55,0x4c, - 0x2c,0x0a,0x30,0x78,0x39,0x32,0x64,0x62,0x33,0x66,0x37,0x36,0x64,0x62,0x37,0x36,0x65,0x34,0x39,0x32,0x55,0x4c,0x2c,0x30,0x78,0x30,0x63,0x30,0x61,0x31,0x38,0x31, - 0x65,0x30,0x61,0x31,0x65,0x31,0x32,0x30,0x63,0x55,0x4c,0x2c,0x30,0x78,0x34,0x38,0x36,0x63,0x39,0x30,0x62,0x34,0x36,0x63,0x62,0x34,0x66,0x63,0x34,0x38,0x55,0x4c, - 0x2c,0x30,0x78,0x62,0x38,0x65,0x34,0x36,0x62,0x33,0x37,0x65,0x34,0x33,0x37,0x38,0x66,0x62,0x38,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x66,0x35,0x64,0x32,0x35,0x65, - 0x37,0x35,0x64,0x65,0x37,0x37,0x38,0x39,0x66,0x55,0x4c,0x2c,0x30,0x78,0x62,0x64,0x36,0x65,0x36,0x31,0x62,0x32,0x36,0x65,0x62,0x32,0x30,0x66,0x62,0x64,0x55,0x4c, - 0x2c,0x30,0x78,0x34,0x33,0x65,0x66,0x38,0x36,0x32,0x61,0x65,0x66,0x32,0x61,0x36,0x39,0x34,0x33,0x55,0x4c,0x2c,0x30,0x78,0x63,0x34,0x61,0x36,0x39,0x33,0x66,0x31, - 0x61,0x36,0x66,0x31,0x33,0x35,0x63,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33,0x39,0x61,0x38,0x37,0x32,0x65,0x33,0x61,0x38,0x65,0x33,0x64,0x61,0x33,0x39,0x55,0x4c, - 0x2c,0x30,0x78,0x33,0x31,0x61,0x34,0x36,0x32,0x66,0x37,0x61,0x34,0x66,0x37,0x63,0x36,0x33,0x31,0x55,0x4c,0x2c,0x30,0x78,0x64,0x33,0x33,0x37,0x62,0x64,0x35,0x39, - 0x33,0x37,0x35,0x39,0x38,0x61,0x64,0x33,0x55,0x4c,0x2c,0x30,0x78,0x66,0x32,0x38,0x62,0x66,0x66,0x38,0x36,0x38,0x62,0x38,0x36,0x37,0x34,0x66,0x32,0x55,0x4c,0x2c, - 0x0a,0x30,0x78,0x64,0x35,0x33,0x32,0x62,0x31,0x35,0x36,0x33,0x32,0x35,0x36,0x38,0x33,0x64,0x35,0x55,0x4c,0x2c,0x30,0x78,0x38,0x62,0x34,0x33,0x30,0x64,0x63,0x35, - 0x34,0x33,0x63,0x35,0x34,0x65,0x38,0x62,0x55,0x4c,0x2c,0x30,0x78,0x36,0x65,0x35,0x39,0x64,0x63,0x65,0x62,0x35,0x39,0x65,0x62,0x38,0x35,0x36,0x65,0x55,0x4c,0x2c, - 0x30,0x78,0x64,0x61,0x62,0x37,0x61,0x66,0x63,0x32,0x62,0x37,0x63,0x32,0x31,0x38,0x64,0x61,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x31,0x38,0x63,0x30,0x32,0x38,0x66, - 0x38,0x63,0x38,0x66,0x38,0x65,0x30,0x31,0x55,0x4c,0x2c,0x30,0x78,0x62,0x31,0x36,0x34,0x37,0x39,0x61,0x63,0x36,0x34,0x61,0x63,0x31,0x64,0x62,0x31,0x55,0x4c,0x2c, - 0x30,0x78,0x39,0x63,0x64,0x32,0x32,0x33,0x36,0x64,0x64,0x32,0x36,0x64,0x66,0x31,0x39,0x63,0x55,0x4c,0x2c,0x30,0x78,0x34,0x39,0x65,0x30,0x39,0x32,0x33,0x62,0x65, - 0x30,0x33,0x62,0x37,0x32,0x34,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x64,0x38,0x62,0x34,0x61,0x62,0x63,0x37,0x62,0x34,0x63,0x37,0x31,0x66,0x64,0x38,0x55,0x4c,0x2c, - 0x30,0x78,0x61,0x63,0x66,0x61,0x34,0x33,0x31,0x35,0x66,0x61,0x31,0x35,0x62,0x39,0x61,0x63,0x55,0x4c,0x2c,0x30,0x78,0x66,0x33,0x30,0x37,0x66,0x64,0x30,0x39,0x30, - 0x37,0x30,0x39,0x66,0x61,0x66,0x33,0x55,0x4c,0x2c,0x30,0x78,0x63,0x66,0x32,0x35,0x38,0x35,0x36,0x66,0x32,0x35,0x36,0x66,0x61,0x30,0x63,0x66,0x55,0x4c,0x2c,0x0a, - 0x30,0x78,0x63,0x61,0x61,0x66,0x38,0x66,0x65,0x61,0x61,0x66,0x65,0x61,0x32,0x30,0x63,0x61,0x55,0x4c,0x2c,0x30,0x78,0x66,0x34,0x38,0x65,0x66,0x33,0x38,0x39,0x38, - 0x65,0x38,0x39,0x37,0x64,0x66,0x34,0x55,0x4c,0x2c,0x30,0x78,0x34,0x37,0x65,0x39,0x38,0x65,0x32,0x30,0x65,0x39,0x32,0x30,0x36,0x37,0x34,0x37,0x55,0x4c,0x2c,0x30, - 0x78,0x31,0x30,0x31,0x38,0x32,0x30,0x32,0x38,0x31,0x38,0x32,0x38,0x33,0x38,0x31,0x30,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x66,0x64,0x35,0x64,0x65,0x36,0x34,0x64, - 0x35,0x36,0x34,0x30,0x62,0x36,0x66,0x55,0x4c,0x2c,0x30,0x78,0x66,0x30,0x38,0x38,0x66,0x62,0x38,0x33,0x38,0x38,0x38,0x33,0x37,0x33,0x66,0x30,0x55,0x4c,0x2c,0x30, - 0x78,0x34,0x61,0x36,0x66,0x39,0x34,0x62,0x31,0x36,0x66,0x62,0x31,0x66,0x62,0x34,0x61,0x55,0x4c,0x2c,0x30,0x78,0x35,0x63,0x37,0x32,0x62,0x38,0x39,0x36,0x37,0x32, - 0x39,0x36,0x63,0x61,0x35,0x63,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33,0x38,0x32,0x34,0x37,0x30,0x36,0x63,0x32,0x34,0x36,0x63,0x35,0x34,0x33,0x38,0x55,0x4c,0x2c,0x30, - 0x78,0x35,0x37,0x66,0x31,0x61,0x65,0x30,0x38,0x66,0x31,0x30,0x38,0x35,0x66,0x35,0x37,0x55,0x4c,0x2c,0x30,0x78,0x37,0x33,0x63,0x37,0x65,0x36,0x35,0x32,0x63,0x37, - 0x35,0x32,0x32,0x31,0x37,0x33,0x55,0x4c,0x2c,0x30,0x78,0x39,0x37,0x35,0x31,0x33,0x35,0x66,0x33,0x35,0x31,0x66,0x33,0x36,0x34,0x39,0x37,0x55,0x4c,0x2c,0x0a,0x30, - 0x78,0x63,0x62,0x32,0x33,0x38,0x64,0x36,0x35,0x32,0x33,0x36,0x35,0x61,0x65,0x63,0x62,0x55,0x4c,0x2c,0x30,0x78,0x61,0x31,0x37,0x63,0x35,0x39,0x38,0x34,0x37,0x63, - 0x38,0x34,0x32,0x35,0x61,0x31,0x55,0x4c,0x2c,0x30,0x78,0x65,0x38,0x39,0x63,0x63,0x62,0x62,0x66,0x39,0x63,0x62,0x66,0x35,0x37,0x65,0x38,0x55,0x4c,0x2c,0x30,0x78, - 0x33,0x65,0x32,0x31,0x37,0x63,0x36,0x33,0x32,0x31,0x36,0x33,0x35,0x64,0x33,0x65,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x36,0x64,0x64,0x33,0x37,0x37,0x63,0x64,0x64, - 0x37,0x63,0x65,0x61,0x39,0x36,0x55,0x4c,0x2c,0x30,0x78,0x36,0x31,0x64,0x63,0x63,0x32,0x37,0x66,0x64,0x63,0x37,0x66,0x31,0x65,0x36,0x31,0x55,0x4c,0x2c,0x30,0x78, - 0x30,0x64,0x38,0x36,0x31,0x61,0x39,0x31,0x38,0x36,0x39,0x31,0x39,0x63,0x30,0x64,0x55,0x4c,0x2c,0x30,0x78,0x30,0x66,0x38,0x35,0x31,0x65,0x39,0x34,0x38,0x35,0x39, - 0x34,0x39,0x62,0x30,0x66,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x65,0x30,0x39,0x30,0x64,0x62,0x61,0x62,0x39,0x30,0x61,0x62,0x34,0x62,0x65,0x30,0x55,0x4c,0x2c,0x30,0x78, - 0x37,0x63,0x34,0x32,0x66,0x38,0x63,0x36,0x34,0x32,0x63,0x36,0x62,0x61,0x37,0x63,0x55,0x4c,0x2c,0x30,0x78,0x37,0x31,0x63,0x34,0x65,0x32,0x35,0x37,0x63,0x34,0x35, - 0x37,0x32,0x36,0x37,0x31,0x55,0x4c,0x2c,0x30,0x78,0x63,0x63,0x61,0x61,0x38,0x33,0x65,0x35,0x61,0x61,0x65,0x35,0x32,0x39,0x63,0x63,0x55,0x4c,0x2c,0x0a,0x30,0x78, - 0x39,0x30,0x64,0x38,0x33,0x62,0x37,0x33,0x64,0x38,0x37,0x33,0x65,0x33,0x39,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x36,0x30,0x35,0x30,0x63,0x30,0x66,0x30,0x35,0x30, - 0x66,0x30,0x39,0x30,0x36,0x55,0x4c,0x2c,0x30,0x78,0x66,0x37,0x30,0x31,0x66,0x35,0x30,0x33,0x30,0x31,0x30,0x33,0x66,0x34,0x66,0x37,0x55,0x4c,0x2c,0x30,0x78,0x31, - 0x63,0x31,0x32,0x33,0x38,0x33,0x36,0x31,0x32,0x33,0x36,0x32,0x61,0x31,0x63,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x63,0x32,0x61,0x33,0x39,0x66,0x66,0x65,0x61,0x33,0x66, - 0x65,0x33,0x63,0x63,0x32,0x55,0x4c,0x2c,0x30,0x78,0x36,0x61,0x35,0x66,0x64,0x34,0x65,0x31,0x35,0x66,0x65,0x31,0x38,0x62,0x36,0x61,0x55,0x4c,0x2c,0x30,0x78,0x61, - 0x65,0x66,0x39,0x34,0x37,0x31,0x30,0x66,0x39,0x31,0x30,0x62,0x65,0x61,0x65,0x55,0x4c,0x2c,0x30,0x78,0x36,0x39,0x64,0x30,0x64,0x32,0x36,0x62,0x64,0x30,0x36,0x62, - 0x30,0x32,0x36,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31,0x37,0x39,0x31,0x32,0x65,0x61,0x38,0x39,0x31,0x61,0x38,0x62,0x66,0x31,0x37,0x55,0x4c,0x2c,0x30,0x78,0x39, - 0x39,0x35,0x38,0x32,0x39,0x65,0x38,0x35,0x38,0x65,0x38,0x37,0x31,0x39,0x39,0x55,0x4c,0x2c,0x30,0x78,0x33,0x61,0x32,0x37,0x37,0x34,0x36,0x39,0x32,0x37,0x36,0x39, - 0x35,0x33,0x33,0x61,0x55,0x4c,0x2c,0x30,0x78,0x32,0x37,0x62,0x39,0x34,0x65,0x64,0x30,0x62,0x39,0x64,0x30,0x66,0x37,0x32,0x37,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x64, - 0x39,0x33,0x38,0x61,0x39,0x34,0x38,0x33,0x38,0x34,0x38,0x39,0x31,0x64,0x39,0x55,0x4c,0x2c,0x30,0x78,0x65,0x62,0x31,0x33,0x63,0x64,0x33,0x35,0x31,0x33,0x33,0x35, - 0x64,0x65,0x65,0x62,0x55,0x4c,0x2c,0x30,0x78,0x32,0x62,0x62,0x33,0x35,0x36,0x63,0x65,0x62,0x33,0x63,0x65,0x65,0x35,0x32,0x62,0x55,0x4c,0x2c,0x30,0x78,0x32,0x32, - 0x33,0x33,0x34,0x34,0x35,0x35,0x33,0x33,0x35,0x35,0x37,0x37,0x32,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x64,0x32,0x62,0x62,0x62,0x66,0x64,0x36,0x62,0x62,0x64,0x36, - 0x30,0x34,0x64,0x32,0x55,0x4c,0x2c,0x30,0x78,0x61,0x39,0x37,0x30,0x34,0x39,0x39,0x30,0x37,0x30,0x39,0x30,0x33,0x39,0x61,0x39,0x55,0x4c,0x2c,0x30,0x78,0x30,0x37, - 0x38,0x39,0x30,0x65,0x38,0x30,0x38,0x39,0x38,0x30,0x38,0x37,0x30,0x37,0x55,0x4c,0x2c,0x30,0x78,0x33,0x33,0x61,0x37,0x36,0x36,0x66,0x32,0x61,0x37,0x66,0x32,0x63, - 0x31,0x33,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x64,0x62,0x36,0x35,0x61,0x63,0x31,0x62,0x36,0x63,0x31,0x65,0x63,0x32,0x64,0x55,0x4c,0x2c,0x30,0x78,0x33,0x63, - 0x32,0x32,0x37,0x38,0x36,0x36,0x32,0x32,0x36,0x36,0x35,0x61,0x33,0x63,0x55,0x4c,0x2c,0x30,0x78,0x31,0x35,0x39,0x32,0x32,0x61,0x61,0x64,0x39,0x32,0x61,0x64,0x62, - 0x38,0x31,0x35,0x55,0x4c,0x2c,0x30,0x78,0x63,0x39,0x32,0x30,0x38,0x39,0x36,0x30,0x32,0x30,0x36,0x30,0x61,0x39,0x63,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x37, - 0x34,0x39,0x31,0x35,0x64,0x62,0x34,0x39,0x64,0x62,0x35,0x63,0x38,0x37,0x55,0x4c,0x2c,0x30,0x78,0x61,0x61,0x66,0x66,0x34,0x66,0x31,0x61,0x66,0x66,0x31,0x61,0x62, - 0x30,0x61,0x61,0x55,0x4c,0x2c,0x30,0x78,0x35,0x30,0x37,0x38,0x61,0x30,0x38,0x38,0x37,0x38,0x38,0x38,0x64,0x38,0x35,0x30,0x55,0x4c,0x2c,0x30,0x78,0x61,0x35,0x37, - 0x61,0x35,0x31,0x38,0x65,0x37,0x61,0x38,0x65,0x32,0x62,0x61,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x33,0x38,0x66,0x30,0x36,0x38,0x61,0x38,0x66,0x38,0x61,0x38, - 0x39,0x30,0x33,0x55,0x4c,0x2c,0x30,0x78,0x35,0x39,0x66,0x38,0x62,0x32,0x31,0x33,0x66,0x38,0x31,0x33,0x34,0x61,0x35,0x39,0x55,0x4c,0x2c,0x30,0x78,0x30,0x39,0x38, - 0x30,0x31,0x32,0x39,0x62,0x38,0x30,0x39,0x62,0x39,0x32,0x30,0x39,0x55,0x4c,0x2c,0x30,0x78,0x31,0x61,0x31,0x37,0x33,0x34,0x33,0x39,0x31,0x37,0x33,0x39,0x32,0x33, - 0x31,0x61,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x35,0x64,0x61,0x63,0x61,0x37,0x35,0x64,0x61,0x37,0x35,0x31,0x30,0x36,0x35,0x55,0x4c,0x2c,0x30,0x78,0x64,0x37,0x33, - 0x31,0x62,0x35,0x35,0x33,0x33,0x31,0x35,0x33,0x38,0x34,0x64,0x37,0x55,0x4c,0x2c,0x30,0x78,0x38,0x34,0x63,0x36,0x31,0x33,0x35,0x31,0x63,0x36,0x35,0x31,0x64,0x35, - 0x38,0x34,0x55,0x4c,0x2c,0x30,0x78,0x64,0x30,0x62,0x38,0x62,0x62,0x64,0x33,0x62,0x38,0x64,0x33,0x30,0x33,0x64,0x30,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x32,0x63, - 0x33,0x31,0x66,0x35,0x65,0x63,0x33,0x35,0x65,0x64,0x63,0x38,0x32,0x55,0x4c,0x2c,0x30,0x78,0x32,0x39,0x62,0x30,0x35,0x32,0x63,0x62,0x62,0x30,0x63,0x62,0x65,0x32, - 0x32,0x39,0x55,0x4c,0x2c,0x30,0x78,0x35,0x61,0x37,0x37,0x62,0x34,0x39,0x39,0x37,0x37,0x39,0x39,0x63,0x33,0x35,0x61,0x55,0x4c,0x2c,0x30,0x78,0x31,0x65,0x31,0x31, - 0x33,0x63,0x33,0x33,0x31,0x31,0x33,0x33,0x32,0x64,0x31,0x65,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x37,0x62,0x63,0x62,0x66,0x36,0x34,0x36,0x63,0x62,0x34,0x36,0x33,0x64, - 0x37,0x62,0x55,0x4c,0x2c,0x30,0x78,0x61,0x38,0x66,0x63,0x34,0x62,0x31,0x66,0x66,0x63,0x31,0x66,0x62,0x37,0x61,0x38,0x55,0x4c,0x2c,0x30,0x78,0x36,0x64,0x64,0x36, - 0x64,0x61,0x36,0x31,0x64,0x36,0x36,0x31,0x30,0x63,0x36,0x64,0x55,0x4c,0x2c,0x30,0x78,0x32,0x63,0x33,0x61,0x35,0x38,0x34,0x65,0x33,0x61,0x34,0x65,0x36,0x32,0x32, - 0x63,0x55,0x4c,0x0a,0x7d,0x3b,0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75, - 0x6c,0x6f,0x6e,0x67,0x20,0x54,0x34,0x5f,0x47,0x5b,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x41,0x35,0x46,0x34,0x33,0x32,0x43,0x36,0x43,0x36,0x41,0x35,0x39,0x37, - 0x46,0x34,0x55,0x4c,0x2c,0x30,0x78,0x38,0x34,0x39,0x37,0x36,0x46,0x46,0x38,0x46,0x38,0x38,0x34,0x45,0x42,0x39,0x37,0x55,0x4c,0x2c,0x30,0x78,0x39,0x39,0x42,0x30, - 0x35,0x45,0x45,0x45,0x45,0x45,0x39,0x39,0x43,0x37,0x42,0x30,0x55,0x4c,0x2c,0x30,0x78,0x38,0x44,0x38,0x43,0x37,0x41,0x46,0x36,0x46,0x36,0x38,0x44,0x46,0x37,0x38, - 0x43,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x44,0x31,0x37,0x45,0x38,0x46,0x46,0x46,0x46,0x30,0x44,0x45,0x35,0x31,0x37,0x55,0x4c,0x2c,0x30,0x78,0x42,0x44,0x44,0x43, - 0x30,0x41,0x44,0x36,0x44,0x36,0x42,0x44,0x42,0x37,0x44,0x43,0x55,0x4c,0x2c,0x30,0x78,0x42,0x31,0x43,0x38,0x31,0x36,0x44,0x45,0x44,0x45,0x42,0x31,0x41,0x37,0x43, - 0x38,0x55,0x4c,0x2c,0x30,0x78,0x35,0x34,0x46,0x43,0x36,0x44,0x39,0x31,0x39,0x31,0x35,0x34,0x33,0x39,0x46,0x43,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x30,0x46,0x30, - 0x39,0x30,0x36,0x30,0x36,0x30,0x35,0x30,0x43,0x30,0x46,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x33,0x30,0x35,0x30,0x37,0x30,0x32,0x30,0x32,0x30,0x33,0x30,0x34,0x30, - 0x35,0x55,0x4c,0x2c,0x30,0x78,0x41,0x39,0x45,0x30,0x32,0x45,0x43,0x45,0x43,0x45,0x41,0x39,0x38,0x37,0x45,0x30,0x55,0x4c,0x2c,0x30,0x78,0x37,0x44,0x38,0x37,0x44, - 0x31,0x35,0x36,0x35,0x36,0x37,0x44,0x41,0x43,0x38,0x37,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31,0x39,0x32,0x42,0x43,0x43,0x45,0x37,0x45,0x37,0x31,0x39,0x44,0x35,0x32, - 0x42,0x55,0x4c,0x2c,0x30,0x78,0x36,0x32,0x41,0x36,0x31,0x33,0x42,0x35,0x42,0x35,0x36,0x32,0x37,0x31,0x41,0x36,0x55,0x4c,0x2c,0x30,0x78,0x45,0x36,0x33,0x31,0x37, - 0x43,0x34,0x44,0x34,0x44,0x45,0x36,0x39,0x41,0x33,0x31,0x55,0x4c,0x2c,0x30,0x78,0x39,0x41,0x42,0x35,0x35,0x39,0x45,0x43,0x45,0x43,0x39,0x41,0x43,0x33,0x42,0x35, - 0x55,0x4c,0x2c,0x0a,0x30,0x78,0x34,0x35,0x43,0x46,0x34,0x30,0x38,0x46,0x38,0x46,0x34,0x35,0x30,0x35,0x43,0x46,0x55,0x4c,0x2c,0x30,0x78,0x39,0x44,0x42,0x43,0x41, - 0x33,0x31,0x46,0x31,0x46,0x39,0x44,0x33,0x45,0x42,0x43,0x55,0x4c,0x2c,0x30,0x78,0x34,0x30,0x43,0x30,0x34,0x39,0x38,0x39,0x38,0x39,0x34,0x30,0x30,0x39,0x43,0x30, - 0x55,0x4c,0x2c,0x30,0x78,0x38,0x37,0x39,0x32,0x36,0x38,0x46,0x41,0x46,0x41,0x38,0x37,0x45,0x46,0x39,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31,0x35,0x33,0x46,0x44, - 0x30,0x45,0x46,0x45,0x46,0x31,0x35,0x43,0x35,0x33,0x46,0x55,0x4c,0x2c,0x30,0x78,0x45,0x42,0x32,0x36,0x39,0x34,0x42,0x32,0x42,0x32,0x45,0x42,0x37,0x46,0x32,0x36, - 0x55,0x4c,0x2c,0x30,0x78,0x43,0x39,0x34,0x30,0x43,0x45,0x38,0x45,0x38,0x45,0x43,0x39,0x30,0x37,0x34,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x42,0x31,0x44,0x45,0x36, - 0x46,0x42,0x46,0x42,0x30,0x42,0x45,0x44,0x31,0x44,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x45,0x43,0x32,0x46,0x36,0x45,0x34,0x31,0x34,0x31,0x45,0x43,0x38,0x32,0x32,0x46, - 0x55,0x4c,0x2c,0x30,0x78,0x36,0x37,0x41,0x39,0x31,0x41,0x42,0x33,0x42,0x33,0x36,0x37,0x37,0x44,0x41,0x39,0x55,0x4c,0x2c,0x30,0x78,0x46,0x44,0x31,0x43,0x34,0x33, - 0x35,0x46,0x35,0x46,0x46,0x44,0x42,0x45,0x31,0x43,0x55,0x4c,0x2c,0x30,0x78,0x45,0x41,0x32,0x35,0x36,0x30,0x34,0x35,0x34,0x35,0x45,0x41,0x38,0x41,0x32,0x35,0x55, - 0x4c,0x2c,0x0a,0x30,0x78,0x42,0x46,0x44,0x41,0x46,0x39,0x32,0x33,0x32,0x33,0x42,0x46,0x34,0x36,0x44,0x41,0x55,0x4c,0x2c,0x30,0x78,0x46,0x37,0x30,0x32,0x35,0x31, - 0x35,0x33,0x35,0x33,0x46,0x37,0x41,0x36,0x30,0x32,0x55,0x4c,0x2c,0x30,0x78,0x39,0x36,0x41,0x31,0x34,0x35,0x45,0x34,0x45,0x34,0x39,0x36,0x44,0x33,0x41,0x31,0x55, - 0x4c,0x2c,0x30,0x78,0x35,0x42,0x45,0x44,0x37,0x36,0x39,0x42,0x39,0x42,0x35,0x42,0x32,0x44,0x45,0x44,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x32,0x35,0x44,0x32,0x38, - 0x37,0x35,0x37,0x35,0x43,0x32,0x45,0x41,0x35,0x44,0x55,0x4c,0x2c,0x30,0x78,0x31,0x43,0x32,0x34,0x43,0x35,0x45,0x31,0x45,0x31,0x31,0x43,0x44,0x39,0x32,0x34,0x55, - 0x4c,0x2c,0x30,0x78,0x41,0x45,0x45,0x39,0x44,0x34,0x33,0x44,0x33,0x44,0x41,0x45,0x37,0x41,0x45,0x39,0x55,0x4c,0x2c,0x30,0x78,0x36,0x41,0x42,0x45,0x46,0x32,0x34, - 0x43,0x34,0x43,0x36,0x41,0x39,0x38,0x42,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x41,0x45,0x45,0x38,0x32,0x36,0x43,0x36,0x43,0x35,0x41,0x44,0x38,0x45,0x45,0x55, - 0x4c,0x2c,0x30,0x78,0x34,0x31,0x43,0x33,0x42,0x44,0x37,0x45,0x37,0x45,0x34,0x31,0x46,0x43,0x43,0x33,0x55,0x4c,0x2c,0x30,0x78,0x30,0x32,0x30,0x36,0x46,0x33,0x46, - 0x35,0x46,0x35,0x30,0x32,0x46,0x31,0x30,0x36,0x55,0x4c,0x2c,0x30,0x78,0x34,0x46,0x44,0x31,0x35,0x32,0x38,0x33,0x38,0x33,0x34,0x46,0x31,0x44,0x44,0x31,0x55,0x4c, - 0x2c,0x0a,0x30,0x78,0x35,0x43,0x45,0x34,0x38,0x43,0x36,0x38,0x36,0x38,0x35,0x43,0x44,0x30,0x45,0x34,0x55,0x4c,0x2c,0x30,0x78,0x46,0x34,0x30,0x37,0x35,0x36,0x35, - 0x31,0x35,0x31,0x46,0x34,0x41,0x32,0x30,0x37,0x55,0x4c,0x2c,0x30,0x78,0x33,0x34,0x35,0x43,0x38,0x44,0x44,0x31,0x44,0x31,0x33,0x34,0x42,0x39,0x35,0x43,0x55,0x4c, - 0x2c,0x30,0x78,0x30,0x38,0x31,0x38,0x45,0x31,0x46,0x39,0x46,0x39,0x30,0x38,0x45,0x39,0x31,0x38,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x33,0x41,0x45,0x34,0x43,0x45, - 0x32,0x45,0x32,0x39,0x33,0x44,0x46,0x41,0x45,0x55,0x4c,0x2c,0x30,0x78,0x37,0x33,0x39,0x35,0x33,0x45,0x41,0x42,0x41,0x42,0x37,0x33,0x34,0x44,0x39,0x35,0x55,0x4c, - 0x2c,0x30,0x78,0x35,0x33,0x46,0x35,0x39,0x37,0x36,0x32,0x36,0x32,0x35,0x33,0x43,0x34,0x46,0x35,0x55,0x4c,0x2c,0x30,0x78,0x33,0x46,0x34,0x31,0x36,0x42,0x32,0x41, - 0x32,0x41,0x33,0x46,0x35,0x34,0x34,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x43,0x31,0x34,0x31,0x43,0x30,0x38,0x30,0x38,0x30,0x43,0x31,0x30,0x31,0x34,0x55,0x4c, - 0x2c,0x30,0x78,0x35,0x32,0x46,0x36,0x36,0x33,0x39,0x35,0x39,0x35,0x35,0x32,0x33,0x31,0x46,0x36,0x55,0x4c,0x2c,0x30,0x78,0x36,0x35,0x41,0x46,0x45,0x39,0x34,0x36, - 0x34,0x36,0x36,0x35,0x38,0x43,0x41,0x46,0x55,0x4c,0x2c,0x30,0x78,0x35,0x45,0x45,0x32,0x37,0x46,0x39,0x44,0x39,0x44,0x35,0x45,0x32,0x31,0x45,0x32,0x55,0x4c,0x2c, - 0x0a,0x30,0x78,0x32,0x38,0x37,0x38,0x34,0x38,0x33,0x30,0x33,0x30,0x32,0x38,0x36,0x30,0x37,0x38,0x55,0x4c,0x2c,0x30,0x78,0x41,0x31,0x46,0x38,0x43,0x46,0x33,0x37, - 0x33,0x37,0x41,0x31,0x36,0x45,0x46,0x38,0x55,0x4c,0x2c,0x30,0x78,0x30,0x46,0x31,0x31,0x31,0x42,0x30,0x41,0x30,0x41,0x30,0x46,0x31,0x34,0x31,0x31,0x55,0x4c,0x2c, - 0x30,0x78,0x42,0x35,0x43,0x34,0x45,0x42,0x32,0x46,0x32,0x46,0x42,0x35,0x35,0x45,0x43,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x39,0x31,0x42,0x31,0x35,0x30,0x45, - 0x30,0x45,0x30,0x39,0x31,0x43,0x31,0x42,0x55,0x4c,0x2c,0x30,0x78,0x33,0x36,0x35,0x41,0x37,0x45,0x32,0x34,0x32,0x34,0x33,0x36,0x34,0x38,0x35,0x41,0x55,0x4c,0x2c, - 0x30,0x78,0x39,0x42,0x42,0x36,0x41,0x44,0x31,0x42,0x31,0x42,0x39,0x42,0x33,0x36,0x42,0x36,0x55,0x4c,0x2c,0x30,0x78,0x33,0x44,0x34,0x37,0x39,0x38,0x44,0x46,0x44, - 0x46,0x33,0x44,0x41,0x35,0x34,0x37,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x36,0x36,0x41,0x41,0x37,0x43,0x44,0x43,0x44,0x32,0x36,0x38,0x31,0x36,0x41,0x55,0x4c,0x2c, - 0x30,0x78,0x36,0x39,0x42,0x42,0x46,0x35,0x34,0x45,0x34,0x45,0x36,0x39,0x39,0x43,0x42,0x42,0x55,0x4c,0x2c,0x30,0x78,0x43,0x44,0x34,0x43,0x33,0x33,0x37,0x46,0x37, - 0x46,0x43,0x44,0x46,0x45,0x34,0x43,0x55,0x4c,0x2c,0x30,0x78,0x39,0x46,0x42,0x41,0x35,0x30,0x45,0x41,0x45,0x41,0x39,0x46,0x43,0x46,0x42,0x41,0x55,0x4c,0x2c,0x0a, - 0x30,0x78,0x31,0x42,0x32,0x44,0x33,0x46,0x31,0x32,0x31,0x32,0x31,0x42,0x32,0x34,0x32,0x44,0x55,0x4c,0x2c,0x30,0x78,0x39,0x45,0x42,0x39,0x41,0x34,0x31,0x44,0x31, - 0x44,0x39,0x45,0x33,0x41,0x42,0x39,0x55,0x4c,0x2c,0x30,0x78,0x37,0x34,0x39,0x43,0x43,0x34,0x35,0x38,0x35,0x38,0x37,0x34,0x42,0x30,0x39,0x43,0x55,0x4c,0x2c,0x30, - 0x78,0x32,0x45,0x37,0x32,0x34,0x36,0x33,0x34,0x33,0x34,0x32,0x45,0x36,0x38,0x37,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x44,0x37,0x37,0x34,0x31,0x33,0x36,0x33, - 0x36,0x32,0x44,0x36,0x43,0x37,0x37,0x55,0x4c,0x2c,0x30,0x78,0x42,0x32,0x43,0x44,0x31,0x31,0x44,0x43,0x44,0x43,0x42,0x32,0x41,0x33,0x43,0x44,0x55,0x4c,0x2c,0x30, - 0x78,0x45,0x45,0x32,0x39,0x39,0x44,0x42,0x34,0x42,0x34,0x45,0x45,0x37,0x33,0x32,0x39,0x55,0x4c,0x2c,0x30,0x78,0x46,0x42,0x31,0x36,0x34,0x44,0x35,0x42,0x35,0x42, - 0x46,0x42,0x42,0x36,0x31,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x46,0x36,0x30,0x31,0x41,0x35,0x41,0x34,0x41,0x34,0x46,0x36,0x35,0x33,0x30,0x31,0x55,0x4c,0x2c,0x30, - 0x78,0x34,0x44,0x44,0x37,0x41,0x31,0x37,0x36,0x37,0x36,0x34,0x44,0x45,0x43,0x44,0x37,0x55,0x4c,0x2c,0x30,0x78,0x36,0x31,0x41,0x33,0x31,0x34,0x42,0x37,0x42,0x37, - 0x36,0x31,0x37,0x35,0x41,0x33,0x55,0x4c,0x2c,0x30,0x78,0x43,0x45,0x34,0x39,0x33,0x34,0x37,0x44,0x37,0x44,0x43,0x45,0x46,0x41,0x34,0x39,0x55,0x4c,0x2c,0x0a,0x30, - 0x78,0x37,0x42,0x38,0x44,0x44,0x46,0x35,0x32,0x35,0x32,0x37,0x42,0x41,0x34,0x38,0x44,0x55,0x4c,0x2c,0x30,0x78,0x33,0x45,0x34,0x32,0x39,0x46,0x44,0x44,0x44,0x44, - 0x33,0x45,0x41,0x31,0x34,0x32,0x55,0x4c,0x2c,0x30,0x78,0x37,0x31,0x39,0x33,0x43,0x44,0x35,0x45,0x35,0x45,0x37,0x31,0x42,0x43,0x39,0x33,0x55,0x4c,0x2c,0x30,0x78, - 0x39,0x37,0x41,0x32,0x42,0x31,0x31,0x33,0x31,0x33,0x39,0x37,0x32,0x36,0x41,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x46,0x35,0x30,0x34,0x41,0x32,0x41,0x36,0x41,0x36, - 0x46,0x35,0x35,0x37,0x30,0x34,0x55,0x4c,0x2c,0x30,0x78,0x36,0x38,0x42,0x38,0x30,0x31,0x42,0x39,0x42,0x39,0x36,0x38,0x36,0x39,0x42,0x38,0x55,0x4c,0x2c,0x30,0x78, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x32,0x43,0x37,0x34,0x42,0x35,0x43,0x31,0x43,0x31,0x32, - 0x43,0x39,0x39,0x37,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x30,0x41,0x30,0x45,0x30,0x34,0x30,0x34,0x30,0x36,0x30,0x38,0x30,0x41,0x30,0x55,0x4c,0x2c,0x30,0x78, - 0x31,0x46,0x32,0x31,0x43,0x32,0x45,0x33,0x45,0x33,0x31,0x46,0x44,0x44,0x32,0x31,0x55,0x4c,0x2c,0x30,0x78,0x43,0x38,0x34,0x33,0x33,0x41,0x37,0x39,0x37,0x39,0x43, - 0x38,0x46,0x32,0x34,0x33,0x55,0x4c,0x2c,0x30,0x78,0x45,0x44,0x32,0x43,0x39,0x41,0x42,0x36,0x42,0x36,0x45,0x44,0x37,0x37,0x32,0x43,0x55,0x4c,0x2c,0x0a,0x30,0x78, - 0x42,0x45,0x44,0x39,0x30,0x44,0x44,0x34,0x44,0x34,0x42,0x45,0x42,0x33,0x44,0x39,0x55,0x4c,0x2c,0x30,0x78,0x34,0x36,0x43,0x41,0x34,0x37,0x38,0x44,0x38,0x44,0x34, - 0x36,0x30,0x31,0x43,0x41,0x55,0x4c,0x2c,0x30,0x78,0x44,0x39,0x37,0x30,0x31,0x37,0x36,0x37,0x36,0x37,0x44,0x39,0x43,0x45,0x37,0x30,0x55,0x4c,0x2c,0x30,0x78,0x34, - 0x42,0x44,0x44,0x41,0x46,0x37,0x32,0x37,0x32,0x34,0x42,0x45,0x34,0x44,0x44,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x45,0x37,0x39,0x45,0x44,0x39,0x34,0x39,0x34,0x44, - 0x45,0x33,0x33,0x37,0x39,0x55,0x4c,0x2c,0x30,0x78,0x44,0x34,0x36,0x37,0x46,0x46,0x39,0x38,0x39,0x38,0x44,0x34,0x32,0x42,0x36,0x37,0x55,0x4c,0x2c,0x30,0x78,0x45, - 0x38,0x32,0x33,0x39,0x33,0x42,0x30,0x42,0x30,0x45,0x38,0x37,0x42,0x32,0x33,0x55,0x4c,0x2c,0x30,0x78,0x34,0x41,0x44,0x45,0x35,0x42,0x38,0x35,0x38,0x35,0x34,0x41, - 0x31,0x31,0x44,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x42,0x42,0x44,0x30,0x36,0x42,0x42,0x42,0x42,0x36,0x42,0x36,0x44,0x42,0x44,0x55,0x4c,0x2c,0x30,0x78,0x32, - 0x41,0x37,0x45,0x42,0x42,0x43,0x35,0x43,0x35,0x32,0x41,0x39,0x31,0x37,0x45,0x55,0x4c,0x2c,0x30,0x78,0x45,0x35,0x33,0x34,0x37,0x42,0x34,0x46,0x34,0x46,0x45,0x35, - 0x39,0x45,0x33,0x34,0x55,0x4c,0x2c,0x30,0x78,0x31,0x36,0x33,0x41,0x44,0x37,0x45,0x44,0x45,0x44,0x31,0x36,0x43,0x31,0x33,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43, - 0x35,0x35,0x34,0x44,0x32,0x38,0x36,0x38,0x36,0x43,0x35,0x31,0x37,0x35,0x34,0x55,0x4c,0x2c,0x30,0x78,0x44,0x37,0x36,0x32,0x46,0x38,0x39,0x41,0x39,0x41,0x44,0x37, - 0x32,0x46,0x36,0x32,0x55,0x4c,0x2c,0x30,0x78,0x35,0x35,0x46,0x46,0x39,0x39,0x36,0x36,0x36,0x36,0x35,0x35,0x43,0x43,0x46,0x46,0x55,0x4c,0x2c,0x30,0x78,0x39,0x34, - 0x41,0x37,0x42,0x36,0x31,0x31,0x31,0x31,0x39,0x34,0x32,0x32,0x41,0x37,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x46,0x34,0x41,0x43,0x30,0x38,0x41,0x38,0x41,0x43,0x46, - 0x30,0x46,0x34,0x41,0x55,0x4c,0x2c,0x30,0x78,0x31,0x30,0x33,0x30,0x44,0x39,0x45,0x39,0x45,0x39,0x31,0x30,0x43,0x39,0x33,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x36, - 0x30,0x41,0x30,0x45,0x30,0x34,0x30,0x34,0x30,0x36,0x30,0x38,0x30,0x41,0x55,0x4c,0x2c,0x30,0x78,0x38,0x31,0x39,0x38,0x36,0x36,0x46,0x45,0x46,0x45,0x38,0x31,0x45, - 0x37,0x39,0x38,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x46,0x30,0x30,0x42,0x41,0x42,0x41,0x30,0x41,0x30,0x46,0x30,0x35,0x42,0x30,0x42,0x55,0x4c,0x2c,0x30,0x78,0x34,0x34, - 0x43,0x43,0x42,0x34,0x37,0x38,0x37,0x38,0x34,0x34,0x46,0x30,0x43,0x43,0x55,0x4c,0x2c,0x30,0x78,0x42,0x41,0x44,0x35,0x46,0x30,0x32,0x35,0x32,0x35,0x42,0x41,0x34, - 0x41,0x44,0x35,0x55,0x4c,0x2c,0x30,0x78,0x45,0x33,0x33,0x45,0x37,0x35,0x34,0x42,0x34,0x42,0x45,0x33,0x39,0x36,0x33,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x46,0x33, - 0x30,0x45,0x41,0x43,0x41,0x32,0x41,0x32,0x46,0x33,0x35,0x46,0x30,0x45,0x55,0x4c,0x2c,0x30,0x78,0x46,0x45,0x31,0x39,0x34,0x34,0x35,0x44,0x35,0x44,0x46,0x45,0x42, - 0x41,0x31,0x39,0x55,0x4c,0x2c,0x30,0x78,0x43,0x30,0x35,0x42,0x44,0x42,0x38,0x30,0x38,0x30,0x43,0x30,0x31,0x42,0x35,0x42,0x55,0x4c,0x2c,0x30,0x78,0x38,0x41,0x38, - 0x35,0x38,0x30,0x30,0x35,0x30,0x35,0x38,0x41,0x30,0x41,0x38,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x41,0x44,0x45,0x43,0x44,0x33,0x33,0x46,0x33,0x46,0x41,0x44,0x37, - 0x45,0x45,0x43,0x55,0x4c,0x2c,0x30,0x78,0x42,0x43,0x44,0x46,0x46,0x45,0x32,0x31,0x32,0x31,0x42,0x43,0x34,0x32,0x44,0x46,0x55,0x4c,0x2c,0x30,0x78,0x34,0x38,0x44, - 0x38,0x41,0x38,0x37,0x30,0x37,0x30,0x34,0x38,0x45,0x30,0x44,0x38,0x55,0x4c,0x2c,0x30,0x78,0x30,0x34,0x30,0x43,0x46,0x44,0x46,0x31,0x46,0x31,0x30,0x34,0x46,0x39, - 0x30,0x43,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x46,0x37,0x41,0x31,0x39,0x36,0x33,0x36,0x33,0x44,0x46,0x43,0x36,0x37,0x41,0x55,0x4c,0x2c,0x30,0x78,0x43,0x31,0x35, - 0x38,0x32,0x46,0x37,0x37,0x37,0x37,0x43,0x31,0x45,0x45,0x35,0x38,0x55,0x4c,0x2c,0x30,0x78,0x37,0x35,0x39,0x46,0x33,0x30,0x41,0x46,0x41,0x46,0x37,0x35,0x34,0x35, - 0x39,0x46,0x55,0x4c,0x2c,0x30,0x78,0x36,0x33,0x41,0x35,0x45,0x37,0x34,0x32,0x34,0x32,0x36,0x33,0x38,0x34,0x41,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33,0x30,0x35, - 0x30,0x37,0x30,0x32,0x30,0x32,0x30,0x33,0x30,0x34,0x30,0x35,0x30,0x55,0x4c,0x2c,0x30,0x78,0x31,0x41,0x32,0x45,0x43,0x42,0x45,0x35,0x45,0x35,0x31,0x41,0x44,0x31, - 0x32,0x45,0x55,0x4c,0x2c,0x30,0x78,0x30,0x45,0x31,0x32,0x45,0x46,0x46,0x44,0x46,0x44,0x30,0x45,0x45,0x31,0x31,0x32,0x55,0x4c,0x2c,0x30,0x78,0x36,0x44,0x42,0x37, - 0x30,0x38,0x42,0x46,0x42,0x46,0x36,0x44,0x36,0x35,0x42,0x37,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x34,0x43,0x44,0x34,0x35,0x35,0x38,0x31,0x38,0x31,0x34,0x43,0x31,0x39, - 0x44,0x34,0x55,0x4c,0x2c,0x30,0x78,0x31,0x34,0x33,0x43,0x32,0x34,0x31,0x38,0x31,0x38,0x31,0x34,0x33,0x30,0x33,0x43,0x55,0x4c,0x2c,0x30,0x78,0x33,0x35,0x35,0x46, - 0x37,0x39,0x32,0x36,0x32,0x36,0x33,0x35,0x34,0x43,0x35,0x46,0x55,0x4c,0x2c,0x30,0x78,0x32,0x46,0x37,0x31,0x42,0x32,0x43,0x33,0x43,0x33,0x32,0x46,0x39,0x44,0x37, - 0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x45,0x31,0x33,0x38,0x38,0x36,0x42,0x45,0x42,0x45,0x45,0x31,0x36,0x37,0x33,0x38,0x55,0x4c,0x2c,0x30,0x78,0x41,0x32,0x46,0x44, - 0x43,0x38,0x33,0x35,0x33,0x35,0x41,0x32,0x36,0x41,0x46,0x44,0x55,0x4c,0x2c,0x30,0x78,0x43,0x43,0x34,0x46,0x43,0x37,0x38,0x38,0x38,0x38,0x43,0x43,0x30,0x42,0x34, - 0x46,0x55,0x4c,0x2c,0x30,0x78,0x33,0x39,0x34,0x42,0x36,0x35,0x32,0x45,0x32,0x45,0x33,0x39,0x35,0x43,0x34,0x42,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x37,0x46,0x39, - 0x36,0x41,0x39,0x33,0x39,0x33,0x35,0x37,0x33,0x44,0x46,0x39,0x55,0x4c,0x2c,0x30,0x78,0x46,0x32,0x30,0x44,0x35,0x38,0x35,0x35,0x35,0x35,0x46,0x32,0x41,0x41,0x30, - 0x44,0x55,0x4c,0x2c,0x30,0x78,0x38,0x32,0x39,0x44,0x36,0x31,0x46,0x43,0x46,0x43,0x38,0x32,0x45,0x33,0x39,0x44,0x55,0x4c,0x2c,0x30,0x78,0x34,0x37,0x43,0x39,0x42, - 0x33,0x37,0x41,0x37,0x41,0x34,0x37,0x46,0x34,0x43,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x41,0x43,0x45,0x46,0x32,0x37,0x43,0x38,0x43,0x38,0x41,0x43,0x38,0x42,0x45, - 0x46,0x55,0x4c,0x2c,0x30,0x78,0x45,0x37,0x33,0x32,0x38,0x38,0x42,0x41,0x42,0x41,0x45,0x37,0x36,0x46,0x33,0x32,0x55,0x4c,0x2c,0x30,0x78,0x32,0x42,0x37,0x44,0x34, - 0x46,0x33,0x32,0x33,0x32,0x32,0x42,0x36,0x34,0x37,0x44,0x55,0x4c,0x2c,0x30,0x78,0x39,0x35,0x41,0x34,0x34,0x32,0x45,0x36,0x45,0x36,0x39,0x35,0x44,0x37,0x41,0x34, - 0x55,0x4c,0x2c,0x0a,0x30,0x78,0x41,0x30,0x46,0x42,0x33,0x42,0x43,0x30,0x43,0x30,0x41,0x30,0x39,0x42,0x46,0x42,0x55,0x4c,0x2c,0x30,0x78,0x39,0x38,0x42,0x33,0x41, - 0x41,0x31,0x39,0x31,0x39,0x39,0x38,0x33,0x32,0x42,0x33,0x55,0x4c,0x2c,0x30,0x78,0x44,0x31,0x36,0x38,0x46,0x36,0x39,0x45,0x39,0x45,0x44,0x31,0x32,0x37,0x36,0x38, - 0x55,0x4c,0x2c,0x30,0x78,0x37,0x46,0x38,0x31,0x32,0x32,0x41,0x33,0x41,0x33,0x37,0x46,0x35,0x44,0x38,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x36,0x41,0x41,0x45, - 0x45,0x34,0x34,0x34,0x34,0x36,0x36,0x38,0x38,0x41,0x41,0x55,0x4c,0x2c,0x30,0x78,0x37,0x45,0x38,0x32,0x44,0x36,0x35,0x34,0x35,0x34,0x37,0x45,0x41,0x38,0x38,0x32, - 0x55,0x4c,0x2c,0x30,0x78,0x41,0x42,0x45,0x36,0x44,0x44,0x33,0x42,0x33,0x42,0x41,0x42,0x37,0x36,0x45,0x36,0x55,0x4c,0x2c,0x30,0x78,0x38,0x33,0x39,0x45,0x39,0x35, - 0x30,0x42,0x30,0x42,0x38,0x33,0x31,0x36,0x39,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x41,0x34,0x35,0x43,0x39,0x38,0x43,0x38,0x43,0x43,0x41,0x30,0x33,0x34,0x35, - 0x55,0x4c,0x2c,0x30,0x78,0x32,0x39,0x37,0x42,0x42,0x43,0x43,0x37,0x43,0x37,0x32,0x39,0x39,0x35,0x37,0x42,0x55,0x4c,0x2c,0x30,0x78,0x44,0x33,0x36,0x45,0x30,0x35, - 0x36,0x42,0x36,0x42,0x44,0x33,0x44,0x36,0x36,0x45,0x55,0x4c,0x2c,0x30,0x78,0x33,0x43,0x34,0x34,0x36,0x43,0x32,0x38,0x32,0x38,0x33,0x43,0x35,0x30,0x34,0x34,0x55, - 0x4c,0x2c,0x0a,0x30,0x78,0x37,0x39,0x38,0x42,0x32,0x43,0x41,0x37,0x41,0x37,0x37,0x39,0x35,0x35,0x38,0x42,0x55,0x4c,0x2c,0x30,0x78,0x45,0x32,0x33,0x44,0x38,0x31, - 0x42,0x43,0x42,0x43,0x45,0x32,0x36,0x33,0x33,0x44,0x55,0x4c,0x2c,0x30,0x78,0x31,0x44,0x32,0x37,0x33,0x31,0x31,0x36,0x31,0x36,0x31,0x44,0x32,0x43,0x32,0x37,0x55, - 0x4c,0x2c,0x30,0x78,0x37,0x36,0x39,0x41,0x33,0x37,0x41,0x44,0x41,0x44,0x37,0x36,0x34,0x31,0x39,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33,0x42,0x34,0x44,0x39,0x36, - 0x44,0x42,0x44,0x42,0x33,0x42,0x41,0x44,0x34,0x44,0x55,0x4c,0x2c,0x30,0x78,0x35,0x36,0x46,0x41,0x39,0x45,0x36,0x34,0x36,0x34,0x35,0x36,0x43,0x38,0x46,0x41,0x55, - 0x4c,0x2c,0x30,0x78,0x34,0x45,0x44,0x32,0x41,0x36,0x37,0x34,0x37,0x34,0x34,0x45,0x45,0x38,0x44,0x32,0x55,0x4c,0x2c,0x30,0x78,0x31,0x45,0x32,0x32,0x33,0x36,0x31, - 0x34,0x31,0x34,0x31,0x45,0x32,0x38,0x32,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x42,0x37,0x36,0x45,0x34,0x39,0x32,0x39,0x32,0x44,0x42,0x33,0x46,0x37,0x36,0x55, - 0x4c,0x2c,0x30,0x78,0x30,0x41,0x31,0x45,0x31,0x32,0x30,0x43,0x30,0x43,0x30,0x41,0x31,0x38,0x31,0x45,0x55,0x4c,0x2c,0x30,0x78,0x36,0x43,0x42,0x34,0x46,0x43,0x34, - 0x38,0x34,0x38,0x36,0x43,0x39,0x30,0x42,0x34,0x55,0x4c,0x2c,0x30,0x78,0x45,0x34,0x33,0x37,0x38,0x46,0x42,0x38,0x42,0x38,0x45,0x34,0x36,0x42,0x33,0x37,0x55,0x4c, - 0x2c,0x0a,0x30,0x78,0x35,0x44,0x45,0x37,0x37,0x38,0x39,0x46,0x39,0x46,0x35,0x44,0x32,0x35,0x45,0x37,0x55,0x4c,0x2c,0x30,0x78,0x36,0x45,0x42,0x32,0x30,0x46,0x42, - 0x44,0x42,0x44,0x36,0x45,0x36,0x31,0x42,0x32,0x55,0x4c,0x2c,0x30,0x78,0x45,0x46,0x32,0x41,0x36,0x39,0x34,0x33,0x34,0x33,0x45,0x46,0x38,0x36,0x32,0x41,0x55,0x4c, - 0x2c,0x30,0x78,0x41,0x36,0x46,0x31,0x33,0x35,0x43,0x34,0x43,0x34,0x41,0x36,0x39,0x33,0x46,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x41,0x38,0x45,0x33,0x44,0x41,0x33, - 0x39,0x33,0x39,0x41,0x38,0x37,0x32,0x45,0x33,0x55,0x4c,0x2c,0x30,0x78,0x41,0x34,0x46,0x37,0x43,0x36,0x33,0x31,0x33,0x31,0x41,0x34,0x36,0x32,0x46,0x37,0x55,0x4c, - 0x2c,0x30,0x78,0x33,0x37,0x35,0x39,0x38,0x41,0x44,0x33,0x44,0x33,0x33,0x37,0x42,0x44,0x35,0x39,0x55,0x4c,0x2c,0x30,0x78,0x38,0x42,0x38,0x36,0x37,0x34,0x46,0x32, - 0x46,0x32,0x38,0x42,0x46,0x46,0x38,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33,0x32,0x35,0x36,0x38,0x33,0x44,0x35,0x44,0x35,0x33,0x32,0x42,0x31,0x35,0x36,0x55,0x4c, - 0x2c,0x30,0x78,0x34,0x33,0x43,0x35,0x34,0x45,0x38,0x42,0x38,0x42,0x34,0x33,0x30,0x44,0x43,0x35,0x55,0x4c,0x2c,0x30,0x78,0x35,0x39,0x45,0x42,0x38,0x35,0x36,0x45, - 0x36,0x45,0x35,0x39,0x44,0x43,0x45,0x42,0x55,0x4c,0x2c,0x30,0x78,0x42,0x37,0x43,0x32,0x31,0x38,0x44,0x41,0x44,0x41,0x42,0x37,0x41,0x46,0x43,0x32,0x55,0x4c,0x2c, - 0x0a,0x30,0x78,0x38,0x43,0x38,0x46,0x38,0x45,0x30,0x31,0x30,0x31,0x38,0x43,0x30,0x32,0x38,0x46,0x55,0x4c,0x2c,0x30,0x78,0x36,0x34,0x41,0x43,0x31,0x44,0x42,0x31, - 0x42,0x31,0x36,0x34,0x37,0x39,0x41,0x43,0x55,0x4c,0x2c,0x30,0x78,0x44,0x32,0x36,0x44,0x46,0x31,0x39,0x43,0x39,0x43,0x44,0x32,0x32,0x33,0x36,0x44,0x55,0x4c,0x2c, - 0x30,0x78,0x45,0x30,0x33,0x42,0x37,0x32,0x34,0x39,0x34,0x39,0x45,0x30,0x39,0x32,0x33,0x42,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x42,0x34,0x43,0x37,0x31,0x46,0x44,0x38, - 0x44,0x38,0x42,0x34,0x41,0x42,0x43,0x37,0x55,0x4c,0x2c,0x30,0x78,0x46,0x41,0x31,0x35,0x42,0x39,0x41,0x43,0x41,0x43,0x46,0x41,0x34,0x33,0x31,0x35,0x55,0x4c,0x2c, - 0x30,0x78,0x30,0x37,0x30,0x39,0x46,0x41,0x46,0x33,0x46,0x33,0x30,0x37,0x46,0x44,0x30,0x39,0x55,0x4c,0x2c,0x30,0x78,0x32,0x35,0x36,0x46,0x41,0x30,0x43,0x46,0x43, - 0x46,0x32,0x35,0x38,0x35,0x36,0x46,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x41,0x46,0x45,0x41,0x32,0x30,0x43,0x41,0x43,0x41,0x41,0x46,0x38,0x46,0x45,0x41,0x55,0x4c,0x2c, - 0x30,0x78,0x38,0x45,0x38,0x39,0x37,0x44,0x46,0x34,0x46,0x34,0x38,0x45,0x46,0x33,0x38,0x39,0x55,0x4c,0x2c,0x30,0x78,0x45,0x39,0x32,0x30,0x36,0x37,0x34,0x37,0x34, - 0x37,0x45,0x39,0x38,0x45,0x32,0x30,0x55,0x4c,0x2c,0x30,0x78,0x31,0x38,0x32,0x38,0x33,0x38,0x31,0x30,0x31,0x30,0x31,0x38,0x32,0x30,0x32,0x38,0x55,0x4c,0x2c,0x0a, - 0x30,0x78,0x44,0x35,0x36,0x34,0x30,0x42,0x36,0x46,0x36,0x46,0x44,0x35,0x44,0x45,0x36,0x34,0x55,0x4c,0x2c,0x30,0x78,0x38,0x38,0x38,0x33,0x37,0x33,0x46,0x30,0x46, - 0x30,0x38,0x38,0x46,0x42,0x38,0x33,0x55,0x4c,0x2c,0x30,0x78,0x36,0x46,0x42,0x31,0x46,0x42,0x34,0x41,0x34,0x41,0x36,0x46,0x39,0x34,0x42,0x31,0x55,0x4c,0x2c,0x30, - 0x78,0x37,0x32,0x39,0x36,0x43,0x41,0x35,0x43,0x35,0x43,0x37,0x32,0x42,0x38,0x39,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x34,0x36,0x43,0x35,0x34,0x33,0x38,0x33, - 0x38,0x32,0x34,0x37,0x30,0x36,0x43,0x55,0x4c,0x2c,0x30,0x78,0x46,0x31,0x30,0x38,0x35,0x46,0x35,0x37,0x35,0x37,0x46,0x31,0x41,0x45,0x30,0x38,0x55,0x4c,0x2c,0x30, - 0x78,0x43,0x37,0x35,0x32,0x32,0x31,0x37,0x33,0x37,0x33,0x43,0x37,0x45,0x36,0x35,0x32,0x55,0x4c,0x2c,0x30,0x78,0x35,0x31,0x46,0x33,0x36,0x34,0x39,0x37,0x39,0x37, - 0x35,0x31,0x33,0x35,0x46,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x33,0x36,0x35,0x41,0x45,0x43,0x42,0x43,0x42,0x32,0x33,0x38,0x44,0x36,0x35,0x55,0x4c,0x2c,0x30, - 0x78,0x37,0x43,0x38,0x34,0x32,0x35,0x41,0x31,0x41,0x31,0x37,0x43,0x35,0x39,0x38,0x34,0x55,0x4c,0x2c,0x30,0x78,0x39,0x43,0x42,0x46,0x35,0x37,0x45,0x38,0x45,0x38, - 0x39,0x43,0x43,0x42,0x42,0x46,0x55,0x4c,0x2c,0x30,0x78,0x32,0x31,0x36,0x33,0x35,0x44,0x33,0x45,0x33,0x45,0x32,0x31,0x37,0x43,0x36,0x33,0x55,0x4c,0x2c,0x0a,0x30, - 0x78,0x44,0x44,0x37,0x43,0x45,0x41,0x39,0x36,0x39,0x36,0x44,0x44,0x33,0x37,0x37,0x43,0x55,0x4c,0x2c,0x30,0x78,0x44,0x43,0x37,0x46,0x31,0x45,0x36,0x31,0x36,0x31, - 0x44,0x43,0x43,0x32,0x37,0x46,0x55,0x4c,0x2c,0x30,0x78,0x38,0x36,0x39,0x31,0x39,0x43,0x30,0x44,0x30,0x44,0x38,0x36,0x31,0x41,0x39,0x31,0x55,0x4c,0x2c,0x30,0x78, - 0x38,0x35,0x39,0x34,0x39,0x42,0x30,0x46,0x30,0x46,0x38,0x35,0x31,0x45,0x39,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x30,0x41,0x42,0x34,0x42,0x45,0x30,0x45,0x30, - 0x39,0x30,0x44,0x42,0x41,0x42,0x55,0x4c,0x2c,0x30,0x78,0x34,0x32,0x43,0x36,0x42,0x41,0x37,0x43,0x37,0x43,0x34,0x32,0x46,0x38,0x43,0x36,0x55,0x4c,0x2c,0x30,0x78, - 0x43,0x34,0x35,0x37,0x32,0x36,0x37,0x31,0x37,0x31,0x43,0x34,0x45,0x32,0x35,0x37,0x55,0x4c,0x2c,0x30,0x78,0x41,0x41,0x45,0x35,0x32,0x39,0x43,0x43,0x43,0x43,0x41, - 0x41,0x38,0x33,0x45,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x38,0x37,0x33,0x45,0x33,0x39,0x30,0x39,0x30,0x44,0x38,0x33,0x42,0x37,0x33,0x55,0x4c,0x2c,0x30,0x78, - 0x30,0x35,0x30,0x46,0x30,0x39,0x30,0x36,0x30,0x36,0x30,0x35,0x30,0x43,0x30,0x46,0x55,0x4c,0x2c,0x30,0x78,0x30,0x31,0x30,0x33,0x46,0x34,0x46,0x37,0x46,0x37,0x30, - 0x31,0x46,0x35,0x30,0x33,0x55,0x4c,0x2c,0x30,0x78,0x31,0x32,0x33,0x36,0x32,0x41,0x31,0x43,0x31,0x43,0x31,0x32,0x33,0x38,0x33,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78, - 0x41,0x33,0x46,0x45,0x33,0x43,0x43,0x32,0x43,0x32,0x41,0x33,0x39,0x46,0x46,0x45,0x55,0x4c,0x2c,0x30,0x78,0x35,0x46,0x45,0x31,0x38,0x42,0x36,0x41,0x36,0x41,0x35, - 0x46,0x44,0x34,0x45,0x31,0x55,0x4c,0x2c,0x30,0x78,0x46,0x39,0x31,0x30,0x42,0x45,0x41,0x45,0x41,0x45,0x46,0x39,0x34,0x37,0x31,0x30,0x55,0x4c,0x2c,0x30,0x78,0x44, - 0x30,0x36,0x42,0x30,0x32,0x36,0x39,0x36,0x39,0x44,0x30,0x44,0x32,0x36,0x42,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x31,0x41,0x38,0x42,0x46,0x31,0x37,0x31,0x37,0x39, - 0x31,0x32,0x45,0x41,0x38,0x55,0x4c,0x2c,0x30,0x78,0x35,0x38,0x45,0x38,0x37,0x31,0x39,0x39,0x39,0x39,0x35,0x38,0x32,0x39,0x45,0x38,0x55,0x4c,0x2c,0x30,0x78,0x32, - 0x37,0x36,0x39,0x35,0x33,0x33,0x41,0x33,0x41,0x32,0x37,0x37,0x34,0x36,0x39,0x55,0x4c,0x2c,0x30,0x78,0x42,0x39,0x44,0x30,0x46,0x37,0x32,0x37,0x32,0x37,0x42,0x39, - 0x34,0x45,0x44,0x30,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33,0x38,0x34,0x38,0x39,0x31,0x44,0x39,0x44,0x39,0x33,0x38,0x41,0x39,0x34,0x38,0x55,0x4c,0x2c,0x30,0x78,0x31, - 0x33,0x33,0x35,0x44,0x45,0x45,0x42,0x45,0x42,0x31,0x33,0x43,0x44,0x33,0x35,0x55,0x4c,0x2c,0x30,0x78,0x42,0x33,0x43,0x45,0x45,0x35,0x32,0x42,0x32,0x42,0x42,0x33, - 0x35,0x36,0x43,0x45,0x55,0x4c,0x2c,0x30,0x78,0x33,0x33,0x35,0x35,0x37,0x37,0x32,0x32,0x32,0x32,0x33,0x33,0x34,0x34,0x35,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x42, - 0x42,0x44,0x36,0x30,0x34,0x44,0x32,0x44,0x32,0x42,0x42,0x42,0x46,0x44,0x36,0x55,0x4c,0x2c,0x30,0x78,0x37,0x30,0x39,0x30,0x33,0x39,0x41,0x39,0x41,0x39,0x37,0x30, - 0x34,0x39,0x39,0x30,0x55,0x4c,0x2c,0x30,0x78,0x38,0x39,0x38,0x30,0x38,0x37,0x30,0x37,0x30,0x37,0x38,0x39,0x30,0x45,0x38,0x30,0x55,0x4c,0x2c,0x30,0x78,0x41,0x37, - 0x46,0x32,0x43,0x31,0x33,0x33,0x33,0x33,0x41,0x37,0x36,0x36,0x46,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x42,0x36,0x43,0x31,0x45,0x43,0x32,0x44,0x32,0x44,0x42,0x36, - 0x35,0x41,0x43,0x31,0x55,0x4c,0x2c,0x30,0x78,0x32,0x32,0x36,0x36,0x35,0x41,0x33,0x43,0x33,0x43,0x32,0x32,0x37,0x38,0x36,0x36,0x55,0x4c,0x2c,0x30,0x78,0x39,0x32, - 0x41,0x44,0x42,0x38,0x31,0x35,0x31,0x35,0x39,0x32,0x32,0x41,0x41,0x44,0x55,0x4c,0x2c,0x30,0x78,0x32,0x30,0x36,0x30,0x41,0x39,0x43,0x39,0x43,0x39,0x32,0x30,0x38, - 0x39,0x36,0x30,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x34,0x39,0x44,0x42,0x35,0x43,0x38,0x37,0x38,0x37,0x34,0x39,0x31,0x35,0x44,0x42,0x55,0x4c,0x2c,0x30,0x78,0x46,0x46, - 0x31,0x41,0x42,0x30,0x41,0x41,0x41,0x41,0x46,0x46,0x34,0x46,0x31,0x41,0x55,0x4c,0x2c,0x30,0x78,0x37,0x38,0x38,0x38,0x44,0x38,0x35,0x30,0x35,0x30,0x37,0x38,0x41, - 0x30,0x38,0x38,0x55,0x4c,0x2c,0x30,0x78,0x37,0x41,0x38,0x45,0x32,0x42,0x41,0x35,0x41,0x35,0x37,0x41,0x35,0x31,0x38,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x46, - 0x38,0x41,0x38,0x39,0x30,0x33,0x30,0x33,0x38,0x46,0x30,0x36,0x38,0x41,0x55,0x4c,0x2c,0x30,0x78,0x46,0x38,0x31,0x33,0x34,0x41,0x35,0x39,0x35,0x39,0x46,0x38,0x42, - 0x32,0x31,0x33,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x39,0x42,0x39,0x32,0x30,0x39,0x30,0x39,0x38,0x30,0x31,0x32,0x39,0x42,0x55,0x4c,0x2c,0x30,0x78,0x31,0x37,0x33, - 0x39,0x32,0x33,0x31,0x41,0x31,0x41,0x31,0x37,0x33,0x34,0x33,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x41,0x37,0x35,0x31,0x30,0x36,0x35,0x36,0x35,0x44,0x41,0x43, - 0x41,0x37,0x35,0x55,0x4c,0x2c,0x30,0x78,0x33,0x31,0x35,0x33,0x38,0x34,0x44,0x37,0x44,0x37,0x33,0x31,0x42,0x35,0x35,0x33,0x55,0x4c,0x2c,0x30,0x78,0x43,0x36,0x35, - 0x31,0x44,0x35,0x38,0x34,0x38,0x34,0x43,0x36,0x31,0x33,0x35,0x31,0x55,0x4c,0x2c,0x30,0x78,0x42,0x38,0x44,0x33,0x30,0x33,0x44,0x30,0x44,0x30,0x42,0x38,0x42,0x42, - 0x44,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x33,0x35,0x45,0x44,0x43,0x38,0x32,0x38,0x32,0x43,0x33,0x31,0x46,0x35,0x45,0x55,0x4c,0x2c,0x30,0x78,0x42,0x30,0x43, - 0x42,0x45,0x32,0x32,0x39,0x32,0x39,0x42,0x30,0x35,0x32,0x43,0x42,0x55,0x4c,0x2c,0x30,0x78,0x37,0x37,0x39,0x39,0x43,0x33,0x35,0x41,0x35,0x41,0x37,0x37,0x42,0x34, - 0x39,0x39,0x55,0x4c,0x2c,0x30,0x78,0x31,0x31,0x33,0x33,0x32,0x44,0x31,0x45,0x31,0x45,0x31,0x31,0x33,0x43,0x33,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x42,0x34, - 0x36,0x33,0x44,0x37,0x42,0x37,0x42,0x43,0x42,0x46,0x36,0x34,0x36,0x55,0x4c,0x2c,0x30,0x78,0x46,0x43,0x31,0x46,0x42,0x37,0x41,0x38,0x41,0x38,0x46,0x43,0x34,0x42, - 0x31,0x46,0x55,0x4c,0x2c,0x30,0x78,0x44,0x36,0x36,0x31,0x30,0x43,0x36,0x44,0x36,0x44,0x44,0x36,0x44,0x41,0x36,0x31,0x55,0x4c,0x2c,0x30,0x78,0x33,0x41,0x34,0x45, - 0x36,0x32,0x32,0x43,0x32,0x43,0x33,0x41,0x35,0x38,0x34,0x45,0x55,0x4c,0x0a,0x7d,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x53,0x54,0x54,0x28,0x64, - 0x2c,0x20,0x61,0x2c,0x20,0x62,0x30,0x2c,0x20,0x62,0x31,0x2c,0x20,0x62,0x32,0x2c,0x20,0x62,0x33,0x2c,0x20,0x62,0x34,0x2c,0x20,0x62,0x35,0x2c,0x20,0x62,0x36,0x2c, - 0x20,0x62,0x37,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x74,0x5b,0x64,0x5d,0x3d,0x54,0x30,0x5f,0x47,0x5b,0x42,0x36,0x34,0x5f,0x30,0x28,0x61,0x5b,0x62,0x30, - 0x5d,0x29,0x5d,0x20,0x5c,0x0a,0x5e,0x20,0x52,0x36,0x34,0x28,0x54,0x30,0x5f,0x47,0x5b,0x42,0x36,0x34,0x5f,0x31,0x28,0x61,0x5b,0x62,0x31,0x5d,0x29,0x5d,0x2c,0x38, - 0x29,0x20,0x5c,0x0a,0x5e,0x20,0x52,0x36,0x34,0x28,0x54,0x30,0x5f,0x47,0x5b,0x42,0x36,0x34,0x5f,0x32,0x28,0x61,0x5b,0x62,0x32,0x5d,0x29,0x5d,0x2c,0x31,0x36,0x29, - 0x20,0x5c,0x0a,0x5e,0x20,0x52,0x36,0x34,0x28,0x54,0x30,0x5f,0x47,0x5b,0x42,0x36,0x34,0x5f,0x33,0x28,0x61,0x5b,0x62,0x33,0x5d,0x29,0x5d,0x2c,0x32,0x34,0x29,0x20, - 0x5c,0x0a,0x5e,0x20,0x54,0x34,0x5f,0x47,0x5b,0x42,0x36,0x34,0x5f,0x34,0x28,0x61,0x5b,0x62,0x34,0x5d,0x29,0x5d,0x20,0x5c,0x0a,0x5e,0x20,0x52,0x36,0x34,0x28,0x54, - 0x34,0x5f,0x47,0x5b,0x42,0x36,0x34,0x5f,0x35,0x28,0x61,0x5b,0x62,0x35,0x5d,0x29,0x5d,0x2c,0x38,0x29,0x20,0x5c,0x0a,0x5e,0x20,0x52,0x36,0x34,0x28,0x54,0x34,0x5f, - 0x47,0x5b,0x42,0x36,0x34,0x5f,0x36,0x28,0x61,0x5b,0x62,0x36,0x5d,0x29,0x5d,0x2c,0x31,0x36,0x29,0x20,0x5c,0x0a,0x5e,0x20,0x52,0x36,0x34,0x28,0x54,0x34,0x5f,0x47, - 0x5b,0x42,0x36,0x34,0x5f,0x37,0x28,0x61,0x5b,0x62,0x37,0x5d,0x29,0x5d,0x2c,0x32,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30, - 0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28,0x61,0x2c,0x20,0x72,0x29,0x20,0x64,0x6f, - 0x20,0x7b,0x20,0x5c,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x5b,0x38,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28, - 0x30,0x78,0x30,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x31,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x31,0x30,0x2c,0x72,0x29,0x3b, - 0x20,0x5c,0x0a,0x61,0x5b,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x32,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x33,0x5d,0x20, - 0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x33,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x34,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28, - 0x30,0x78,0x34,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x35,0x30,0x2c,0x72,0x29,0x3b, - 0x20,0x5c,0x0a,0x61,0x5b,0x36,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x36,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x37,0x5d,0x20, - 0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x37,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x30,0x2c,0x61,0x2c,0x30,0x2c,0x31,0x2c, - 0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x31,0x2c,0x61,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34, - 0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x32,0x2c,0x61,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c, - 0x37,0x2c,0x30,0x2c,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x33,0x2c,0x61,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x2c,0x31, - 0x2c,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x34,0x2c,0x61,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x29, - 0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x35,0x2c,0x61,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x29,0x3b,0x20,0x5c, - 0x0a,0x52,0x53,0x54,0x54,0x28,0x36,0x2c,0x61,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53, - 0x54,0x54,0x28,0x37,0x2c,0x61,0x2c,0x37,0x2c,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x30,0x5d,0x3d, - 0x74,0x5b,0x30,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x31,0x5d,0x3d,0x74,0x5b,0x31,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x32,0x5d,0x3d,0x74,0x5b,0x32,0x5d,0x3b,0x20, - 0x5c,0x0a,0x61,0x5b,0x33,0x5d,0x3d,0x74,0x5b,0x33,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x34,0x5d,0x3d,0x74,0x5b,0x34,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x35,0x5d, - 0x3d,0x74,0x5b,0x35,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x36,0x5d,0x3d,0x74,0x5b,0x36,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x37,0x5d,0x3d,0x74,0x5b,0x37,0x5d,0x3b, - 0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x5f,0x53,0x4d,0x41, - 0x4c,0x4c,0x5f,0x50,0x66,0x28,0x61,0x2c,0x72,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x61,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30, - 0x78,0x30,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x31,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x31,0x30,0x2c,0x72,0x29,0x3b,0x20, - 0x5c,0x0a,0x61,0x5b,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x32,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x33,0x5d,0x20,0x5e, - 0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x33,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x34,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30, - 0x78,0x34,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x35,0x30,0x2c,0x72,0x29,0x3b,0x20, - 0x5c,0x0a,0x61,0x5b,0x36,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x36,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x37,0x5d,0x20,0x5e, - 0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x37,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x37,0x2c,0x61,0x2c,0x37,0x2c,0x30,0x2c,0x31, - 0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x37,0x5d,0x3d,0x74,0x5b,0x37,0x5d,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68, - 0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x51,0x28,0x61,0x2c, - 0x20,0x72,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x5b,0x38,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x30,0x5d,0x20,0x5e,0x3d, - 0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x31,0x5d,0x20,0x5e,0x3d,0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78, - 0x31,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x32,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c, - 0x0a,0x61,0x5b,0x33,0x5d,0x20,0x5e,0x3d,0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x33,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x34,0x5d,0x20,0x5e,0x3d, - 0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x34,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78, - 0x35,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x36,0x5d,0x20,0x5e,0x3d,0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x36,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c, - 0x0a,0x61,0x5b,0x37,0x5d,0x20,0x5e,0x3d,0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x37,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x30,0x2c, - 0x61,0x2c,0x31,0x2c,0x33,0x2c,0x35,0x2c,0x37,0x2c,0x30,0x2c,0x32,0x2c,0x34,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x31,0x2c,0x61,0x2c,0x32, - 0x2c,0x34,0x2c,0x36,0x2c,0x30,0x2c,0x31,0x2c,0x33,0x2c,0x35,0x2c,0x37,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x32,0x2c,0x61,0x2c,0x33,0x2c,0x35,0x2c, - 0x37,0x2c,0x31,0x2c,0x32,0x2c,0x34,0x2c,0x36,0x2c,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x33,0x2c,0x61,0x2c,0x34,0x2c,0x36,0x2c,0x30,0x2c,0x32, - 0x2c,0x33,0x2c,0x35,0x2c,0x37,0x2c,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x34,0x2c,0x61,0x2c,0x35,0x2c,0x37,0x2c,0x31,0x2c,0x33,0x2c,0x34,0x2c, - 0x36,0x2c,0x30,0x2c,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x35,0x2c,0x61,0x2c,0x36,0x2c,0x30,0x2c,0x32,0x2c,0x34,0x2c,0x35,0x2c,0x37,0x2c,0x31, - 0x2c,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x36,0x2c,0x61,0x2c,0x37,0x2c,0x31,0x2c,0x33,0x2c,0x35,0x2c,0x36,0x2c,0x30,0x2c,0x32,0x2c,0x34,0x29, - 0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x37,0x2c,0x61,0x2c,0x30,0x2c,0x32,0x2c,0x34,0x2c,0x36,0x2c,0x37,0x2c,0x31,0x2c,0x33,0x2c,0x35,0x29,0x3b,0x20,0x5c, - 0x0a,0x61,0x5b,0x30,0x5d,0x3d,0x74,0x5b,0x30,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x31,0x5d,0x3d,0x74,0x5b,0x31,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x32,0x5d,0x3d, - 0x74,0x5b,0x32,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x33,0x5d,0x3d,0x74,0x5b,0x33,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x34,0x5d,0x3d,0x74,0x5b,0x34,0x5d,0x3b,0x20, - 0x5c,0x0a,0x61,0x5b,0x35,0x5d,0x3d,0x74,0x5b,0x35,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x36,0x5d,0x3d,0x74,0x5b,0x36,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x37,0x5d, - 0x3d,0x74,0x5b,0x37,0x5d,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x50,0x45,0x52, - 0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28,0x61,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x72,0x3d,0x30, - 0x3b,0x20,0x72,0x3c,0x31,0x30,0x3b,0x20,0x72,0x20,0x2b,0x2b,0x29,0x20,0x5c,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28,0x61,0x2c, - 0x72,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x50,0x45,0x52,0x4d,0x5f,0x53, - 0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x66,0x28,0x61,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x72,0x3d,0x30,0x3b,0x20, - 0x72,0x3c,0x39,0x3b,0x20,0x72,0x20,0x2b,0x2b,0x29,0x20,0x7b,0x20,0x5c,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28,0x61,0x2c,0x72, - 0x29,0x3b,0x7d,0x20,0x5c,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x66,0x28,0x61,0x2c,0x39,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77, - 0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x51,0x28,0x61,0x29, - 0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x72,0x3d,0x30,0x3b,0x20,0x72,0x3c,0x31,0x30,0x3b,0x20,0x72,0x20,0x2b,0x2b, - 0x29,0x20,0x5c,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x51,0x28,0x61,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c, - 0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x42,0x41,0x53,0x45,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f, - 0x32,0x29,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x65,0x74,0x5f,0x72,0x65,0x63,0x69,0x70,0x72,0x6f,0x63,0x61,0x6c,0x28,0x75,0x69, - 0x6e,0x74,0x20,0x61,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x61,0x5f,0x68,0x69,0x3d,0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61, - 0x74,0x28,0x28,0x61,0x3e,0x3e,0x38,0x29,0x2b,0x28,0x28,0x31,0x32,0x36,0x55,0x2b,0x33,0x31,0x55,0x29,0x3c,0x3c,0x32,0x33,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x61,0x5f,0x6c,0x6f,0x3d,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x5f,0x72,0x74,0x65,0x28,0x61, - 0x26,0x30,0x78,0x46,0x46,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x3d,0x6e,0x61,0x74,0x69,0x76,0x65,0x5f,0x72,0x65,0x63, - 0x69,0x70,0x28,0x61,0x5f,0x68,0x69,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x5f,0x73,0x63,0x61,0x6c,0x65,0x64,0x3d,0x61, - 0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x72,0x29,0x2b,0x28,0x36,0x34,0x55,0x3c,0x3c,0x32,0x33,0x29,0x29,0x3b,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x68,0x3d,0x66,0x6d,0x61,0x28,0x61,0x5f,0x6c,0x6f,0x2c,0x72,0x2c,0x66,0x6d,0x61,0x28,0x61,0x5f,0x68,0x69, - 0x2c,0x72,0x2c,0x2d,0x31,0x2e,0x30,0x66,0x29,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x72,0x29,0x3c,0x3c, - 0x39,0x29,0x2d,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x69,0x6e,0x74,0x5f,0x72,0x74,0x65,0x28,0x68,0x2a,0x72,0x5f,0x73,0x63,0x61,0x6c,0x65,0x64,0x29,0x3b,0x0a, - 0x7d,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x66,0x61,0x73,0x74,0x5f,0x64,0x69,0x76,0x5f,0x76,0x32,0x28,0x75,0x6c,0x6f,0x6e,0x67, - 0x20,0x61,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x72,0x3d,0x67,0x65,0x74,0x5f,0x72,0x65, - 0x63,0x69,0x70,0x72,0x6f,0x63,0x61,0x6c,0x28,0x62,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6b,0x3d,0x6d,0x75,0x6c,0x5f,0x68, - 0x69,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x61,0x29,0x2e,0x73,0x30,0x2c,0x72,0x29,0x2b,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x72,0x29,0x2a, - 0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x61,0x29,0x2e,0x73,0x31,0x29,0x2b,0x61,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x71,0x3d, - 0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x6b,0x29,0x2e,0x73,0x31,0x3b,0x0a,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x6d,0x70,0x3d,0x61,0x2d,0x28,0x28,0x75,0x6c,0x6f, - 0x6e,0x67,0x29,0x28,0x71,0x29,0x2a,0x62,0x29,0x3b,0x0a,0x28,0x28,0x69,0x6e,0x74,0x2a,0x29,0x26,0x74,0x6d,0x70,0x29,0x5b,0x31,0x5d,0x2d,0x3d,0x28,0x61,0x73,0x5f, - 0x75,0x69,0x6e,0x74,0x32,0x28,0x6b,0x29,0x2e,0x73,0x31,0x3c,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x61,0x29,0x2e,0x73,0x31,0x29,0x3f,0x62,0x3a,0x30,0x3b, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x6f,0x76,0x65,0x72,0x73,0x68,0x6f,0x6f,0x74,0x3d,0x28,0x28,0x69,0x6e,0x74,0x2a,0x29,0x26,0x74,0x6d,0x70, - 0x29,0x5b,0x31,0x5d,0x3e,0x3e,0x33,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x75,0x6e,0x64,0x65,0x72,0x73,0x68,0x6f,0x6f,0x74,0x3d,0x61, - 0x73,0x5f,0x69,0x6e,0x74,0x32,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x62,0x2d,0x31,0x29,0x2d,0x74,0x6d,0x70,0x29,0x2e,0x73,0x31,0x3e,0x3e,0x33,0x31,0x3b, - 0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x75,0x69,0x6e,0x74,0x32,0x29,0x28,0x71,0x2b,0x6f,0x76,0x65,0x72,0x73,0x68,0x6f,0x6f,0x74,0x2d,0x75,0x6e,0x64,0x65, - 0x72,0x73,0x68,0x6f,0x6f,0x74,0x2c,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x74,0x6d,0x70,0x29,0x2e,0x73,0x30,0x2b,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74, - 0x28,0x6f,0x76,0x65,0x72,0x73,0x68,0x6f,0x6f,0x74,0x29,0x26,0x62,0x29,0x2d,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x75,0x6e,0x64,0x65,0x72,0x73,0x68,0x6f, - 0x6f,0x74,0x29,0x26,0x62,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x75,0x69,0x6e,0x74,0x20,0x66,0x61,0x73,0x74,0x5f,0x73,0x71,0x72,0x74, - 0x5f,0x76,0x32,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6e,0x31,0x29,0x0a,0x7b,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x78,0x3d,0x61,0x73, - 0x5f,0x66,0x6c,0x6f,0x61,0x74,0x28,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x6e,0x31,0x29,0x2e,0x73,0x31,0x3e,0x3e,0x39,0x29,0x2b,0x28,0x28,0x36,0x34, - 0x55,0x2b,0x31,0x32,0x37,0x55,0x29,0x3c,0x3c,0x32,0x33,0x29,0x29,0x3b,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x78,0x31,0x3d,0x6e,0x61,0x74,0x69,0x76,0x65,0x5f,0x72, - 0x73,0x71,0x72,0x74,0x28,0x78,0x29,0x3b,0x0a,0x78,0x3d,0x6e,0x61,0x74,0x69,0x76,0x65,0x5f,0x73,0x71,0x72,0x74,0x28,0x78,0x29,0x3b,0x0a,0x78,0x31,0x3d,0x61,0x73, - 0x5f,0x66,0x6c,0x6f,0x61,0x74,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x78,0x31,0x29,0x2b,0x28,0x33,0x32,0x55,0x3c,0x3c,0x32,0x33,0x29,0x29,0x3b,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x78,0x30,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x78,0x29,0x2d,0x28,0x31,0x35,0x38,0x55,0x3c,0x3c,0x32, - 0x33,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x6c,0x6f,0x6e,0x67,0x20,0x64,0x65,0x6c,0x74,0x61,0x30,0x3d,0x6e,0x31,0x2d,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f, - 0x6e,0x67,0x28,0x28,0x75,0x69,0x6e,0x74,0x32,0x29,0x28,0x6d,0x75,0x6c,0x32,0x34,0x28,0x78,0x30,0x2c,0x78,0x30,0x29,0x2c,0x6d,0x75,0x6c,0x5f,0x68,0x69,0x28,0x78, - 0x30,0x2c,0x78,0x30,0x29,0x29,0x29,0x3c,0x3c,0x31,0x38,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x64,0x65,0x6c,0x74,0x61,0x3d, - 0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x5f,0x72,0x74,0x65,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x32,0x28,0x64,0x65,0x6c,0x74,0x61,0x30, - 0x29,0x2e,0x73,0x31,0x29,0x2a,0x78,0x31,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x28,0x78,0x30,0x3c,0x3c,0x31,0x30,0x29,0x2b,0x63, - 0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x69,0x6e,0x74,0x5f,0x72,0x74,0x65,0x28,0x64,0x65,0x6c,0x74,0x61,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e, - 0x74,0x20,0x73,0x3d,0x72,0x65,0x73,0x75,0x6c,0x74,0x3e,0x3e,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x62,0x3d,0x72,0x65,0x73,0x75, - 0x6c,0x74,0x26,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x78,0x32,0x3d,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x73,0x29,0x2a, - 0x28,0x73,0x2b,0x62,0x29,0x2b,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x72,0x65,0x73,0x75,0x6c,0x74,0x29,0x3c,0x3c,0x33,0x32,0x29,0x2d,0x6e,0x31,0x3b,0x0a, - 0x69,0x66,0x28,0x28,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x78,0x32,0x2b,0x61,0x73,0x5f,0x69,0x6e,0x74,0x28,0x62,0x2d,0x31,0x29,0x29,0x3e,0x3d,0x30,0x29,0x20,0x2d,0x2d, - 0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x69,0x66,0x28,0x28,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x78,0x32,0x2b,0x30,0x78,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x55,0x4c,0x2b,0x73,0x29,0x3c,0x30,0x29,0x20,0x2b,0x2b,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x72,0x65,0x73,0x75,0x6c,0x74, - 0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x69,0x66,0x6e,0x64,0x65,0x66,0x20,0x46,0x41,0x53,0x54,0x5f,0x44,0x49,0x56,0x5f,0x48,0x45,0x41,0x56, - 0x59,0x5f,0x43,0x4c,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x53,0x54,0x5f,0x44,0x49,0x56,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x43,0x4c,0x0a,0x23, - 0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41, - 0x56,0x59,0x29,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x6c,0x6f,0x6e,0x67,0x20,0x66,0x61,0x73,0x74,0x5f,0x64,0x69,0x76,0x5f,0x68,0x65,0x61,0x76,0x79,0x28,0x6c, - 0x6f,0x6e,0x67,0x20,0x5f,0x61,0x2c,0x69,0x6e,0x74,0x20,0x5f,0x62,0x29,0x0a,0x7b,0x0a,0x6c,0x6f,0x6e,0x67,0x20,0x61,0x3d,0x61,0x62,0x73,0x28,0x5f,0x61,0x29,0x3b, - 0x0a,0x69,0x6e,0x74,0x20,0x62,0x3d,0x61,0x62,0x73,0x28,0x5f,0x62,0x29,0x3b,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x63,0x70,0x3d,0x6e,0x61,0x74,0x69,0x76,0x65, - 0x5f,0x72,0x65,0x63,0x69,0x70,0x28,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x5f,0x72,0x74,0x65,0x28,0x62,0x29,0x29,0x3b,0x0a,0x66,0x6c, - 0x6f,0x61,0x74,0x20,0x72,0x63,0x70,0x32,0x3d,0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x72,0x63,0x70,0x29,0x2b,0x28, - 0x33,0x32,0x55,0x3c,0x3c,0x32,0x33,0x29,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x71,0x31,0x3d,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x75,0x6c,0x6f,0x6e, - 0x67,0x28,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x5f,0x72,0x74,0x65,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x32,0x28,0x61,0x29,0x2e,0x73, - 0x31,0x29,0x2a,0x72,0x63,0x70,0x32,0x29,0x3b,0x0a,0x61,0x2d,0x3d,0x71,0x31,0x2a,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x62,0x29,0x3b,0x0a,0x66,0x6c,0x6f,0x61, - 0x74,0x20,0x71,0x32,0x66,0x3d,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x5f,0x72,0x74,0x65,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x32,0x28, - 0x61,0x3e,0x3e,0x31,0x32,0x29,0x2e,0x73,0x30,0x29,0x2a,0x72,0x63,0x70,0x3b,0x0a,0x71,0x32,0x66,0x3d,0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x28,0x61,0x73,0x5f, - 0x75,0x69,0x6e,0x74,0x28,0x71,0x32,0x66,0x29,0x2b,0x28,0x31,0x32,0x55,0x3c,0x3c,0x32,0x33,0x29,0x29,0x3b,0x0a,0x6c,0x6f,0x6e,0x67,0x20,0x71,0x32,0x3d,0x63,0x6f, - 0x6e,0x76,0x65,0x72,0x74,0x5f,0x6c,0x6f,0x6e,0x67,0x5f,0x72,0x74,0x65,0x28,0x71,0x32,0x66,0x29,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x61,0x32,0x3d,0x61,0x73,0x5f,0x69, - 0x6e,0x74,0x32,0x28,0x61,0x29,0x2e,0x73,0x30,0x2d,0x61,0x73,0x5f,0x69,0x6e,0x74,0x32,0x28,0x71,0x32,0x29,0x2e,0x73,0x30,0x2a,0x62,0x3b,0x0a,0x69,0x6e,0x74,0x20, - 0x71,0x33,0x3d,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x69,0x6e,0x74,0x5f,0x72,0x74,0x65,0x28,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x66,0x6c,0x6f,0x61,0x74, - 0x5f,0x72,0x74,0x65,0x28,0x61,0x32,0x29,0x2a,0x72,0x63,0x70,0x29,0x3b,0x0a,0x71,0x33,0x2b,0x3d,0x28,0x61,0x32,0x2d,0x71,0x33,0x2a,0x62,0x29,0x3e,0x3e,0x33,0x31, - 0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x6c,0x6f,0x6e,0x67,0x20,0x71,0x3d,0x71,0x31,0x2b,0x71,0x32,0x2b,0x71,0x33,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, - 0x28,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x32,0x28,0x5f,0x61,0x29,0x2e,0x73,0x31,0x5e,0x5f,0x62,0x29,0x3c,0x30,0x29,0x3f,0x2d,0x71,0x3a,0x71,0x3b,0x0a,0x7d,0x0a, - 0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x69,0x66,0x6e,0x64,0x65,0x66,0x20,0x58,0x4d,0x52,0x49,0x47,0x5f,0x4b,0x45,0x43,0x43, - 0x41,0x4b,0x5f,0x43,0x4c,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x58,0x4d,0x52,0x49,0x47,0x5f,0x4b,0x45,0x43,0x43,0x41,0x4b,0x5f,0x43,0x4c,0x0a,0x53,0x54, - 0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6b,0x65,0x63,0x63, - 0x61,0x6b,0x66,0x5f,0x72,0x6e,0x64,0x63,0x5b,0x32,0x34,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x31,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x32,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x61,0x2c,0x0a,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x2c,0x30,0x78, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x62,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30, - 0x30,0x30,0x31,0x2c,0x0a,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x38,0x31,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x39,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x61,0x2c,0x0a,0x30, - 0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x38,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30, - 0x38,0x30,0x30,0x39,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x61,0x2c,0x0a,0x30,0x78,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x38,0x62,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x62,0x2c,0x30, - 0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x39,0x2c,0x0a,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x38,0x30,0x30,0x33,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x32,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x2c,0x0a,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x61,0x2c, - 0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x61,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30, - 0x30,0x38,0x30,0x38,0x31,0x2c,0x0a,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x30,0x2c,0x30,0x78,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x38,0x0a, - 0x7d,0x3b,0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x69,0x6e,0x74,0x20, - 0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x72,0x6f,0x74,0x63,0x5b,0x32,0x34,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x31,0x2c,0x33,0x2c,0x36,0x2c,0x31,0x30,0x2c,0x31,0x35, - 0x2c,0x32,0x31,0x2c,0x32,0x38,0x2c,0x33,0x36,0x2c,0x34,0x35,0x2c,0x35,0x35,0x2c,0x32,0x2c,0x31,0x34,0x2c,0x0a,0x32,0x37,0x2c,0x34,0x31,0x2c,0x35,0x36,0x2c,0x38, - 0x2c,0x32,0x35,0x2c,0x34,0x33,0x2c,0x36,0x32,0x2c,0x31,0x38,0x2c,0x33,0x39,0x2c,0x36,0x31,0x2c,0x32,0x30,0x2c,0x34,0x34,0x0a,0x7d,0x3b,0x0a,0x53,0x54,0x41,0x54, - 0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66, - 0x5f,0x70,0x69,0x6c,0x6e,0x5b,0x32,0x34,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x31,0x30,0x2c,0x37,0x2c,0x31,0x31,0x2c,0x31,0x37,0x2c,0x31,0x38,0x2c,0x33,0x2c,0x35,0x2c, - 0x31,0x36,0x2c,0x38,0x2c,0x32,0x31,0x2c,0x32,0x34,0x2c,0x34,0x2c,0x0a,0x31,0x35,0x2c,0x32,0x33,0x2c,0x31,0x39,0x2c,0x31,0x33,0x2c,0x31,0x32,0x2c,0x32,0x2c,0x32, - 0x30,0x2c,0x31,0x34,0x2c,0x32,0x32,0x2c,0x39,0x2c,0x36,0x2c,0x31,0x0a,0x7d,0x3b,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x31,0x36,0x30, - 0x30,0x5f,0x31,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x74,0x20,0x69,0x2c,0x72,0x6f,0x75,0x6e,0x64,0x3b,0x0a,0x75,0x6c, - 0x6f,0x6e,0x67,0x20,0x74,0x2c,0x62,0x63,0x5b,0x35,0x5d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f, - 0x72,0x20,0x28,0x72,0x6f,0x75,0x6e,0x64,0x3d,0x30,0x3b,0x20,0x72,0x6f,0x75,0x6e,0x64,0x3c,0x32,0x34,0x3b,0x20,0x2b,0x2b,0x72,0x6f,0x75,0x6e,0x64,0x29,0x20,0x7b, - 0x0a,0x62,0x63,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x5b,0x30,0x5d,0x5e,0x73,0x74,0x5b,0x35,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x30,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x35,0x5d, - 0x5e,0x73,0x74,0x5b,0x32,0x30,0x5d,0x3b,0x0a,0x62,0x63,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x5b,0x31,0x5d,0x5e,0x73,0x74,0x5b,0x36,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x31, - 0x5d,0x5e,0x73,0x74,0x5b,0x31,0x36,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x31,0x5d,0x3b,0x0a,0x62,0x63,0x5b,0x32,0x5d,0x3d,0x73,0x74,0x5b,0x32,0x5d,0x5e,0x73,0x74,0x5b, - 0x37,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x32,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x37,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x32,0x5d,0x3b,0x0a,0x62,0x63,0x5b,0x33,0x5d,0x3d,0x73, - 0x74,0x5b,0x33,0x5d,0x5e,0x73,0x74,0x5b,0x38,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x33,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x38,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x33,0x5d,0x3b, - 0x0a,0x62,0x63,0x5b,0x34,0x5d,0x3d,0x73,0x74,0x5b,0x34,0x5d,0x5e,0x73,0x74,0x5b,0x39,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x34,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x39,0x5d, - 0x5e,0x73,0x74,0x5b,0x32,0x34,0x5d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69, - 0x3d,0x30,0x3b,0x20,0x69,0x3c,0x35,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x74,0x3d,0x62,0x63,0x5b,0x28,0x69,0x2b,0x34,0x29,0x20,0x25,0x20,0x35,0x5d,0x5e, - 0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x62,0x63,0x5b,0x28,0x69,0x2b,0x31,0x29,0x20,0x25,0x20,0x35,0x5d,0x2c,0x31,0x55,0x4c,0x29,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x20, - 0x5d,0x20,0x5e,0x3d,0x20,0x74,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x31,0x30,0x5d,0x20,0x5e, - 0x3d,0x20,0x74,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x31,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x32,0x30,0x5d,0x20,0x5e,0x3d,0x20, - 0x74,0x3b,0x0a,0x7d,0x0a,0x74,0x3d,0x73,0x74,0x5b,0x31,0x5d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66, - 0x6f,0x72,0x20,0x28,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32,0x34,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x62,0x63,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x5b,0x6b, - 0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x70,0x69,0x6c,0x6e,0x5b,0x69,0x5d,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x70,0x69,0x6c,0x6e, - 0x5b,0x69,0x5d,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x72,0x6f,0x74, - 0x63,0x5b,0x69,0x5d,0x29,0x3b,0x0a,0x74,0x3d,0x62,0x63,0x5b,0x30,0x5d,0x3b,0x0a,0x7d,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c, - 0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32,0x35,0x3b,0x20,0x69,0x2b,0x3d,0x35,0x29,0x20,0x7b,0x0a,0x75, - 0x6c,0x6f,0x6e,0x67,0x20,0x74,0x6d,0x70,0x5b,0x35,0x5d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f, - 0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x35,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x74,0x6d,0x70,0x5b,0x78,0x5d,0x3d,0x62, - 0x69,0x74,0x73,0x65,0x6c,0x65,0x63,0x74,0x28,0x73,0x74,0x5b,0x69,0x2b,0x78,0x5d,0x5e,0x73,0x74,0x5b,0x69,0x2b,0x28,0x28,0x78,0x2b,0x32,0x29,0x20,0x25,0x20,0x35, - 0x29,0x5d,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x78,0x5d,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x28,0x28,0x78,0x2b,0x31,0x29,0x20,0x25,0x20,0x35,0x29,0x5d,0x29,0x3b,0x0a,0x7d, - 0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20, - 0x78,0x3c,0x35,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x78,0x5d,0x3d,0x74,0x6d,0x70,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a, - 0x73,0x74,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x72,0x6e,0x64,0x63,0x5b,0x72,0x6f,0x75,0x6e,0x64,0x5d,0x3b,0x0a,0x7d,0x0a, - 0x7d,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x31,0x36,0x30,0x30,0x5f,0x32,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x6c,0x6f, - 0x6e,0x67,0x20,0x2a,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x74,0x20,0x69,0x2c,0x72,0x6f,0x75,0x6e,0x64,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x2c,0x62, - 0x63,0x5b,0x35,0x5d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x72,0x6f,0x75,0x6e, - 0x64,0x3d,0x30,0x3b,0x20,0x72,0x6f,0x75,0x6e,0x64,0x3c,0x32,0x34,0x3b,0x20,0x2b,0x2b,0x72,0x6f,0x75,0x6e,0x64,0x29,0x20,0x7b,0x0a,0x62,0x63,0x5b,0x30,0x5d,0x3d, - 0x73,0x74,0x5b,0x30,0x5d,0x5e,0x73,0x74,0x5b,0x35,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x30,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x35,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x30,0x5d, - 0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x73,0x74,0x5b,0x32,0x5d,0x5e,0x73,0x74,0x5b,0x37,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x32,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x37, - 0x5d,0x5e,0x73,0x74,0x5b,0x32,0x32,0x5d,0x2c,0x31,0x55,0x4c,0x29,0x3b,0x0a,0x62,0x63,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x5b,0x31,0x5d,0x5e,0x73,0x74,0x5b,0x36,0x5d, - 0x5e,0x73,0x74,0x5b,0x31,0x31,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x36,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x31,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x73,0x74,0x5b, - 0x33,0x5d,0x5e,0x73,0x74,0x5b,0x38,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x33,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x38,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x33,0x5d,0x2c,0x31,0x55, - 0x4c,0x29,0x3b,0x0a,0x62,0x63,0x5b,0x32,0x5d,0x3d,0x73,0x74,0x5b,0x32,0x5d,0x5e,0x73,0x74,0x5b,0x37,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x32,0x5d,0x5e,0x73,0x74,0x5b, - 0x31,0x37,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x32,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x73,0x74,0x5b,0x34,0x5d,0x5e,0x73,0x74,0x5b,0x39,0x5d,0x5e,0x73,0x74, - 0x5b,0x31,0x34,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x39,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x34,0x5d,0x2c,0x31,0x55,0x4c,0x29,0x3b,0x0a,0x62,0x63,0x5b,0x33,0x5d,0x3d,0x73, - 0x74,0x5b,0x33,0x5d,0x5e,0x73,0x74,0x5b,0x38,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x33,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x38,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x33,0x5d,0x5e, - 0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x73,0x74,0x5b,0x30,0x5d,0x5e,0x73,0x74,0x5b,0x35,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x30,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x35,0x5d, - 0x5e,0x73,0x74,0x5b,0x32,0x30,0x5d,0x2c,0x31,0x55,0x4c,0x29,0x3b,0x0a,0x62,0x63,0x5b,0x34,0x5d,0x3d,0x73,0x74,0x5b,0x34,0x5d,0x5e,0x73,0x74,0x5b,0x39,0x5d,0x5e, - 0x73,0x74,0x5b,0x31,0x34,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x39,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x34,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x73,0x74,0x5b,0x31, - 0x5d,0x5e,0x73,0x74,0x5b,0x36,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x31,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x36,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x31,0x5d,0x2c,0x31,0x55,0x4c, - 0x29,0x3b,0x0a,0x73,0x74,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x34,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x34, - 0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x34,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63, - 0x5b,0x34,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x32,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x34,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x5d,0x20,0x5e,0x3d,0x20,0x62, - 0x63,0x5b,0x30,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x36,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x30,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x31,0x5d,0x20,0x5e,0x3d,0x20, - 0x62,0x63,0x5b,0x30,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x36,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x30,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x32,0x31,0x5d,0x20,0x5e, - 0x3d,0x20,0x62,0x63,0x5b,0x30,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x31,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x37,0x5d,0x20,0x5e, - 0x3d,0x20,0x62,0x63,0x5b,0x31,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x31,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x37,0x5d, - 0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x31,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x32,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x31,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x33, - 0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x32,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x38,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x32,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31, - 0x33,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x32,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x38,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x32,0x5d,0x3b,0x0a,0x73,0x74, - 0x5b,0x32,0x33,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x32,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x34,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x33,0x5d,0x3b,0x0a,0x73, - 0x74,0x5b,0x39,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x33,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x34,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x33,0x5d,0x3b,0x0a, - 0x73,0x74,0x5b,0x31,0x39,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x33,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x32,0x34,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x33,0x5d, - 0x3b,0x0a,0x74,0x3d,0x73,0x74,0x5b,0x31,0x5d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20, - 0x28,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32,0x34,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x62,0x63,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x5b,0x6b,0x65,0x63,0x63, - 0x61,0x6b,0x66,0x5f,0x70,0x69,0x6c,0x6e,0x5b,0x69,0x5d,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x70,0x69,0x6c,0x6e,0x5b,0x69,0x5d, - 0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x72,0x6f,0x74,0x63,0x5b,0x69, - 0x5d,0x29,0x3b,0x0a,0x74,0x3d,0x62,0x63,0x5b,0x30,0x5d,0x3b,0x0a,0x7d,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a, - 0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32,0x35,0x3b,0x20,0x69,0x2b,0x3d,0x35,0x29,0x20,0x7b,0x0a,0x75,0x6c,0x6f,0x6e, - 0x67,0x20,0x74,0x6d,0x70,0x31,0x3d,0x73,0x74,0x5b,0x69,0x5d,0x2c,0x74,0x6d,0x70,0x32,0x3d,0x73,0x74,0x5b,0x69,0x2b,0x31,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x5d, - 0x3d,0x62,0x69,0x74,0x73,0x65,0x6c,0x65,0x63,0x74,0x28,0x73,0x74,0x5b,0x69,0x5d,0x5e,0x73,0x74,0x5b,0x69,0x2b,0x32,0x5d,0x2c,0x73,0x74,0x5b,0x69,0x5d,0x2c,0x73, - 0x74,0x5b,0x69,0x2b,0x31,0x5d,0x29,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x31,0x5d,0x3d,0x62,0x69,0x74,0x73,0x65,0x6c,0x65,0x63,0x74,0x28,0x73,0x74,0x5b,0x69,0x2b, - 0x31,0x5d,0x5e,0x73,0x74,0x5b,0x69,0x2b,0x33,0x5d,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x31,0x5d,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x32,0x5d,0x29,0x3b,0x0a,0x73,0x74,0x5b, - 0x69,0x2b,0x32,0x5d,0x3d,0x62,0x69,0x74,0x73,0x65,0x6c,0x65,0x63,0x74,0x28,0x73,0x74,0x5b,0x69,0x2b,0x32,0x5d,0x5e,0x73,0x74,0x5b,0x69,0x2b,0x34,0x5d,0x2c,0x73, - 0x74,0x5b,0x69,0x2b,0x32,0x5d,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x33,0x5d,0x29,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x33,0x5d,0x3d,0x62,0x69,0x74,0x73,0x65,0x6c,0x65, - 0x63,0x74,0x28,0x73,0x74,0x5b,0x69,0x2b,0x33,0x5d,0x5e,0x74,0x6d,0x70,0x31,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x33,0x5d,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x34,0x5d,0x29, - 0x3b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x34,0x5d,0x3d,0x62,0x69,0x74,0x73,0x65,0x6c,0x65,0x63,0x74,0x28,0x73,0x74,0x5b,0x69,0x2b,0x34,0x5d,0x5e,0x74,0x6d,0x70,0x32, - 0x2c,0x73,0x74,0x5b,0x69,0x2b,0x34,0x5d,0x2c,0x74,0x6d,0x70,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x73,0x74,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x6b,0x65,0x63,0x63,0x61, - 0x6b,0x66,0x5f,0x72,0x6e,0x64,0x63,0x5b,0x72,0x6f,0x75,0x6e,0x64,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x69,0x66,0x20,0x28, - 0x64,0x65,0x66,0x69,0x6e,0x65,0x64,0x28,0x5f,0x5f,0x4e,0x56,0x5f,0x43,0x4c,0x5f,0x43,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x29,0x20,0x7c,0x7c,0x20,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x64,0x28,0x5f,0x5f,0x41,0x50,0x50,0x4c,0x45,0x5f,0x5f,0x29,0x29,0x20,0x26,0x26,0x20,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44, - 0x45,0x58,0x20,0x21,0x3d,0x20,0x30,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x0a,0x23,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x20,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x30,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x20,0x28,0x31,0x20,0x3c,0x3c,0x20,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x5f,0x45,0x58, - 0x50,0x4f,0x4e,0x45,0x4e,0x54,0x29,0x0a,0x23,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x30,0x29, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x44,0x58,0x28,0x78,0x29,0x20,0x28,0x78,0x29,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44, - 0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20, - 0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x44,0x58,0x28, - 0x78,0x29,0x20,0x28,0x28,0x78,0x29,0x20,0x2a,0x20,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x49,0x44,0x58,0x28,0x78,0x29,0x20,0x6d,0x75,0x6c,0x32,0x34,0x28,0x28,0x78,0x29,0x2c,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x23,0x65,0x6e, - 0x64,0x69,0x66,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x23, - 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x44,0x58,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x25,0x20,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x29, - 0x20,0x2b,0x20,0x28,0x28,0x78,0x29,0x20,0x2f,0x20,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x29,0x20,0x2a,0x20,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x20, - 0x2a,0x20,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x29,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x75,0x6c,0x6f,0x6e,0x67, - 0x20,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x0a,0x7b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64, - 0x28,0x30,0x29,0x2d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x6d,0x69,0x78,0x5f,0x61,0x6e,0x64,0x5f,0x70,0x72,0x6f,0x70,0x61,0x67,0x61,0x74,0x65,0x28,0x78,0x69,0x6e,0x29,0x20,0x28,0x78,0x69,0x6e,0x29, - 0x5b,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x29,0x20,0x25,0x20,0x38,0x5d,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61, - 0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x5d,0x20,0x5e,0x20,0x28,0x78,0x69,0x6e,0x29,0x5b,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31, - 0x29,0x20,0x2b,0x20,0x31,0x29,0x20,0x25,0x20,0x38,0x5d,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x5d,0x0a,0x5f,0x5f,0x61, - 0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65, - 0x28,0x38,0x2c,0x38,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x63,0x6e,0x30,0x28,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x69,0x6e,0x70,0x75,0x74,0x2c,0x69,0x6e,0x74,0x20,0x69,0x6e,0x6c,0x65,0x6e,0x2c,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x75,0x69, - 0x6e,0x74,0x20,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x31,0x5b,0x34,0x30,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, - 0x74,0x20,0x41,0x45,0x53,0x30,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x31,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x32,0x5b,0x32,0x35,0x36,0x5d,0x2c, - 0x41,0x45,0x53,0x33,0x5b,0x32,0x35,0x36,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x74,0x65,0x78,0x74,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e, - 0x74,0x20,0x67,0x49,0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f, - 0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x2a,0x38,0x2b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x20,0x69, - 0x3c,0x32,0x35,0x36,0x3b,0x20,0x69,0x2b,0x3d,0x38,0x2a,0x38,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x74,0x6d,0x70,0x3d,0x41, - 0x45,0x53,0x30,0x5f,0x43,0x5b,0x69,0x5d,0x3b,0x0a,0x41,0x45,0x53,0x30,0x5b,0x69,0x5d,0x3d,0x74,0x6d,0x70,0x3b,0x0a,0x41,0x45,0x53,0x31,0x5b,0x69,0x5d,0x3d,0x72, - 0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x38,0x55,0x29,0x3b,0x0a,0x41,0x45,0x53,0x32,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d, - 0x70,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x41,0x45,0x53,0x33,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x32,0x34,0x55,0x29,0x3b, - 0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b, - 0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x53,0x74,0x61,0x74,0x65,0x5f,0x62,0x75,0x66,0x5b,0x38,0x2a,0x32,0x35,0x5d,0x3b,0x0a, - 0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f, - 0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x30,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x2a,0x28,0x4d,0x45, - 0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d, - 0x3d,0x20,0x31,0x29,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f, - 0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x28,0x67,0x49,0x64,0x78,0x2f,0x57,0x4f,0x52,0x4b, - 0x53,0x49,0x5a,0x45,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x28,0x67,0x49,0x64,0x78, - 0x20,0x25,0x20,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d, - 0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45, - 0x58,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x28,0x67,0x49,0x64,0x78,0x2f,0x57,0x4f,0x52,0x4b,0x53,0x49, - 0x5a,0x45,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55, - 0x4e,0x4b,0x2a,0x28,0x67,0x49,0x64,0x78,0x20,0x25,0x20,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28, - 0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x3d,0x3d,0x30,0x29,0x20,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x6c, - 0x6f,0x6e,0x67,0x2a,0x20,0x53,0x74,0x61,0x74,0x65,0x3d,0x53,0x74,0x61,0x74,0x65,0x5f,0x62,0x75,0x66,0x2b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69, - 0x64,0x28,0x30,0x29,0x2a,0x32,0x35,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74, - 0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32,0x35,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x3d,0x30,0x3b,0x0a,0x7d, - 0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x6e,0x6c,0x65,0x6e,0x3e,0x30,0x3b,0x20,0x69,0x2b,0x3d,0x31,0x37,0x2c,0x69,0x6e, - 0x6c,0x65,0x6e,0x2d,0x3d,0x31,0x33,0x36,0x29,0x20,0x7b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f,0x72,0x20,0x28, - 0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x31,0x37,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x20,0x7b,0x0a,0x53,0x74,0x61,0x74,0x65,0x5b,0x6a,0x5d,0x20,0x5e, - 0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x69,0x2b,0x6a,0x5d,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x3d,0x3d,0x30,0x29,0x20,0x7b,0x0a,0x28,0x28,0x5f,0x5f,0x6c, - 0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x53,0x74,0x61,0x74,0x65,0x29,0x5b,0x39,0x5d,0x20,0x26,0x3d,0x20,0x30,0x78,0x30,0x30,0x46,0x46,0x46, - 0x46,0x46,0x46,0x55,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x53,0x74,0x61,0x74,0x65,0x29,0x5b,0x39,0x5d, - 0x7c,0x3d,0x28,0x28,0x28,0x75,0x69,0x6e,0x74,0x29,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x29,0x26,0x30,0x78,0x46,0x46, - 0x29,0x3c,0x3c,0x32,0x34,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x53,0x74,0x61,0x74,0x65,0x29,0x5b,0x31, - 0x30,0x5d,0x20,0x26,0x3d,0x20,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, - 0x74,0x20,0x2a,0x29,0x53,0x74,0x61,0x74,0x65,0x29,0x5b,0x31,0x30,0x5d,0x7c,0x3d,0x28,0x28,0x28,0x75,0x69,0x6e,0x74,0x29,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62, - 0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3e,0x3e,0x38,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x31,0x36,0x30,0x30,0x5f,0x32,0x28,0x53, - 0x74,0x61,0x74,0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69, - 0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32,0x35,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x69,0x5d,0x3d,0x53, - 0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41, - 0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7b,0x0a,0x74,0x65,0x78,0x74,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x34,0x28,0x67,0x65,0x74,0x5f, - 0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x2b,0x34,0x2c,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x28, - 0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x29,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e, - 0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x34,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x29,0x45,0x78,0x70, - 0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x31,0x29,0x5b,0x69,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x69,0x5d,0x3b,0x0a,0x7d,0x0a,0x41,0x45,0x53,0x45,0x78, - 0x70,0x61,0x6e,0x64,0x4b,0x65,0x79,0x32,0x35,0x36,0x28,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f, - 0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20, - 0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29, - 0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x78,0x69,0x6e,0x5b,0x38,0x5d,0x5b,0x38,0x5d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d, - 0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x36,0x0a,0x66,0x6f,0x72,0x20,0x28,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x31, - 0x36,0x3b,0x20,0x69,0x2b,0x2b,0x29,0x20,0x7b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x30,0x0a,0x66,0x6f,0x72,0x20, - 0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x31,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x20,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x74,0x3d,0x28, - 0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x31,0x29,0x5b,0x6a,0x5d,0x3b,0x0a,0x74,0x2e,0x73,0x30,0x20, - 0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x30,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59, - 0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x31,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x32, - 0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x33,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x74,0x2e,0x73,0x31, - 0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x31,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42, - 0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x32,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73, - 0x33,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x30,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x74,0x2e,0x73, - 0x32,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x32,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b, - 0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x33,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e, - 0x73,0x30,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x31,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x74,0x2e, - 0x73,0x33,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x33,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31, - 0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x30,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74, - 0x2e,0x73,0x31,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x32,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x74, - 0x65,0x78,0x74,0x3d,0x74,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46, - 0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x78,0x69,0x6e,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x5d,0x5b,0x67,0x65,0x74,0x5f, - 0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x5d,0x3d,0x74,0x65,0x78,0x74,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c, - 0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x74,0x65,0x78,0x74,0x3d,0x6d,0x69,0x78,0x5f,0x61,0x6e,0x64,0x5f,0x70,0x72, - 0x6f,0x70,0x61,0x67,0x61,0x74,0x65,0x28,0x78,0x69,0x6e,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75, - 0x69,0x6e,0x74,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x31,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x3b,0x0a,0x23, - 0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x32,0x0a,0x66,0x6f,0x72,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c, - 0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x3b,0x20,0x69,0x2b,0x3d,0x38,0x29,0x20,0x7b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72, - 0x6f,0x6c,0x6c,0x20,0x31,0x30,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x31,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29, - 0x20,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x74,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79, - 0x31,0x29,0x5b,0x6a,0x5d,0x3b,0x0a,0x74,0x2e,0x73,0x30,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x30, - 0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x31,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b, - 0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x32,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e, - 0x73,0x33,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x74,0x2e,0x73,0x31,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73, - 0x31,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x32,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32, - 0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x33,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74, - 0x2e,0x73,0x30,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x74,0x2e,0x73,0x32,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e, - 0x73,0x32,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x33,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53, - 0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x30,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78, - 0x74,0x2e,0x73,0x31,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x74,0x2e,0x73,0x33,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74, - 0x2e,0x73,0x33,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x30,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45, - 0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x31,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65, - 0x78,0x74,0x2e,0x73,0x32,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x74,0x65,0x78,0x74,0x3d,0x74,0x3b,0x0a,0x7d,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b, - 0x49,0x44,0x58,0x28,0x69,0x2b,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x31,0x29,0x5d,0x3d,0x74,0x65,0x78,0x74,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f, - 0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x23, - 0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x42,0x41,0x53,0x45,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x30,0x29,0x0a,0x5f,0x5f,0x61,0x74, - 0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28, - 0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x63,0x6e, - 0x31,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x69,0x6e,0x70,0x75,0x74,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, - 0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e, - 0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20, - 0x61,0x5b,0x32,0x5d,0x2c,0x62,0x5b,0x32,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x30,0x5b,0x32,0x35,0x36, - 0x5d,0x2c,0x41,0x45,0x53,0x31,0x5b,0x32,0x35,0x36,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x67,0x49,0x64,0x78,0x3d,0x67,0x65, + 0x5f,0x57,0x52,0x4b,0x5a,0x20,0x30,0x78,0x36,0x31,0x31,0x32,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x4b,0x41, + 0x57,0x50,0x4f,0x57,0x5f,0x52,0x56,0x4e,0x20,0x30,0x78,0x36,0x62,0x30,0x66,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49, + 0x4c,0x59,0x5f,0x55,0x4e,0x4b,0x4e,0x4f,0x57,0x4e,0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x20,0x30, + 0x78,0x36,0x33,0x31,0x35,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x4c,0x49,0x54,0x45, + 0x20,0x30,0x78,0x36,0x33,0x31,0x34,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45, + 0x41,0x56,0x59,0x20,0x30,0x78,0x36,0x33,0x31,0x36,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e, + 0x5f,0x50,0x49,0x43,0x4f,0x20,0x30,0x78,0x36,0x33,0x31,0x32,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f, + 0x43,0x4e,0x5f,0x46,0x45,0x4d,0x54,0x4f,0x20,0x30,0x78,0x36,0x33,0x31,0x31,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49, + 0x4c,0x59,0x5f,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x5f,0x58,0x20,0x30,0x78,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46, + 0x41,0x4d,0x49,0x4c,0x59,0x5f,0x41,0x52,0x47,0x4f,0x4e,0x32,0x20,0x30,0x78,0x36,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x4b,0x41,0x57,0x50,0x4f,0x57,0x20,0x30,0x78,0x36,0x62,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x23,0x69,0x66,0x6e,0x64,0x65,0x66, + 0x20,0x57,0x4f,0x4c,0x46,0x5f,0x41,0x45,0x53,0x5f,0x43,0x4c,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x4f,0x4c,0x46,0x5f,0x41,0x45,0x53,0x5f,0x43,0x4c, + 0x0a,0x23,0x69,0x66,0x64,0x65,0x66,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x0a,0x23,0x65,0x6e, + 0x64,0x69,0x66,0x0a,0x23,0x69,0x66,0x64,0x65,0x66,0x20,0x63,0x6c,0x5f,0x61,0x6d,0x64,0x5f,0x6d,0x65,0x64,0x69,0x61,0x5f,0x6f,0x70,0x73,0x32,0x0a,0x23,0x64,0x65, + 0x66,0x69,0x6e,0x65,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x4f,0x50,0x45,0x4e,0x43, + 0x4c,0x20,0x45,0x58,0x54,0x45,0x4e,0x53,0x49,0x4f,0x4e,0x20,0x63,0x6c,0x5f,0x61,0x6d,0x64,0x5f,0x6d,0x65,0x64,0x69,0x61,0x5f,0x6f,0x70,0x73,0x32,0x20,0x3a,0x20, + 0x65,0x6e,0x61,0x62,0x6c,0x65,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x0a,0x69,0x6e,0x6c,0x69, + 0x6e,0x65,0x20,0x69,0x6e,0x74,0x20,0x61,0x6d,0x64,0x5f,0x62,0x66,0x65,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x30,0x2c,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6f,0x66,0x66,0x73,0x65,0x74,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x77,0x69,0x64,0x74, + 0x68,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x28,0x6f,0x66,0x66,0x73,0x65,0x74,0x2b,0x77,0x69,0x64,0x74,0x68,0x29,0x3c,0x33,0x32,0x75,0x29,0x20,0x7b,0x0a,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x28,0x73,0x72,0x63,0x30,0x3c,0x3c,0x28,0x33,0x32,0x75,0x2d,0x6f,0x66,0x66,0x73,0x65,0x74,0x2d,0x77,0x69,0x64,0x74,0x68,0x29,0x29,0x3e, + 0x3e,0x28,0x33,0x32,0x75,0x2d,0x77,0x69,0x64,0x74,0x68,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x73,0x72,0x63,0x30,0x3e,0x3e,0x6f,0x66,0x66, + 0x73,0x65,0x74,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e, + 0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x30,0x5f,0x43,0x5b,0x32,0x35,0x36,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x41,0x35,0x36, + 0x33,0x36,0x33,0x43,0x36,0x55,0x2c,0x30,0x78,0x38,0x34,0x37,0x43,0x37,0x43,0x46,0x38,0x55,0x2c,0x30,0x78,0x39,0x39,0x37,0x37,0x37,0x37,0x45,0x45,0x55,0x2c,0x30, + 0x78,0x38,0x44,0x37,0x42,0x37,0x42,0x46,0x36,0x55,0x2c,0x0a,0x30,0x78,0x30,0x44,0x46,0x32,0x46,0x32,0x46,0x46,0x55,0x2c,0x30,0x78,0x42,0x44,0x36,0x42,0x36,0x42, + 0x44,0x36,0x55,0x2c,0x30,0x78,0x42,0x31,0x36,0x46,0x36,0x46,0x44,0x45,0x55,0x2c,0x30,0x78,0x35,0x34,0x43,0x35,0x43,0x35,0x39,0x31,0x55,0x2c,0x0a,0x30,0x78,0x35, + 0x30,0x33,0x30,0x33,0x30,0x36,0x30,0x55,0x2c,0x30,0x78,0x30,0x33,0x30,0x31,0x30,0x31,0x30,0x32,0x55,0x2c,0x30,0x78,0x41,0x39,0x36,0x37,0x36,0x37,0x43,0x45,0x55, + 0x2c,0x30,0x78,0x37,0x44,0x32,0x42,0x32,0x42,0x35,0x36,0x55,0x2c,0x0a,0x30,0x78,0x31,0x39,0x46,0x45,0x46,0x45,0x45,0x37,0x55,0x2c,0x30,0x78,0x36,0x32,0x44,0x37, + 0x44,0x37,0x42,0x35,0x55,0x2c,0x30,0x78,0x45,0x36,0x41,0x42,0x41,0x42,0x34,0x44,0x55,0x2c,0x30,0x78,0x39,0x41,0x37,0x36,0x37,0x36,0x45,0x43,0x55,0x2c,0x0a,0x30, + 0x78,0x34,0x35,0x43,0x41,0x43,0x41,0x38,0x46,0x55,0x2c,0x30,0x78,0x39,0x44,0x38,0x32,0x38,0x32,0x31,0x46,0x55,0x2c,0x30,0x78,0x34,0x30,0x43,0x39,0x43,0x39,0x38, + 0x39,0x55,0x2c,0x30,0x78,0x38,0x37,0x37,0x44,0x37,0x44,0x46,0x41,0x55,0x2c,0x0a,0x30,0x78,0x31,0x35,0x46,0x41,0x46,0x41,0x45,0x46,0x55,0x2c,0x30,0x78,0x45,0x42, + 0x35,0x39,0x35,0x39,0x42,0x32,0x55,0x2c,0x30,0x78,0x43,0x39,0x34,0x37,0x34,0x37,0x38,0x45,0x55,0x2c,0x30,0x78,0x30,0x42,0x46,0x30,0x46,0x30,0x46,0x42,0x55,0x2c, + 0x0a,0x30,0x78,0x45,0x43,0x41,0x44,0x41,0x44,0x34,0x31,0x55,0x2c,0x30,0x78,0x36,0x37,0x44,0x34,0x44,0x34,0x42,0x33,0x55,0x2c,0x30,0x78,0x46,0x44,0x41,0x32,0x41, + 0x32,0x35,0x46,0x55,0x2c,0x30,0x78,0x45,0x41,0x41,0x46,0x41,0x46,0x34,0x35,0x55,0x2c,0x0a,0x30,0x78,0x42,0x46,0x39,0x43,0x39,0x43,0x32,0x33,0x55,0x2c,0x30,0x78, + 0x46,0x37,0x41,0x34,0x41,0x34,0x35,0x33,0x55,0x2c,0x30,0x78,0x39,0x36,0x37,0x32,0x37,0x32,0x45,0x34,0x55,0x2c,0x30,0x78,0x35,0x42,0x43,0x30,0x43,0x30,0x39,0x42, + 0x55,0x2c,0x0a,0x30,0x78,0x43,0x32,0x42,0x37,0x42,0x37,0x37,0x35,0x55,0x2c,0x30,0x78,0x31,0x43,0x46,0x44,0x46,0x44,0x45,0x31,0x55,0x2c,0x30,0x78,0x41,0x45,0x39, + 0x33,0x39,0x33,0x33,0x44,0x55,0x2c,0x30,0x78,0x36,0x41,0x32,0x36,0x32,0x36,0x34,0x43,0x55,0x2c,0x0a,0x30,0x78,0x35,0x41,0x33,0x36,0x33,0x36,0x36,0x43,0x55,0x2c, + 0x30,0x78,0x34,0x31,0x33,0x46,0x33,0x46,0x37,0x45,0x55,0x2c,0x30,0x78,0x30,0x32,0x46,0x37,0x46,0x37,0x46,0x35,0x55,0x2c,0x30,0x78,0x34,0x46,0x43,0x43,0x43,0x43, + 0x38,0x33,0x55,0x2c,0x0a,0x30,0x78,0x35,0x43,0x33,0x34,0x33,0x34,0x36,0x38,0x55,0x2c,0x30,0x78,0x46,0x34,0x41,0x35,0x41,0x35,0x35,0x31,0x55,0x2c,0x30,0x78,0x33, + 0x34,0x45,0x35,0x45,0x35,0x44,0x31,0x55,0x2c,0x30,0x78,0x30,0x38,0x46,0x31,0x46,0x31,0x46,0x39,0x55,0x2c,0x0a,0x30,0x78,0x39,0x33,0x37,0x31,0x37,0x31,0x45,0x32, + 0x55,0x2c,0x30,0x78,0x37,0x33,0x44,0x38,0x44,0x38,0x41,0x42,0x55,0x2c,0x30,0x78,0x35,0x33,0x33,0x31,0x33,0x31,0x36,0x32,0x55,0x2c,0x30,0x78,0x33,0x46,0x31,0x35, + 0x31,0x35,0x32,0x41,0x55,0x2c,0x0a,0x30,0x78,0x30,0x43,0x30,0x34,0x30,0x34,0x30,0x38,0x55,0x2c,0x30,0x78,0x35,0x32,0x43,0x37,0x43,0x37,0x39,0x35,0x55,0x2c,0x30, + 0x78,0x36,0x35,0x32,0x33,0x32,0x33,0x34,0x36,0x55,0x2c,0x30,0x78,0x35,0x45,0x43,0x33,0x43,0x33,0x39,0x44,0x55,0x2c,0x0a,0x30,0x78,0x32,0x38,0x31,0x38,0x31,0x38, + 0x33,0x30,0x55,0x2c,0x30,0x78,0x41,0x31,0x39,0x36,0x39,0x36,0x33,0x37,0x55,0x2c,0x30,0x78,0x30,0x46,0x30,0x35,0x30,0x35,0x30,0x41,0x55,0x2c,0x30,0x78,0x42,0x35, + 0x39,0x41,0x39,0x41,0x32,0x46,0x55,0x2c,0x0a,0x30,0x78,0x30,0x39,0x30,0x37,0x30,0x37,0x30,0x45,0x55,0x2c,0x30,0x78,0x33,0x36,0x31,0x32,0x31,0x32,0x32,0x34,0x55, + 0x2c,0x30,0x78,0x39,0x42,0x38,0x30,0x38,0x30,0x31,0x42,0x55,0x2c,0x30,0x78,0x33,0x44,0x45,0x32,0x45,0x32,0x44,0x46,0x55,0x2c,0x0a,0x30,0x78,0x32,0x36,0x45,0x42, + 0x45,0x42,0x43,0x44,0x55,0x2c,0x30,0x78,0x36,0x39,0x32,0x37,0x32,0x37,0x34,0x45,0x55,0x2c,0x30,0x78,0x43,0x44,0x42,0x32,0x42,0x32,0x37,0x46,0x55,0x2c,0x30,0x78, + 0x39,0x46,0x37,0x35,0x37,0x35,0x45,0x41,0x55,0x2c,0x0a,0x30,0x78,0x31,0x42,0x30,0x39,0x30,0x39,0x31,0x32,0x55,0x2c,0x30,0x78,0x39,0x45,0x38,0x33,0x38,0x33,0x31, + 0x44,0x55,0x2c,0x30,0x78,0x37,0x34,0x32,0x43,0x32,0x43,0x35,0x38,0x55,0x2c,0x30,0x78,0x32,0x45,0x31,0x41,0x31,0x41,0x33,0x34,0x55,0x2c,0x0a,0x30,0x78,0x32,0x44, + 0x31,0x42,0x31,0x42,0x33,0x36,0x55,0x2c,0x30,0x78,0x42,0x32,0x36,0x45,0x36,0x45,0x44,0x43,0x55,0x2c,0x30,0x78,0x45,0x45,0x35,0x41,0x35,0x41,0x42,0x34,0x55,0x2c, + 0x30,0x78,0x46,0x42,0x41,0x30,0x41,0x30,0x35,0x42,0x55,0x2c,0x0a,0x30,0x78,0x46,0x36,0x35,0x32,0x35,0x32,0x41,0x34,0x55,0x2c,0x30,0x78,0x34,0x44,0x33,0x42,0x33, + 0x42,0x37,0x36,0x55,0x2c,0x30,0x78,0x36,0x31,0x44,0x36,0x44,0x36,0x42,0x37,0x55,0x2c,0x30,0x78,0x43,0x45,0x42,0x33,0x42,0x33,0x37,0x44,0x55,0x2c,0x0a,0x30,0x78, + 0x37,0x42,0x32,0x39,0x32,0x39,0x35,0x32,0x55,0x2c,0x30,0x78,0x33,0x45,0x45,0x33,0x45,0x33,0x44,0x44,0x55,0x2c,0x30,0x78,0x37,0x31,0x32,0x46,0x32,0x46,0x35,0x45, + 0x55,0x2c,0x30,0x78,0x39,0x37,0x38,0x34,0x38,0x34,0x31,0x33,0x55,0x2c,0x0a,0x30,0x78,0x46,0x35,0x35,0x33,0x35,0x33,0x41,0x36,0x55,0x2c,0x30,0x78,0x36,0x38,0x44, + 0x31,0x44,0x31,0x42,0x39,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x30,0x78,0x32,0x43,0x45,0x44,0x45,0x44,0x43,0x31,0x55,0x2c,0x0a, + 0x30,0x78,0x36,0x30,0x32,0x30,0x32,0x30,0x34,0x30,0x55,0x2c,0x30,0x78,0x31,0x46,0x46,0x43,0x46,0x43,0x45,0x33,0x55,0x2c,0x30,0x78,0x43,0x38,0x42,0x31,0x42,0x31, + 0x37,0x39,0x55,0x2c,0x30,0x78,0x45,0x44,0x35,0x42,0x35,0x42,0x42,0x36,0x55,0x2c,0x0a,0x30,0x78,0x42,0x45,0x36,0x41,0x36,0x41,0x44,0x34,0x55,0x2c,0x30,0x78,0x34, + 0x36,0x43,0x42,0x43,0x42,0x38,0x44,0x55,0x2c,0x30,0x78,0x44,0x39,0x42,0x45,0x42,0x45,0x36,0x37,0x55,0x2c,0x30,0x78,0x34,0x42,0x33,0x39,0x33,0x39,0x37,0x32,0x55, + 0x2c,0x0a,0x30,0x78,0x44,0x45,0x34,0x41,0x34,0x41,0x39,0x34,0x55,0x2c,0x30,0x78,0x44,0x34,0x34,0x43,0x34,0x43,0x39,0x38,0x55,0x2c,0x30,0x78,0x45,0x38,0x35,0x38, + 0x35,0x38,0x42,0x30,0x55,0x2c,0x30,0x78,0x34,0x41,0x43,0x46,0x43,0x46,0x38,0x35,0x55,0x2c,0x0a,0x30,0x78,0x36,0x42,0x44,0x30,0x44,0x30,0x42,0x42,0x55,0x2c,0x30, + 0x78,0x32,0x41,0x45,0x46,0x45,0x46,0x43,0x35,0x55,0x2c,0x30,0x78,0x45,0x35,0x41,0x41,0x41,0x41,0x34,0x46,0x55,0x2c,0x30,0x78,0x31,0x36,0x46,0x42,0x46,0x42,0x45, + 0x44,0x55,0x2c,0x0a,0x30,0x78,0x43,0x35,0x34,0x33,0x34,0x33,0x38,0x36,0x55,0x2c,0x30,0x78,0x44,0x37,0x34,0x44,0x34,0x44,0x39,0x41,0x55,0x2c,0x30,0x78,0x35,0x35, + 0x33,0x33,0x33,0x33,0x36,0x36,0x55,0x2c,0x30,0x78,0x39,0x34,0x38,0x35,0x38,0x35,0x31,0x31,0x55,0x2c,0x0a,0x30,0x78,0x43,0x46,0x34,0x35,0x34,0x35,0x38,0x41,0x55, + 0x2c,0x30,0x78,0x31,0x30,0x46,0x39,0x46,0x39,0x45,0x39,0x55,0x2c,0x30,0x78,0x30,0x36,0x30,0x32,0x30,0x32,0x30,0x34,0x55,0x2c,0x30,0x78,0x38,0x31,0x37,0x46,0x37, + 0x46,0x46,0x45,0x55,0x2c,0x0a,0x30,0x78,0x46,0x30,0x35,0x30,0x35,0x30,0x41,0x30,0x55,0x2c,0x30,0x78,0x34,0x34,0x33,0x43,0x33,0x43,0x37,0x38,0x55,0x2c,0x30,0x78, + 0x42,0x41,0x39,0x46,0x39,0x46,0x32,0x35,0x55,0x2c,0x30,0x78,0x45,0x33,0x41,0x38,0x41,0x38,0x34,0x42,0x55,0x2c,0x0a,0x30,0x78,0x46,0x33,0x35,0x31,0x35,0x31,0x41, + 0x32,0x55,0x2c,0x30,0x78,0x46,0x45,0x41,0x33,0x41,0x33,0x35,0x44,0x55,0x2c,0x30,0x78,0x43,0x30,0x34,0x30,0x34,0x30,0x38,0x30,0x55,0x2c,0x30,0x78,0x38,0x41,0x38, + 0x46,0x38,0x46,0x30,0x35,0x55,0x2c,0x0a,0x30,0x78,0x41,0x44,0x39,0x32,0x39,0x32,0x33,0x46,0x55,0x2c,0x30,0x78,0x42,0x43,0x39,0x44,0x39,0x44,0x32,0x31,0x55,0x2c, + 0x30,0x78,0x34,0x38,0x33,0x38,0x33,0x38,0x37,0x30,0x55,0x2c,0x30,0x78,0x30,0x34,0x46,0x35,0x46,0x35,0x46,0x31,0x55,0x2c,0x0a,0x30,0x78,0x44,0x46,0x42,0x43,0x42, + 0x43,0x36,0x33,0x55,0x2c,0x30,0x78,0x43,0x31,0x42,0x36,0x42,0x36,0x37,0x37,0x55,0x2c,0x30,0x78,0x37,0x35,0x44,0x41,0x44,0x41,0x41,0x46,0x55,0x2c,0x30,0x78,0x36, + 0x33,0x32,0x31,0x32,0x31,0x34,0x32,0x55,0x2c,0x0a,0x30,0x78,0x33,0x30,0x31,0x30,0x31,0x30,0x32,0x30,0x55,0x2c,0x30,0x78,0x31,0x41,0x46,0x46,0x46,0x46,0x45,0x35, + 0x55,0x2c,0x30,0x78,0x30,0x45,0x46,0x33,0x46,0x33,0x46,0x44,0x55,0x2c,0x30,0x78,0x36,0x44,0x44,0x32,0x44,0x32,0x42,0x46,0x55,0x2c,0x0a,0x30,0x78,0x34,0x43,0x43, + 0x44,0x43,0x44,0x38,0x31,0x55,0x2c,0x30,0x78,0x31,0x34,0x30,0x43,0x30,0x43,0x31,0x38,0x55,0x2c,0x30,0x78,0x33,0x35,0x31,0x33,0x31,0x33,0x32,0x36,0x55,0x2c,0x30, + 0x78,0x32,0x46,0x45,0x43,0x45,0x43,0x43,0x33,0x55,0x2c,0x0a,0x30,0x78,0x45,0x31,0x35,0x46,0x35,0x46,0x42,0x45,0x55,0x2c,0x30,0x78,0x41,0x32,0x39,0x37,0x39,0x37, + 0x33,0x35,0x55,0x2c,0x30,0x78,0x43,0x43,0x34,0x34,0x34,0x34,0x38,0x38,0x55,0x2c,0x30,0x78,0x33,0x39,0x31,0x37,0x31,0x37,0x32,0x45,0x55,0x2c,0x0a,0x30,0x78,0x35, + 0x37,0x43,0x34,0x43,0x34,0x39,0x33,0x55,0x2c,0x30,0x78,0x46,0x32,0x41,0x37,0x41,0x37,0x35,0x35,0x55,0x2c,0x30,0x78,0x38,0x32,0x37,0x45,0x37,0x45,0x46,0x43,0x55, + 0x2c,0x30,0x78,0x34,0x37,0x33,0x44,0x33,0x44,0x37,0x41,0x55,0x2c,0x0a,0x30,0x78,0x41,0x43,0x36,0x34,0x36,0x34,0x43,0x38,0x55,0x2c,0x30,0x78,0x45,0x37,0x35,0x44, + 0x35,0x44,0x42,0x41,0x55,0x2c,0x30,0x78,0x32,0x42,0x31,0x39,0x31,0x39,0x33,0x32,0x55,0x2c,0x30,0x78,0x39,0x35,0x37,0x33,0x37,0x33,0x45,0x36,0x55,0x2c,0x0a,0x30, + 0x78,0x41,0x30,0x36,0x30,0x36,0x30,0x43,0x30,0x55,0x2c,0x30,0x78,0x39,0x38,0x38,0x31,0x38,0x31,0x31,0x39,0x55,0x2c,0x30,0x78,0x44,0x31,0x34,0x46,0x34,0x46,0x39, + 0x45,0x55,0x2c,0x30,0x78,0x37,0x46,0x44,0x43,0x44,0x43,0x41,0x33,0x55,0x2c,0x0a,0x30,0x78,0x36,0x36,0x32,0x32,0x32,0x32,0x34,0x34,0x55,0x2c,0x30,0x78,0x37,0x45, + 0x32,0x41,0x32,0x41,0x35,0x34,0x55,0x2c,0x30,0x78,0x41,0x42,0x39,0x30,0x39,0x30,0x33,0x42,0x55,0x2c,0x30,0x78,0x38,0x33,0x38,0x38,0x38,0x38,0x30,0x42,0x55,0x2c, + 0x0a,0x30,0x78,0x43,0x41,0x34,0x36,0x34,0x36,0x38,0x43,0x55,0x2c,0x30,0x78,0x32,0x39,0x45,0x45,0x45,0x45,0x43,0x37,0x55,0x2c,0x30,0x78,0x44,0x33,0x42,0x38,0x42, + 0x38,0x36,0x42,0x55,0x2c,0x30,0x78,0x33,0x43,0x31,0x34,0x31,0x34,0x32,0x38,0x55,0x2c,0x0a,0x30,0x78,0x37,0x39,0x44,0x45,0x44,0x45,0x41,0x37,0x55,0x2c,0x30,0x78, + 0x45,0x32,0x35,0x45,0x35,0x45,0x42,0x43,0x55,0x2c,0x30,0x78,0x31,0x44,0x30,0x42,0x30,0x42,0x31,0x36,0x55,0x2c,0x30,0x78,0x37,0x36,0x44,0x42,0x44,0x42,0x41,0x44, + 0x55,0x2c,0x0a,0x30,0x78,0x33,0x42,0x45,0x30,0x45,0x30,0x44,0x42,0x55,0x2c,0x30,0x78,0x35,0x36,0x33,0x32,0x33,0x32,0x36,0x34,0x55,0x2c,0x30,0x78,0x34,0x45,0x33, + 0x41,0x33,0x41,0x37,0x34,0x55,0x2c,0x30,0x78,0x31,0x45,0x30,0x41,0x30,0x41,0x31,0x34,0x55,0x2c,0x0a,0x30,0x78,0x44,0x42,0x34,0x39,0x34,0x39,0x39,0x32,0x55,0x2c, + 0x30,0x78,0x30,0x41,0x30,0x36,0x30,0x36,0x30,0x43,0x55,0x2c,0x30,0x78,0x36,0x43,0x32,0x34,0x32,0x34,0x34,0x38,0x55,0x2c,0x30,0x78,0x45,0x34,0x35,0x43,0x35,0x43, + 0x42,0x38,0x55,0x2c,0x0a,0x30,0x78,0x35,0x44,0x43,0x32,0x43,0x32,0x39,0x46,0x55,0x2c,0x30,0x78,0x36,0x45,0x44,0x33,0x44,0x33,0x42,0x44,0x55,0x2c,0x30,0x78,0x45, + 0x46,0x41,0x43,0x41,0x43,0x34,0x33,0x55,0x2c,0x30,0x78,0x41,0x36,0x36,0x32,0x36,0x32,0x43,0x34,0x55,0x2c,0x0a,0x30,0x78,0x41,0x38,0x39,0x31,0x39,0x31,0x33,0x39, + 0x55,0x2c,0x30,0x78,0x41,0x34,0x39,0x35,0x39,0x35,0x33,0x31,0x55,0x2c,0x30,0x78,0x33,0x37,0x45,0x34,0x45,0x34,0x44,0x33,0x55,0x2c,0x30,0x78,0x38,0x42,0x37,0x39, + 0x37,0x39,0x46,0x32,0x55,0x2c,0x0a,0x30,0x78,0x33,0x32,0x45,0x37,0x45,0x37,0x44,0x35,0x55,0x2c,0x30,0x78,0x34,0x33,0x43,0x38,0x43,0x38,0x38,0x42,0x55,0x2c,0x30, + 0x78,0x35,0x39,0x33,0x37,0x33,0x37,0x36,0x45,0x55,0x2c,0x30,0x78,0x42,0x37,0x36,0x44,0x36,0x44,0x44,0x41,0x55,0x2c,0x0a,0x30,0x78,0x38,0x43,0x38,0x44,0x38,0x44, + 0x30,0x31,0x55,0x2c,0x30,0x78,0x36,0x34,0x44,0x35,0x44,0x35,0x42,0x31,0x55,0x2c,0x30,0x78,0x44,0x32,0x34,0x45,0x34,0x45,0x39,0x43,0x55,0x2c,0x30,0x78,0x45,0x30, + 0x41,0x39,0x41,0x39,0x34,0x39,0x55,0x2c,0x0a,0x30,0x78,0x42,0x34,0x36,0x43,0x36,0x43,0x44,0x38,0x55,0x2c,0x30,0x78,0x46,0x41,0x35,0x36,0x35,0x36,0x41,0x43,0x55, + 0x2c,0x30,0x78,0x30,0x37,0x46,0x34,0x46,0x34,0x46,0x33,0x55,0x2c,0x30,0x78,0x32,0x35,0x45,0x41,0x45,0x41,0x43,0x46,0x55,0x2c,0x0a,0x30,0x78,0x41,0x46,0x36,0x35, + 0x36,0x35,0x43,0x41,0x55,0x2c,0x30,0x78,0x38,0x45,0x37,0x41,0x37,0x41,0x46,0x34,0x55,0x2c,0x30,0x78,0x45,0x39,0x41,0x45,0x41,0x45,0x34,0x37,0x55,0x2c,0x30,0x78, + 0x31,0x38,0x30,0x38,0x30,0x38,0x31,0x30,0x55,0x2c,0x0a,0x30,0x78,0x44,0x35,0x42,0x41,0x42,0x41,0x36,0x46,0x55,0x2c,0x30,0x78,0x38,0x38,0x37,0x38,0x37,0x38,0x46, + 0x30,0x55,0x2c,0x30,0x78,0x36,0x46,0x32,0x35,0x32,0x35,0x34,0x41,0x55,0x2c,0x30,0x78,0x37,0x32,0x32,0x45,0x32,0x45,0x35,0x43,0x55,0x2c,0x0a,0x30,0x78,0x32,0x34, + 0x31,0x43,0x31,0x43,0x33,0x38,0x55,0x2c,0x30,0x78,0x46,0x31,0x41,0x36,0x41,0x36,0x35,0x37,0x55,0x2c,0x30,0x78,0x43,0x37,0x42,0x34,0x42,0x34,0x37,0x33,0x55,0x2c, + 0x30,0x78,0x35,0x31,0x43,0x36,0x43,0x36,0x39,0x37,0x55,0x2c,0x0a,0x30,0x78,0x32,0x33,0x45,0x38,0x45,0x38,0x43,0x42,0x55,0x2c,0x30,0x78,0x37,0x43,0x44,0x44,0x44, + 0x44,0x41,0x31,0x55,0x2c,0x30,0x78,0x39,0x43,0x37,0x34,0x37,0x34,0x45,0x38,0x55,0x2c,0x30,0x78,0x32,0x31,0x31,0x46,0x31,0x46,0x33,0x45,0x55,0x2c,0x0a,0x30,0x78, + 0x44,0x44,0x34,0x42,0x34,0x42,0x39,0x36,0x55,0x2c,0x30,0x78,0x44,0x43,0x42,0x44,0x42,0x44,0x36,0x31,0x55,0x2c,0x30,0x78,0x38,0x36,0x38,0x42,0x38,0x42,0x30,0x44, + 0x55,0x2c,0x30,0x78,0x38,0x35,0x38,0x41,0x38,0x41,0x30,0x46,0x55,0x2c,0x0a,0x30,0x78,0x39,0x30,0x37,0x30,0x37,0x30,0x45,0x30,0x55,0x2c,0x30,0x78,0x34,0x32,0x33, + 0x45,0x33,0x45,0x37,0x43,0x55,0x2c,0x30,0x78,0x43,0x34,0x42,0x35,0x42,0x35,0x37,0x31,0x55,0x2c,0x30,0x78,0x41,0x41,0x36,0x36,0x36,0x36,0x43,0x43,0x55,0x2c,0x0a, + 0x30,0x78,0x44,0x38,0x34,0x38,0x34,0x38,0x39,0x30,0x55,0x2c,0x30,0x78,0x30,0x35,0x30,0x33,0x30,0x33,0x30,0x36,0x55,0x2c,0x30,0x78,0x30,0x31,0x46,0x36,0x46,0x36, + 0x46,0x37,0x55,0x2c,0x30,0x78,0x31,0x32,0x30,0x45,0x30,0x45,0x31,0x43,0x55,0x2c,0x0a,0x30,0x78,0x41,0x33,0x36,0x31,0x36,0x31,0x43,0x32,0x55,0x2c,0x30,0x78,0x35, + 0x46,0x33,0x35,0x33,0x35,0x36,0x41,0x55,0x2c,0x30,0x78,0x46,0x39,0x35,0x37,0x35,0x37,0x41,0x45,0x55,0x2c,0x30,0x78,0x44,0x30,0x42,0x39,0x42,0x39,0x36,0x39,0x55, + 0x2c,0x0a,0x30,0x78,0x39,0x31,0x38,0x36,0x38,0x36,0x31,0x37,0x55,0x2c,0x30,0x78,0x35,0x38,0x43,0x31,0x43,0x31,0x39,0x39,0x55,0x2c,0x30,0x78,0x32,0x37,0x31,0x44, + 0x31,0x44,0x33,0x41,0x55,0x2c,0x30,0x78,0x42,0x39,0x39,0x45,0x39,0x45,0x32,0x37,0x55,0x2c,0x0a,0x30,0x78,0x33,0x38,0x45,0x31,0x45,0x31,0x44,0x39,0x55,0x2c,0x30, + 0x78,0x31,0x33,0x46,0x38,0x46,0x38,0x45,0x42,0x55,0x2c,0x30,0x78,0x42,0x33,0x39,0x38,0x39,0x38,0x32,0x42,0x55,0x2c,0x30,0x78,0x33,0x33,0x31,0x31,0x31,0x31,0x32, + 0x32,0x55,0x2c,0x0a,0x30,0x78,0x42,0x42,0x36,0x39,0x36,0x39,0x44,0x32,0x55,0x2c,0x30,0x78,0x37,0x30,0x44,0x39,0x44,0x39,0x41,0x39,0x55,0x2c,0x30,0x78,0x38,0x39, + 0x38,0x45,0x38,0x45,0x30,0x37,0x55,0x2c,0x30,0x78,0x41,0x37,0x39,0x34,0x39,0x34,0x33,0x33,0x55,0x2c,0x0a,0x30,0x78,0x42,0x36,0x39,0x42,0x39,0x42,0x32,0x44,0x55, + 0x2c,0x30,0x78,0x32,0x32,0x31,0x45,0x31,0x45,0x33,0x43,0x55,0x2c,0x30,0x78,0x39,0x32,0x38,0x37,0x38,0x37,0x31,0x35,0x55,0x2c,0x30,0x78,0x32,0x30,0x45,0x39,0x45, + 0x39,0x43,0x39,0x55,0x2c,0x0a,0x30,0x78,0x34,0x39,0x43,0x45,0x43,0x45,0x38,0x37,0x55,0x2c,0x30,0x78,0x46,0x46,0x35,0x35,0x35,0x35,0x41,0x41,0x55,0x2c,0x30,0x78, + 0x37,0x38,0x32,0x38,0x32,0x38,0x35,0x30,0x55,0x2c,0x30,0x78,0x37,0x41,0x44,0x46,0x44,0x46,0x41,0x35,0x55,0x2c,0x0a,0x30,0x78,0x38,0x46,0x38,0x43,0x38,0x43,0x30, + 0x33,0x55,0x2c,0x30,0x78,0x46,0x38,0x41,0x31,0x41,0x31,0x35,0x39,0x55,0x2c,0x30,0x78,0x38,0x30,0x38,0x39,0x38,0x39,0x30,0x39,0x55,0x2c,0x30,0x78,0x31,0x37,0x30, + 0x44,0x30,0x44,0x31,0x41,0x55,0x2c,0x0a,0x30,0x78,0x44,0x41,0x42,0x46,0x42,0x46,0x36,0x35,0x55,0x2c,0x30,0x78,0x33,0x31,0x45,0x36,0x45,0x36,0x44,0x37,0x55,0x2c, + 0x30,0x78,0x43,0x36,0x34,0x32,0x34,0x32,0x38,0x34,0x55,0x2c,0x30,0x78,0x42,0x38,0x36,0x38,0x36,0x38,0x44,0x30,0x55,0x2c,0x0a,0x30,0x78,0x43,0x33,0x34,0x31,0x34, + 0x31,0x38,0x32,0x55,0x2c,0x30,0x78,0x42,0x30,0x39,0x39,0x39,0x39,0x32,0x39,0x55,0x2c,0x30,0x78,0x37,0x37,0x32,0x44,0x32,0x44,0x35,0x41,0x55,0x2c,0x30,0x78,0x31, + 0x31,0x30,0x46,0x30,0x46,0x31,0x45,0x55,0x2c,0x0a,0x30,0x78,0x43,0x42,0x42,0x30,0x42,0x30,0x37,0x42,0x55,0x2c,0x30,0x78,0x46,0x43,0x35,0x34,0x35,0x34,0x41,0x38, + 0x55,0x2c,0x30,0x78,0x44,0x36,0x42,0x42,0x42,0x42,0x36,0x44,0x55,0x2c,0x30,0x78,0x33,0x41,0x31,0x36,0x31,0x36,0x32,0x43,0x55,0x0a,0x7d,0x3b,0x0a,0x23,0x64,0x65, + 0x66,0x69,0x6e,0x65,0x20,0x42,0x59,0x54,0x45,0x28,0x78,0x2c,0x20,0x79,0x29,0x20,0x28,0x61,0x6d,0x64,0x5f,0x62,0x66,0x65,0x28,0x28,0x78,0x29,0x2c,0x20,0x28,0x79, + 0x29,0x20,0x3c,0x3c,0x20,0x33,0x55,0x2c,0x20,0x38,0x55,0x29,0x29,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f, + 0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x54,0x55,0x42,0x45,0x29,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x41,0x45,0x53,0x5f, + 0x52,0x6f,0x75,0x6e,0x64,0x5f,0x62,0x69,0x74,0x74,0x75,0x62,0x65,0x32,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, + 0x74,0x20,0x2a,0x41,0x45,0x53,0x30,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x41,0x45,0x53,0x31, + 0x2c,0x75,0x69,0x6e,0x74,0x34,0x20,0x78,0x2c,0x75,0x69,0x6e,0x74,0x34,0x20,0x6b,0x29,0x0a,0x7b,0x0a,0x78,0x3d,0x7e,0x78,0x3b,0x0a,0x6b,0x2e,0x73,0x30,0x20,0x5e, + 0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x30,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x78, + 0x2e,0x73,0x31,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x32,0x2c,0x32,0x29, + 0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x33,0x2c,0x33,0x29,0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x78,0x2e,0x73,0x30,0x20, + 0x5e,0x3d,0x20,0x6b,0x2e,0x73,0x30,0x3b,0x0a,0x6b,0x2e,0x73,0x31,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x31,0x2c, + 0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x32,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x41,0x45, + 0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x33,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x30,0x2c, + 0x33,0x29,0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x78,0x2e,0x73,0x31,0x20,0x5e,0x3d,0x20,0x6b,0x2e,0x73,0x31,0x3b,0x0a,0x6b,0x2e,0x73,0x32,0x20,0x5e,0x3d,0x20, + 0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x32,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73, + 0x33,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x30,0x2c,0x32,0x29,0x5d,0x5e, + 0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x31,0x2c,0x33,0x29,0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x78,0x2e,0x73,0x32,0x20,0x5e,0x3d, + 0x20,0x6b,0x2e,0x73,0x32,0x3b,0x0a,0x6b,0x2e,0x73,0x33,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x33,0x2c,0x30,0x29, + 0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x30,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x41,0x45,0x53,0x30, + 0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x31,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x78,0x2e,0x73,0x32,0x2c,0x33,0x29, + 0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6b,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x75,0x69,0x6e,0x74,0x34, + 0x20,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x41, + 0x45,0x53,0x30,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x41,0x45,0x53,0x31,0x2c,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x41,0x45,0x53,0x32,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f, + 0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x41,0x45,0x53,0x33,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x58,0x2c,0x75,0x69,0x6e, + 0x74,0x34,0x20,0x6b,0x65,0x79,0x29,0x0a,0x7b,0x0a,0x6b,0x65,0x79,0x2e,0x73,0x30,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e, + 0x73,0x30,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x31,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42, + 0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x32,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x33,0x2c,0x33,0x29,0x5d,0x3b, + 0x0a,0x6b,0x65,0x79,0x2e,0x73,0x31,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x31,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45, + 0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x32,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x33,0x2c, + 0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x30,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x6b,0x65,0x79,0x2e,0x73,0x32,0x20,0x5e, + 0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x32,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58, + 0x2e,0x73,0x33,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x30,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b, + 0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x31,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x6b,0x65,0x79,0x2e,0x73,0x33,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59, + 0x54,0x45,0x28,0x58,0x2e,0x73,0x33,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x30,0x2c,0x31,0x29,0x5d,0x5e,0x41, + 0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x31,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x32, + 0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6b,0x65,0x79,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x41,0x45,0x53,0x5f,0x52,0x6f, + 0x75,0x6e,0x64,0x5f,0x54,0x77,0x6f,0x5f,0x54,0x61,0x62,0x6c,0x65,0x73,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, + 0x74,0x20,0x2a,0x41,0x45,0x53,0x30,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x41,0x45,0x53,0x31, + 0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x58,0x2c,0x75,0x69,0x6e,0x74,0x34,0x20,0x6b,0x65,0x79,0x29,0x0a,0x7b,0x0a,0x6b,0x65,0x79,0x2e, + 0x73,0x30,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x30,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59, + 0x54,0x45,0x28,0x58,0x2e,0x73,0x31,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73, + 0x32,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x33,0x2c,0x33,0x29,0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x6b, + 0x65,0x79,0x2e,0x73,0x31,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x31,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31, + 0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x32,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28, + 0x58,0x2e,0x73,0x33,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x30,0x2c,0x33,0x29,0x5d,0x2c,0x31,0x36,0x55,0x29, + 0x3b,0x0a,0x6b,0x65,0x79,0x2e,0x73,0x32,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x32,0x2c,0x30,0x29,0x5d,0x5e,0x41, + 0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x33,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x41,0x45,0x53,0x30,0x5b,0x42,0x59, + 0x54,0x45,0x28,0x58,0x2e,0x73,0x30,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x31,0x2c,0x33,0x29,0x5d,0x2c,0x31, + 0x36,0x55,0x29,0x3b,0x0a,0x6b,0x65,0x79,0x2e,0x73,0x33,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x33,0x2c,0x30,0x29, + 0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x30,0x2c,0x31,0x29,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x41,0x45,0x53,0x30, + 0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x31,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x58,0x2e,0x73,0x32,0x2c,0x33,0x29, + 0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x6b,0x65,0x79,0x3b,0x0a,0x7d,0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x63,0x68,0x61,0x72,0x20,0x72,0x63,0x6f,0x6e,0x5b,0x38,0x5d,0x3d,0x7b,0x20,0x30,0x78, + 0x38,0x64,0x2c,0x30,0x78,0x30,0x31,0x2c,0x30,0x78,0x30,0x32,0x2c,0x30,0x78,0x30,0x34,0x2c,0x30,0x78,0x30,0x38,0x2c,0x30,0x78,0x31,0x30,0x2c,0x30,0x78,0x32,0x30, + 0x2c,0x30,0x78,0x34,0x30,0x20,0x7d,0x3b,0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74, + 0x20,0x75,0x63,0x68,0x61,0x72,0x20,0x73,0x62,0x6f,0x78,0x5b,0x32,0x35,0x36,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x36,0x33,0x2c,0x30,0x78,0x37,0x43,0x2c,0x30, + 0x78,0x37,0x37,0x2c,0x30,0x78,0x37,0x42,0x2c,0x30,0x78,0x46,0x32,0x2c,0x30,0x78,0x36,0x42,0x2c,0x30,0x78,0x36,0x46,0x2c,0x30,0x78,0x43,0x35,0x2c,0x30,0x78,0x33, + 0x30,0x2c,0x30,0x78,0x30,0x31,0x2c,0x30,0x78,0x36,0x37,0x2c,0x30,0x78,0x32,0x42,0x2c,0x30,0x78,0x46,0x45,0x2c,0x30,0x78,0x44,0x37,0x2c,0x30,0x78,0x41,0x42,0x2c, + 0x30,0x78,0x37,0x36,0x2c,0x0a,0x30,0x78,0x43,0x41,0x2c,0x30,0x78,0x38,0x32,0x2c,0x30,0x78,0x43,0x39,0x2c,0x30,0x78,0x37,0x44,0x2c,0x30,0x78,0x46,0x41,0x2c,0x30, + 0x78,0x35,0x39,0x2c,0x30,0x78,0x34,0x37,0x2c,0x30,0x78,0x46,0x30,0x2c,0x30,0x78,0x41,0x44,0x2c,0x30,0x78,0x44,0x34,0x2c,0x30,0x78,0x41,0x32,0x2c,0x30,0x78,0x41, + 0x46,0x2c,0x30,0x78,0x39,0x43,0x2c,0x30,0x78,0x41,0x34,0x2c,0x30,0x78,0x37,0x32,0x2c,0x30,0x78,0x43,0x30,0x2c,0x0a,0x30,0x78,0x42,0x37,0x2c,0x30,0x78,0x46,0x44, + 0x2c,0x30,0x78,0x39,0x33,0x2c,0x30,0x78,0x32,0x36,0x2c,0x30,0x78,0x33,0x36,0x2c,0x30,0x78,0x33,0x46,0x2c,0x30,0x78,0x46,0x37,0x2c,0x30,0x78,0x43,0x43,0x2c,0x30, + 0x78,0x33,0x34,0x2c,0x30,0x78,0x41,0x35,0x2c,0x30,0x78,0x45,0x35,0x2c,0x30,0x78,0x46,0x31,0x2c,0x30,0x78,0x37,0x31,0x2c,0x30,0x78,0x44,0x38,0x2c,0x30,0x78,0x33, + 0x31,0x2c,0x30,0x78,0x31,0x35,0x2c,0x0a,0x30,0x78,0x30,0x34,0x2c,0x30,0x78,0x43,0x37,0x2c,0x30,0x78,0x32,0x33,0x2c,0x30,0x78,0x43,0x33,0x2c,0x30,0x78,0x31,0x38, + 0x2c,0x30,0x78,0x39,0x36,0x2c,0x30,0x78,0x30,0x35,0x2c,0x30,0x78,0x39,0x41,0x2c,0x30,0x78,0x30,0x37,0x2c,0x30,0x78,0x31,0x32,0x2c,0x30,0x78,0x38,0x30,0x2c,0x30, + 0x78,0x45,0x32,0x2c,0x30,0x78,0x45,0x42,0x2c,0x30,0x78,0x32,0x37,0x2c,0x30,0x78,0x42,0x32,0x2c,0x30,0x78,0x37,0x35,0x2c,0x0a,0x30,0x78,0x30,0x39,0x2c,0x30,0x78, + 0x38,0x33,0x2c,0x30,0x78,0x32,0x43,0x2c,0x30,0x78,0x31,0x41,0x2c,0x30,0x78,0x31,0x42,0x2c,0x30,0x78,0x36,0x45,0x2c,0x30,0x78,0x35,0x41,0x2c,0x30,0x78,0x41,0x30, + 0x2c,0x30,0x78,0x35,0x32,0x2c,0x30,0x78,0x33,0x42,0x2c,0x30,0x78,0x44,0x36,0x2c,0x30,0x78,0x42,0x33,0x2c,0x30,0x78,0x32,0x39,0x2c,0x30,0x78,0x45,0x33,0x2c,0x30, + 0x78,0x32,0x46,0x2c,0x30,0x78,0x38,0x34,0x2c,0x0a,0x30,0x78,0x35,0x33,0x2c,0x30,0x78,0x44,0x31,0x2c,0x30,0x78,0x30,0x30,0x2c,0x30,0x78,0x45,0x44,0x2c,0x30,0x78, + 0x32,0x30,0x2c,0x30,0x78,0x46,0x43,0x2c,0x30,0x78,0x42,0x31,0x2c,0x30,0x78,0x35,0x42,0x2c,0x30,0x78,0x36,0x41,0x2c,0x30,0x78,0x43,0x42,0x2c,0x30,0x78,0x42,0x45, + 0x2c,0x30,0x78,0x33,0x39,0x2c,0x30,0x78,0x34,0x41,0x2c,0x30,0x78,0x34,0x43,0x2c,0x30,0x78,0x35,0x38,0x2c,0x30,0x78,0x43,0x46,0x2c,0x0a,0x30,0x78,0x44,0x30,0x2c, + 0x30,0x78,0x45,0x46,0x2c,0x30,0x78,0x41,0x41,0x2c,0x30,0x78,0x46,0x42,0x2c,0x30,0x78,0x34,0x33,0x2c,0x30,0x78,0x34,0x44,0x2c,0x30,0x78,0x33,0x33,0x2c,0x30,0x78, + 0x38,0x35,0x2c,0x30,0x78,0x34,0x35,0x2c,0x30,0x78,0x46,0x39,0x2c,0x30,0x78,0x30,0x32,0x2c,0x30,0x78,0x37,0x46,0x2c,0x30,0x78,0x35,0x30,0x2c,0x30,0x78,0x33,0x43, + 0x2c,0x30,0x78,0x39,0x46,0x2c,0x30,0x78,0x41,0x38,0x2c,0x0a,0x30,0x78,0x35,0x31,0x2c,0x30,0x78,0x41,0x33,0x2c,0x30,0x78,0x34,0x30,0x2c,0x30,0x78,0x38,0x46,0x2c, + 0x30,0x78,0x39,0x32,0x2c,0x30,0x78,0x39,0x44,0x2c,0x30,0x78,0x33,0x38,0x2c,0x30,0x78,0x46,0x35,0x2c,0x30,0x78,0x42,0x43,0x2c,0x30,0x78,0x42,0x36,0x2c,0x30,0x78, + 0x44,0x41,0x2c,0x30,0x78,0x32,0x31,0x2c,0x30,0x78,0x31,0x30,0x2c,0x30,0x78,0x46,0x46,0x2c,0x30,0x78,0x46,0x33,0x2c,0x30,0x78,0x44,0x32,0x2c,0x0a,0x30,0x78,0x43, + 0x44,0x2c,0x30,0x78,0x30,0x43,0x2c,0x30,0x78,0x31,0x33,0x2c,0x30,0x78,0x45,0x43,0x2c,0x30,0x78,0x35,0x46,0x2c,0x30,0x78,0x39,0x37,0x2c,0x30,0x78,0x34,0x34,0x2c, + 0x30,0x78,0x31,0x37,0x2c,0x30,0x78,0x43,0x34,0x2c,0x30,0x78,0x41,0x37,0x2c,0x30,0x78,0x37,0x45,0x2c,0x30,0x78,0x33,0x44,0x2c,0x30,0x78,0x36,0x34,0x2c,0x30,0x78, + 0x35,0x44,0x2c,0x30,0x78,0x31,0x39,0x2c,0x30,0x78,0x37,0x33,0x2c,0x0a,0x30,0x78,0x36,0x30,0x2c,0x30,0x78,0x38,0x31,0x2c,0x30,0x78,0x34,0x46,0x2c,0x30,0x78,0x44, + 0x43,0x2c,0x30,0x78,0x32,0x32,0x2c,0x30,0x78,0x32,0x41,0x2c,0x30,0x78,0x39,0x30,0x2c,0x30,0x78,0x38,0x38,0x2c,0x30,0x78,0x34,0x36,0x2c,0x30,0x78,0x45,0x45,0x2c, + 0x30,0x78,0x42,0x38,0x2c,0x30,0x78,0x31,0x34,0x2c,0x30,0x78,0x44,0x45,0x2c,0x30,0x78,0x35,0x45,0x2c,0x30,0x78,0x30,0x42,0x2c,0x30,0x78,0x44,0x42,0x2c,0x0a,0x30, + 0x78,0x45,0x30,0x2c,0x30,0x78,0x33,0x32,0x2c,0x30,0x78,0x33,0x41,0x2c,0x30,0x78,0x30,0x41,0x2c,0x30,0x78,0x34,0x39,0x2c,0x30,0x78,0x30,0x36,0x2c,0x30,0x78,0x32, + 0x34,0x2c,0x30,0x78,0x35,0x43,0x2c,0x30,0x78,0x43,0x32,0x2c,0x30,0x78,0x44,0x33,0x2c,0x30,0x78,0x41,0x43,0x2c,0x30,0x78,0x36,0x32,0x2c,0x30,0x78,0x39,0x31,0x2c, + 0x30,0x78,0x39,0x35,0x2c,0x30,0x78,0x45,0x34,0x2c,0x30,0x78,0x37,0x39,0x2c,0x0a,0x30,0x78,0x45,0x37,0x2c,0x30,0x78,0x43,0x38,0x2c,0x30,0x78,0x33,0x37,0x2c,0x30, + 0x78,0x36,0x44,0x2c,0x30,0x78,0x38,0x44,0x2c,0x30,0x78,0x44,0x35,0x2c,0x30,0x78,0x34,0x45,0x2c,0x30,0x78,0x41,0x39,0x2c,0x30,0x78,0x36,0x43,0x2c,0x30,0x78,0x35, + 0x36,0x2c,0x30,0x78,0x46,0x34,0x2c,0x30,0x78,0x45,0x41,0x2c,0x30,0x78,0x36,0x35,0x2c,0x30,0x78,0x37,0x41,0x2c,0x30,0x78,0x41,0x45,0x2c,0x30,0x78,0x30,0x38,0x2c, + 0x0a,0x30,0x78,0x42,0x41,0x2c,0x30,0x78,0x37,0x38,0x2c,0x30,0x78,0x32,0x35,0x2c,0x30,0x78,0x32,0x45,0x2c,0x30,0x78,0x31,0x43,0x2c,0x30,0x78,0x41,0x36,0x2c,0x30, + 0x78,0x42,0x34,0x2c,0x30,0x78,0x43,0x36,0x2c,0x30,0x78,0x45,0x38,0x2c,0x30,0x78,0x44,0x44,0x2c,0x30,0x78,0x37,0x34,0x2c,0x30,0x78,0x31,0x46,0x2c,0x30,0x78,0x34, + 0x42,0x2c,0x30,0x78,0x42,0x44,0x2c,0x30,0x78,0x38,0x42,0x2c,0x30,0x78,0x38,0x41,0x2c,0x0a,0x30,0x78,0x37,0x30,0x2c,0x30,0x78,0x33,0x45,0x2c,0x30,0x78,0x42,0x35, + 0x2c,0x30,0x78,0x36,0x36,0x2c,0x30,0x78,0x34,0x38,0x2c,0x30,0x78,0x30,0x33,0x2c,0x30,0x78,0x46,0x36,0x2c,0x30,0x78,0x30,0x45,0x2c,0x30,0x78,0x36,0x31,0x2c,0x30, + 0x78,0x33,0x35,0x2c,0x30,0x78,0x35,0x37,0x2c,0x30,0x78,0x42,0x39,0x2c,0x30,0x78,0x38,0x36,0x2c,0x30,0x78,0x43,0x31,0x2c,0x30,0x78,0x31,0x44,0x2c,0x30,0x78,0x39, + 0x45,0x2c,0x0a,0x30,0x78,0x45,0x31,0x2c,0x30,0x78,0x46,0x38,0x2c,0x30,0x78,0x39,0x38,0x2c,0x30,0x78,0x31,0x31,0x2c,0x30,0x78,0x36,0x39,0x2c,0x30,0x78,0x44,0x39, + 0x2c,0x30,0x78,0x38,0x45,0x2c,0x30,0x78,0x39,0x34,0x2c,0x30,0x78,0x39,0x42,0x2c,0x30,0x78,0x31,0x45,0x2c,0x30,0x78,0x38,0x37,0x2c,0x30,0x78,0x45,0x39,0x2c,0x30, + 0x78,0x43,0x45,0x2c,0x30,0x78,0x35,0x35,0x2c,0x30,0x78,0x32,0x38,0x2c,0x30,0x78,0x44,0x46,0x2c,0x0a,0x30,0x78,0x38,0x43,0x2c,0x30,0x78,0x41,0x31,0x2c,0x30,0x78, + 0x38,0x39,0x2c,0x30,0x78,0x30,0x44,0x2c,0x30,0x78,0x42,0x46,0x2c,0x30,0x78,0x45,0x36,0x2c,0x30,0x78,0x34,0x32,0x2c,0x30,0x78,0x36,0x38,0x2c,0x30,0x78,0x34,0x31, + 0x2c,0x30,0x78,0x39,0x39,0x2c,0x30,0x78,0x32,0x44,0x2c,0x30,0x78,0x30,0x46,0x2c,0x30,0x78,0x42,0x30,0x2c,0x30,0x78,0x35,0x34,0x2c,0x30,0x78,0x42,0x42,0x2c,0x30, + 0x78,0x31,0x36,0x0a,0x7d,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x75,0x62,0x57,0x6f,0x72,0x64,0x28,0x69,0x6e,0x77,0x29,0x20,0x28,0x28,0x73,0x62, + 0x6f,0x78,0x5b,0x42,0x59,0x54,0x45,0x28,0x69,0x6e,0x77,0x2c,0x20,0x33,0x29,0x5d,0x20,0x3c,0x3c,0x20,0x32,0x34,0x29,0x20,0x7c,0x20,0x28,0x73,0x62,0x6f,0x78,0x5b, + 0x42,0x59,0x54,0x45,0x28,0x69,0x6e,0x77,0x2c,0x20,0x32,0x29,0x5d,0x20,0x3c,0x3c,0x20,0x31,0x36,0x29,0x20,0x7c,0x20,0x28,0x73,0x62,0x6f,0x78,0x5b,0x42,0x59,0x54, + 0x45,0x28,0x69,0x6e,0x77,0x2c,0x20,0x31,0x29,0x5d,0x20,0x3c,0x3c,0x20,0x38,0x29,0x20,0x7c,0x20,0x73,0x62,0x6f,0x78,0x5b,0x42,0x59,0x54,0x45,0x28,0x69,0x6e,0x77, + 0x2c,0x20,0x30,0x29,0x5d,0x29,0x0a,0x76,0x6f,0x69,0x64,0x20,0x41,0x45,0x53,0x45,0x78,0x70,0x61,0x6e,0x64,0x4b,0x65,0x79,0x32,0x35,0x36,0x28,0x75,0x69,0x6e,0x74, + 0x20,0x2a,0x6b,0x65,0x79,0x62,0x75,0x66,0x29,0x0a,0x7b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x63,0x3d,0x38,0x2c,0x69,0x3d,0x31,0x3b,0x20,0x63, + 0x3c,0x34,0x30,0x3b,0x20,0x2b,0x2b,0x63,0x29,0x20,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x74,0x3d,0x28,0x28,0x21,0x28,0x63,0x26,0x37,0x29,0x29,0x7c,0x7c,0x28,0x28, + 0x63,0x26,0x37,0x29,0x3d,0x3d,0x34,0x29,0x29,0x3f,0x53,0x75,0x62,0x57,0x6f,0x72,0x64,0x28,0x6b,0x65,0x79,0x62,0x75,0x66,0x5b,0x63,0x2d,0x31,0x5d,0x29,0x3a,0x6b, + 0x65,0x79,0x62,0x75,0x66,0x5b,0x63,0x2d,0x31,0x5d,0x3b,0x0a,0x6b,0x65,0x79,0x62,0x75,0x66,0x5b,0x63,0x5d,0x3d,0x6b,0x65,0x79,0x62,0x75,0x66,0x5b,0x63,0x2d,0x38, + 0x5d,0x5e,0x28,0x28,0x21,0x28,0x63,0x26,0x37,0x29,0x29,0x3f,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x2c,0x32,0x34,0x55,0x29,0x5e,0x61,0x73,0x5f,0x75,0x69,0x6e, + 0x74,0x28,0x28,0x75,0x63,0x68,0x61,0x72,0x34,0x29,0x28,0x72,0x63,0x6f,0x6e,0x5b,0x69,0x2b,0x2b,0x5d,0x2c,0x30,0x55,0x2c,0x30,0x55,0x2c,0x30,0x55,0x29,0x29,0x3a, + 0x74,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x69,0x66,0x6e,0x64,0x65,0x66,0x20,0x57,0x4f,0x4c,0x46,0x5f,0x53,0x4b,0x45,0x49, + 0x4e,0x5f,0x43,0x4c,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x4f,0x4c,0x46,0x5f,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x43,0x4c,0x0a,0x23,0x69,0x66,0x64,0x65, + 0x66,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x69, + 0x66,0x64,0x65,0x66,0x20,0x63,0x6c,0x5f,0x61,0x6d,0x64,0x5f,0x6d,0x65,0x64,0x69,0x61,0x5f,0x6f,0x70,0x73,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x54, + 0x41,0x54,0x49,0x43,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x4f,0x50,0x45,0x4e,0x43,0x4c,0x20,0x45,0x58,0x54,0x45,0x4e, + 0x53,0x49,0x4f,0x4e,0x20,0x63,0x6c,0x5f,0x61,0x6d,0x64,0x5f,0x6d,0x65,0x64,0x69,0x61,0x5f,0x6f,0x70,0x73,0x20,0x3a,0x20,0x65,0x6e,0x61,0x62,0x6c,0x65,0x0a,0x23, + 0x65,0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x75,0x69,0x6e,0x74,0x32, + 0x20,0x61,0x6d,0x64,0x5f,0x62,0x69,0x74,0x61,0x6c,0x69,0x67,0x6e,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x73,0x72,0x63,0x30,0x2c,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x73,0x72,0x63,0x31,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x32,0x29, + 0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x72,0x65,0x73,0x75,0x6c,0x74,0x2e,0x73,0x30,0x3d,0x28,0x75,0x69,0x6e,0x74, + 0x29,0x20,0x28,0x28,0x28,0x28,0x28,0x6c,0x6f,0x6e,0x67,0x29,0x73,0x72,0x63,0x30,0x2e,0x73,0x30,0x29,0x3c,0x3c,0x33,0x32,0x29,0x7c,0x28,0x6c,0x6f,0x6e,0x67,0x29, + 0x73,0x72,0x63,0x31,0x2e,0x73,0x30,0x29,0x3e,0x3e,0x28,0x73,0x72,0x63,0x32,0x29,0x29,0x3b,0x0a,0x72,0x65,0x73,0x75,0x6c,0x74,0x2e,0x73,0x31,0x3d,0x28,0x75,0x69, + 0x6e,0x74,0x29,0x20,0x28,0x28,0x28,0x28,0x28,0x6c,0x6f,0x6e,0x67,0x29,0x73,0x72,0x63,0x30,0x2e,0x73,0x31,0x29,0x3c,0x3c,0x33,0x32,0x29,0x7c,0x28,0x6c,0x6f,0x6e, + 0x67,0x29,0x73,0x72,0x63,0x31,0x2e,0x73,0x31,0x29,0x3e,0x3e,0x28,0x73,0x72,0x63,0x32,0x29,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x72,0x65,0x73,0x75, + 0x6c,0x74,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x4b,0x53,0x5f,0x50,0x41, + 0x52,0x49,0x54,0x59,0x20,0x30,0x78,0x31,0x42,0x44,0x31,0x31,0x42,0x44,0x41,0x41,0x39,0x46,0x43,0x31,0x41,0x32,0x32,0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x53,0x4b,0x45,0x49,0x4e,0x32,0x35,0x36,0x5f,0x49, + 0x56,0x5b,0x38,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x43,0x43,0x44,0x30,0x34,0x34,0x41,0x31,0x32,0x46,0x44,0x42,0x33,0x45,0x31,0x33,0x55,0x4c,0x2c,0x30,0x78, + 0x45,0x38,0x33,0x35,0x39,0x30,0x33,0x30,0x31,0x41,0x37,0x39,0x41,0x39,0x45,0x42,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x35,0x41,0x45,0x41,0x30,0x36,0x31,0x34,0x46, + 0x38,0x31,0x36,0x45,0x36,0x46,0x55,0x4c,0x2c,0x30,0x78,0x32,0x41,0x32,0x37,0x36,0x37,0x41,0x34,0x41,0x45,0x39,0x42,0x39,0x34,0x44,0x42,0x55,0x4c,0x2c,0x0a,0x30, + 0x78,0x45,0x43,0x30,0x36,0x30,0x32,0x35,0x45,0x37,0x34,0x44,0x44,0x37,0x36,0x38,0x33,0x55,0x4c,0x2c,0x30,0x78,0x45,0x37,0x41,0x34,0x33,0x36,0x43,0x44,0x43,0x34, + 0x37,0x34,0x36,0x32,0x35,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x33,0x36,0x46,0x42,0x41,0x46,0x39,0x33,0x39,0x33,0x41,0x44,0x31,0x38,0x35,0x55,0x4c,0x2c,0x30, + 0x78,0x33,0x45,0x45,0x44,0x42,0x41,0x31,0x38,0x33,0x33,0x45,0x44,0x46,0x43,0x31,0x33,0x55,0x4c,0x0a,0x7d,0x3b,0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x53,0x4b,0x45,0x49,0x4e,0x35,0x31,0x32,0x5f,0x32,0x35, + 0x36,0x5f,0x49,0x56,0x5b,0x38,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x43,0x43,0x44,0x30,0x34,0x34,0x41,0x31,0x32,0x46,0x44,0x42,0x33,0x45,0x31,0x33,0x55,0x4c, + 0x2c,0x30,0x78,0x45,0x38,0x33,0x35,0x39,0x30,0x33,0x30,0x31,0x41,0x37,0x39,0x41,0x39,0x45,0x42,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x35,0x41,0x45,0x41,0x30,0x36, + 0x31,0x34,0x46,0x38,0x31,0x36,0x45,0x36,0x46,0x55,0x4c,0x2c,0x30,0x78,0x32,0x41,0x32,0x37,0x36,0x37,0x41,0x34,0x41,0x45,0x39,0x42,0x39,0x34,0x44,0x42,0x55,0x4c, + 0x2c,0x0a,0x30,0x78,0x45,0x43,0x30,0x36,0x30,0x32,0x35,0x45,0x37,0x34,0x44,0x44,0x37,0x36,0x38,0x33,0x55,0x4c,0x2c,0x30,0x78,0x45,0x37,0x41,0x34,0x33,0x36,0x43, + 0x44,0x43,0x34,0x37,0x34,0x36,0x32,0x35,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x33,0x36,0x46,0x42,0x41,0x46,0x39,0x33,0x39,0x33,0x41,0x44,0x31,0x38,0x35,0x55, + 0x4c,0x2c,0x30,0x78,0x33,0x45,0x45,0x44,0x42,0x41,0x31,0x38,0x33,0x33,0x45,0x44,0x46,0x43,0x31,0x33,0x55,0x4c,0x0a,0x7d,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, + 0x65,0x20,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x49,0x4e,0x4a,0x45,0x43,0x54,0x5f,0x4b,0x45,0x59,0x28,0x70,0x2c,0x20,0x73,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a, + 0x70,0x2b,0x3d,0x68,0x3b,0x20,0x5c,0x0a,0x70,0x2e,0x73,0x35,0x2b,0x3d,0x74,0x5b,0x73,0x20,0x25,0x20,0x33,0x5d,0x3b,0x20,0x5c,0x0a,0x70,0x2e,0x73,0x36,0x2b,0x3d, + 0x74,0x5b,0x28,0x73,0x2b,0x31,0x29,0x20,0x25,0x20,0x33,0x5d,0x3b,0x20,0x5c,0x0a,0x70,0x2e,0x73,0x37,0x2b,0x3d,0x73,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69, + 0x6c,0x65,0x28,0x30,0x29,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x52,0x4f,0x54,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, + 0x32,0x20,0x78,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x79,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x79,0x3c,0x33,0x32,0x29,0x20,0x7b,0x0a,0x72, + 0x65,0x74,0x75,0x72,0x6e,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x61,0x6d,0x64,0x5f,0x62,0x69,0x74,0x61,0x6c,0x69,0x67,0x6e,0x28,0x78,0x2c,0x78,0x2e, + 0x73,0x31,0x30,0x2c,0x33,0x32,0x2d,0x79,0x29,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x7b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x28,0x61,0x73,0x5f, + 0x75,0x6c,0x6f,0x6e,0x67,0x28,0x61,0x6d,0x64,0x5f,0x62,0x69,0x74,0x61,0x6c,0x69,0x67,0x6e,0x28,0x78,0x2e,0x73,0x31,0x30,0x2c,0x78,0x2c,0x33,0x32,0x2d,0x28,0x79, + 0x2d,0x33,0x32,0x29,0x29,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x76,0x6f,0x69,0x64,0x20,0x53,0x6b,0x65,0x69,0x6e,0x4d,0x69,0x78,0x38,0x28,0x75,0x6c,0x6f,0x6e, + 0x67,0x34,0x20,0x2a,0x70,0x76,0x30,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x20,0x2a,0x70,0x76,0x31,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x72, + 0x63,0x30,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x72,0x63,0x31,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x72,0x63,0x32, + 0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x72,0x63,0x33,0x29,0x0a,0x7b,0x0a,0x2a,0x70,0x76,0x30,0x2b,0x3d,0x2a,0x70,0x76,0x31,0x3b,0x0a,0x28, + 0x2a,0x70,0x76,0x31,0x29,0x2e,0x73,0x30,0x3d,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x52,0x4f,0x54,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x28,0x2a,0x70,0x76, + 0x31,0x29,0x2e,0x73,0x30,0x29,0x2c,0x72,0x63,0x30,0x29,0x3b,0x0a,0x28,0x2a,0x70,0x76,0x31,0x29,0x2e,0x73,0x31,0x3d,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x52,0x4f,0x54, + 0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x28,0x2a,0x70,0x76,0x31,0x29,0x2e,0x73,0x31,0x29,0x2c,0x72,0x63,0x31,0x29,0x3b,0x0a,0x28,0x2a,0x70,0x76,0x31, + 0x29,0x2e,0x73,0x32,0x3d,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x52,0x4f,0x54,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x28,0x2a,0x70,0x76,0x31,0x29,0x2e,0x73, + 0x32,0x29,0x2c,0x72,0x63,0x32,0x29,0x3b,0x0a,0x28,0x2a,0x70,0x76,0x31,0x29,0x2e,0x73,0x33,0x3d,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x52,0x4f,0x54,0x28,0x61,0x73,0x5f, + 0x75,0x69,0x6e,0x74,0x32,0x28,0x28,0x2a,0x70,0x76,0x31,0x29,0x2e,0x73,0x33,0x29,0x2c,0x72,0x63,0x33,0x29,0x3b,0x0a,0x2a,0x70,0x76,0x31,0x20,0x5e,0x3d,0x20,0x2a, + 0x70,0x76,0x30,0x3b,0x0a,0x7d,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x53,0x6b,0x65,0x69,0x6e,0x45,0x76,0x65,0x6e,0x52,0x6f,0x75,0x6e,0x64,0x28,0x75,0x6c,0x6f, + 0x6e,0x67,0x38,0x20,0x70,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x68,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67, + 0x20,0x2a,0x74,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x29,0x0a,0x7b,0x0a,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x49,0x4e,0x4a,0x45,0x43,0x54, + 0x5f,0x4b,0x45,0x59,0x28,0x70,0x2c,0x73,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x20,0x70,0x76,0x30,0x3d,0x70,0x2e,0x65,0x76,0x65,0x6e,0x2c,0x70,0x76,0x31, + 0x3d,0x70,0x2e,0x6f,0x64,0x64,0x3b,0x0a,0x53,0x6b,0x65,0x69,0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c,0x26,0x70,0x76,0x31,0x2c,0x34,0x36,0x2c,0x33, + 0x36,0x2c,0x31,0x39,0x2c,0x33,0x37,0x29,0x3b,0x0a,0x70,0x76,0x30,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x30,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67, + 0x34,0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x30,0x29,0x29,0x3b,0x0a,0x70,0x76,0x31,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x31,0x2c,0x28,0x75, + 0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x30,0x2c,0x33,0x2c,0x32,0x2c,0x31,0x29,0x29,0x3b,0x0a,0x53,0x6b,0x65,0x69,0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30, + 0x2c,0x26,0x70,0x76,0x31,0x2c,0x33,0x33,0x2c,0x32,0x37,0x2c,0x31,0x34,0x2c,0x34,0x32,0x29,0x3b,0x0a,0x70,0x76,0x30,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28, + 0x70,0x76,0x30,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x30,0x29,0x29,0x3b,0x0a,0x70,0x76,0x31,0x3d,0x73,0x68,0x75,0x66, + 0x66,0x6c,0x65,0x28,0x70,0x76,0x31,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x30,0x2c,0x33,0x2c,0x32,0x2c,0x31,0x29,0x29,0x3b,0x0a,0x53,0x6b,0x65,0x69, + 0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c,0x26,0x70,0x76,0x31,0x2c,0x31,0x37,0x2c,0x34,0x39,0x2c,0x33,0x36,0x2c,0x33,0x39,0x29,0x3b,0x0a,0x70,0x76, + 0x30,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x30,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x30,0x29,0x29, + 0x3b,0x0a,0x70,0x76,0x31,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x31,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x30,0x2c,0x33,0x2c,0x32, + 0x2c,0x31,0x29,0x29,0x3b,0x0a,0x53,0x6b,0x65,0x69,0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c,0x26,0x70,0x76,0x31,0x2c,0x34,0x34,0x2c,0x39,0x2c,0x35, + 0x34,0x2c,0x35,0x36,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x28,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x32,0x28,0x70,0x76,0x30,0x2c,0x70,0x76,0x31,0x2c,0x28, + 0x75,0x6c,0x6f,0x6e,0x67,0x38,0x29,0x28,0x31,0x2c,0x34,0x2c,0x32,0x2c,0x37,0x2c,0x33,0x2c,0x36,0x2c,0x30,0x2c,0x35,0x29,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x75,0x6c, + 0x6f,0x6e,0x67,0x38,0x20,0x53,0x6b,0x65,0x69,0x6e,0x4f,0x64,0x64,0x52,0x6f,0x75,0x6e,0x64,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x70,0x2c,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x68,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x74,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x75,0x69,0x6e,0x74,0x20,0x73,0x29,0x0a,0x7b,0x0a,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x49,0x4e,0x4a,0x45,0x43,0x54,0x5f,0x4b,0x45,0x59,0x28,0x70,0x2c,0x73,0x29,0x3b, + 0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x20,0x70,0x76,0x30,0x3d,0x70,0x2e,0x65,0x76,0x65,0x6e,0x2c,0x70,0x76,0x31,0x3d,0x70,0x2e,0x6f,0x64,0x64,0x3b,0x0a,0x53,0x6b, + 0x65,0x69,0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c,0x26,0x70,0x76,0x31,0x2c,0x33,0x39,0x2c,0x33,0x30,0x2c,0x33,0x34,0x2c,0x32,0x34,0x29,0x3b,0x0a, + 0x70,0x76,0x30,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x30,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x30, + 0x29,0x29,0x3b,0x0a,0x70,0x76,0x31,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x31,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x30,0x2c,0x33, + 0x2c,0x32,0x2c,0x31,0x29,0x29,0x3b,0x0a,0x53,0x6b,0x65,0x69,0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c,0x26,0x70,0x76,0x31,0x2c,0x31,0x33,0x2c,0x35, + 0x30,0x2c,0x31,0x30,0x2c,0x31,0x37,0x29,0x3b,0x0a,0x70,0x76,0x30,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x30,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67, + 0x34,0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x30,0x29,0x29,0x3b,0x0a,0x70,0x76,0x31,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x70,0x76,0x31,0x2c,0x28,0x75, + 0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x30,0x2c,0x33,0x2c,0x32,0x2c,0x31,0x29,0x29,0x3b,0x0a,0x53,0x6b,0x65,0x69,0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30, + 0x2c,0x26,0x70,0x76,0x31,0x2c,0x32,0x35,0x2c,0x32,0x39,0x2c,0x33,0x39,0x2c,0x34,0x33,0x29,0x3b,0x0a,0x70,0x76,0x30,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28, + 0x70,0x76,0x30,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x30,0x29,0x29,0x3b,0x0a,0x70,0x76,0x31,0x3d,0x73,0x68,0x75,0x66, + 0x66,0x6c,0x65,0x28,0x70,0x76,0x31,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x34,0x29,0x28,0x30,0x2c,0x33,0x2c,0x32,0x2c,0x31,0x29,0x29,0x3b,0x0a,0x53,0x6b,0x65,0x69, + 0x6e,0x4d,0x69,0x78,0x38,0x28,0x26,0x70,0x76,0x30,0x2c,0x26,0x70,0x76,0x31,0x2c,0x38,0x2c,0x33,0x35,0x2c,0x35,0x36,0x2c,0x32,0x32,0x29,0x3b,0x0a,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x28,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x32,0x28,0x70,0x76,0x30,0x2c,0x70,0x76,0x31,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x29,0x28,0x31,0x2c, + 0x34,0x2c,0x32,0x2c,0x37,0x2c,0x33,0x2c,0x36,0x2c,0x30,0x2c,0x35,0x29,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x53,0x6b,0x65,0x69,0x6e, + 0x35,0x31,0x32,0x42,0x6c,0x6f,0x63,0x6b,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x70,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x68,0x2c,0x75,0x6c,0x6f,0x6e,0x67, + 0x20,0x68,0x38,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x74,0x29,0x0a,0x7b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e, + 0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x31,0x38,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x70, + 0x3d,0x53,0x6b,0x65,0x69,0x6e,0x45,0x76,0x65,0x6e,0x52,0x6f,0x75,0x6e,0x64,0x28,0x70,0x2c,0x68,0x2c,0x74,0x2c,0x69,0x29,0x3b,0x0a,0x2b,0x2b,0x69,0x3b,0x0a,0x75, + 0x6c,0x6f,0x6e,0x67,0x20,0x74,0x6d,0x70,0x3d,0x68,0x2e,0x73,0x30,0x3b,0x0a,0x68,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x68,0x2c,0x28,0x75,0x6c,0x6f,0x6e, + 0x67,0x38,0x29,0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x29,0x29,0x3b,0x0a,0x68,0x2e,0x73,0x37,0x3d,0x68,0x38,0x3b,0x0a, + 0x68,0x38,0x3d,0x74,0x6d,0x70,0x3b,0x0a,0x70,0x3d,0x53,0x6b,0x65,0x69,0x6e,0x4f,0x64,0x64,0x52,0x6f,0x75,0x6e,0x64,0x28,0x70,0x2c,0x68,0x2c,0x74,0x2c,0x69,0x29, + 0x3b,0x0a,0x74,0x6d,0x70,0x3d,0x68,0x2e,0x73,0x30,0x3b,0x0a,0x68,0x3d,0x73,0x68,0x75,0x66,0x66,0x6c,0x65,0x28,0x68,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x29, + 0x28,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x29,0x29,0x3b,0x0a,0x68,0x2e,0x73,0x37,0x3d,0x68,0x38,0x3b,0x0a,0x68,0x38,0x3d, + 0x74,0x6d,0x70,0x3b,0x0a,0x7d,0x0a,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x49,0x4e,0x4a,0x45,0x43,0x54,0x5f,0x4b,0x45,0x59,0x28,0x70,0x2c,0x31,0x38,0x29,0x3b,0x0a,0x72, + 0x65,0x74,0x75,0x72,0x6e,0x28,0x70,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x50,0x48,0x5f,0x4a, + 0x48,0x5f,0x36,0x34,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x50,0x48,0x5f,0x4c,0x49,0x54,0x54,0x4c,0x45,0x5f,0x45,0x4e,0x44,0x49,0x41,0x4e, + 0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x78,0x29,0x09,0x78,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x09,0x78,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x70,0x68,0x5f,0x75,0x33, + 0x32,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x73,0x70,0x68,0x5f,0x75,0x36,0x34,0x3b,0x0a,0x23,0x69,0x66,0x20,0x53,0x50, + 0x48,0x5f,0x4c,0x49,0x54,0x54,0x4c,0x45,0x5f,0x45,0x4e,0x44,0x49,0x41,0x4e,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x33,0x32,0x65,0x28,0x78,0x29,0x20, + 0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x32,0x34,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x33, + 0x32,0x28,0x78,0x29,0x3e,0x3e,0x38,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a, + 0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x78,0x29,0x3c,0x3c,0x38,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x30,0x78,0x30,0x30,0x46, + 0x46,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x33,0x32,0x28,0x78,0x29,0x3c,0x3c,0x32,0x34,0x29,0x26,0x53,0x50, + 0x48,0x5f,0x43,0x33,0x32,0x28,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x64,0x65,0x63,0x33, + 0x32,0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x20,0x73,0x70,0x68,0x5f,0x64,0x65,0x63,0x33,0x32,0x6c,0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x6e,0x63,0x33,0x32,0x65,0x20,0x73,0x70,0x68,0x5f,0x65,0x6e,0x63,0x33,0x32,0x6c,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, + 0x65,0x20,0x43,0x36,0x34,0x65,0x28,0x78,0x29,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x35,0x36,0x29,0x20,0x5c,0x0a, + 0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3e,0x3e,0x34,0x30,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78, + 0x29,0x3e,0x3e,0x32,0x34,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30, + 0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3e,0x3e,0x38,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34, + 0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f, + 0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c,0x38,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c,0x32,0x34,0x29,0x26,0x53,0x50, + 0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28, + 0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c,0x34,0x30,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x46,0x46,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c, + 0x35,0x36,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29, + 0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x64,0x65,0x63,0x36,0x34,0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x20,0x73,0x70,0x68,0x5f,0x64,0x65,0x63, + 0x36,0x34,0x6c,0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x6e,0x63,0x36,0x34,0x65,0x20,0x73,0x70,0x68,0x5f, + 0x65,0x6e,0x63,0x36,0x34,0x6c,0x65,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x33,0x32,0x65,0x28,0x78,0x29,0x20,0x53,0x50, + 0x48,0x5f,0x43,0x33,0x32,0x28,0x78,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x64,0x65,0x63,0x33,0x32,0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x20, + 0x73,0x70,0x68,0x5f,0x64,0x65,0x63,0x33,0x32,0x62,0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x6e,0x63,0x33, + 0x32,0x65,0x20,0x73,0x70,0x68,0x5f,0x65,0x6e,0x63,0x33,0x32,0x62,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x36,0x34,0x65,0x28,0x78,0x29,0x20,0x53, + 0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x64,0x65,0x63,0x36,0x34,0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64, + 0x20,0x73,0x70,0x68,0x5f,0x64,0x65,0x63,0x36,0x34,0x62,0x65,0x5f,0x61,0x6c,0x69,0x67,0x6e,0x65,0x64,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x6e,0x63, + 0x36,0x34,0x65,0x20,0x73,0x70,0x68,0x5f,0x65,0x6e,0x63,0x36,0x34,0x62,0x65,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53, + 0x62,0x28,0x78,0x30,0x2c,0x20,0x78,0x31,0x2c,0x20,0x78,0x32,0x2c,0x20,0x78,0x33,0x2c,0x20,0x63,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x78,0x33,0x3d,0x7e, + 0x78,0x33,0x3b,0x20,0x5c,0x0a,0x78,0x30,0x20,0x5e,0x3d,0x20,0x28,0x63,0x29,0x26,0x7e,0x78,0x32,0x3b,0x20,0x5c,0x0a,0x74,0x6d,0x70,0x3d,0x28,0x63,0x29,0x5e,0x28, + 0x78,0x30,0x26,0x78,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x78,0x30,0x20,0x5e,0x3d,0x20,0x78,0x32,0x26,0x78,0x33,0x3b,0x20,0x5c,0x0a,0x78,0x33,0x20,0x5e,0x3d,0x20,0x7e, + 0x78,0x31,0x26,0x78,0x32,0x3b,0x20,0x5c,0x0a,0x78,0x31,0x20,0x5e,0x3d,0x20,0x78,0x30,0x26,0x78,0x32,0x3b,0x20,0x5c,0x0a,0x78,0x32,0x20,0x5e,0x3d,0x20,0x78,0x30, + 0x26,0x7e,0x78,0x33,0x3b,0x20,0x5c,0x0a,0x78,0x30,0x20,0x5e,0x3d,0x20,0x78,0x31,0x7c,0x78,0x33,0x3b,0x20,0x5c,0x0a,0x78,0x33,0x20,0x5e,0x3d,0x20,0x78,0x31,0x26, + 0x78,0x32,0x3b,0x20,0x5c,0x0a,0x78,0x31,0x20,0x5e,0x3d,0x20,0x74,0x6d,0x70,0x26,0x78,0x30,0x3b,0x20,0x5c,0x0a,0x78,0x32,0x20,0x5e,0x3d,0x20,0x74,0x6d,0x70,0x3b, + 0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x62,0x28,0x78,0x30,0x2c,0x20,0x78,0x31, + 0x2c,0x20,0x78,0x32,0x2c,0x20,0x78,0x33,0x2c,0x20,0x78,0x34,0x2c,0x20,0x78,0x35,0x2c,0x20,0x78,0x36,0x2c,0x20,0x78,0x37,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c, + 0x0a,0x78,0x34,0x20,0x5e,0x3d,0x20,0x78,0x31,0x3b,0x20,0x5c,0x0a,0x78,0x35,0x20,0x5e,0x3d,0x20,0x78,0x32,0x3b,0x20,0x5c,0x0a,0x78,0x36,0x20,0x5e,0x3d,0x20,0x78, + 0x33,0x5e,0x78,0x30,0x3b,0x20,0x5c,0x0a,0x78,0x37,0x20,0x5e,0x3d,0x20,0x78,0x30,0x3b,0x20,0x5c,0x0a,0x78,0x30,0x20,0x5e,0x3d,0x20,0x78,0x35,0x3b,0x20,0x5c,0x0a, + 0x78,0x31,0x20,0x5e,0x3d,0x20,0x78,0x36,0x3b,0x20,0x5c,0x0a,0x78,0x32,0x20,0x5e,0x3d,0x20,0x78,0x37,0x5e,0x78,0x34,0x3b,0x20,0x5c,0x0a,0x78,0x33,0x20,0x5e,0x3d, + 0x20,0x78,0x34,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x43,0x5b,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x36,0x37,0x46,0x38,0x31, + 0x35,0x44,0x46,0x41,0x32,0x44,0x45,0x44,0x35,0x37,0x32,0x55,0x4c,0x2c,0x30,0x78,0x35,0x37,0x31,0x35,0x32,0x33,0x42,0x37,0x30,0x41,0x31,0x35,0x38,0x34,0x37,0x42, + 0x55,0x4c,0x2c,0x30,0x78,0x46,0x36,0x38,0x37,0x35,0x41,0x34,0x44,0x39,0x30,0x44,0x36,0x41,0x42,0x38,0x31,0x55,0x4c,0x2c,0x30,0x78,0x34,0x30,0x32,0x42,0x44,0x31, + 0x43,0x33,0x43,0x35,0x34,0x46,0x39,0x46,0x34,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x43,0x46,0x41,0x34,0x35,0x35,0x43,0x45,0x30,0x33,0x41,0x39,0x38,0x45,0x41, + 0x55,0x4c,0x2c,0x30,0x78,0x39,0x41,0x39,0x39,0x42,0x32,0x36,0x36,0x39,0x39,0x44,0x32,0x43,0x35,0x30,0x33,0x55,0x4c,0x2c,0x30,0x78,0x38,0x41,0x35,0x33,0x42,0x42, + 0x46,0x32,0x42,0x34,0x39,0x36,0x30,0x32,0x36,0x36,0x55,0x4c,0x2c,0x30,0x78,0x33,0x31,0x41,0x32,0x44,0x42,0x38,0x38,0x31,0x41,0x31,0x34,0x35,0x36,0x42,0x35,0x55, + 0x4c,0x2c,0x0a,0x30,0x78,0x44,0x42,0x30,0x45,0x31,0x39,0x39,0x41,0x35,0x43,0x35,0x41,0x41,0x33,0x30,0x33,0x55,0x4c,0x2c,0x30,0x78,0x31,0x30,0x34,0x34,0x43,0x31, + 0x38,0x37,0x30,0x41,0x42,0x32,0x33,0x46,0x34,0x30,0x55,0x4c,0x2c,0x30,0x78,0x31,0x44,0x39,0x35,0x39,0x45,0x38,0x34,0x38,0x30,0x31,0x39,0x30,0x35,0x31,0x43,0x55, + 0x4c,0x2c,0x30,0x78,0x44,0x43,0x43,0x44,0x45,0x37,0x35,0x45,0x41,0x44,0x45,0x42,0x33,0x33,0x36,0x46,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x34,0x31,0x36,0x42,0x42,0x46, + 0x30,0x32,0x39,0x32,0x31,0x33,0x42,0x41,0x31,0x30,0x55,0x4c,0x2c,0x30,0x78,0x44,0x30,0x32,0x37,0x42,0x42,0x46,0x37,0x31,0x35,0x36,0x35,0x37,0x38,0x44,0x43,0x55, + 0x4c,0x2c,0x30,0x78,0x35,0x30,0x37,0x38,0x41,0x41,0x33,0x37,0x33,0x39,0x38,0x31,0x32,0x43,0x30,0x41,0x55,0x4c,0x2c,0x30,0x78,0x44,0x33,0x39,0x31,0x30,0x30,0x34, + 0x31,0x44,0x32,0x42,0x46,0x31,0x41,0x33,0x46,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x30,0x37,0x45,0x43,0x43,0x46,0x36,0x30,0x44,0x35,0x41,0x32,0x44,0x34,0x32,0x55, + 0x4c,0x2c,0x30,0x78,0x43,0x45,0x39,0x37,0x43,0x30,0x39,0x32,0x39,0x43,0x39,0x46,0x36,0x32,0x44,0x44,0x55,0x4c,0x2c,0x30,0x78,0x41,0x43,0x34,0x34,0x32,0x42,0x43, + 0x37,0x30,0x42,0x41,0x37,0x35,0x43,0x31,0x38,0x55,0x4c,0x2c,0x30,0x78,0x32,0x33,0x46,0x43,0x43,0x36,0x36,0x33,0x44,0x36,0x36,0x35,0x44,0x46,0x44,0x31,0x55,0x4c, + 0x2c,0x0a,0x30,0x78,0x31,0x41,0x42,0x38,0x45,0x30,0x39,0x45,0x30,0x33,0x36,0x43,0x36,0x45,0x39,0x37,0x55,0x4c,0x2c,0x30,0x78,0x41,0x38,0x45,0x43,0x36,0x43,0x34, + 0x34,0x37,0x45,0x34,0x35,0x30,0x35,0x32,0x31,0x55,0x4c,0x2c,0x30,0x78,0x46,0x41,0x36,0x31,0x38,0x45,0x35,0x44,0x42,0x42,0x30,0x33,0x46,0x31,0x45,0x45,0x55,0x4c, + 0x2c,0x30,0x78,0x39,0x37,0x38,0x31,0x38,0x33,0x39,0x34,0x42,0x32,0x39,0x37,0x39,0x36,0x46,0x44,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x46,0x33,0x30,0x30,0x33,0x44, + 0x42,0x33,0x37,0x38,0x35,0x38,0x45,0x34,0x41,0x55,0x4c,0x2c,0x30,0x78,0x39,0x35,0x36,0x41,0x39,0x46,0x46,0x42,0x32,0x44,0x38,0x44,0x36,0x37,0x32,0x41,0x55,0x4c, + 0x2c,0x30,0x78,0x36,0x43,0x36,0x39,0x42,0x38,0x46,0x38,0x38,0x31,0x37,0x33,0x46,0x45,0x38,0x41,0x55,0x4c,0x2c,0x30,0x78,0x31,0x34,0x34,0x32,0x37,0x46,0x43,0x30, + 0x34,0x36,0x37,0x32,0x43,0x37,0x38,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x34,0x35,0x45,0x43,0x37,0x42,0x44,0x38,0x46,0x31,0x35,0x46,0x34,0x43,0x35,0x55,0x4c, + 0x2c,0x30,0x78,0x38,0x30,0x42,0x42,0x31,0x31,0x38,0x46,0x41,0x37,0x36,0x46,0x34,0x34,0x37,0x35,0x55,0x4c,0x2c,0x30,0x78,0x42,0x43,0x38,0x38,0x45,0x34,0x41,0x45, + 0x42,0x37,0x37,0x35,0x44,0x45,0x35,0x32,0x55,0x4c,0x2c,0x30,0x78,0x46,0x34,0x41,0x33,0x41,0x36,0x39,0x38,0x31,0x45,0x30,0x30,0x42,0x38,0x38,0x32,0x55,0x4c,0x2c, + 0x0a,0x30,0x78,0x31,0x35,0x36,0x33,0x41,0x33,0x41,0x39,0x33,0x33,0x38,0x46,0x46,0x34,0x38,0x45,0x55,0x4c,0x2c,0x30,0x78,0x38,0x39,0x46,0x39,0x42,0x37,0x44,0x35, + 0x32,0x34,0x35,0x36,0x35,0x46,0x41,0x41,0x55,0x4c,0x2c,0x30,0x78,0x46,0x44,0x45,0x30,0x35,0x41,0x37,0x43,0x32,0x30,0x45,0x44,0x46,0x31,0x42,0x36,0x55,0x4c,0x2c, + 0x30,0x78,0x33,0x36,0x32,0x43,0x34,0x32,0x30,0x36,0x35,0x41,0x45,0x39,0x43,0x41,0x33,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33,0x44,0x39,0x38,0x46,0x45,0x34,0x45, + 0x34,0x33,0x33,0x35,0x32,0x39,0x43,0x45,0x55,0x4c,0x2c,0x30,0x78,0x41,0x37,0x34,0x42,0x39,0x41,0x37,0x33,0x37,0x34,0x46,0x39,0x33,0x41,0x35,0x33,0x55,0x4c,0x2c, + 0x30,0x78,0x38,0x36,0x38,0x31,0x34,0x45,0x36,0x46,0x35,0x39,0x31,0x46,0x46,0x35,0x44,0x30,0x55,0x4c,0x2c,0x30,0x78,0x39,0x46,0x35,0x41,0x44,0x38,0x41,0x46,0x38, + 0x31,0x41,0x44,0x39,0x44,0x30,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x41,0x36,0x32,0x33,0x34,0x45,0x45,0x36,0x37,0x30,0x36,0x30,0x35,0x41,0x37,0x55,0x4c,0x2c, + 0x30,0x78,0x32,0x37,0x31,0x37,0x42,0x39,0x36,0x45,0x42,0x45,0x32,0x38,0x30,0x42,0x38,0x42,0x55,0x4c,0x2c,0x30,0x78,0x33,0x46,0x31,0x30,0x38,0x30,0x43,0x36,0x32, + 0x36,0x30,0x37,0x37,0x34,0x34,0x37,0x55,0x4c,0x2c,0x30,0x78,0x37,0x42,0x34,0x38,0x37,0x45,0x43,0x36,0x36,0x46,0x37,0x45,0x41,0x30,0x45,0x30,0x55,0x4c,0x2c,0x0a, + 0x30,0x78,0x43,0x30,0x41,0x34,0x46,0x38,0x34,0x41,0x41,0x35,0x30,0x41,0x35,0x35,0x30,0x44,0x55,0x4c,0x2c,0x30,0x78,0x39,0x45,0x46,0x31,0x38,0x45,0x39,0x37,0x39, + 0x46,0x45,0x37,0x45,0x33,0x39,0x31,0x55,0x4c,0x2c,0x30,0x78,0x44,0x34,0x38,0x44,0x36,0x30,0x35,0x30,0x38,0x31,0x37,0x32,0x37,0x36,0x38,0x36,0x55,0x4c,0x2c,0x30, + 0x78,0x36,0x32,0x42,0x30,0x45,0x35,0x46,0x33,0x34,0x31,0x35,0x41,0x39,0x45,0x37,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x37,0x41,0x32,0x30,0x35,0x34,0x34,0x30,0x45, + 0x43,0x31,0x46,0x39,0x46,0x46,0x43,0x55,0x4c,0x2c,0x30,0x78,0x38,0x34,0x43,0x39,0x46,0x34,0x43,0x45,0x30,0x30,0x31,0x41,0x45,0x34,0x45,0x33,0x55,0x4c,0x2c,0x30, + 0x78,0x44,0x38,0x39,0x35,0x46,0x41,0x39,0x44,0x46,0x35,0x39,0x34,0x44,0x37,0x34,0x46,0x55,0x4c,0x2c,0x30,0x78,0x41,0x35,0x35,0x34,0x43,0x33,0x32,0x34,0x31,0x31, + 0x37,0x45,0x32,0x45,0x35,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x38,0x36,0x45,0x46,0x45,0x42,0x44,0x32,0x38,0x37,0x32,0x44,0x46,0x35,0x42,0x55,0x4c,0x2c,0x30, + 0x78,0x42,0x32,0x43,0x34,0x41,0x35,0x30,0x46,0x45,0x32,0x37,0x46,0x46,0x35,0x37,0x38,0x55,0x4c,0x2c,0x30,0x78,0x32,0x45,0x44,0x33,0x34,0x39,0x45,0x45,0x45,0x46, + 0x37,0x43,0x38,0x39,0x30,0x35,0x55,0x4c,0x2c,0x30,0x78,0x37,0x46,0x35,0x39,0x32,0x38,0x45,0x42,0x38,0x35,0x39,0x33,0x37,0x45,0x34,0x34,0x55,0x4c,0x2c,0x0a,0x30, + 0x78,0x34,0x41,0x33,0x31,0x32,0x34,0x42,0x33,0x33,0x37,0x36,0x39,0x35,0x46,0x37,0x30,0x55,0x4c,0x2c,0x30,0x78,0x36,0x35,0x45,0x34,0x44,0x36,0x31,0x44,0x46,0x31, + 0x32,0x38,0x38,0x36,0x35,0x45,0x55,0x4c,0x2c,0x30,0x78,0x45,0x37,0x32,0x30,0x42,0x39,0x35,0x31,0x30,0x34,0x37,0x37,0x31,0x42,0x43,0x37,0x55,0x4c,0x2c,0x30,0x78, + 0x38,0x41,0x38,0x37,0x44,0x34,0x32,0x33,0x45,0x38,0x34,0x33,0x46,0x45,0x37,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x46,0x32,0x39,0x34,0x37,0x36,0x39,0x32,0x41,0x33, + 0x45,0x38,0x32,0x39,0x37,0x44,0x55,0x4c,0x2c,0x30,0x78,0x43,0x31,0x44,0x39,0x33,0x30,0x39,0x42,0x30,0x39,0x37,0x41,0x43,0x42,0x44,0x44,0x55,0x4c,0x2c,0x30,0x78, + 0x45,0x30,0x31,0x42,0x44,0x43,0x35,0x42,0x46,0x42,0x33,0x30,0x31,0x42,0x31,0x44,0x55,0x4c,0x2c,0x30,0x78,0x42,0x46,0x38,0x32,0x39,0x43,0x46,0x32,0x34,0x46,0x34, + 0x39,0x32,0x34,0x44,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x46,0x46,0x42,0x46,0x37,0x30,0x42,0x34,0x33,0x31,0x42,0x41,0x45,0x37,0x41,0x34,0x55,0x4c,0x2c,0x30,0x78, + 0x34,0x38,0x42,0x43,0x46,0x38,0x44,0x45,0x30,0x35,0x34,0x34,0x33,0x32,0x30,0x44,0x55,0x4c,0x2c,0x30,0x78,0x33,0x39,0x44,0x33,0x42,0x42,0x35,0x33,0x33,0x32,0x46, + 0x43,0x41,0x45,0x33,0x42,0x55,0x4c,0x2c,0x30,0x78,0x41,0x30,0x38,0x42,0x32,0x39,0x45,0x30,0x43,0x31,0x43,0x33,0x39,0x46,0x34,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78, + 0x30,0x46,0x30,0x39,0x41,0x45,0x46,0x37,0x46,0x44,0x30,0x35,0x43,0x39,0x45,0x35,0x55,0x4c,0x2c,0x30,0x78,0x33,0x34,0x46,0x31,0x39,0x30,0x34,0x32,0x31,0x32,0x33, + 0x34,0x37,0x30,0x39,0x34,0x55,0x4c,0x2c,0x30,0x78,0x39,0x35,0x45,0x44,0x34,0x34,0x45,0x33,0x30,0x31,0x42,0x37,0x37,0x31,0x41,0x32,0x55,0x4c,0x2c,0x30,0x78,0x34, + 0x41,0x39,0x38,0x32,0x46,0x34,0x46,0x33,0x36,0x38,0x45,0x33,0x42,0x45,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31,0x35,0x46,0x36,0x36,0x43,0x41,0x30,0x36,0x33,0x31, + 0x44,0x34,0x30,0x38,0x38,0x55,0x4c,0x2c,0x30,0x78,0x46,0x46,0x41,0x46,0x35,0x32,0x38,0x37,0x34,0x42,0x34,0x34,0x43,0x31,0x34,0x37,0x55,0x4c,0x2c,0x30,0x78,0x33, + 0x30,0x43,0x36,0x30,0x41,0x45,0x32,0x46,0x31,0x34,0x41,0x42,0x42,0x37,0x45,0x55,0x4c,0x2c,0x30,0x78,0x45,0x36,0x38,0x43,0x36,0x45,0x43,0x43,0x43,0x35,0x42,0x36, + 0x37,0x30,0x34,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x30,0x43,0x41,0x34,0x46,0x42,0x44,0x35,0x36,0x41,0x34,0x44,0x35,0x41,0x34,0x55,0x4c,0x2c,0x30,0x78,0x41, + 0x45,0x31,0x38,0x33,0x45,0x43,0x38,0x34,0x42,0x38,0x34,0x39,0x44,0x44,0x41,0x55,0x4c,0x2c,0x30,0x78,0x41,0x44,0x44,0x31,0x36,0x34,0x33,0x30,0x34,0x35,0x43,0x45, + 0x35,0x37,0x37,0x33,0x55,0x4c,0x2c,0x30,0x78,0x36,0x37,0x32,0x35,0x35,0x43,0x31,0x34,0x36,0x38,0x43,0x45,0x41,0x36,0x45,0x38,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31, + 0x36,0x45,0x31,0x30,0x45,0x43,0x42,0x46,0x32,0x38,0x43,0x44,0x41,0x41,0x33,0x55,0x4c,0x2c,0x30,0x78,0x39,0x41,0x39,0x39,0x39,0x34,0x39,0x41,0x35,0x38,0x30,0x36, + 0x45,0x39,0x33,0x33,0x55,0x4c,0x2c,0x30,0x78,0x37,0x42,0x38,0x34,0x36,0x46,0x43,0x32,0x32,0x30,0x42,0x32,0x36,0x30,0x31,0x46,0x55,0x4c,0x2c,0x30,0x78,0x31,0x38, + 0x38,0x35,0x44,0x31,0x41,0x30,0x37,0x46,0x41,0x43,0x43,0x45,0x44,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x33,0x31,0x39,0x44,0x44,0x38,0x44,0x41,0x31,0x35,0x42, + 0x35,0x39,0x33,0x32,0x55,0x4c,0x2c,0x30,0x78,0x34,0x36,0x42,0x34,0x41,0x35,0x41,0x41,0x43,0x30,0x31,0x43,0x39,0x41,0x35,0x30,0x55,0x4c,0x2c,0x30,0x78,0x42,0x41, + 0x36,0x42,0x30,0x34,0x45,0x34,0x36,0x37,0x36,0x33,0x33,0x44,0x39,0x46,0x55,0x4c,0x2c,0x30,0x78,0x37,0x45,0x45,0x45,0x35,0x36,0x30,0x42,0x41,0x42,0x31,0x39,0x43, + 0x41,0x46,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x37,0x34,0x32,0x31,0x32,0x38,0x41,0x39,0x45,0x41,0x37,0x39,0x42,0x31,0x31,0x46,0x55,0x4c,0x2c,0x30,0x78,0x45,0x45, + 0x35,0x31,0x33,0x36,0x33,0x42,0x33,0x35,0x46,0x37,0x42,0x44,0x45,0x39,0x55,0x4c,0x2c,0x30,0x78,0x37,0x36,0x44,0x33,0x35,0x30,0x37,0x35,0x35,0x41,0x41,0x43,0x35, + 0x37,0x31,0x44,0x55,0x4c,0x2c,0x30,0x78,0x30,0x31,0x37,0x30,0x37,0x44,0x41,0x33,0x46,0x45,0x43,0x32,0x34,0x36,0x33,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x34,0x32, + 0x44,0x38,0x41,0x34,0x39,0x38,0x41,0x46,0x43,0x31,0x33,0x35,0x46,0x37,0x55,0x4c,0x2c,0x30,0x78,0x37,0x39,0x36,0x37,0x36,0x42,0x39,0x45,0x32,0x30,0x45,0x43,0x45, + 0x44,0x37,0x38,0x55,0x4c,0x2c,0x30,0x78,0x41,0x38,0x44,0x42,0x33,0x41,0x45,0x41,0x31,0x35,0x36,0x33,0x38,0x33,0x34,0x31,0x55,0x4c,0x2c,0x30,0x78,0x38,0x33,0x32, + 0x43,0x38,0x33,0x33,0x32,0x34,0x44,0x33,0x42,0x43,0x33,0x46,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x46,0x33,0x34,0x37,0x32,0x37,0x31,0x43,0x31,0x46,0x33,0x42,0x34, + 0x30,0x41,0x37,0x55,0x4c,0x2c,0x30,0x78,0x39,0x41,0x37,0x36,0x32,0x44,0x42,0x37,0x33,0x34,0x46,0x30,0x34,0x30,0x35,0x39,0x55,0x4c,0x2c,0x30,0x78,0x46,0x44,0x34, + 0x46,0x32,0x31,0x44,0x32,0x36,0x43,0x34,0x45,0x33,0x45,0x45,0x37,0x55,0x4c,0x2c,0x30,0x78,0x45,0x46,0x35,0x39,0x35,0x37,0x44,0x43,0x33,0x39,0x38,0x44,0x46,0x44, + 0x42,0x38,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x41,0x45,0x42,0x34,0x39,0x32,0x42,0x34,0x39,0x30,0x43,0x39,0x42,0x38,0x44,0x55,0x4c,0x2c,0x30,0x78,0x30,0x44,0x37, + 0x30,0x46,0x33,0x36,0x38,0x34,0x39,0x44,0x37,0x41,0x32,0x35,0x42,0x55,0x4c,0x2c,0x30,0x78,0x38,0x34,0x35,0x35,0x38,0x44,0x37,0x41,0x44,0x30,0x41,0x45,0x33,0x42, + 0x37,0x44,0x55,0x4c,0x2c,0x30,0x78,0x36,0x35,0x38,0x45,0x46,0x38,0x45,0x34,0x46,0x30,0x45,0x39,0x41,0x35,0x46,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x33,0x33, + 0x42,0x31,0x30,0x33,0x36,0x46,0x34,0x41,0x32,0x42,0x38,0x41,0x30,0x55,0x4c,0x2c,0x30,0x78,0x35,0x41,0x45,0x43,0x33,0x45,0x37,0x35,0x39,0x45,0x30,0x37,0x41,0x38, + 0x30,0x43,0x55,0x4c,0x2c,0x30,0x78,0x34,0x46,0x38,0x38,0x45,0x38,0x35,0x36,0x39,0x32,0x39,0x34,0x36,0x38,0x39,0x31,0x55,0x4c,0x2c,0x30,0x78,0x34,0x43,0x42,0x43, + 0x42,0x41,0x46,0x38,0x35,0x35,0x35,0x43,0x42,0x30,0x35,0x42,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x37,0x42,0x39,0x34,0x38,0x37,0x46,0x33,0x39,0x39,0x33,0x42,0x42,0x42, + 0x45,0x33,0x55,0x4c,0x2c,0x30,0x78,0x35,0x44,0x31,0x43,0x36,0x42,0x37,0x32,0x44,0x36,0x46,0x34,0x44,0x41,0x37,0x35,0x55,0x4c,0x2c,0x30,0x78,0x36,0x44,0x42,0x33, + 0x33,0x34,0x44,0x43,0x32,0x38,0x41,0x43,0x41,0x45,0x36,0x34,0x55,0x4c,0x2c,0x30,0x78,0x37,0x31,0x44,0x42,0x32,0x38,0x42,0x38,0x35,0x30,0x41,0x35,0x33,0x34,0x36, + 0x43,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x41,0x35,0x31,0x38,0x44,0x31,0x30,0x46,0x32,0x45,0x32,0x36,0x31,0x46,0x38,0x55,0x4c,0x2c,0x30,0x78,0x46,0x43,0x37,0x35, + 0x44,0x44,0x35,0x39,0x33,0x33,0x36,0x34,0x44,0x42,0x45,0x33,0x55,0x4c,0x2c,0x30,0x78,0x41,0x32,0x33,0x46,0x43,0x45,0x34,0x33,0x46,0x31,0x42,0x43,0x41,0x43,0x31, + 0x43,0x55,0x4c,0x2c,0x30,0x78,0x42,0x30,0x34,0x33,0x45,0x38,0x30,0x32,0x33,0x43,0x44,0x31,0x42,0x42,0x36,0x37,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x37,0x35,0x41,0x31, + 0x32,0x39,0x38,0x38,0x43,0x41,0x35,0x42,0x30,0x41,0x33,0x33,0x55,0x4c,0x2c,0x30,0x78,0x35,0x43,0x35,0x33,0x31,0x36,0x42,0x34,0x34,0x44,0x31,0x39,0x33,0x34,0x37, + 0x46,0x55,0x4c,0x2c,0x30,0x78,0x31,0x45,0x34,0x44,0x37,0x39,0x30,0x45,0x43,0x33,0x39,0x34,0x33,0x42,0x39,0x32,0x55,0x4c,0x2c,0x30,0x78,0x33,0x46,0x41,0x46,0x45, + 0x45,0x42,0x36,0x44,0x37,0x37,0x35,0x37,0x34,0x37,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x31,0x33,0x39,0x31,0x41,0x42,0x45,0x46,0x37,0x44,0x34,0x41,0x38,0x45, + 0x41,0x55,0x4c,0x2c,0x30,0x78,0x35,0x31,0x32,0x37,0x32,0x33,0x34,0x43,0x30,0x39,0x37,0x45,0x46,0x34,0x35,0x43,0x55,0x4c,0x2c,0x30,0x78,0x44,0x32,0x33,0x43,0x33, + 0x32,0x42,0x41,0x35,0x33,0x32,0x34,0x41,0x33,0x32,0x36,0x55,0x4c,0x2c,0x30,0x78,0x41,0x44,0x44,0x35,0x41,0x36,0x36,0x44,0x34,0x41,0x31,0x37,0x41,0x33,0x34,0x34, + 0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x38,0x43,0x39,0x46,0x32,0x41,0x46,0x41,0x36,0x33,0x45,0x31,0x44,0x42,0x35,0x55,0x4c,0x2c,0x30,0x78,0x35,0x36,0x33,0x43,0x36, + 0x42,0x39,0x31,0x39,0x38,0x33,0x44,0x35,0x39,0x38,0x33,0x55,0x4c,0x2c,0x30,0x78,0x34,0x44,0x36,0x30,0x38,0x36,0x37,0x32,0x41,0x31,0x37,0x43,0x46,0x38,0x34,0x43, + 0x55,0x4c,0x2c,0x30,0x78,0x46,0x36,0x43,0x37,0x36,0x45,0x30,0x38,0x43,0x43,0x33,0x45,0x45,0x32,0x34,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x45,0x37,0x36,0x42, + 0x43,0x42,0x31,0x42,0x33,0x33,0x33,0x39,0x38,0x32,0x46,0x55,0x4c,0x2c,0x30,0x78,0x32,0x41,0x45,0x36,0x43,0x34,0x45,0x46,0x41,0x35,0x36,0x36,0x44,0x36,0x32,0x42, + 0x55,0x4c,0x2c,0x30,0x78,0x33,0x36,0x44,0x34,0x43,0x31,0x42,0x45,0x45,0x38,0x42,0x36,0x46,0x34,0x30,0x36,0x55,0x4c,0x2c,0x30,0x78,0x36,0x33,0x32,0x31,0x45,0x46, + 0x42,0x43,0x31,0x35,0x38,0x32,0x45,0x45,0x37,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x39,0x43,0x39,0x35,0x33,0x46,0x34,0x30,0x44,0x34,0x45,0x43,0x31,0x46,0x44, + 0x55,0x4c,0x2c,0x30,0x78,0x32,0x36,0x35,0x38,0x35,0x38,0x30,0x36,0x43,0x34,0x35,0x41,0x37,0x44,0x41,0x37,0x55,0x4c,0x2c,0x30,0x78,0x31,0x36,0x46,0x41,0x45,0x30, + 0x30,0x36,0x31,0x36,0x31,0x34,0x43,0x31,0x37,0x45,0x55,0x4c,0x2c,0x30,0x78,0x33,0x46,0x39,0x44,0x36,0x33,0x32,0x38,0x33,0x44,0x41,0x46,0x39,0x30,0x37,0x45,0x55, + 0x4c,0x2c,0x0a,0x30,0x78,0x30,0x43,0x44,0x32,0x39,0x42,0x30,0x30,0x45,0x33,0x46,0x32,0x43,0x39,0x44,0x32,0x55,0x4c,0x2c,0x30,0x78,0x33,0x30,0x30,0x43,0x44,0x34, + 0x42,0x37,0x33,0x30,0x43,0x45,0x41,0x41,0x35,0x46,0x55,0x4c,0x2c,0x30,0x78,0x39,0x38,0x33,0x32,0x45,0x30,0x46,0x32,0x31,0x36,0x35,0x31,0x32,0x41,0x37,0x34,0x55, + 0x4c,0x2c,0x30,0x78,0x39,0x41,0x46,0x38,0x43,0x45,0x45,0x33,0x44,0x38,0x33,0x30,0x45,0x42,0x30,0x44,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x32,0x37,0x39,0x46,0x31, + 0x42,0x35,0x37,0x42,0x39,0x45,0x43,0x35,0x34,0x42,0x55,0x4c,0x2c,0x30,0x78,0x44,0x33,0x36,0x38,0x38,0x36,0x30,0x34,0x36,0x45,0x45,0x36,0x35,0x31,0x46,0x46,0x55, + 0x4c,0x2c,0x30,0x78,0x33,0x31,0x36,0x37,0x39,0x36,0x45,0x36,0x35,0x37,0x34,0x44,0x32,0x33,0x39,0x42,0x55,0x4c,0x2c,0x30,0x78,0x30,0x35,0x37,0x35,0x30,0x41,0x31, + 0x37,0x46,0x33,0x41,0x36,0x45,0x36,0x43,0x43,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x45,0x36,0x43,0x33,0x32,0x31,0x33,0x44,0x39,0x38,0x31,0x37,0x36,0x42,0x31,0x55, + 0x4c,0x2c,0x30,0x78,0x36,0x32,0x41,0x32,0x30,0x35,0x46,0x38,0x38,0x34,0x35,0x32,0x31,0x37,0x33,0x43,0x55,0x4c,0x2c,0x30,0x78,0x34,0x37,0x31,0x35,0x34,0x37,0x37, + 0x38,0x42,0x33,0x43,0x42,0x32,0x42,0x46,0x34,0x55,0x4c,0x2c,0x30,0x78,0x34,0x38,0x36,0x41,0x39,0x33,0x32,0x33,0x38,0x32,0x35,0x34,0x34,0x36,0x46,0x46,0x55,0x4c, + 0x2c,0x0a,0x30,0x78,0x36,0x35,0x36,0x35,0x35,0x45,0x34,0x45,0x30,0x37,0x35,0x38,0x44,0x46,0x33,0x38,0x55,0x4c,0x2c,0x30,0x78,0x38,0x45,0x35,0x30,0x38,0x36,0x46, + 0x43,0x38,0x39,0x37,0x43,0x46,0x43,0x46,0x32,0x55,0x4c,0x2c,0x30,0x78,0x38,0x36,0x43,0x41,0x30,0x42,0x44,0x30,0x34,0x34,0x32,0x45,0x37,0x30,0x33,0x31,0x55,0x4c, + 0x2c,0x30,0x78,0x34,0x45,0x34,0x37,0x37,0x38,0x33,0x30,0x41,0x32,0x30,0x39,0x34,0x30,0x46,0x30,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x33,0x33,0x38,0x46,0x37,0x44, + 0x31,0x33,0x39,0x45,0x45,0x41,0x30,0x36,0x35,0x55,0x4c,0x2c,0x30,0x78,0x42,0x44,0x33,0x41,0x32,0x43,0x45,0x34,0x33,0x37,0x45,0x39,0x35,0x45,0x46,0x37,0x55,0x4c, + 0x2c,0x30,0x78,0x36,0x46,0x46,0x38,0x31,0x33,0x30,0x31,0x32,0x36,0x42,0x32,0x39,0x37,0x32,0x31,0x55,0x4c,0x2c,0x30,0x78,0x45,0x37,0x44,0x45,0x39,0x46,0x45,0x46, + 0x44,0x31,0x45,0x44,0x34,0x34,0x41,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x39,0x39,0x32,0x32,0x35,0x37,0x36,0x31,0x35,0x44,0x46,0x41,0x30,0x38,0x42,0x55,0x4c, + 0x2c,0x30,0x78,0x42,0x45,0x34,0x32,0x44,0x43,0x31,0x32,0x46,0x36,0x46,0x37,0x38,0x35,0x33,0x43,0x55,0x4c,0x2c,0x30,0x78,0x37,0x45,0x42,0x30,0x32,0x37,0x41,0x42, + 0x37,0x43,0x45,0x43,0x41,0x37,0x44,0x38,0x55,0x4c,0x2c,0x30,0x78,0x44,0x45,0x41,0x38,0x33,0x45,0x41,0x41,0x44,0x41,0x37,0x44,0x38,0x44,0x35,0x33,0x55,0x4c,0x2c, + 0x0a,0x30,0x78,0x44,0x38,0x36,0x39,0x30,0x32,0x42,0x44,0x39,0x33,0x43,0x45,0x32,0x35,0x41,0x41,0x55,0x4c,0x2c,0x30,0x78,0x46,0x39,0x30,0x38,0x37,0x33,0x31,0x41, + 0x46,0x44,0x34,0x33,0x46,0x36,0x35,0x41,0x55,0x4c,0x2c,0x30,0x78,0x41,0x35,0x31,0x39,0x34,0x41,0x31,0x37,0x44,0x41,0x45,0x46,0x35,0x46,0x43,0x30,0x55,0x4c,0x2c, + 0x30,0x78,0x36,0x41,0x32,0x31,0x46,0x44,0x34,0x43,0x33,0x33,0x36,0x36,0x34,0x44,0x39,0x37,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x37,0x30,0x31,0x35,0x34,0x31,0x44,0x42, + 0x33,0x31,0x39,0x38,0x42,0x34,0x33,0x35,0x55,0x4c,0x2c,0x30,0x78,0x39,0x42,0x35,0x34,0x43,0x44,0x45,0x44,0x42,0x42,0x30,0x46,0x31,0x45,0x45,0x41,0x55,0x4c,0x2c, + 0x30,0x78,0x37,0x32,0x34,0x30,0x39,0x37,0x35,0x31,0x41,0x31,0x36,0x33,0x44,0x30,0x39,0x41,0x55,0x4c,0x2c,0x30,0x78,0x45,0x32,0x36,0x46,0x34,0x37,0x39,0x31,0x42, + 0x46,0x39,0x44,0x37,0x35,0x46,0x36,0x55,0x4c,0x0a,0x7d,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x65,0x76,0x65,0x6e,0x5f,0x68,0x69,0x28,0x72,0x29, + 0x20,0x28,0x43,0x5b,0x28,0x28,0x72,0x29,0x20,0x3c,0x3c,0x20,0x32,0x29,0x20,0x2b,0x20,0x30,0x5d,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x65,0x76, + 0x65,0x6e,0x5f,0x6c,0x6f,0x28,0x72,0x29,0x20,0x28,0x43,0x5b,0x28,0x28,0x72,0x29,0x20,0x3c,0x3c,0x20,0x32,0x29,0x20,0x2b,0x20,0x31,0x5d,0x29,0x0a,0x23,0x64,0x65, + 0x66,0x69,0x6e,0x65,0x20,0x43,0x6f,0x64,0x64,0x5f,0x68,0x69,0x28,0x72,0x29,0x20,0x28,0x43,0x5b,0x28,0x28,0x72,0x29,0x20,0x3c,0x3c,0x20,0x32,0x29,0x20,0x2b,0x20, + 0x32,0x5d,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x6f,0x64,0x64,0x5f,0x6c,0x6f,0x28,0x72,0x29,0x20,0x28,0x43,0x5b,0x28,0x28,0x72,0x29,0x20,0x3c, + 0x3c,0x20,0x32,0x29,0x20,0x2b,0x20,0x33,0x5d,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x28,0x78,0x30,0x2c,0x20,0x78,0x31,0x2c,0x20,0x78,0x32,0x2c, + 0x20,0x78,0x33,0x2c,0x20,0x63,0x62,0x2c,0x20,0x72,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x53,0x62,0x28,0x78,0x30,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x31, + 0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x32,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x33,0x20,0x23,0x23,0x20,0x68,0x2c,0x63,0x62,0x20,0x23,0x23,0x20,0x68,0x69,0x28,0x72, + 0x29,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x62,0x28,0x78,0x30,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x31,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x32,0x20,0x23,0x23,0x20,0x6c, + 0x2c,0x78,0x33,0x20,0x23,0x23,0x20,0x6c,0x2c,0x63,0x62,0x20,0x23,0x23,0x20,0x6c,0x6f,0x28,0x72,0x29,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65, + 0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x28,0x78,0x30,0x2c,0x20,0x78,0x31,0x2c,0x20,0x78,0x32,0x2c,0x20,0x78,0x33,0x2c,0x20,0x78, + 0x34,0x2c,0x20,0x78,0x35,0x2c,0x20,0x78,0x36,0x2c,0x20,0x78,0x37,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x4c,0x62,0x28,0x78,0x30,0x20,0x23,0x23,0x20,0x68, + 0x2c,0x78,0x31,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x32,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x33,0x20,0x23,0x23,0x20,0x68,0x2c,0x5c,0x0a,0x78,0x34,0x20,0x23,0x23, + 0x20,0x68,0x2c,0x78,0x35,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x36,0x20,0x23,0x23,0x20,0x68,0x2c,0x78,0x37,0x20,0x23,0x23,0x20,0x68,0x29,0x3b,0x20,0x5c,0x0a,0x4c, + 0x62,0x28,0x78,0x30,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x31,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x32,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x33,0x20,0x23,0x23,0x20, + 0x6c,0x2c,0x5c,0x0a,0x78,0x34,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x35,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x36,0x20,0x23,0x23,0x20,0x6c,0x2c,0x78,0x37,0x20,0x23, + 0x23,0x20,0x6c,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x7a,0x28,0x78, + 0x2c,0x20,0x63,0x2c,0x20,0x6e,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x73,0x70,0x68,0x5f,0x75,0x36,0x34,0x20,0x74,0x3d,0x28,0x78,0x20,0x23,0x23,0x20,0x68, + 0x26,0x28,0x63,0x29,0x29,0x3c,0x3c,0x28,0x6e,0x29,0x3b,0x20,0x5c,0x0a,0x78,0x20,0x23,0x23,0x20,0x68,0x3d,0x28,0x28,0x78,0x20,0x23,0x23,0x20,0x68,0x3e,0x3e,0x28, + 0x6e,0x29,0x29,0x26,0x28,0x63,0x29,0x29,0x7c,0x74,0x3b,0x20,0x5c,0x0a,0x74,0x3d,0x28,0x78,0x20,0x23,0x23,0x20,0x6c,0x26,0x28,0x63,0x29,0x29,0x3c,0x3c,0x28,0x6e, + 0x29,0x3b,0x20,0x5c,0x0a,0x78,0x20,0x23,0x23,0x20,0x6c,0x3d,0x28,0x28,0x78,0x20,0x23,0x23,0x20,0x6c,0x3e,0x3e,0x28,0x6e,0x29,0x29,0x26,0x28,0x63,0x29,0x29,0x7c, + 0x74,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x30,0x28,0x78,0x29,0x20,0x57, + 0x7a,0x28,0x78,0x2c,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x29, + 0x2c,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x31,0x28,0x78,0x29,0x20,0x57,0x7a,0x28,0x78,0x2c,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34, + 0x28,0x30,0x78,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x29,0x2c,0x20,0x32,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x57,0x32,0x28,0x78,0x29,0x20,0x57,0x7a,0x28,0x78,0x2c,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x46,0x30,0x46,0x30,0x46,0x30,0x46,0x30, + 0x46,0x30,0x46,0x30,0x46,0x30,0x46,0x29,0x2c,0x20,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x33,0x28,0x78,0x29,0x20,0x57,0x7a,0x28,0x78,0x2c, + 0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x46,0x46,0x30,0x30,0x46,0x46,0x30,0x30,0x46,0x46,0x30,0x30,0x46,0x46,0x29,0x2c,0x20,0x38,0x29, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x34,0x28,0x78,0x29,0x20,0x57,0x7a,0x28,0x78,0x2c,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30, + 0x30,0x30,0x30,0x46,0x46,0x46,0x46,0x30,0x30,0x30,0x30,0x46,0x46,0x46,0x46,0x29,0x2c,0x20,0x31,0x36,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x35, + 0x28,0x78,0x29,0x20,0x57,0x7a,0x28,0x78,0x2c,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x46,0x46, + 0x46,0x46,0x46,0x46,0x29,0x2c,0x20,0x33,0x32,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x57,0x36,0x28,0x78,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a, + 0x73,0x70,0x68,0x5f,0x75,0x36,0x34,0x20,0x74,0x3d,0x78,0x20,0x23,0x23,0x20,0x68,0x3b,0x20,0x5c,0x0a,0x78,0x20,0x23,0x23,0x20,0x68,0x3d,0x78,0x20,0x23,0x23,0x20, + 0x6c,0x3b,0x20,0x5c,0x0a,0x78,0x20,0x23,0x23,0x20,0x6c,0x3d,0x74,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65, + 0x66,0x69,0x6e,0x65,0x20,0x53,0x4c,0x28,0x72,0x6f,0x29,0x20,0x53,0x4c,0x75,0x28,0x72,0x20,0x2b,0x20,0x72,0x6f,0x2c,0x20,0x72,0x6f,0x29,0x0a,0x23,0x64,0x65,0x66, + 0x69,0x6e,0x65,0x20,0x53,0x4c,0x75,0x28,0x72,0x2c,0x20,0x72,0x6f,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x53,0x28,0x68,0x30,0x2c,0x68,0x32,0x2c,0x68,0x34, + 0x2c,0x68,0x36,0x2c,0x43,0x65,0x76,0x65,0x6e,0x5f,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x28,0x68,0x31,0x2c,0x68,0x33,0x2c,0x68,0x35,0x2c,0x68,0x37,0x2c,0x43, + 0x6f,0x64,0x64,0x5f,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x4c,0x28,0x68,0x30,0x2c,0x68,0x32,0x2c,0x68,0x34,0x2c,0x68,0x36,0x2c,0x68,0x31,0x2c,0x68,0x33,0x2c,0x68, + 0x35,0x2c,0x68,0x37,0x29,0x3b,0x20,0x5c,0x0a,0x57,0x20,0x23,0x23,0x20,0x72,0x6f,0x28,0x68,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x57,0x20,0x23,0x23,0x20,0x72,0x6f,0x28, + 0x68,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x57,0x20,0x23,0x23,0x20,0x72,0x6f,0x28,0x68,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x57,0x20,0x23,0x23,0x20,0x72,0x6f,0x28,0x68,0x37, + 0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x69,0x66,0x20,0x53,0x50,0x48,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x46, + 0x4f,0x4f,0x54,0x50,0x52,0x49,0x4e,0x54,0x5f,0x4a,0x48,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x45,0x38,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x75,0x6e, + 0x73,0x69,0x67,0x6e,0x65,0x64,0x20,0x72,0x3b,0x20,0x5c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x72,0x3d,0x30,0x3b,0x20,0x72,0x3c,0x34,0x32,0x3b,0x20,0x72,0x2b,0x3d,0x37, + 0x29,0x20,0x7b,0x20,0x5c,0x0a,0x53,0x4c,0x28,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x28,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x28,0x32,0x29,0x3b,0x20,0x5c, + 0x0a,0x53,0x4c,0x28,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x28,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x28,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x28,0x36, + 0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66,0x69, + 0x6e,0x65,0x20,0x45,0x38,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x30,0x2c,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x31, + 0x2c,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x32,0x2c,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x33,0x2c,0x33,0x29,0x3b,0x20,0x5c, + 0x0a,0x53,0x4c,0x75,0x28,0x20,0x34,0x2c,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x35,0x2c,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20, + 0x36,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x37,0x2c,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x38,0x2c,0x31,0x29,0x3b,0x20, + 0x5c,0x0a,0x53,0x4c,0x75,0x28,0x20,0x39,0x2c,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x30,0x2c,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28, + 0x31,0x31,0x2c,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x32,0x2c,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x33,0x2c,0x36,0x29,0x3b, + 0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x34,0x2c,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x35,0x2c,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75, + 0x28,0x31,0x36,0x2c,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x37,0x2c,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x38,0x2c,0x34,0x29, + 0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x31,0x39,0x2c,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x30,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c, + 0x75,0x28,0x32,0x31,0x2c,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x32,0x2c,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x33,0x2c,0x32, + 0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x34,0x2c,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x35,0x2c,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x53, + 0x4c,0x75,0x28,0x32,0x36,0x2c,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x37,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x38,0x2c, + 0x30,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x32,0x39,0x2c,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x30,0x2c,0x32,0x29,0x3b,0x20,0x5c,0x0a, + 0x53,0x4c,0x75,0x28,0x33,0x31,0x2c,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x32,0x2c,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x33, + 0x2c,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x34,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x35,0x2c,0x30,0x29,0x3b,0x20,0x5c, + 0x0a,0x53,0x4c,0x75,0x28,0x33,0x36,0x2c,0x31,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x37,0x2c,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33, + 0x38,0x2c,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x33,0x39,0x2c,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x53,0x4c,0x75,0x28,0x34,0x30,0x2c,0x35,0x29,0x3b,0x20, + 0x5c,0x0a,0x53,0x4c,0x75,0x28,0x34,0x31,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x65,0x6e,0x64,0x69, + 0x66,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x73,0x69, + 0x67,0x6d,0x61,0x5b,0x31,0x36,0x5d,0x5b,0x31,0x36,0x5d,0x3d,0x7b,0x0a,0x7b,0x20,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c, + 0x38,0x2c,0x39,0x2c,0x31,0x30,0x2c,0x31,0x31,0x2c,0x31,0x32,0x2c,0x31,0x33,0x2c,0x31,0x34,0x2c,0x31,0x35,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x34,0x2c,0x31,0x30, + 0x2c,0x34,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x35,0x2c,0x31,0x33,0x2c,0x36,0x2c,0x31,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x32,0x2c,0x31,0x31,0x2c,0x37,0x2c,0x35,0x2c,0x33, + 0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x31,0x2c,0x38,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x35,0x2c,0x32,0x2c,0x31,0x35,0x2c,0x31,0x33,0x2c,0x31,0x30,0x2c,0x31,0x34,0x2c, + 0x33,0x2c,0x36,0x2c,0x37,0x2c,0x31,0x2c,0x39,0x2c,0x34,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x37,0x2c,0x39,0x2c,0x33,0x2c,0x31,0x2c,0x31,0x33,0x2c,0x31,0x32,0x2c,0x31, + 0x31,0x2c,0x31,0x34,0x2c,0x32,0x2c,0x36,0x2c,0x35,0x2c,0x31,0x30,0x2c,0x34,0x2c,0x30,0x2c,0x31,0x35,0x2c,0x38,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x39,0x2c,0x30,0x2c, + 0x35,0x2c,0x37,0x2c,0x32,0x2c,0x34,0x2c,0x31,0x30,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x31,0x2c,0x31,0x31,0x2c,0x31,0x32,0x2c,0x36,0x2c,0x38,0x2c,0x33,0x2c,0x31, + 0x33,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x32,0x2c,0x31,0x32,0x2c,0x36,0x2c,0x31,0x30,0x2c,0x30,0x2c,0x31,0x31,0x2c,0x38,0x2c,0x33,0x2c,0x34,0x2c,0x31,0x33,0x2c,0x37, + 0x2c,0x35,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x31,0x2c,0x39,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x32,0x2c,0x35,0x2c,0x31,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x31, + 0x33,0x2c,0x34,0x2c,0x31,0x30,0x2c,0x30,0x2c,0x37,0x2c,0x36,0x2c,0x33,0x2c,0x39,0x2c,0x32,0x2c,0x38,0x2c,0x31,0x31,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x33,0x2c, + 0x31,0x31,0x2c,0x37,0x2c,0x31,0x34,0x2c,0x31,0x32,0x2c,0x31,0x2c,0x33,0x2c,0x39,0x2c,0x35,0x2c,0x30,0x2c,0x31,0x35,0x2c,0x34,0x2c,0x38,0x2c,0x36,0x2c,0x32,0x2c, + 0x31,0x30,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x36,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x39,0x2c,0x31,0x31,0x2c,0x33,0x2c,0x30,0x2c,0x38,0x2c,0x31,0x32,0x2c,0x32,0x2c, + 0x31,0x33,0x2c,0x37,0x2c,0x31,0x2c,0x34,0x2c,0x31,0x30,0x2c,0x35,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x30,0x2c,0x32,0x2c,0x38,0x2c,0x34,0x2c,0x37,0x2c,0x36,0x2c, + 0x31,0x2c,0x35,0x2c,0x31,0x35,0x2c,0x31,0x31,0x2c,0x39,0x2c,0x31,0x34,0x2c,0x33,0x2c,0x31,0x32,0x2c,0x31,0x33,0x2c,0x30,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x30,0x2c, + 0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x30,0x2c,0x31,0x31,0x2c,0x31,0x32,0x2c,0x31,0x33,0x2c,0x31,0x34, + 0x2c,0x31,0x35,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x34,0x2c,0x31,0x30,0x2c,0x34,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x35,0x2c,0x31,0x33,0x2c,0x36,0x2c,0x31,0x2c,0x31, + 0x32,0x2c,0x30,0x2c,0x32,0x2c,0x31,0x31,0x2c,0x37,0x2c,0x35,0x2c,0x33,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x31,0x31,0x2c,0x38,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x35,0x2c, + 0x32,0x2c,0x31,0x35,0x2c,0x31,0x33,0x2c,0x31,0x30,0x2c,0x31,0x34,0x2c,0x33,0x2c,0x36,0x2c,0x37,0x2c,0x31,0x2c,0x39,0x2c,0x34,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x37, + 0x2c,0x39,0x2c,0x33,0x2c,0x31,0x2c,0x31,0x33,0x2c,0x31,0x32,0x2c,0x31,0x31,0x2c,0x31,0x34,0x2c,0x32,0x2c,0x36,0x2c,0x35,0x2c,0x31,0x30,0x2c,0x34,0x2c,0x30,0x2c, + 0x31,0x35,0x2c,0x38,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x39,0x2c,0x30,0x2c,0x35,0x2c,0x37,0x2c,0x32,0x2c,0x34,0x2c,0x31,0x30,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x31, + 0x2c,0x31,0x31,0x2c,0x31,0x32,0x2c,0x36,0x2c,0x38,0x2c,0x33,0x2c,0x31,0x33,0x20,0x7d,0x2c,0x0a,0x7b,0x20,0x32,0x2c,0x31,0x32,0x2c,0x36,0x2c,0x31,0x30,0x2c,0x30, + 0x2c,0x31,0x31,0x2c,0x38,0x2c,0x33,0x2c,0x34,0x2c,0x31,0x33,0x2c,0x37,0x2c,0x35,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x31,0x2c,0x39,0x20,0x7d,0x0a,0x7d,0x3b,0x0a, + 0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x73,0x70,0x68,0x5f,0x75,0x33,0x32,0x20, + 0x63,0x5f,0x49,0x56,0x32,0x35,0x36,0x5b,0x38,0x5d,0x3d,0x7b,0x0a,0x30,0x78,0x36,0x41,0x30,0x39,0x45,0x36,0x36,0x37,0x2c,0x30,0x78,0x42,0x42,0x36,0x37,0x41,0x45, + 0x38,0x35,0x2c,0x0a,0x30,0x78,0x33,0x43,0x36,0x45,0x46,0x33,0x37,0x32,0x2c,0x30,0x78,0x41,0x35,0x34,0x46,0x46,0x35,0x33,0x41,0x2c,0x0a,0x30,0x78,0x35,0x31,0x30, + 0x45,0x35,0x32,0x37,0x46,0x2c,0x30,0x78,0x39,0x42,0x30,0x35,0x36,0x38,0x38,0x43,0x2c,0x0a,0x30,0x78,0x31,0x46,0x38,0x33,0x44,0x39,0x41,0x42,0x2c,0x30,0x78,0x35, + 0x42,0x45,0x30,0x43,0x44,0x31,0x39,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x73,0x70,0x68,0x5f,0x75,0x33,0x32,0x20,0x63,0x5f,0x50,0x61,0x64,0x64,0x69,0x6e,0x67,0x5b,0x31,0x36,0x5d,0x3d,0x7b,0x0a,0x30,0x2c,0x30,0x2c,0x30, + 0x2c,0x30,0x2c,0x0a,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2c,0x0a,0x30,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x2c,0x0a,0x30, + 0x2c,0x31,0x2c,0x30,0x2c,0x36,0x34,0x30,0x2c,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x73,0x70,0x68,0x5f,0x75,0x33,0x32,0x20,0x63,0x5f,0x75,0x32,0x35,0x36,0x5b,0x31,0x36,0x5d,0x3d,0x7b,0x0a,0x30,0x78,0x32,0x34,0x33,0x46, + 0x36,0x41,0x38,0x38,0x2c,0x30,0x78,0x38,0x35,0x41,0x33,0x30,0x38,0x44,0x33,0x2c,0x0a,0x30,0x78,0x31,0x33,0x31,0x39,0x38,0x41,0x32,0x45,0x2c,0x30,0x78,0x30,0x33, + 0x37,0x30,0x37,0x33,0x34,0x34,0x2c,0x0a,0x30,0x78,0x41,0x34,0x30,0x39,0x33,0x38,0x32,0x32,0x2c,0x30,0x78,0x32,0x39,0x39,0x46,0x33,0x31,0x44,0x30,0x2c,0x0a,0x30, + 0x78,0x30,0x38,0x32,0x45,0x46,0x41,0x39,0x38,0x2c,0x30,0x78,0x45,0x43,0x34,0x45,0x36,0x43,0x38,0x39,0x2c,0x0a,0x30,0x78,0x34,0x35,0x32,0x38,0x32,0x31,0x45,0x36, + 0x2c,0x30,0x78,0x33,0x38,0x44,0x30,0x31,0x33,0x37,0x37,0x2c,0x0a,0x30,0x78,0x42,0x45,0x35,0x34,0x36,0x36,0x43,0x46,0x2c,0x30,0x78,0x33,0x34,0x45,0x39,0x30,0x43, + 0x36,0x43,0x2c,0x0a,0x30,0x78,0x43,0x30,0x41,0x43,0x32,0x39,0x42,0x37,0x2c,0x30,0x78,0x43,0x39,0x37,0x43,0x35,0x30,0x44,0x44,0x2c,0x0a,0x30,0x78,0x33,0x46,0x38, + 0x34,0x44,0x35,0x42,0x35,0x2c,0x30,0x78,0x42,0x35,0x34,0x37,0x30,0x39,0x31,0x37,0x0a,0x7d,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x47,0x53,0x28,0x61, + 0x2c,0x62,0x2c,0x63,0x2c,0x64,0x2c,0x78,0x29,0x20,0x7b,0x20,0x5c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x73,0x70,0x68,0x5f,0x75,0x33,0x32,0x20,0x69,0x64,0x78,0x31, + 0x3d,0x73,0x69,0x67,0x6d,0x61,0x5b,0x72,0x5d,0x5b,0x78,0x5d,0x3b,0x20,0x5c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x73,0x70,0x68,0x5f,0x75,0x33,0x32,0x20,0x69,0x64, + 0x78,0x32,0x3d,0x73,0x69,0x67,0x6d,0x61,0x5b,0x72,0x5d,0x5b,0x78,0x2b,0x31,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x61,0x5d,0x2b,0x3d,0x28,0x6d,0x5b,0x69,0x64,0x78, + 0x31,0x5d,0x5e,0x63,0x5f,0x75,0x32,0x35,0x36,0x5b,0x69,0x64,0x78,0x32,0x5d,0x29,0x2b,0x76,0x5b,0x62,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x64,0x5d,0x20,0x5e,0x3d, + 0x20,0x76,0x5b,0x61,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x64,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x76,0x5b,0x64,0x5d,0x2c,0x31,0x36,0x55,0x29,0x3b,0x20, + 0x5c,0x0a,0x76,0x5b,0x63,0x5d,0x2b,0x3d,0x76,0x5b,0x64,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x62,0x5d,0x20,0x5e,0x3d,0x20,0x76,0x5b,0x63,0x5d,0x3b,0x20,0x5c,0x0a, + 0x76,0x5b,0x62,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x76,0x5b,0x62,0x5d,0x2c,0x32,0x30,0x55,0x29,0x3b,0x20,0x5c,0x0a,0x5c,0x0a,0x76,0x5b,0x61,0x5d,0x2b, + 0x3d,0x28,0x6d,0x5b,0x69,0x64,0x78,0x32,0x5d,0x5e,0x63,0x5f,0x75,0x32,0x35,0x36,0x5b,0x69,0x64,0x78,0x31,0x5d,0x29,0x2b,0x76,0x5b,0x62,0x5d,0x3b,0x20,0x5c,0x0a, + 0x76,0x5b,0x64,0x5d,0x20,0x5e,0x3d,0x20,0x76,0x5b,0x61,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x64,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x76,0x5b,0x64,0x5d, + 0x2c,0x32,0x34,0x55,0x29,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x63,0x5d,0x2b,0x3d,0x76,0x5b,0x64,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x62,0x5d,0x20,0x5e,0x3d,0x20,0x76, + 0x5b,0x63,0x5d,0x3b,0x20,0x5c,0x0a,0x76,0x5b,0x62,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x76,0x5b,0x62,0x5d,0x2c,0x32,0x35,0x55,0x29,0x3b,0x20,0x5c,0x0a, + 0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x09,0x78,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53, + 0x50,0x48,0x5f,0x52,0x4f,0x54,0x4c,0x36,0x34,0x28,0x78,0x2c,0x20,0x79,0x29,0x09,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x28,0x78,0x29,0x2c,0x20,0x28,0x75,0x6c,0x6f, + 0x6e,0x67,0x29,0x28,0x79,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x36,0x34,0x65,0x28,0x78,0x29,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36, + 0x34,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x35,0x36,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3e,0x3e,0x34,0x30, + 0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x29,0x29,0x20,0x5c, + 0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3e,0x3e,0x32,0x34,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28, + 0x78,0x29,0x3e,0x3e,0x38,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30, + 0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c,0x38,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34, + 0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f, + 0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c,0x32,0x34,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c,0x34,0x30,0x29,0x26,0x53, + 0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x20,0x5c,0x0a,0x7c,0x20, + 0x28,0x28,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x78,0x29,0x3c,0x3c,0x35,0x36,0x29,0x26,0x53,0x50,0x48,0x5f,0x43,0x36,0x34,0x28,0x30,0x78,0x46,0x46,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x29,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x36,0x34,0x5f,0x30,0x28,0x78,0x29, + 0x20,0x28,0x28,0x78,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x36,0x34,0x5f,0x31,0x28,0x78,0x29,0x20,0x28, + 0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x38,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x36,0x34,0x5f,0x32, + 0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x31,0x36,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x42,0x36,0x34,0x5f,0x33,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x32,0x34,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x29,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x36,0x34,0x5f,0x34,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x33,0x32,0x29,0x20,0x26,0x20,0x30, + 0x78,0x46,0x46,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x36,0x34,0x5f,0x35,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x34, + 0x30,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x36,0x34,0x5f,0x36,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x78, + 0x29,0x20,0x3e,0x3e,0x20,0x34,0x38,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x36,0x34,0x5f,0x37,0x28,0x78, + 0x29,0x20,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x35,0x36,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x36,0x34,0x20,0x53,0x50,0x48,0x5f,0x52,0x4f, + 0x54,0x4c,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x50,0x43,0x36,0x34,0x28,0x6a,0x2c,0x20,0x72,0x29,0x20,0x28,0x28,0x73,0x70,0x68,0x5f,0x75,0x36, + 0x34,0x29,0x28,0x28,0x6a,0x29,0x20,0x2b,0x20,0x28,0x72,0x29,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x51,0x43,0x36,0x34,0x28,0x6a,0x2c,0x20,0x72, + 0x29,0x20,0x28,0x28,0x28,0x73,0x70,0x68,0x5f,0x75,0x36,0x34,0x29,0x28,0x72,0x29,0x20,0x3c,0x3c,0x20,0x35,0x36,0x29,0x20,0x5e,0x20,0x28,0x7e,0x28,0x28,0x73,0x70, + 0x68,0x5f,0x75,0x36,0x34,0x29,0x28,0x6a,0x29,0x20,0x3c,0x3c,0x20,0x35,0x36,0x29,0x29,0x29,0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x54,0x30,0x5f,0x47,0x5b,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x63,0x36, + 0x61,0x35,0x39,0x37,0x66,0x34,0x61,0x35,0x66,0x34,0x33,0x32,0x63,0x36,0x55,0x4c,0x2c,0x30,0x78,0x66,0x38,0x38,0x34,0x65,0x62,0x39,0x37,0x38,0x34,0x39,0x37,0x36, + 0x66,0x66,0x38,0x55,0x4c,0x2c,0x30,0x78,0x65,0x65,0x39,0x39,0x63,0x37,0x62,0x30,0x39,0x39,0x62,0x30,0x35,0x65,0x65,0x65,0x55,0x4c,0x2c,0x30,0x78,0x66,0x36,0x38, + 0x64,0x66,0x37,0x38,0x63,0x38,0x64,0x38,0x63,0x37,0x61,0x66,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x66,0x66,0x30,0x64,0x65,0x35,0x31,0x37,0x30,0x64,0x31,0x37,0x65, + 0x38,0x66,0x66,0x55,0x4c,0x2c,0x30,0x78,0x64,0x36,0x62,0x64,0x62,0x37,0x64,0x63,0x62,0x64,0x64,0x63,0x30,0x61,0x64,0x36,0x55,0x4c,0x2c,0x30,0x78,0x64,0x65,0x62, + 0x31,0x61,0x37,0x63,0x38,0x62,0x31,0x63,0x38,0x31,0x36,0x64,0x65,0x55,0x4c,0x2c,0x30,0x78,0x39,0x31,0x35,0x34,0x33,0x39,0x66,0x63,0x35,0x34,0x66,0x63,0x36,0x64, + 0x39,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x30,0x35,0x30,0x63,0x30,0x66,0x30,0x35,0x30,0x66,0x30,0x39,0x30,0x36,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x32,0x30, + 0x33,0x30,0x34,0x30,0x35,0x30,0x33,0x30,0x35,0x30,0x37,0x30,0x32,0x55,0x4c,0x2c,0x30,0x78,0x63,0x65,0x61,0x39,0x38,0x37,0x65,0x30,0x61,0x39,0x65,0x30,0x32,0x65, + 0x63,0x65,0x55,0x4c,0x2c,0x30,0x78,0x35,0x36,0x37,0x64,0x61,0x63,0x38,0x37,0x37,0x64,0x38,0x37,0x64,0x31,0x35,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x65,0x37,0x31, + 0x39,0x64,0x35,0x32,0x62,0x31,0x39,0x32,0x62,0x63,0x63,0x65,0x37,0x55,0x4c,0x2c,0x30,0x78,0x62,0x35,0x36,0x32,0x37,0x31,0x61,0x36,0x36,0x32,0x61,0x36,0x31,0x33, + 0x62,0x35,0x55,0x4c,0x2c,0x30,0x78,0x34,0x64,0x65,0x36,0x39,0x61,0x33,0x31,0x65,0x36,0x33,0x31,0x37,0x63,0x34,0x64,0x55,0x4c,0x2c,0x30,0x78,0x65,0x63,0x39,0x61, + 0x63,0x33,0x62,0x35,0x39,0x61,0x62,0x35,0x35,0x39,0x65,0x63,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x66,0x34,0x35,0x30,0x35,0x63,0x66,0x34,0x35,0x63,0x66,0x34,0x30, + 0x38,0x66,0x55,0x4c,0x2c,0x30,0x78,0x31,0x66,0x39,0x64,0x33,0x65,0x62,0x63,0x39,0x64,0x62,0x63,0x61,0x33,0x31,0x66,0x55,0x4c,0x2c,0x30,0x78,0x38,0x39,0x34,0x30, + 0x30,0x39,0x63,0x30,0x34,0x30,0x63,0x30,0x34,0x39,0x38,0x39,0x55,0x4c,0x2c,0x30,0x78,0x66,0x61,0x38,0x37,0x65,0x66,0x39,0x32,0x38,0x37,0x39,0x32,0x36,0x38,0x66, + 0x61,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x65,0x66,0x31,0x35,0x63,0x35,0x33,0x66,0x31,0x35,0x33,0x66,0x64,0x30,0x65,0x66,0x55,0x4c,0x2c,0x30,0x78,0x62,0x32,0x65,0x62, + 0x37,0x66,0x32,0x36,0x65,0x62,0x32,0x36,0x39,0x34,0x62,0x32,0x55,0x4c,0x2c,0x30,0x78,0x38,0x65,0x63,0x39,0x30,0x37,0x34,0x30,0x63,0x39,0x34,0x30,0x63,0x65,0x38, + 0x65,0x55,0x4c,0x2c,0x30,0x78,0x66,0x62,0x30,0x62,0x65,0x64,0x31,0x64,0x30,0x62,0x31,0x64,0x65,0x36,0x66,0x62,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x34,0x31,0x65,0x63, + 0x38,0x32,0x32,0x66,0x65,0x63,0x32,0x66,0x36,0x65,0x34,0x31,0x55,0x4c,0x2c,0x30,0x78,0x62,0x33,0x36,0x37,0x37,0x64,0x61,0x39,0x36,0x37,0x61,0x39,0x31,0x61,0x62, + 0x33,0x55,0x4c,0x2c,0x30,0x78,0x35,0x66,0x66,0x64,0x62,0x65,0x31,0x63,0x66,0x64,0x31,0x63,0x34,0x33,0x35,0x66,0x55,0x4c,0x2c,0x30,0x78,0x34,0x35,0x65,0x61,0x38, + 0x61,0x32,0x35,0x65,0x61,0x32,0x35,0x36,0x30,0x34,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x33,0x62,0x66,0x34,0x36,0x64,0x61,0x62,0x66,0x64,0x61,0x66,0x39,0x32, + 0x33,0x55,0x4c,0x2c,0x30,0x78,0x35,0x33,0x66,0x37,0x61,0x36,0x30,0x32,0x66,0x37,0x30,0x32,0x35,0x31,0x35,0x33,0x55,0x4c,0x2c,0x30,0x78,0x65,0x34,0x39,0x36,0x64, + 0x33,0x61,0x31,0x39,0x36,0x61,0x31,0x34,0x35,0x65,0x34,0x55,0x4c,0x2c,0x30,0x78,0x39,0x62,0x35,0x62,0x32,0x64,0x65,0x64,0x35,0x62,0x65,0x64,0x37,0x36,0x39,0x62, + 0x55,0x4c,0x2c,0x0a,0x30,0x78,0x37,0x35,0x63,0x32,0x65,0x61,0x35,0x64,0x63,0x32,0x35,0x64,0x32,0x38,0x37,0x35,0x55,0x4c,0x2c,0x30,0x78,0x65,0x31,0x31,0x63,0x64, + 0x39,0x32,0x34,0x31,0x63,0x32,0x34,0x63,0x35,0x65,0x31,0x55,0x4c,0x2c,0x30,0x78,0x33,0x64,0x61,0x65,0x37,0x61,0x65,0x39,0x61,0x65,0x65,0x39,0x64,0x34,0x33,0x64, + 0x55,0x4c,0x2c,0x30,0x78,0x34,0x63,0x36,0x61,0x39,0x38,0x62,0x65,0x36,0x61,0x62,0x65,0x66,0x32,0x34,0x63,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x63,0x35,0x61,0x64, + 0x38,0x65,0x65,0x35,0x61,0x65,0x65,0x38,0x32,0x36,0x63,0x55,0x4c,0x2c,0x30,0x78,0x37,0x65,0x34,0x31,0x66,0x63,0x63,0x33,0x34,0x31,0x63,0x33,0x62,0x64,0x37,0x65, + 0x55,0x4c,0x2c,0x30,0x78,0x66,0x35,0x30,0x32,0x66,0x31,0x30,0x36,0x30,0x32,0x30,0x36,0x66,0x33,0x66,0x35,0x55,0x4c,0x2c,0x30,0x78,0x38,0x33,0x34,0x66,0x31,0x64, + 0x64,0x31,0x34,0x66,0x64,0x31,0x35,0x32,0x38,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x38,0x35,0x63,0x64,0x30,0x65,0x34,0x35,0x63,0x65,0x34,0x38,0x63,0x36,0x38, + 0x55,0x4c,0x2c,0x30,0x78,0x35,0x31,0x66,0x34,0x61,0x32,0x30,0x37,0x66,0x34,0x30,0x37,0x35,0x36,0x35,0x31,0x55,0x4c,0x2c,0x30,0x78,0x64,0x31,0x33,0x34,0x62,0x39, + 0x35,0x63,0x33,0x34,0x35,0x63,0x38,0x64,0x64,0x31,0x55,0x4c,0x2c,0x30,0x78,0x66,0x39,0x30,0x38,0x65,0x39,0x31,0x38,0x30,0x38,0x31,0x38,0x65,0x31,0x66,0x39,0x55, + 0x4c,0x2c,0x0a,0x30,0x78,0x65,0x32,0x39,0x33,0x64,0x66,0x61,0x65,0x39,0x33,0x61,0x65,0x34,0x63,0x65,0x32,0x55,0x4c,0x2c,0x30,0x78,0x61,0x62,0x37,0x33,0x34,0x64, + 0x39,0x35,0x37,0x33,0x39,0x35,0x33,0x65,0x61,0x62,0x55,0x4c,0x2c,0x30,0x78,0x36,0x32,0x35,0x33,0x63,0x34,0x66,0x35,0x35,0x33,0x66,0x35,0x39,0x37,0x36,0x32,0x55, + 0x4c,0x2c,0x30,0x78,0x32,0x61,0x33,0x66,0x35,0x34,0x34,0x31,0x33,0x66,0x34,0x31,0x36,0x62,0x32,0x61,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x38,0x30,0x63,0x31,0x30, + 0x31,0x34,0x30,0x63,0x31,0x34,0x31,0x63,0x30,0x38,0x55,0x4c,0x2c,0x30,0x78,0x39,0x35,0x35,0x32,0x33,0x31,0x66,0x36,0x35,0x32,0x66,0x36,0x36,0x33,0x39,0x35,0x55, + 0x4c,0x2c,0x30,0x78,0x34,0x36,0x36,0x35,0x38,0x63,0x61,0x66,0x36,0x35,0x61,0x66,0x65,0x39,0x34,0x36,0x55,0x4c,0x2c,0x30,0x78,0x39,0x64,0x35,0x65,0x32,0x31,0x65, + 0x32,0x35,0x65,0x65,0x32,0x37,0x66,0x39,0x64,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33,0x30,0x32,0x38,0x36,0x30,0x37,0x38,0x32,0x38,0x37,0x38,0x34,0x38,0x33,0x30,0x55, + 0x4c,0x2c,0x30,0x78,0x33,0x37,0x61,0x31,0x36,0x65,0x66,0x38,0x61,0x31,0x66,0x38,0x63,0x66,0x33,0x37,0x55,0x4c,0x2c,0x30,0x78,0x30,0x61,0x30,0x66,0x31,0x34,0x31, + 0x31,0x30,0x66,0x31,0x31,0x31,0x62,0x30,0x61,0x55,0x4c,0x2c,0x30,0x78,0x32,0x66,0x62,0x35,0x35,0x65,0x63,0x34,0x62,0x35,0x63,0x34,0x65,0x62,0x32,0x66,0x55,0x4c, + 0x2c,0x0a,0x30,0x78,0x30,0x65,0x30,0x39,0x31,0x63,0x31,0x62,0x30,0x39,0x31,0x62,0x31,0x35,0x30,0x65,0x55,0x4c,0x2c,0x30,0x78,0x32,0x34,0x33,0x36,0x34,0x38,0x35, + 0x61,0x33,0x36,0x35,0x61,0x37,0x65,0x32,0x34,0x55,0x4c,0x2c,0x30,0x78,0x31,0x62,0x39,0x62,0x33,0x36,0x62,0x36,0x39,0x62,0x62,0x36,0x61,0x64,0x31,0x62,0x55,0x4c, + 0x2c,0x30,0x78,0x64,0x66,0x33,0x64,0x61,0x35,0x34,0x37,0x33,0x64,0x34,0x37,0x39,0x38,0x64,0x66,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x63,0x64,0x32,0x36,0x38,0x31,0x36, + 0x61,0x32,0x36,0x36,0x61,0x61,0x37,0x63,0x64,0x55,0x4c,0x2c,0x30,0x78,0x34,0x65,0x36,0x39,0x39,0x63,0x62,0x62,0x36,0x39,0x62,0x62,0x66,0x35,0x34,0x65,0x55,0x4c, + 0x2c,0x30,0x78,0x37,0x66,0x63,0x64,0x66,0x65,0x34,0x63,0x63,0x64,0x34,0x63,0x33,0x33,0x37,0x66,0x55,0x4c,0x2c,0x30,0x78,0x65,0x61,0x39,0x66,0x63,0x66,0x62,0x61, + 0x39,0x66,0x62,0x61,0x35,0x30,0x65,0x61,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31,0x32,0x31,0x62,0x32,0x34,0x32,0x64,0x31,0x62,0x32,0x64,0x33,0x66,0x31,0x32,0x55,0x4c, + 0x2c,0x30,0x78,0x31,0x64,0x39,0x65,0x33,0x61,0x62,0x39,0x39,0x65,0x62,0x39,0x61,0x34,0x31,0x64,0x55,0x4c,0x2c,0x30,0x78,0x35,0x38,0x37,0x34,0x62,0x30,0x39,0x63, + 0x37,0x34,0x39,0x63,0x63,0x34,0x35,0x38,0x55,0x4c,0x2c,0x30,0x78,0x33,0x34,0x32,0x65,0x36,0x38,0x37,0x32,0x32,0x65,0x37,0x32,0x34,0x36,0x33,0x34,0x55,0x4c,0x2c, + 0x0a,0x30,0x78,0x33,0x36,0x32,0x64,0x36,0x63,0x37,0x37,0x32,0x64,0x37,0x37,0x34,0x31,0x33,0x36,0x55,0x4c,0x2c,0x30,0x78,0x64,0x63,0x62,0x32,0x61,0x33,0x63,0x64, + 0x62,0x32,0x63,0x64,0x31,0x31,0x64,0x63,0x55,0x4c,0x2c,0x30,0x78,0x62,0x34,0x65,0x65,0x37,0x33,0x32,0x39,0x65,0x65,0x32,0x39,0x39,0x64,0x62,0x34,0x55,0x4c,0x2c, + 0x30,0x78,0x35,0x62,0x66,0x62,0x62,0x36,0x31,0x36,0x66,0x62,0x31,0x36,0x34,0x64,0x35,0x62,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x61,0x34,0x66,0x36,0x35,0x33,0x30,0x31, + 0x66,0x36,0x30,0x31,0x61,0x35,0x61,0x34,0x55,0x4c,0x2c,0x30,0x78,0x37,0x36,0x34,0x64,0x65,0x63,0x64,0x37,0x34,0x64,0x64,0x37,0x61,0x31,0x37,0x36,0x55,0x4c,0x2c, + 0x30,0x78,0x62,0x37,0x36,0x31,0x37,0x35,0x61,0x33,0x36,0x31,0x61,0x33,0x31,0x34,0x62,0x37,0x55,0x4c,0x2c,0x30,0x78,0x37,0x64,0x63,0x65,0x66,0x61,0x34,0x39,0x63, + 0x65,0x34,0x39,0x33,0x34,0x37,0x64,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x32,0x37,0x62,0x61,0x34,0x38,0x64,0x37,0x62,0x38,0x64,0x64,0x66,0x35,0x32,0x55,0x4c,0x2c, + 0x30,0x78,0x64,0x64,0x33,0x65,0x61,0x31,0x34,0x32,0x33,0x65,0x34,0x32,0x39,0x66,0x64,0x64,0x55,0x4c,0x2c,0x30,0x78,0x35,0x65,0x37,0x31,0x62,0x63,0x39,0x33,0x37, + 0x31,0x39,0x33,0x63,0x64,0x35,0x65,0x55,0x4c,0x2c,0x30,0x78,0x31,0x33,0x39,0x37,0x32,0x36,0x61,0x32,0x39,0x37,0x61,0x32,0x62,0x31,0x31,0x33,0x55,0x4c,0x2c,0x0a, + 0x30,0x78,0x61,0x36,0x66,0x35,0x35,0x37,0x30,0x34,0x66,0x35,0x30,0x34,0x61,0x32,0x61,0x36,0x55,0x4c,0x2c,0x30,0x78,0x62,0x39,0x36,0x38,0x36,0x39,0x62,0x38,0x36, + 0x38,0x62,0x38,0x30,0x31,0x62,0x39,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x2c,0x30, + 0x78,0x63,0x31,0x32,0x63,0x39,0x39,0x37,0x34,0x32,0x63,0x37,0x34,0x62,0x35,0x63,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x34,0x30,0x36,0x30,0x38,0x30,0x61,0x30,0x36, + 0x30,0x61,0x30,0x65,0x30,0x34,0x30,0x55,0x4c,0x2c,0x30,0x78,0x65,0x33,0x31,0x66,0x64,0x64,0x32,0x31,0x31,0x66,0x32,0x31,0x63,0x32,0x65,0x33,0x55,0x4c,0x2c,0x30, + 0x78,0x37,0x39,0x63,0x38,0x66,0x32,0x34,0x33,0x63,0x38,0x34,0x33,0x33,0x61,0x37,0x39,0x55,0x4c,0x2c,0x30,0x78,0x62,0x36,0x65,0x64,0x37,0x37,0x32,0x63,0x65,0x64, + 0x32,0x63,0x39,0x61,0x62,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x64,0x34,0x62,0x65,0x62,0x33,0x64,0x39,0x62,0x65,0x64,0x39,0x30,0x64,0x64,0x34,0x55,0x4c,0x2c,0x30, + 0x78,0x38,0x64,0x34,0x36,0x30,0x31,0x63,0x61,0x34,0x36,0x63,0x61,0x34,0x37,0x38,0x64,0x55,0x4c,0x2c,0x30,0x78,0x36,0x37,0x64,0x39,0x63,0x65,0x37,0x30,0x64,0x39, + 0x37,0x30,0x31,0x37,0x36,0x37,0x55,0x4c,0x2c,0x30,0x78,0x37,0x32,0x34,0x62,0x65,0x34,0x64,0x64,0x34,0x62,0x64,0x64,0x61,0x66,0x37,0x32,0x55,0x4c,0x2c,0x0a,0x30, + 0x78,0x39,0x34,0x64,0x65,0x33,0x33,0x37,0x39,0x64,0x65,0x37,0x39,0x65,0x64,0x39,0x34,0x55,0x4c,0x2c,0x30,0x78,0x39,0x38,0x64,0x34,0x32,0x62,0x36,0x37,0x64,0x34, + 0x36,0x37,0x66,0x66,0x39,0x38,0x55,0x4c,0x2c,0x30,0x78,0x62,0x30,0x65,0x38,0x37,0x62,0x32,0x33,0x65,0x38,0x32,0x33,0x39,0x33,0x62,0x30,0x55,0x4c,0x2c,0x30,0x78, + 0x38,0x35,0x34,0x61,0x31,0x31,0x64,0x65,0x34,0x61,0x64,0x65,0x35,0x62,0x38,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x62,0x62,0x36,0x62,0x36,0x64,0x62,0x64,0x36,0x62, + 0x62,0x64,0x30,0x36,0x62,0x62,0x55,0x4c,0x2c,0x30,0x78,0x63,0x35,0x32,0x61,0x39,0x31,0x37,0x65,0x32,0x61,0x37,0x65,0x62,0x62,0x63,0x35,0x55,0x4c,0x2c,0x30,0x78, + 0x34,0x66,0x65,0x35,0x39,0x65,0x33,0x34,0x65,0x35,0x33,0x34,0x37,0x62,0x34,0x66,0x55,0x4c,0x2c,0x30,0x78,0x65,0x64,0x31,0x36,0x63,0x31,0x33,0x61,0x31,0x36,0x33, + 0x61,0x64,0x37,0x65,0x64,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x36,0x63,0x35,0x31,0x37,0x35,0x34,0x63,0x35,0x35,0x34,0x64,0x32,0x38,0x36,0x55,0x4c,0x2c,0x30,0x78, + 0x39,0x61,0x64,0x37,0x32,0x66,0x36,0x32,0x64,0x37,0x36,0x32,0x66,0x38,0x39,0x61,0x55,0x4c,0x2c,0x30,0x78,0x36,0x36,0x35,0x35,0x63,0x63,0x66,0x66,0x35,0x35,0x66, + 0x66,0x39,0x39,0x36,0x36,0x55,0x4c,0x2c,0x30,0x78,0x31,0x31,0x39,0x34,0x32,0x32,0x61,0x37,0x39,0x34,0x61,0x37,0x62,0x36,0x31,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78, + 0x38,0x61,0x63,0x66,0x30,0x66,0x34,0x61,0x63,0x66,0x34,0x61,0x63,0x30,0x38,0x61,0x55,0x4c,0x2c,0x30,0x78,0x65,0x39,0x31,0x30,0x63,0x39,0x33,0x30,0x31,0x30,0x33, + 0x30,0x64,0x39,0x65,0x39,0x55,0x4c,0x2c,0x30,0x78,0x30,0x34,0x30,0x36,0x30,0x38,0x30,0x61,0x30,0x36,0x30,0x61,0x30,0x65,0x30,0x34,0x55,0x4c,0x2c,0x30,0x78,0x66, + 0x65,0x38,0x31,0x65,0x37,0x39,0x38,0x38,0x31,0x39,0x38,0x36,0x36,0x66,0x65,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x61,0x30,0x66,0x30,0x35,0x62,0x30,0x62,0x66,0x30,0x30, + 0x62,0x61,0x62,0x61,0x30,0x55,0x4c,0x2c,0x30,0x78,0x37,0x38,0x34,0x34,0x66,0x30,0x63,0x63,0x34,0x34,0x63,0x63,0x62,0x34,0x37,0x38,0x55,0x4c,0x2c,0x30,0x78,0x32, + 0x35,0x62,0x61,0x34,0x61,0x64,0x35,0x62,0x61,0x64,0x35,0x66,0x30,0x32,0x35,0x55,0x4c,0x2c,0x30,0x78,0x34,0x62,0x65,0x33,0x39,0x36,0x33,0x65,0x65,0x33,0x33,0x65, + 0x37,0x35,0x34,0x62,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x61,0x32,0x66,0x33,0x35,0x66,0x30,0x65,0x66,0x33,0x30,0x65,0x61,0x63,0x61,0x32,0x55,0x4c,0x2c,0x30,0x78,0x35, + 0x64,0x66,0x65,0x62,0x61,0x31,0x39,0x66,0x65,0x31,0x39,0x34,0x34,0x35,0x64,0x55,0x4c,0x2c,0x30,0x78,0x38,0x30,0x63,0x30,0x31,0x62,0x35,0x62,0x63,0x30,0x35,0x62, + 0x64,0x62,0x38,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x35,0x38,0x61,0x30,0x61,0x38,0x35,0x38,0x61,0x38,0x35,0x38,0x30,0x30,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33, + 0x66,0x61,0x64,0x37,0x65,0x65,0x63,0x61,0x64,0x65,0x63,0x64,0x33,0x33,0x66,0x55,0x4c,0x2c,0x30,0x78,0x32,0x31,0x62,0x63,0x34,0x32,0x64,0x66,0x62,0x63,0x64,0x66, + 0x66,0x65,0x32,0x31,0x55,0x4c,0x2c,0x30,0x78,0x37,0x30,0x34,0x38,0x65,0x30,0x64,0x38,0x34,0x38,0x64,0x38,0x61,0x38,0x37,0x30,0x55,0x4c,0x2c,0x30,0x78,0x66,0x31, + 0x30,0x34,0x66,0x39,0x30,0x63,0x30,0x34,0x30,0x63,0x66,0x64,0x66,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x33,0x64,0x66,0x63,0x36,0x37,0x61,0x64,0x66,0x37,0x61, + 0x31,0x39,0x36,0x33,0x55,0x4c,0x2c,0x30,0x78,0x37,0x37,0x63,0x31,0x65,0x65,0x35,0x38,0x63,0x31,0x35,0x38,0x32,0x66,0x37,0x37,0x55,0x4c,0x2c,0x30,0x78,0x61,0x66, + 0x37,0x35,0x34,0x35,0x39,0x66,0x37,0x35,0x39,0x66,0x33,0x30,0x61,0x66,0x55,0x4c,0x2c,0x30,0x78,0x34,0x32,0x36,0x33,0x38,0x34,0x61,0x35,0x36,0x33,0x61,0x35,0x65, + 0x37,0x34,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x30,0x33,0x30,0x34,0x30,0x35,0x30,0x33,0x30,0x35,0x30,0x37,0x30,0x32,0x30,0x55,0x4c,0x2c,0x30,0x78,0x65,0x35, + 0x31,0x61,0x64,0x31,0x32,0x65,0x31,0x61,0x32,0x65,0x63,0x62,0x65,0x35,0x55,0x4c,0x2c,0x30,0x78,0x66,0x64,0x30,0x65,0x65,0x31,0x31,0x32,0x30,0x65,0x31,0x32,0x65, + 0x66,0x66,0x64,0x55,0x4c,0x2c,0x30,0x78,0x62,0x66,0x36,0x64,0x36,0x35,0x62,0x37,0x36,0x64,0x62,0x37,0x30,0x38,0x62,0x66,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x31, + 0x34,0x63,0x31,0x39,0x64,0x34,0x34,0x63,0x64,0x34,0x35,0x35,0x38,0x31,0x55,0x4c,0x2c,0x30,0x78,0x31,0x38,0x31,0x34,0x33,0x30,0x33,0x63,0x31,0x34,0x33,0x63,0x32, + 0x34,0x31,0x38,0x55,0x4c,0x2c,0x30,0x78,0x32,0x36,0x33,0x35,0x34,0x63,0x35,0x66,0x33,0x35,0x35,0x66,0x37,0x39,0x32,0x36,0x55,0x4c,0x2c,0x30,0x78,0x63,0x33,0x32, + 0x66,0x39,0x64,0x37,0x31,0x32,0x66,0x37,0x31,0x62,0x32,0x63,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x62,0x65,0x65,0x31,0x36,0x37,0x33,0x38,0x65,0x31,0x33,0x38,0x38, + 0x36,0x62,0x65,0x55,0x4c,0x2c,0x30,0x78,0x33,0x35,0x61,0x32,0x36,0x61,0x66,0x64,0x61,0x32,0x66,0x64,0x63,0x38,0x33,0x35,0x55,0x4c,0x2c,0x30,0x78,0x38,0x38,0x63, + 0x63,0x30,0x62,0x34,0x66,0x63,0x63,0x34,0x66,0x63,0x37,0x38,0x38,0x55,0x4c,0x2c,0x30,0x78,0x32,0x65,0x33,0x39,0x35,0x63,0x34,0x62,0x33,0x39,0x34,0x62,0x36,0x35, + 0x32,0x65,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x33,0x35,0x37,0x33,0x64,0x66,0x39,0x35,0x37,0x66,0x39,0x36,0x61,0x39,0x33,0x55,0x4c,0x2c,0x30,0x78,0x35,0x35,0x66, + 0x32,0x61,0x61,0x30,0x64,0x66,0x32,0x30,0x64,0x35,0x38,0x35,0x35,0x55,0x4c,0x2c,0x30,0x78,0x66,0x63,0x38,0x32,0x65,0x33,0x39,0x64,0x38,0x32,0x39,0x64,0x36,0x31, + 0x66,0x63,0x55,0x4c,0x2c,0x30,0x78,0x37,0x61,0x34,0x37,0x66,0x34,0x63,0x39,0x34,0x37,0x63,0x39,0x62,0x33,0x37,0x61,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x63,0x38,0x61, + 0x63,0x38,0x62,0x65,0x66,0x61,0x63,0x65,0x66,0x32,0x37,0x63,0x38,0x55,0x4c,0x2c,0x30,0x78,0x62,0x61,0x65,0x37,0x36,0x66,0x33,0x32,0x65,0x37,0x33,0x32,0x38,0x38, + 0x62,0x61,0x55,0x4c,0x2c,0x30,0x78,0x33,0x32,0x32,0x62,0x36,0x34,0x37,0x64,0x32,0x62,0x37,0x64,0x34,0x66,0x33,0x32,0x55,0x4c,0x2c,0x30,0x78,0x65,0x36,0x39,0x35, + 0x64,0x37,0x61,0x34,0x39,0x35,0x61,0x34,0x34,0x32,0x65,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x63,0x30,0x61,0x30,0x39,0x62,0x66,0x62,0x61,0x30,0x66,0x62,0x33,0x62, + 0x63,0x30,0x55,0x4c,0x2c,0x30,0x78,0x31,0x39,0x39,0x38,0x33,0x32,0x62,0x33,0x39,0x38,0x62,0x33,0x61,0x61,0x31,0x39,0x55,0x4c,0x2c,0x30,0x78,0x39,0x65,0x64,0x31, + 0x32,0x37,0x36,0x38,0x64,0x31,0x36,0x38,0x66,0x36,0x39,0x65,0x55,0x4c,0x2c,0x30,0x78,0x61,0x33,0x37,0x66,0x35,0x64,0x38,0x31,0x37,0x66,0x38,0x31,0x32,0x32,0x61, + 0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x34,0x34,0x36,0x36,0x38,0x38,0x61,0x61,0x36,0x36,0x61,0x61,0x65,0x65,0x34,0x34,0x55,0x4c,0x2c,0x30,0x78,0x35,0x34,0x37,0x65, + 0x61,0x38,0x38,0x32,0x37,0x65,0x38,0x32,0x64,0x36,0x35,0x34,0x55,0x4c,0x2c,0x30,0x78,0x33,0x62,0x61,0x62,0x37,0x36,0x65,0x36,0x61,0x62,0x65,0x36,0x64,0x64,0x33, + 0x62,0x55,0x4c,0x2c,0x30,0x78,0x30,0x62,0x38,0x33,0x31,0x36,0x39,0x65,0x38,0x33,0x39,0x65,0x39,0x35,0x30,0x62,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x63,0x63,0x61, + 0x30,0x33,0x34,0x35,0x63,0x61,0x34,0x35,0x63,0x39,0x38,0x63,0x55,0x4c,0x2c,0x30,0x78,0x63,0x37,0x32,0x39,0x39,0x35,0x37,0x62,0x32,0x39,0x37,0x62,0x62,0x63,0x63, + 0x37,0x55,0x4c,0x2c,0x30,0x78,0x36,0x62,0x64,0x33,0x64,0x36,0x36,0x65,0x64,0x33,0x36,0x65,0x30,0x35,0x36,0x62,0x55,0x4c,0x2c,0x30,0x78,0x32,0x38,0x33,0x63,0x35, + 0x30,0x34,0x34,0x33,0x63,0x34,0x34,0x36,0x63,0x32,0x38,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x61,0x37,0x37,0x39,0x35,0x35,0x38,0x62,0x37,0x39,0x38,0x62,0x32,0x63,0x61, + 0x37,0x55,0x4c,0x2c,0x30,0x78,0x62,0x63,0x65,0x32,0x36,0x33,0x33,0x64,0x65,0x32,0x33,0x64,0x38,0x31,0x62,0x63,0x55,0x4c,0x2c,0x30,0x78,0x31,0x36,0x31,0x64,0x32, + 0x63,0x32,0x37,0x31,0x64,0x32,0x37,0x33,0x31,0x31,0x36,0x55,0x4c,0x2c,0x30,0x78,0x61,0x64,0x37,0x36,0x34,0x31,0x39,0x61,0x37,0x36,0x39,0x61,0x33,0x37,0x61,0x64, + 0x55,0x4c,0x2c,0x0a,0x30,0x78,0x64,0x62,0x33,0x62,0x61,0x64,0x34,0x64,0x33,0x62,0x34,0x64,0x39,0x36,0x64,0x62,0x55,0x4c,0x2c,0x30,0x78,0x36,0x34,0x35,0x36,0x63, + 0x38,0x66,0x61,0x35,0x36,0x66,0x61,0x39,0x65,0x36,0x34,0x55,0x4c,0x2c,0x30,0x78,0x37,0x34,0x34,0x65,0x65,0x38,0x64,0x32,0x34,0x65,0x64,0x32,0x61,0x36,0x37,0x34, + 0x55,0x4c,0x2c,0x30,0x78,0x31,0x34,0x31,0x65,0x32,0x38,0x32,0x32,0x31,0x65,0x32,0x32,0x33,0x36,0x31,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x32,0x64,0x62,0x33, + 0x66,0x37,0x36,0x64,0x62,0x37,0x36,0x65,0x34,0x39,0x32,0x55,0x4c,0x2c,0x30,0x78,0x30,0x63,0x30,0x61,0x31,0x38,0x31,0x65,0x30,0x61,0x31,0x65,0x31,0x32,0x30,0x63, + 0x55,0x4c,0x2c,0x30,0x78,0x34,0x38,0x36,0x63,0x39,0x30,0x62,0x34,0x36,0x63,0x62,0x34,0x66,0x63,0x34,0x38,0x55,0x4c,0x2c,0x30,0x78,0x62,0x38,0x65,0x34,0x36,0x62, + 0x33,0x37,0x65,0x34,0x33,0x37,0x38,0x66,0x62,0x38,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x66,0x35,0x64,0x32,0x35,0x65,0x37,0x35,0x64,0x65,0x37,0x37,0x38,0x39,0x66, + 0x55,0x4c,0x2c,0x30,0x78,0x62,0x64,0x36,0x65,0x36,0x31,0x62,0x32,0x36,0x65,0x62,0x32,0x30,0x66,0x62,0x64,0x55,0x4c,0x2c,0x30,0x78,0x34,0x33,0x65,0x66,0x38,0x36, + 0x32,0x61,0x65,0x66,0x32,0x61,0x36,0x39,0x34,0x33,0x55,0x4c,0x2c,0x30,0x78,0x63,0x34,0x61,0x36,0x39,0x33,0x66,0x31,0x61,0x36,0x66,0x31,0x33,0x35,0x63,0x34,0x55, + 0x4c,0x2c,0x0a,0x30,0x78,0x33,0x39,0x61,0x38,0x37,0x32,0x65,0x33,0x61,0x38,0x65,0x33,0x64,0x61,0x33,0x39,0x55,0x4c,0x2c,0x30,0x78,0x33,0x31,0x61,0x34,0x36,0x32, + 0x66,0x37,0x61,0x34,0x66,0x37,0x63,0x36,0x33,0x31,0x55,0x4c,0x2c,0x30,0x78,0x64,0x33,0x33,0x37,0x62,0x64,0x35,0x39,0x33,0x37,0x35,0x39,0x38,0x61,0x64,0x33,0x55, + 0x4c,0x2c,0x30,0x78,0x66,0x32,0x38,0x62,0x66,0x66,0x38,0x36,0x38,0x62,0x38,0x36,0x37,0x34,0x66,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x64,0x35,0x33,0x32,0x62,0x31, + 0x35,0x36,0x33,0x32,0x35,0x36,0x38,0x33,0x64,0x35,0x55,0x4c,0x2c,0x30,0x78,0x38,0x62,0x34,0x33,0x30,0x64,0x63,0x35,0x34,0x33,0x63,0x35,0x34,0x65,0x38,0x62,0x55, + 0x4c,0x2c,0x30,0x78,0x36,0x65,0x35,0x39,0x64,0x63,0x65,0x62,0x35,0x39,0x65,0x62,0x38,0x35,0x36,0x65,0x55,0x4c,0x2c,0x30,0x78,0x64,0x61,0x62,0x37,0x61,0x66,0x63, + 0x32,0x62,0x37,0x63,0x32,0x31,0x38,0x64,0x61,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x31,0x38,0x63,0x30,0x32,0x38,0x66,0x38,0x63,0x38,0x66,0x38,0x65,0x30,0x31,0x55, + 0x4c,0x2c,0x30,0x78,0x62,0x31,0x36,0x34,0x37,0x39,0x61,0x63,0x36,0x34,0x61,0x63,0x31,0x64,0x62,0x31,0x55,0x4c,0x2c,0x30,0x78,0x39,0x63,0x64,0x32,0x32,0x33,0x36, + 0x64,0x64,0x32,0x36,0x64,0x66,0x31,0x39,0x63,0x55,0x4c,0x2c,0x30,0x78,0x34,0x39,0x65,0x30,0x39,0x32,0x33,0x62,0x65,0x30,0x33,0x62,0x37,0x32,0x34,0x39,0x55,0x4c, + 0x2c,0x0a,0x30,0x78,0x64,0x38,0x62,0x34,0x61,0x62,0x63,0x37,0x62,0x34,0x63,0x37,0x31,0x66,0x64,0x38,0x55,0x4c,0x2c,0x30,0x78,0x61,0x63,0x66,0x61,0x34,0x33,0x31, + 0x35,0x66,0x61,0x31,0x35,0x62,0x39,0x61,0x63,0x55,0x4c,0x2c,0x30,0x78,0x66,0x33,0x30,0x37,0x66,0x64,0x30,0x39,0x30,0x37,0x30,0x39,0x66,0x61,0x66,0x33,0x55,0x4c, + 0x2c,0x30,0x78,0x63,0x66,0x32,0x35,0x38,0x35,0x36,0x66,0x32,0x35,0x36,0x66,0x61,0x30,0x63,0x66,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x63,0x61,0x61,0x66,0x38,0x66,0x65, + 0x61,0x61,0x66,0x65,0x61,0x32,0x30,0x63,0x61,0x55,0x4c,0x2c,0x30,0x78,0x66,0x34,0x38,0x65,0x66,0x33,0x38,0x39,0x38,0x65,0x38,0x39,0x37,0x64,0x66,0x34,0x55,0x4c, + 0x2c,0x30,0x78,0x34,0x37,0x65,0x39,0x38,0x65,0x32,0x30,0x65,0x39,0x32,0x30,0x36,0x37,0x34,0x37,0x55,0x4c,0x2c,0x30,0x78,0x31,0x30,0x31,0x38,0x32,0x30,0x32,0x38, + 0x31,0x38,0x32,0x38,0x33,0x38,0x31,0x30,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x66,0x64,0x35,0x64,0x65,0x36,0x34,0x64,0x35,0x36,0x34,0x30,0x62,0x36,0x66,0x55,0x4c, + 0x2c,0x30,0x78,0x66,0x30,0x38,0x38,0x66,0x62,0x38,0x33,0x38,0x38,0x38,0x33,0x37,0x33,0x66,0x30,0x55,0x4c,0x2c,0x30,0x78,0x34,0x61,0x36,0x66,0x39,0x34,0x62,0x31, + 0x36,0x66,0x62,0x31,0x66,0x62,0x34,0x61,0x55,0x4c,0x2c,0x30,0x78,0x35,0x63,0x37,0x32,0x62,0x38,0x39,0x36,0x37,0x32,0x39,0x36,0x63,0x61,0x35,0x63,0x55,0x4c,0x2c, + 0x0a,0x30,0x78,0x33,0x38,0x32,0x34,0x37,0x30,0x36,0x63,0x32,0x34,0x36,0x63,0x35,0x34,0x33,0x38,0x55,0x4c,0x2c,0x30,0x78,0x35,0x37,0x66,0x31,0x61,0x65,0x30,0x38, + 0x66,0x31,0x30,0x38,0x35,0x66,0x35,0x37,0x55,0x4c,0x2c,0x30,0x78,0x37,0x33,0x63,0x37,0x65,0x36,0x35,0x32,0x63,0x37,0x35,0x32,0x32,0x31,0x37,0x33,0x55,0x4c,0x2c, + 0x30,0x78,0x39,0x37,0x35,0x31,0x33,0x35,0x66,0x33,0x35,0x31,0x66,0x33,0x36,0x34,0x39,0x37,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x63,0x62,0x32,0x33,0x38,0x64,0x36,0x35, + 0x32,0x33,0x36,0x35,0x61,0x65,0x63,0x62,0x55,0x4c,0x2c,0x30,0x78,0x61,0x31,0x37,0x63,0x35,0x39,0x38,0x34,0x37,0x63,0x38,0x34,0x32,0x35,0x61,0x31,0x55,0x4c,0x2c, + 0x30,0x78,0x65,0x38,0x39,0x63,0x63,0x62,0x62,0x66,0x39,0x63,0x62,0x66,0x35,0x37,0x65,0x38,0x55,0x4c,0x2c,0x30,0x78,0x33,0x65,0x32,0x31,0x37,0x63,0x36,0x33,0x32, + 0x31,0x36,0x33,0x35,0x64,0x33,0x65,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x36,0x64,0x64,0x33,0x37,0x37,0x63,0x64,0x64,0x37,0x63,0x65,0x61,0x39,0x36,0x55,0x4c,0x2c, + 0x30,0x78,0x36,0x31,0x64,0x63,0x63,0x32,0x37,0x66,0x64,0x63,0x37,0x66,0x31,0x65,0x36,0x31,0x55,0x4c,0x2c,0x30,0x78,0x30,0x64,0x38,0x36,0x31,0x61,0x39,0x31,0x38, + 0x36,0x39,0x31,0x39,0x63,0x30,0x64,0x55,0x4c,0x2c,0x30,0x78,0x30,0x66,0x38,0x35,0x31,0x65,0x39,0x34,0x38,0x35,0x39,0x34,0x39,0x62,0x30,0x66,0x55,0x4c,0x2c,0x0a, + 0x30,0x78,0x65,0x30,0x39,0x30,0x64,0x62,0x61,0x62,0x39,0x30,0x61,0x62,0x34,0x62,0x65,0x30,0x55,0x4c,0x2c,0x30,0x78,0x37,0x63,0x34,0x32,0x66,0x38,0x63,0x36,0x34, + 0x32,0x63,0x36,0x62,0x61,0x37,0x63,0x55,0x4c,0x2c,0x30,0x78,0x37,0x31,0x63,0x34,0x65,0x32,0x35,0x37,0x63,0x34,0x35,0x37,0x32,0x36,0x37,0x31,0x55,0x4c,0x2c,0x30, + 0x78,0x63,0x63,0x61,0x61,0x38,0x33,0x65,0x35,0x61,0x61,0x65,0x35,0x32,0x39,0x63,0x63,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x30,0x64,0x38,0x33,0x62,0x37,0x33,0x64, + 0x38,0x37,0x33,0x65,0x33,0x39,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x36,0x30,0x35,0x30,0x63,0x30,0x66,0x30,0x35,0x30,0x66,0x30,0x39,0x30,0x36,0x55,0x4c,0x2c,0x30, + 0x78,0x66,0x37,0x30,0x31,0x66,0x35,0x30,0x33,0x30,0x31,0x30,0x33,0x66,0x34,0x66,0x37,0x55,0x4c,0x2c,0x30,0x78,0x31,0x63,0x31,0x32,0x33,0x38,0x33,0x36,0x31,0x32, + 0x33,0x36,0x32,0x61,0x31,0x63,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x63,0x32,0x61,0x33,0x39,0x66,0x66,0x65,0x61,0x33,0x66,0x65,0x33,0x63,0x63,0x32,0x55,0x4c,0x2c,0x30, + 0x78,0x36,0x61,0x35,0x66,0x64,0x34,0x65,0x31,0x35,0x66,0x65,0x31,0x38,0x62,0x36,0x61,0x55,0x4c,0x2c,0x30,0x78,0x61,0x65,0x66,0x39,0x34,0x37,0x31,0x30,0x66,0x39, + 0x31,0x30,0x62,0x65,0x61,0x65,0x55,0x4c,0x2c,0x30,0x78,0x36,0x39,0x64,0x30,0x64,0x32,0x36,0x62,0x64,0x30,0x36,0x62,0x30,0x32,0x36,0x39,0x55,0x4c,0x2c,0x0a,0x30, + 0x78,0x31,0x37,0x39,0x31,0x32,0x65,0x61,0x38,0x39,0x31,0x61,0x38,0x62,0x66,0x31,0x37,0x55,0x4c,0x2c,0x30,0x78,0x39,0x39,0x35,0x38,0x32,0x39,0x65,0x38,0x35,0x38, + 0x65,0x38,0x37,0x31,0x39,0x39,0x55,0x4c,0x2c,0x30,0x78,0x33,0x61,0x32,0x37,0x37,0x34,0x36,0x39,0x32,0x37,0x36,0x39,0x35,0x33,0x33,0x61,0x55,0x4c,0x2c,0x30,0x78, + 0x32,0x37,0x62,0x39,0x34,0x65,0x64,0x30,0x62,0x39,0x64,0x30,0x66,0x37,0x32,0x37,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x64,0x39,0x33,0x38,0x61,0x39,0x34,0x38,0x33,0x38, + 0x34,0x38,0x39,0x31,0x64,0x39,0x55,0x4c,0x2c,0x30,0x78,0x65,0x62,0x31,0x33,0x63,0x64,0x33,0x35,0x31,0x33,0x33,0x35,0x64,0x65,0x65,0x62,0x55,0x4c,0x2c,0x30,0x78, + 0x32,0x62,0x62,0x33,0x35,0x36,0x63,0x65,0x62,0x33,0x63,0x65,0x65,0x35,0x32,0x62,0x55,0x4c,0x2c,0x30,0x78,0x32,0x32,0x33,0x33,0x34,0x34,0x35,0x35,0x33,0x33,0x35, + 0x35,0x37,0x37,0x32,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x64,0x32,0x62,0x62,0x62,0x66,0x64,0x36,0x62,0x62,0x64,0x36,0x30,0x34,0x64,0x32,0x55,0x4c,0x2c,0x30,0x78, + 0x61,0x39,0x37,0x30,0x34,0x39,0x39,0x30,0x37,0x30,0x39,0x30,0x33,0x39,0x61,0x39,0x55,0x4c,0x2c,0x30,0x78,0x30,0x37,0x38,0x39,0x30,0x65,0x38,0x30,0x38,0x39,0x38, + 0x30,0x38,0x37,0x30,0x37,0x55,0x4c,0x2c,0x30,0x78,0x33,0x33,0x61,0x37,0x36,0x36,0x66,0x32,0x61,0x37,0x66,0x32,0x63,0x31,0x33,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78, + 0x32,0x64,0x62,0x36,0x35,0x61,0x63,0x31,0x62,0x36,0x63,0x31,0x65,0x63,0x32,0x64,0x55,0x4c,0x2c,0x30,0x78,0x33,0x63,0x32,0x32,0x37,0x38,0x36,0x36,0x32,0x32,0x36, + 0x36,0x35,0x61,0x33,0x63,0x55,0x4c,0x2c,0x30,0x78,0x31,0x35,0x39,0x32,0x32,0x61,0x61,0x64,0x39,0x32,0x61,0x64,0x62,0x38,0x31,0x35,0x55,0x4c,0x2c,0x30,0x78,0x63, + 0x39,0x32,0x30,0x38,0x39,0x36,0x30,0x32,0x30,0x36,0x30,0x61,0x39,0x63,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x37,0x34,0x39,0x31,0x35,0x64,0x62,0x34,0x39,0x64, + 0x62,0x35,0x63,0x38,0x37,0x55,0x4c,0x2c,0x30,0x78,0x61,0x61,0x66,0x66,0x34,0x66,0x31,0x61,0x66,0x66,0x31,0x61,0x62,0x30,0x61,0x61,0x55,0x4c,0x2c,0x30,0x78,0x35, + 0x30,0x37,0x38,0x61,0x30,0x38,0x38,0x37,0x38,0x38,0x38,0x64,0x38,0x35,0x30,0x55,0x4c,0x2c,0x30,0x78,0x61,0x35,0x37,0x61,0x35,0x31,0x38,0x65,0x37,0x61,0x38,0x65, + 0x32,0x62,0x61,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x33,0x38,0x66,0x30,0x36,0x38,0x61,0x38,0x66,0x38,0x61,0x38,0x39,0x30,0x33,0x55,0x4c,0x2c,0x30,0x78,0x35, + 0x39,0x66,0x38,0x62,0x32,0x31,0x33,0x66,0x38,0x31,0x33,0x34,0x61,0x35,0x39,0x55,0x4c,0x2c,0x30,0x78,0x30,0x39,0x38,0x30,0x31,0x32,0x39,0x62,0x38,0x30,0x39,0x62, + 0x39,0x32,0x30,0x39,0x55,0x4c,0x2c,0x30,0x78,0x31,0x61,0x31,0x37,0x33,0x34,0x33,0x39,0x31,0x37,0x33,0x39,0x32,0x33,0x31,0x61,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36, + 0x35,0x64,0x61,0x63,0x61,0x37,0x35,0x64,0x61,0x37,0x35,0x31,0x30,0x36,0x35,0x55,0x4c,0x2c,0x30,0x78,0x64,0x37,0x33,0x31,0x62,0x35,0x35,0x33,0x33,0x31,0x35,0x33, + 0x38,0x34,0x64,0x37,0x55,0x4c,0x2c,0x30,0x78,0x38,0x34,0x63,0x36,0x31,0x33,0x35,0x31,0x63,0x36,0x35,0x31,0x64,0x35,0x38,0x34,0x55,0x4c,0x2c,0x30,0x78,0x64,0x30, + 0x62,0x38,0x62,0x62,0x64,0x33,0x62,0x38,0x64,0x33,0x30,0x33,0x64,0x30,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x32,0x63,0x33,0x31,0x66,0x35,0x65,0x63,0x33,0x35,0x65, + 0x64,0x63,0x38,0x32,0x55,0x4c,0x2c,0x30,0x78,0x32,0x39,0x62,0x30,0x35,0x32,0x63,0x62,0x62,0x30,0x63,0x62,0x65,0x32,0x32,0x39,0x55,0x4c,0x2c,0x30,0x78,0x35,0x61, + 0x37,0x37,0x62,0x34,0x39,0x39,0x37,0x37,0x39,0x39,0x63,0x33,0x35,0x61,0x55,0x4c,0x2c,0x30,0x78,0x31,0x65,0x31,0x31,0x33,0x63,0x33,0x33,0x31,0x31,0x33,0x33,0x32, + 0x64,0x31,0x65,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x37,0x62,0x63,0x62,0x66,0x36,0x34,0x36,0x63,0x62,0x34,0x36,0x33,0x64,0x37,0x62,0x55,0x4c,0x2c,0x30,0x78,0x61,0x38, + 0x66,0x63,0x34,0x62,0x31,0x66,0x66,0x63,0x31,0x66,0x62,0x37,0x61,0x38,0x55,0x4c,0x2c,0x30,0x78,0x36,0x64,0x64,0x36,0x64,0x61,0x36,0x31,0x64,0x36,0x36,0x31,0x30, + 0x63,0x36,0x64,0x55,0x4c,0x2c,0x30,0x78,0x32,0x63,0x33,0x61,0x35,0x38,0x34,0x65,0x33,0x61,0x34,0x65,0x36,0x32,0x32,0x63,0x55,0x4c,0x0a,0x7d,0x3b,0x0a,0x53,0x54, + 0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x54,0x34,0x5f,0x47, + 0x5b,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x41,0x35,0x46,0x34,0x33,0x32,0x43,0x36,0x43,0x36,0x41,0x35,0x39,0x37,0x46,0x34,0x55,0x4c,0x2c,0x30,0x78,0x38,0x34, + 0x39,0x37,0x36,0x46,0x46,0x38,0x46,0x38,0x38,0x34,0x45,0x42,0x39,0x37,0x55,0x4c,0x2c,0x30,0x78,0x39,0x39,0x42,0x30,0x35,0x45,0x45,0x45,0x45,0x45,0x39,0x39,0x43, + 0x37,0x42,0x30,0x55,0x4c,0x2c,0x30,0x78,0x38,0x44,0x38,0x43,0x37,0x41,0x46,0x36,0x46,0x36,0x38,0x44,0x46,0x37,0x38,0x43,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x44, + 0x31,0x37,0x45,0x38,0x46,0x46,0x46,0x46,0x30,0x44,0x45,0x35,0x31,0x37,0x55,0x4c,0x2c,0x30,0x78,0x42,0x44,0x44,0x43,0x30,0x41,0x44,0x36,0x44,0x36,0x42,0x44,0x42, + 0x37,0x44,0x43,0x55,0x4c,0x2c,0x30,0x78,0x42,0x31,0x43,0x38,0x31,0x36,0x44,0x45,0x44,0x45,0x42,0x31,0x41,0x37,0x43,0x38,0x55,0x4c,0x2c,0x30,0x78,0x35,0x34,0x46, + 0x43,0x36,0x44,0x39,0x31,0x39,0x31,0x35,0x34,0x33,0x39,0x46,0x43,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x30,0x46,0x30,0x39,0x30,0x36,0x30,0x36,0x30,0x35,0x30,0x43, + 0x30,0x46,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x33,0x30,0x35,0x30,0x37,0x30,0x32,0x30,0x32,0x30,0x33,0x30,0x34,0x30,0x35,0x55,0x4c,0x2c,0x30,0x78,0x41,0x39,0x45, + 0x30,0x32,0x45,0x43,0x45,0x43,0x45,0x41,0x39,0x38,0x37,0x45,0x30,0x55,0x4c,0x2c,0x30,0x78,0x37,0x44,0x38,0x37,0x44,0x31,0x35,0x36,0x35,0x36,0x37,0x44,0x41,0x43, + 0x38,0x37,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31,0x39,0x32,0x42,0x43,0x43,0x45,0x37,0x45,0x37,0x31,0x39,0x44,0x35,0x32,0x42,0x55,0x4c,0x2c,0x30,0x78,0x36,0x32,0x41, + 0x36,0x31,0x33,0x42,0x35,0x42,0x35,0x36,0x32,0x37,0x31,0x41,0x36,0x55,0x4c,0x2c,0x30,0x78,0x45,0x36,0x33,0x31,0x37,0x43,0x34,0x44,0x34,0x44,0x45,0x36,0x39,0x41, + 0x33,0x31,0x55,0x4c,0x2c,0x30,0x78,0x39,0x41,0x42,0x35,0x35,0x39,0x45,0x43,0x45,0x43,0x39,0x41,0x43,0x33,0x42,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x34,0x35,0x43, + 0x46,0x34,0x30,0x38,0x46,0x38,0x46,0x34,0x35,0x30,0x35,0x43,0x46,0x55,0x4c,0x2c,0x30,0x78,0x39,0x44,0x42,0x43,0x41,0x33,0x31,0x46,0x31,0x46,0x39,0x44,0x33,0x45, + 0x42,0x43,0x55,0x4c,0x2c,0x30,0x78,0x34,0x30,0x43,0x30,0x34,0x39,0x38,0x39,0x38,0x39,0x34,0x30,0x30,0x39,0x43,0x30,0x55,0x4c,0x2c,0x30,0x78,0x38,0x37,0x39,0x32, + 0x36,0x38,0x46,0x41,0x46,0x41,0x38,0x37,0x45,0x46,0x39,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31,0x35,0x33,0x46,0x44,0x30,0x45,0x46,0x45,0x46,0x31,0x35,0x43,0x35, + 0x33,0x46,0x55,0x4c,0x2c,0x30,0x78,0x45,0x42,0x32,0x36,0x39,0x34,0x42,0x32,0x42,0x32,0x45,0x42,0x37,0x46,0x32,0x36,0x55,0x4c,0x2c,0x30,0x78,0x43,0x39,0x34,0x30, + 0x43,0x45,0x38,0x45,0x38,0x45,0x43,0x39,0x30,0x37,0x34,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x42,0x31,0x44,0x45,0x36,0x46,0x42,0x46,0x42,0x30,0x42,0x45,0x44,0x31, + 0x44,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x45,0x43,0x32,0x46,0x36,0x45,0x34,0x31,0x34,0x31,0x45,0x43,0x38,0x32,0x32,0x46,0x55,0x4c,0x2c,0x30,0x78,0x36,0x37,0x41,0x39, + 0x31,0x41,0x42,0x33,0x42,0x33,0x36,0x37,0x37,0x44,0x41,0x39,0x55,0x4c,0x2c,0x30,0x78,0x46,0x44,0x31,0x43,0x34,0x33,0x35,0x46,0x35,0x46,0x46,0x44,0x42,0x45,0x31, + 0x43,0x55,0x4c,0x2c,0x30,0x78,0x45,0x41,0x32,0x35,0x36,0x30,0x34,0x35,0x34,0x35,0x45,0x41,0x38,0x41,0x32,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x42,0x46,0x44,0x41, + 0x46,0x39,0x32,0x33,0x32,0x33,0x42,0x46,0x34,0x36,0x44,0x41,0x55,0x4c,0x2c,0x30,0x78,0x46,0x37,0x30,0x32,0x35,0x31,0x35,0x33,0x35,0x33,0x46,0x37,0x41,0x36,0x30, + 0x32,0x55,0x4c,0x2c,0x30,0x78,0x39,0x36,0x41,0x31,0x34,0x35,0x45,0x34,0x45,0x34,0x39,0x36,0x44,0x33,0x41,0x31,0x55,0x4c,0x2c,0x30,0x78,0x35,0x42,0x45,0x44,0x37, + 0x36,0x39,0x42,0x39,0x42,0x35,0x42,0x32,0x44,0x45,0x44,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x32,0x35,0x44,0x32,0x38,0x37,0x35,0x37,0x35,0x43,0x32,0x45,0x41,0x35, + 0x44,0x55,0x4c,0x2c,0x30,0x78,0x31,0x43,0x32,0x34,0x43,0x35,0x45,0x31,0x45,0x31,0x31,0x43,0x44,0x39,0x32,0x34,0x55,0x4c,0x2c,0x30,0x78,0x41,0x45,0x45,0x39,0x44, + 0x34,0x33,0x44,0x33,0x44,0x41,0x45,0x37,0x41,0x45,0x39,0x55,0x4c,0x2c,0x30,0x78,0x36,0x41,0x42,0x45,0x46,0x32,0x34,0x43,0x34,0x43,0x36,0x41,0x39,0x38,0x42,0x45, + 0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x41,0x45,0x45,0x38,0x32,0x36,0x43,0x36,0x43,0x35,0x41,0x44,0x38,0x45,0x45,0x55,0x4c,0x2c,0x30,0x78,0x34,0x31,0x43,0x33,0x42, + 0x44,0x37,0x45,0x37,0x45,0x34,0x31,0x46,0x43,0x43,0x33,0x55,0x4c,0x2c,0x30,0x78,0x30,0x32,0x30,0x36,0x46,0x33,0x46,0x35,0x46,0x35,0x30,0x32,0x46,0x31,0x30,0x36, + 0x55,0x4c,0x2c,0x30,0x78,0x34,0x46,0x44,0x31,0x35,0x32,0x38,0x33,0x38,0x33,0x34,0x46,0x31,0x44,0x44,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x43,0x45,0x34,0x38, + 0x43,0x36,0x38,0x36,0x38,0x35,0x43,0x44,0x30,0x45,0x34,0x55,0x4c,0x2c,0x30,0x78,0x46,0x34,0x30,0x37,0x35,0x36,0x35,0x31,0x35,0x31,0x46,0x34,0x41,0x32,0x30,0x37, + 0x55,0x4c,0x2c,0x30,0x78,0x33,0x34,0x35,0x43,0x38,0x44,0x44,0x31,0x44,0x31,0x33,0x34,0x42,0x39,0x35,0x43,0x55,0x4c,0x2c,0x30,0x78,0x30,0x38,0x31,0x38,0x45,0x31, + 0x46,0x39,0x46,0x39,0x30,0x38,0x45,0x39,0x31,0x38,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x33,0x41,0x45,0x34,0x43,0x45,0x32,0x45,0x32,0x39,0x33,0x44,0x46,0x41,0x45, + 0x55,0x4c,0x2c,0x30,0x78,0x37,0x33,0x39,0x35,0x33,0x45,0x41,0x42,0x41,0x42,0x37,0x33,0x34,0x44,0x39,0x35,0x55,0x4c,0x2c,0x30,0x78,0x35,0x33,0x46,0x35,0x39,0x37, + 0x36,0x32,0x36,0x32,0x35,0x33,0x43,0x34,0x46,0x35,0x55,0x4c,0x2c,0x30,0x78,0x33,0x46,0x34,0x31,0x36,0x42,0x32,0x41,0x32,0x41,0x33,0x46,0x35,0x34,0x34,0x31,0x55, + 0x4c,0x2c,0x0a,0x30,0x78,0x30,0x43,0x31,0x34,0x31,0x43,0x30,0x38,0x30,0x38,0x30,0x43,0x31,0x30,0x31,0x34,0x55,0x4c,0x2c,0x30,0x78,0x35,0x32,0x46,0x36,0x36,0x33, + 0x39,0x35,0x39,0x35,0x35,0x32,0x33,0x31,0x46,0x36,0x55,0x4c,0x2c,0x30,0x78,0x36,0x35,0x41,0x46,0x45,0x39,0x34,0x36,0x34,0x36,0x36,0x35,0x38,0x43,0x41,0x46,0x55, + 0x4c,0x2c,0x30,0x78,0x35,0x45,0x45,0x32,0x37,0x46,0x39,0x44,0x39,0x44,0x35,0x45,0x32,0x31,0x45,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x38,0x37,0x38,0x34,0x38, + 0x33,0x30,0x33,0x30,0x32,0x38,0x36,0x30,0x37,0x38,0x55,0x4c,0x2c,0x30,0x78,0x41,0x31,0x46,0x38,0x43,0x46,0x33,0x37,0x33,0x37,0x41,0x31,0x36,0x45,0x46,0x38,0x55, + 0x4c,0x2c,0x30,0x78,0x30,0x46,0x31,0x31,0x31,0x42,0x30,0x41,0x30,0x41,0x30,0x46,0x31,0x34,0x31,0x31,0x55,0x4c,0x2c,0x30,0x78,0x42,0x35,0x43,0x34,0x45,0x42,0x32, + 0x46,0x32,0x46,0x42,0x35,0x35,0x45,0x43,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x30,0x39,0x31,0x42,0x31,0x35,0x30,0x45,0x30,0x45,0x30,0x39,0x31,0x43,0x31,0x42,0x55, + 0x4c,0x2c,0x30,0x78,0x33,0x36,0x35,0x41,0x37,0x45,0x32,0x34,0x32,0x34,0x33,0x36,0x34,0x38,0x35,0x41,0x55,0x4c,0x2c,0x30,0x78,0x39,0x42,0x42,0x36,0x41,0x44,0x31, + 0x42,0x31,0x42,0x39,0x42,0x33,0x36,0x42,0x36,0x55,0x4c,0x2c,0x30,0x78,0x33,0x44,0x34,0x37,0x39,0x38,0x44,0x46,0x44,0x46,0x33,0x44,0x41,0x35,0x34,0x37,0x55,0x4c, + 0x2c,0x0a,0x30,0x78,0x32,0x36,0x36,0x41,0x41,0x37,0x43,0x44,0x43,0x44,0x32,0x36,0x38,0x31,0x36,0x41,0x55,0x4c,0x2c,0x30,0x78,0x36,0x39,0x42,0x42,0x46,0x35,0x34, + 0x45,0x34,0x45,0x36,0x39,0x39,0x43,0x42,0x42,0x55,0x4c,0x2c,0x30,0x78,0x43,0x44,0x34,0x43,0x33,0x33,0x37,0x46,0x37,0x46,0x43,0x44,0x46,0x45,0x34,0x43,0x55,0x4c, + 0x2c,0x30,0x78,0x39,0x46,0x42,0x41,0x35,0x30,0x45,0x41,0x45,0x41,0x39,0x46,0x43,0x46,0x42,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x31,0x42,0x32,0x44,0x33,0x46,0x31, + 0x32,0x31,0x32,0x31,0x42,0x32,0x34,0x32,0x44,0x55,0x4c,0x2c,0x30,0x78,0x39,0x45,0x42,0x39,0x41,0x34,0x31,0x44,0x31,0x44,0x39,0x45,0x33,0x41,0x42,0x39,0x55,0x4c, + 0x2c,0x30,0x78,0x37,0x34,0x39,0x43,0x43,0x34,0x35,0x38,0x35,0x38,0x37,0x34,0x42,0x30,0x39,0x43,0x55,0x4c,0x2c,0x30,0x78,0x32,0x45,0x37,0x32,0x34,0x36,0x33,0x34, + 0x33,0x34,0x32,0x45,0x36,0x38,0x37,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x44,0x37,0x37,0x34,0x31,0x33,0x36,0x33,0x36,0x32,0x44,0x36,0x43,0x37,0x37,0x55,0x4c, + 0x2c,0x30,0x78,0x42,0x32,0x43,0x44,0x31,0x31,0x44,0x43,0x44,0x43,0x42,0x32,0x41,0x33,0x43,0x44,0x55,0x4c,0x2c,0x30,0x78,0x45,0x45,0x32,0x39,0x39,0x44,0x42,0x34, + 0x42,0x34,0x45,0x45,0x37,0x33,0x32,0x39,0x55,0x4c,0x2c,0x30,0x78,0x46,0x42,0x31,0x36,0x34,0x44,0x35,0x42,0x35,0x42,0x46,0x42,0x42,0x36,0x31,0x36,0x55,0x4c,0x2c, + 0x0a,0x30,0x78,0x46,0x36,0x30,0x31,0x41,0x35,0x41,0x34,0x41,0x34,0x46,0x36,0x35,0x33,0x30,0x31,0x55,0x4c,0x2c,0x30,0x78,0x34,0x44,0x44,0x37,0x41,0x31,0x37,0x36, + 0x37,0x36,0x34,0x44,0x45,0x43,0x44,0x37,0x55,0x4c,0x2c,0x30,0x78,0x36,0x31,0x41,0x33,0x31,0x34,0x42,0x37,0x42,0x37,0x36,0x31,0x37,0x35,0x41,0x33,0x55,0x4c,0x2c, + 0x30,0x78,0x43,0x45,0x34,0x39,0x33,0x34,0x37,0x44,0x37,0x44,0x43,0x45,0x46,0x41,0x34,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x37,0x42,0x38,0x44,0x44,0x46,0x35,0x32, + 0x35,0x32,0x37,0x42,0x41,0x34,0x38,0x44,0x55,0x4c,0x2c,0x30,0x78,0x33,0x45,0x34,0x32,0x39,0x46,0x44,0x44,0x44,0x44,0x33,0x45,0x41,0x31,0x34,0x32,0x55,0x4c,0x2c, + 0x30,0x78,0x37,0x31,0x39,0x33,0x43,0x44,0x35,0x45,0x35,0x45,0x37,0x31,0x42,0x43,0x39,0x33,0x55,0x4c,0x2c,0x30,0x78,0x39,0x37,0x41,0x32,0x42,0x31,0x31,0x33,0x31, + 0x33,0x39,0x37,0x32,0x36,0x41,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x46,0x35,0x30,0x34,0x41,0x32,0x41,0x36,0x41,0x36,0x46,0x35,0x35,0x37,0x30,0x34,0x55,0x4c,0x2c, + 0x30,0x78,0x36,0x38,0x42,0x38,0x30,0x31,0x42,0x39,0x42,0x39,0x36,0x38,0x36,0x39,0x42,0x38,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x32,0x43,0x37,0x34,0x42,0x35,0x43,0x31,0x43,0x31,0x32,0x43,0x39,0x39,0x37,0x34,0x55,0x4c,0x2c,0x0a, + 0x30,0x78,0x36,0x30,0x41,0x30,0x45,0x30,0x34,0x30,0x34,0x30,0x36,0x30,0x38,0x30,0x41,0x30,0x55,0x4c,0x2c,0x30,0x78,0x31,0x46,0x32,0x31,0x43,0x32,0x45,0x33,0x45, + 0x33,0x31,0x46,0x44,0x44,0x32,0x31,0x55,0x4c,0x2c,0x30,0x78,0x43,0x38,0x34,0x33,0x33,0x41,0x37,0x39,0x37,0x39,0x43,0x38,0x46,0x32,0x34,0x33,0x55,0x4c,0x2c,0x30, + 0x78,0x45,0x44,0x32,0x43,0x39,0x41,0x42,0x36,0x42,0x36,0x45,0x44,0x37,0x37,0x32,0x43,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x42,0x45,0x44,0x39,0x30,0x44,0x44,0x34,0x44, + 0x34,0x42,0x45,0x42,0x33,0x44,0x39,0x55,0x4c,0x2c,0x30,0x78,0x34,0x36,0x43,0x41,0x34,0x37,0x38,0x44,0x38,0x44,0x34,0x36,0x30,0x31,0x43,0x41,0x55,0x4c,0x2c,0x30, + 0x78,0x44,0x39,0x37,0x30,0x31,0x37,0x36,0x37,0x36,0x37,0x44,0x39,0x43,0x45,0x37,0x30,0x55,0x4c,0x2c,0x30,0x78,0x34,0x42,0x44,0x44,0x41,0x46,0x37,0x32,0x37,0x32, + 0x34,0x42,0x45,0x34,0x44,0x44,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x45,0x37,0x39,0x45,0x44,0x39,0x34,0x39,0x34,0x44,0x45,0x33,0x33,0x37,0x39,0x55,0x4c,0x2c,0x30, + 0x78,0x44,0x34,0x36,0x37,0x46,0x46,0x39,0x38,0x39,0x38,0x44,0x34,0x32,0x42,0x36,0x37,0x55,0x4c,0x2c,0x30,0x78,0x45,0x38,0x32,0x33,0x39,0x33,0x42,0x30,0x42,0x30, + 0x45,0x38,0x37,0x42,0x32,0x33,0x55,0x4c,0x2c,0x30,0x78,0x34,0x41,0x44,0x45,0x35,0x42,0x38,0x35,0x38,0x35,0x34,0x41,0x31,0x31,0x44,0x45,0x55,0x4c,0x2c,0x0a,0x30, + 0x78,0x36,0x42,0x42,0x44,0x30,0x36,0x42,0x42,0x42,0x42,0x36,0x42,0x36,0x44,0x42,0x44,0x55,0x4c,0x2c,0x30,0x78,0x32,0x41,0x37,0x45,0x42,0x42,0x43,0x35,0x43,0x35, + 0x32,0x41,0x39,0x31,0x37,0x45,0x55,0x4c,0x2c,0x30,0x78,0x45,0x35,0x33,0x34,0x37,0x42,0x34,0x46,0x34,0x46,0x45,0x35,0x39,0x45,0x33,0x34,0x55,0x4c,0x2c,0x30,0x78, + 0x31,0x36,0x33,0x41,0x44,0x37,0x45,0x44,0x45,0x44,0x31,0x36,0x43,0x31,0x33,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x35,0x35,0x34,0x44,0x32,0x38,0x36,0x38,0x36, + 0x43,0x35,0x31,0x37,0x35,0x34,0x55,0x4c,0x2c,0x30,0x78,0x44,0x37,0x36,0x32,0x46,0x38,0x39,0x41,0x39,0x41,0x44,0x37,0x32,0x46,0x36,0x32,0x55,0x4c,0x2c,0x30,0x78, + 0x35,0x35,0x46,0x46,0x39,0x39,0x36,0x36,0x36,0x36,0x35,0x35,0x43,0x43,0x46,0x46,0x55,0x4c,0x2c,0x30,0x78,0x39,0x34,0x41,0x37,0x42,0x36,0x31,0x31,0x31,0x31,0x39, + 0x34,0x32,0x32,0x41,0x37,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x46,0x34,0x41,0x43,0x30,0x38,0x41,0x38,0x41,0x43,0x46,0x30,0x46,0x34,0x41,0x55,0x4c,0x2c,0x30,0x78, + 0x31,0x30,0x33,0x30,0x44,0x39,0x45,0x39,0x45,0x39,0x31,0x30,0x43,0x39,0x33,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x36,0x30,0x41,0x30,0x45,0x30,0x34,0x30,0x34,0x30, + 0x36,0x30,0x38,0x30,0x41,0x55,0x4c,0x2c,0x30,0x78,0x38,0x31,0x39,0x38,0x36,0x36,0x46,0x45,0x46,0x45,0x38,0x31,0x45,0x37,0x39,0x38,0x55,0x4c,0x2c,0x0a,0x30,0x78, + 0x46,0x30,0x30,0x42,0x41,0x42,0x41,0x30,0x41,0x30,0x46,0x30,0x35,0x42,0x30,0x42,0x55,0x4c,0x2c,0x30,0x78,0x34,0x34,0x43,0x43,0x42,0x34,0x37,0x38,0x37,0x38,0x34, + 0x34,0x46,0x30,0x43,0x43,0x55,0x4c,0x2c,0x30,0x78,0x42,0x41,0x44,0x35,0x46,0x30,0x32,0x35,0x32,0x35,0x42,0x41,0x34,0x41,0x44,0x35,0x55,0x4c,0x2c,0x30,0x78,0x45, + 0x33,0x33,0x45,0x37,0x35,0x34,0x42,0x34,0x42,0x45,0x33,0x39,0x36,0x33,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x46,0x33,0x30,0x45,0x41,0x43,0x41,0x32,0x41,0x32,0x46, + 0x33,0x35,0x46,0x30,0x45,0x55,0x4c,0x2c,0x30,0x78,0x46,0x45,0x31,0x39,0x34,0x34,0x35,0x44,0x35,0x44,0x46,0x45,0x42,0x41,0x31,0x39,0x55,0x4c,0x2c,0x30,0x78,0x43, + 0x30,0x35,0x42,0x44,0x42,0x38,0x30,0x38,0x30,0x43,0x30,0x31,0x42,0x35,0x42,0x55,0x4c,0x2c,0x30,0x78,0x38,0x41,0x38,0x35,0x38,0x30,0x30,0x35,0x30,0x35,0x38,0x41, + 0x30,0x41,0x38,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x41,0x44,0x45,0x43,0x44,0x33,0x33,0x46,0x33,0x46,0x41,0x44,0x37,0x45,0x45,0x43,0x55,0x4c,0x2c,0x30,0x78,0x42, + 0x43,0x44,0x46,0x46,0x45,0x32,0x31,0x32,0x31,0x42,0x43,0x34,0x32,0x44,0x46,0x55,0x4c,0x2c,0x30,0x78,0x34,0x38,0x44,0x38,0x41,0x38,0x37,0x30,0x37,0x30,0x34,0x38, + 0x45,0x30,0x44,0x38,0x55,0x4c,0x2c,0x30,0x78,0x30,0x34,0x30,0x43,0x46,0x44,0x46,0x31,0x46,0x31,0x30,0x34,0x46,0x39,0x30,0x43,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44, + 0x46,0x37,0x41,0x31,0x39,0x36,0x33,0x36,0x33,0x44,0x46,0x43,0x36,0x37,0x41,0x55,0x4c,0x2c,0x30,0x78,0x43,0x31,0x35,0x38,0x32,0x46,0x37,0x37,0x37,0x37,0x43,0x31, + 0x45,0x45,0x35,0x38,0x55,0x4c,0x2c,0x30,0x78,0x37,0x35,0x39,0x46,0x33,0x30,0x41,0x46,0x41,0x46,0x37,0x35,0x34,0x35,0x39,0x46,0x55,0x4c,0x2c,0x30,0x78,0x36,0x33, + 0x41,0x35,0x45,0x37,0x34,0x32,0x34,0x32,0x36,0x33,0x38,0x34,0x41,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33,0x30,0x35,0x30,0x37,0x30,0x32,0x30,0x32,0x30,0x33,0x30, + 0x34,0x30,0x35,0x30,0x55,0x4c,0x2c,0x30,0x78,0x31,0x41,0x32,0x45,0x43,0x42,0x45,0x35,0x45,0x35,0x31,0x41,0x44,0x31,0x32,0x45,0x55,0x4c,0x2c,0x30,0x78,0x30,0x45, + 0x31,0x32,0x45,0x46,0x46,0x44,0x46,0x44,0x30,0x45,0x45,0x31,0x31,0x32,0x55,0x4c,0x2c,0x30,0x78,0x36,0x44,0x42,0x37,0x30,0x38,0x42,0x46,0x42,0x46,0x36,0x44,0x36, + 0x35,0x42,0x37,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x34,0x43,0x44,0x34,0x35,0x35,0x38,0x31,0x38,0x31,0x34,0x43,0x31,0x39,0x44,0x34,0x55,0x4c,0x2c,0x30,0x78,0x31,0x34, + 0x33,0x43,0x32,0x34,0x31,0x38,0x31,0x38,0x31,0x34,0x33,0x30,0x33,0x43,0x55,0x4c,0x2c,0x30,0x78,0x33,0x35,0x35,0x46,0x37,0x39,0x32,0x36,0x32,0x36,0x33,0x35,0x34, + 0x43,0x35,0x46,0x55,0x4c,0x2c,0x30,0x78,0x32,0x46,0x37,0x31,0x42,0x32,0x43,0x33,0x43,0x33,0x32,0x46,0x39,0x44,0x37,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x45,0x31, + 0x33,0x38,0x38,0x36,0x42,0x45,0x42,0x45,0x45,0x31,0x36,0x37,0x33,0x38,0x55,0x4c,0x2c,0x30,0x78,0x41,0x32,0x46,0x44,0x43,0x38,0x33,0x35,0x33,0x35,0x41,0x32,0x36, + 0x41,0x46,0x44,0x55,0x4c,0x2c,0x30,0x78,0x43,0x43,0x34,0x46,0x43,0x37,0x38,0x38,0x38,0x38,0x43,0x43,0x30,0x42,0x34,0x46,0x55,0x4c,0x2c,0x30,0x78,0x33,0x39,0x34, + 0x42,0x36,0x35,0x32,0x45,0x32,0x45,0x33,0x39,0x35,0x43,0x34,0x42,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x37,0x46,0x39,0x36,0x41,0x39,0x33,0x39,0x33,0x35,0x37,0x33, + 0x44,0x46,0x39,0x55,0x4c,0x2c,0x30,0x78,0x46,0x32,0x30,0x44,0x35,0x38,0x35,0x35,0x35,0x35,0x46,0x32,0x41,0x41,0x30,0x44,0x55,0x4c,0x2c,0x30,0x78,0x38,0x32,0x39, + 0x44,0x36,0x31,0x46,0x43,0x46,0x43,0x38,0x32,0x45,0x33,0x39,0x44,0x55,0x4c,0x2c,0x30,0x78,0x34,0x37,0x43,0x39,0x42,0x33,0x37,0x41,0x37,0x41,0x34,0x37,0x46,0x34, + 0x43,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x41,0x43,0x45,0x46,0x32,0x37,0x43,0x38,0x43,0x38,0x41,0x43,0x38,0x42,0x45,0x46,0x55,0x4c,0x2c,0x30,0x78,0x45,0x37,0x33, + 0x32,0x38,0x38,0x42,0x41,0x42,0x41,0x45,0x37,0x36,0x46,0x33,0x32,0x55,0x4c,0x2c,0x30,0x78,0x32,0x42,0x37,0x44,0x34,0x46,0x33,0x32,0x33,0x32,0x32,0x42,0x36,0x34, + 0x37,0x44,0x55,0x4c,0x2c,0x30,0x78,0x39,0x35,0x41,0x34,0x34,0x32,0x45,0x36,0x45,0x36,0x39,0x35,0x44,0x37,0x41,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x41,0x30,0x46, + 0x42,0x33,0x42,0x43,0x30,0x43,0x30,0x41,0x30,0x39,0x42,0x46,0x42,0x55,0x4c,0x2c,0x30,0x78,0x39,0x38,0x42,0x33,0x41,0x41,0x31,0x39,0x31,0x39,0x39,0x38,0x33,0x32, + 0x42,0x33,0x55,0x4c,0x2c,0x30,0x78,0x44,0x31,0x36,0x38,0x46,0x36,0x39,0x45,0x39,0x45,0x44,0x31,0x32,0x37,0x36,0x38,0x55,0x4c,0x2c,0x30,0x78,0x37,0x46,0x38,0x31, + 0x32,0x32,0x41,0x33,0x41,0x33,0x37,0x46,0x35,0x44,0x38,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x36,0x36,0x41,0x41,0x45,0x45,0x34,0x34,0x34,0x34,0x36,0x36,0x38,0x38, + 0x41,0x41,0x55,0x4c,0x2c,0x30,0x78,0x37,0x45,0x38,0x32,0x44,0x36,0x35,0x34,0x35,0x34,0x37,0x45,0x41,0x38,0x38,0x32,0x55,0x4c,0x2c,0x30,0x78,0x41,0x42,0x45,0x36, + 0x44,0x44,0x33,0x42,0x33,0x42,0x41,0x42,0x37,0x36,0x45,0x36,0x55,0x4c,0x2c,0x30,0x78,0x38,0x33,0x39,0x45,0x39,0x35,0x30,0x42,0x30,0x42,0x38,0x33,0x31,0x36,0x39, + 0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x41,0x34,0x35,0x43,0x39,0x38,0x43,0x38,0x43,0x43,0x41,0x30,0x33,0x34,0x35,0x55,0x4c,0x2c,0x30,0x78,0x32,0x39,0x37,0x42, + 0x42,0x43,0x43,0x37,0x43,0x37,0x32,0x39,0x39,0x35,0x37,0x42,0x55,0x4c,0x2c,0x30,0x78,0x44,0x33,0x36,0x45,0x30,0x35,0x36,0x42,0x36,0x42,0x44,0x33,0x44,0x36,0x36, + 0x45,0x55,0x4c,0x2c,0x30,0x78,0x33,0x43,0x34,0x34,0x36,0x43,0x32,0x38,0x32,0x38,0x33,0x43,0x35,0x30,0x34,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x37,0x39,0x38,0x42, + 0x32,0x43,0x41,0x37,0x41,0x37,0x37,0x39,0x35,0x35,0x38,0x42,0x55,0x4c,0x2c,0x30,0x78,0x45,0x32,0x33,0x44,0x38,0x31,0x42,0x43,0x42,0x43,0x45,0x32,0x36,0x33,0x33, + 0x44,0x55,0x4c,0x2c,0x30,0x78,0x31,0x44,0x32,0x37,0x33,0x31,0x31,0x36,0x31,0x36,0x31,0x44,0x32,0x43,0x32,0x37,0x55,0x4c,0x2c,0x30,0x78,0x37,0x36,0x39,0x41,0x33, + 0x37,0x41,0x44,0x41,0x44,0x37,0x36,0x34,0x31,0x39,0x41,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x33,0x42,0x34,0x44,0x39,0x36,0x44,0x42,0x44,0x42,0x33,0x42,0x41,0x44,0x34, + 0x44,0x55,0x4c,0x2c,0x30,0x78,0x35,0x36,0x46,0x41,0x39,0x45,0x36,0x34,0x36,0x34,0x35,0x36,0x43,0x38,0x46,0x41,0x55,0x4c,0x2c,0x30,0x78,0x34,0x45,0x44,0x32,0x41, + 0x36,0x37,0x34,0x37,0x34,0x34,0x45,0x45,0x38,0x44,0x32,0x55,0x4c,0x2c,0x30,0x78,0x31,0x45,0x32,0x32,0x33,0x36,0x31,0x34,0x31,0x34,0x31,0x45,0x32,0x38,0x32,0x32, + 0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x42,0x37,0x36,0x45,0x34,0x39,0x32,0x39,0x32,0x44,0x42,0x33,0x46,0x37,0x36,0x55,0x4c,0x2c,0x30,0x78,0x30,0x41,0x31,0x45,0x31, + 0x32,0x30,0x43,0x30,0x43,0x30,0x41,0x31,0x38,0x31,0x45,0x55,0x4c,0x2c,0x30,0x78,0x36,0x43,0x42,0x34,0x46,0x43,0x34,0x38,0x34,0x38,0x36,0x43,0x39,0x30,0x42,0x34, + 0x55,0x4c,0x2c,0x30,0x78,0x45,0x34,0x33,0x37,0x38,0x46,0x42,0x38,0x42,0x38,0x45,0x34,0x36,0x42,0x33,0x37,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x35,0x44,0x45,0x37,0x37, + 0x38,0x39,0x46,0x39,0x46,0x35,0x44,0x32,0x35,0x45,0x37,0x55,0x4c,0x2c,0x30,0x78,0x36,0x45,0x42,0x32,0x30,0x46,0x42,0x44,0x42,0x44,0x36,0x45,0x36,0x31,0x42,0x32, + 0x55,0x4c,0x2c,0x30,0x78,0x45,0x46,0x32,0x41,0x36,0x39,0x34,0x33,0x34,0x33,0x45,0x46,0x38,0x36,0x32,0x41,0x55,0x4c,0x2c,0x30,0x78,0x41,0x36,0x46,0x31,0x33,0x35, + 0x43,0x34,0x43,0x34,0x41,0x36,0x39,0x33,0x46,0x31,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x41,0x38,0x45,0x33,0x44,0x41,0x33,0x39,0x33,0x39,0x41,0x38,0x37,0x32,0x45,0x33, + 0x55,0x4c,0x2c,0x30,0x78,0x41,0x34,0x46,0x37,0x43,0x36,0x33,0x31,0x33,0x31,0x41,0x34,0x36,0x32,0x46,0x37,0x55,0x4c,0x2c,0x30,0x78,0x33,0x37,0x35,0x39,0x38,0x41, + 0x44,0x33,0x44,0x33,0x33,0x37,0x42,0x44,0x35,0x39,0x55,0x4c,0x2c,0x30,0x78,0x38,0x42,0x38,0x36,0x37,0x34,0x46,0x32,0x46,0x32,0x38,0x42,0x46,0x46,0x38,0x36,0x55, + 0x4c,0x2c,0x0a,0x30,0x78,0x33,0x32,0x35,0x36,0x38,0x33,0x44,0x35,0x44,0x35,0x33,0x32,0x42,0x31,0x35,0x36,0x55,0x4c,0x2c,0x30,0x78,0x34,0x33,0x43,0x35,0x34,0x45, + 0x38,0x42,0x38,0x42,0x34,0x33,0x30,0x44,0x43,0x35,0x55,0x4c,0x2c,0x30,0x78,0x35,0x39,0x45,0x42,0x38,0x35,0x36,0x45,0x36,0x45,0x35,0x39,0x44,0x43,0x45,0x42,0x55, + 0x4c,0x2c,0x30,0x78,0x42,0x37,0x43,0x32,0x31,0x38,0x44,0x41,0x44,0x41,0x42,0x37,0x41,0x46,0x43,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x43,0x38,0x46,0x38,0x45, + 0x30,0x31,0x30,0x31,0x38,0x43,0x30,0x32,0x38,0x46,0x55,0x4c,0x2c,0x30,0x78,0x36,0x34,0x41,0x43,0x31,0x44,0x42,0x31,0x42,0x31,0x36,0x34,0x37,0x39,0x41,0x43,0x55, + 0x4c,0x2c,0x30,0x78,0x44,0x32,0x36,0x44,0x46,0x31,0x39,0x43,0x39,0x43,0x44,0x32,0x32,0x33,0x36,0x44,0x55,0x4c,0x2c,0x30,0x78,0x45,0x30,0x33,0x42,0x37,0x32,0x34, + 0x39,0x34,0x39,0x45,0x30,0x39,0x32,0x33,0x42,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x42,0x34,0x43,0x37,0x31,0x46,0x44,0x38,0x44,0x38,0x42,0x34,0x41,0x42,0x43,0x37,0x55, + 0x4c,0x2c,0x30,0x78,0x46,0x41,0x31,0x35,0x42,0x39,0x41,0x43,0x41,0x43,0x46,0x41,0x34,0x33,0x31,0x35,0x55,0x4c,0x2c,0x30,0x78,0x30,0x37,0x30,0x39,0x46,0x41,0x46, + 0x33,0x46,0x33,0x30,0x37,0x46,0x44,0x30,0x39,0x55,0x4c,0x2c,0x30,0x78,0x32,0x35,0x36,0x46,0x41,0x30,0x43,0x46,0x43,0x46,0x32,0x35,0x38,0x35,0x36,0x46,0x55,0x4c, + 0x2c,0x0a,0x30,0x78,0x41,0x46,0x45,0x41,0x32,0x30,0x43,0x41,0x43,0x41,0x41,0x46,0x38,0x46,0x45,0x41,0x55,0x4c,0x2c,0x30,0x78,0x38,0x45,0x38,0x39,0x37,0x44,0x46, + 0x34,0x46,0x34,0x38,0x45,0x46,0x33,0x38,0x39,0x55,0x4c,0x2c,0x30,0x78,0x45,0x39,0x32,0x30,0x36,0x37,0x34,0x37,0x34,0x37,0x45,0x39,0x38,0x45,0x32,0x30,0x55,0x4c, + 0x2c,0x30,0x78,0x31,0x38,0x32,0x38,0x33,0x38,0x31,0x30,0x31,0x30,0x31,0x38,0x32,0x30,0x32,0x38,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x35,0x36,0x34,0x30,0x42,0x36, + 0x46,0x36,0x46,0x44,0x35,0x44,0x45,0x36,0x34,0x55,0x4c,0x2c,0x30,0x78,0x38,0x38,0x38,0x33,0x37,0x33,0x46,0x30,0x46,0x30,0x38,0x38,0x46,0x42,0x38,0x33,0x55,0x4c, + 0x2c,0x30,0x78,0x36,0x46,0x42,0x31,0x46,0x42,0x34,0x41,0x34,0x41,0x36,0x46,0x39,0x34,0x42,0x31,0x55,0x4c,0x2c,0x30,0x78,0x37,0x32,0x39,0x36,0x43,0x41,0x35,0x43, + 0x35,0x43,0x37,0x32,0x42,0x38,0x39,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x32,0x34,0x36,0x43,0x35,0x34,0x33,0x38,0x33,0x38,0x32,0x34,0x37,0x30,0x36,0x43,0x55,0x4c, + 0x2c,0x30,0x78,0x46,0x31,0x30,0x38,0x35,0x46,0x35,0x37,0x35,0x37,0x46,0x31,0x41,0x45,0x30,0x38,0x55,0x4c,0x2c,0x30,0x78,0x43,0x37,0x35,0x32,0x32,0x31,0x37,0x33, + 0x37,0x33,0x43,0x37,0x45,0x36,0x35,0x32,0x55,0x4c,0x2c,0x30,0x78,0x35,0x31,0x46,0x33,0x36,0x34,0x39,0x37,0x39,0x37,0x35,0x31,0x33,0x35,0x46,0x33,0x55,0x4c,0x2c, + 0x0a,0x30,0x78,0x32,0x33,0x36,0x35,0x41,0x45,0x43,0x42,0x43,0x42,0x32,0x33,0x38,0x44,0x36,0x35,0x55,0x4c,0x2c,0x30,0x78,0x37,0x43,0x38,0x34,0x32,0x35,0x41,0x31, + 0x41,0x31,0x37,0x43,0x35,0x39,0x38,0x34,0x55,0x4c,0x2c,0x30,0x78,0x39,0x43,0x42,0x46,0x35,0x37,0x45,0x38,0x45,0x38,0x39,0x43,0x43,0x42,0x42,0x46,0x55,0x4c,0x2c, + 0x30,0x78,0x32,0x31,0x36,0x33,0x35,0x44,0x33,0x45,0x33,0x45,0x32,0x31,0x37,0x43,0x36,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x44,0x37,0x43,0x45,0x41,0x39,0x36, + 0x39,0x36,0x44,0x44,0x33,0x37,0x37,0x43,0x55,0x4c,0x2c,0x30,0x78,0x44,0x43,0x37,0x46,0x31,0x45,0x36,0x31,0x36,0x31,0x44,0x43,0x43,0x32,0x37,0x46,0x55,0x4c,0x2c, + 0x30,0x78,0x38,0x36,0x39,0x31,0x39,0x43,0x30,0x44,0x30,0x44,0x38,0x36,0x31,0x41,0x39,0x31,0x55,0x4c,0x2c,0x30,0x78,0x38,0x35,0x39,0x34,0x39,0x42,0x30,0x46,0x30, + 0x46,0x38,0x35,0x31,0x45,0x39,0x34,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x30,0x41,0x42,0x34,0x42,0x45,0x30,0x45,0x30,0x39,0x30,0x44,0x42,0x41,0x42,0x55,0x4c,0x2c, + 0x30,0x78,0x34,0x32,0x43,0x36,0x42,0x41,0x37,0x43,0x37,0x43,0x34,0x32,0x46,0x38,0x43,0x36,0x55,0x4c,0x2c,0x30,0x78,0x43,0x34,0x35,0x37,0x32,0x36,0x37,0x31,0x37, + 0x31,0x43,0x34,0x45,0x32,0x35,0x37,0x55,0x4c,0x2c,0x30,0x78,0x41,0x41,0x45,0x35,0x32,0x39,0x43,0x43,0x43,0x43,0x41,0x41,0x38,0x33,0x45,0x35,0x55,0x4c,0x2c,0x0a, + 0x30,0x78,0x44,0x38,0x37,0x33,0x45,0x33,0x39,0x30,0x39,0x30,0x44,0x38,0x33,0x42,0x37,0x33,0x55,0x4c,0x2c,0x30,0x78,0x30,0x35,0x30,0x46,0x30,0x39,0x30,0x36,0x30, + 0x36,0x30,0x35,0x30,0x43,0x30,0x46,0x55,0x4c,0x2c,0x30,0x78,0x30,0x31,0x30,0x33,0x46,0x34,0x46,0x37,0x46,0x37,0x30,0x31,0x46,0x35,0x30,0x33,0x55,0x4c,0x2c,0x30, + 0x78,0x31,0x32,0x33,0x36,0x32,0x41,0x31,0x43,0x31,0x43,0x31,0x32,0x33,0x38,0x33,0x36,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x41,0x33,0x46,0x45,0x33,0x43,0x43,0x32,0x43, + 0x32,0x41,0x33,0x39,0x46,0x46,0x45,0x55,0x4c,0x2c,0x30,0x78,0x35,0x46,0x45,0x31,0x38,0x42,0x36,0x41,0x36,0x41,0x35,0x46,0x44,0x34,0x45,0x31,0x55,0x4c,0x2c,0x30, + 0x78,0x46,0x39,0x31,0x30,0x42,0x45,0x41,0x45,0x41,0x45,0x46,0x39,0x34,0x37,0x31,0x30,0x55,0x4c,0x2c,0x30,0x78,0x44,0x30,0x36,0x42,0x30,0x32,0x36,0x39,0x36,0x39, + 0x44,0x30,0x44,0x32,0x36,0x42,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x39,0x31,0x41,0x38,0x42,0x46,0x31,0x37,0x31,0x37,0x39,0x31,0x32,0x45,0x41,0x38,0x55,0x4c,0x2c,0x30, + 0x78,0x35,0x38,0x45,0x38,0x37,0x31,0x39,0x39,0x39,0x39,0x35,0x38,0x32,0x39,0x45,0x38,0x55,0x4c,0x2c,0x30,0x78,0x32,0x37,0x36,0x39,0x35,0x33,0x33,0x41,0x33,0x41, + 0x32,0x37,0x37,0x34,0x36,0x39,0x55,0x4c,0x2c,0x30,0x78,0x42,0x39,0x44,0x30,0x46,0x37,0x32,0x37,0x32,0x37,0x42,0x39,0x34,0x45,0x44,0x30,0x55,0x4c,0x2c,0x0a,0x30, + 0x78,0x33,0x38,0x34,0x38,0x39,0x31,0x44,0x39,0x44,0x39,0x33,0x38,0x41,0x39,0x34,0x38,0x55,0x4c,0x2c,0x30,0x78,0x31,0x33,0x33,0x35,0x44,0x45,0x45,0x42,0x45,0x42, + 0x31,0x33,0x43,0x44,0x33,0x35,0x55,0x4c,0x2c,0x30,0x78,0x42,0x33,0x43,0x45,0x45,0x35,0x32,0x42,0x32,0x42,0x42,0x33,0x35,0x36,0x43,0x45,0x55,0x4c,0x2c,0x30,0x78, + 0x33,0x33,0x35,0x35,0x37,0x37,0x32,0x32,0x32,0x32,0x33,0x33,0x34,0x34,0x35,0x35,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x42,0x42,0x44,0x36,0x30,0x34,0x44,0x32,0x44,0x32, + 0x42,0x42,0x42,0x46,0x44,0x36,0x55,0x4c,0x2c,0x30,0x78,0x37,0x30,0x39,0x30,0x33,0x39,0x41,0x39,0x41,0x39,0x37,0x30,0x34,0x39,0x39,0x30,0x55,0x4c,0x2c,0x30,0x78, + 0x38,0x39,0x38,0x30,0x38,0x37,0x30,0x37,0x30,0x37,0x38,0x39,0x30,0x45,0x38,0x30,0x55,0x4c,0x2c,0x30,0x78,0x41,0x37,0x46,0x32,0x43,0x31,0x33,0x33,0x33,0x33,0x41, + 0x37,0x36,0x36,0x46,0x32,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x42,0x36,0x43,0x31,0x45,0x43,0x32,0x44,0x32,0x44,0x42,0x36,0x35,0x41,0x43,0x31,0x55,0x4c,0x2c,0x30,0x78, + 0x32,0x32,0x36,0x36,0x35,0x41,0x33,0x43,0x33,0x43,0x32,0x32,0x37,0x38,0x36,0x36,0x55,0x4c,0x2c,0x30,0x78,0x39,0x32,0x41,0x44,0x42,0x38,0x31,0x35,0x31,0x35,0x39, + 0x32,0x32,0x41,0x41,0x44,0x55,0x4c,0x2c,0x30,0x78,0x32,0x30,0x36,0x30,0x41,0x39,0x43,0x39,0x43,0x39,0x32,0x30,0x38,0x39,0x36,0x30,0x55,0x4c,0x2c,0x0a,0x30,0x78, + 0x34,0x39,0x44,0x42,0x35,0x43,0x38,0x37,0x38,0x37,0x34,0x39,0x31,0x35,0x44,0x42,0x55,0x4c,0x2c,0x30,0x78,0x46,0x46,0x31,0x41,0x42,0x30,0x41,0x41,0x41,0x41,0x46, + 0x46,0x34,0x46,0x31,0x41,0x55,0x4c,0x2c,0x30,0x78,0x37,0x38,0x38,0x38,0x44,0x38,0x35,0x30,0x35,0x30,0x37,0x38,0x41,0x30,0x38,0x38,0x55,0x4c,0x2c,0x30,0x78,0x37, + 0x41,0x38,0x45,0x32,0x42,0x41,0x35,0x41,0x35,0x37,0x41,0x35,0x31,0x38,0x45,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x38,0x46,0x38,0x41,0x38,0x39,0x30,0x33,0x30,0x33,0x38, + 0x46,0x30,0x36,0x38,0x41,0x55,0x4c,0x2c,0x30,0x78,0x46,0x38,0x31,0x33,0x34,0x41,0x35,0x39,0x35,0x39,0x46,0x38,0x42,0x32,0x31,0x33,0x55,0x4c,0x2c,0x30,0x78,0x38, + 0x30,0x39,0x42,0x39,0x32,0x30,0x39,0x30,0x39,0x38,0x30,0x31,0x32,0x39,0x42,0x55,0x4c,0x2c,0x30,0x78,0x31,0x37,0x33,0x39,0x32,0x33,0x31,0x41,0x31,0x41,0x31,0x37, + 0x33,0x34,0x33,0x39,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x44,0x41,0x37,0x35,0x31,0x30,0x36,0x35,0x36,0x35,0x44,0x41,0x43,0x41,0x37,0x35,0x55,0x4c,0x2c,0x30,0x78,0x33, + 0x31,0x35,0x33,0x38,0x34,0x44,0x37,0x44,0x37,0x33,0x31,0x42,0x35,0x35,0x33,0x55,0x4c,0x2c,0x30,0x78,0x43,0x36,0x35,0x31,0x44,0x35,0x38,0x34,0x38,0x34,0x43,0x36, + 0x31,0x33,0x35,0x31,0x55,0x4c,0x2c,0x30,0x78,0x42,0x38,0x44,0x33,0x30,0x33,0x44,0x30,0x44,0x30,0x42,0x38,0x42,0x42,0x44,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43, + 0x33,0x35,0x45,0x44,0x43,0x38,0x32,0x38,0x32,0x43,0x33,0x31,0x46,0x35,0x45,0x55,0x4c,0x2c,0x30,0x78,0x42,0x30,0x43,0x42,0x45,0x32,0x32,0x39,0x32,0x39,0x42,0x30, + 0x35,0x32,0x43,0x42,0x55,0x4c,0x2c,0x30,0x78,0x37,0x37,0x39,0x39,0x43,0x33,0x35,0x41,0x35,0x41,0x37,0x37,0x42,0x34,0x39,0x39,0x55,0x4c,0x2c,0x30,0x78,0x31,0x31, + 0x33,0x33,0x32,0x44,0x31,0x45,0x31,0x45,0x31,0x31,0x33,0x43,0x33,0x33,0x55,0x4c,0x2c,0x0a,0x30,0x78,0x43,0x42,0x34,0x36,0x33,0x44,0x37,0x42,0x37,0x42,0x43,0x42, + 0x46,0x36,0x34,0x36,0x55,0x4c,0x2c,0x30,0x78,0x46,0x43,0x31,0x46,0x42,0x37,0x41,0x38,0x41,0x38,0x46,0x43,0x34,0x42,0x31,0x46,0x55,0x4c,0x2c,0x30,0x78,0x44,0x36, + 0x36,0x31,0x30,0x43,0x36,0x44,0x36,0x44,0x44,0x36,0x44,0x41,0x36,0x31,0x55,0x4c,0x2c,0x30,0x78,0x33,0x41,0x34,0x45,0x36,0x32,0x32,0x43,0x32,0x43,0x33,0x41,0x35, + 0x38,0x34,0x45,0x55,0x4c,0x0a,0x7d,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x53,0x54,0x54,0x28,0x64,0x2c,0x20,0x61,0x2c,0x20,0x62,0x30,0x2c,0x20, + 0x62,0x31,0x2c,0x20,0x62,0x32,0x2c,0x20,0x62,0x33,0x2c,0x20,0x62,0x34,0x2c,0x20,0x62,0x35,0x2c,0x20,0x62,0x36,0x2c,0x20,0x62,0x37,0x29,0x20,0x64,0x6f,0x20,0x7b, + 0x20,0x5c,0x0a,0x74,0x5b,0x64,0x5d,0x3d,0x54,0x30,0x5f,0x47,0x5b,0x42,0x36,0x34,0x5f,0x30,0x28,0x61,0x5b,0x62,0x30,0x5d,0x29,0x5d,0x20,0x5c,0x0a,0x5e,0x20,0x52, + 0x36,0x34,0x28,0x54,0x30,0x5f,0x47,0x5b,0x42,0x36,0x34,0x5f,0x31,0x28,0x61,0x5b,0x62,0x31,0x5d,0x29,0x5d,0x2c,0x38,0x29,0x20,0x5c,0x0a,0x5e,0x20,0x52,0x36,0x34, + 0x28,0x54,0x30,0x5f,0x47,0x5b,0x42,0x36,0x34,0x5f,0x32,0x28,0x61,0x5b,0x62,0x32,0x5d,0x29,0x5d,0x2c,0x31,0x36,0x29,0x20,0x5c,0x0a,0x5e,0x20,0x52,0x36,0x34,0x28, + 0x54,0x30,0x5f,0x47,0x5b,0x42,0x36,0x34,0x5f,0x33,0x28,0x61,0x5b,0x62,0x33,0x5d,0x29,0x5d,0x2c,0x32,0x34,0x29,0x20,0x5c,0x0a,0x5e,0x20,0x54,0x34,0x5f,0x47,0x5b, + 0x42,0x36,0x34,0x5f,0x34,0x28,0x61,0x5b,0x62,0x34,0x5d,0x29,0x5d,0x20,0x5c,0x0a,0x5e,0x20,0x52,0x36,0x34,0x28,0x54,0x34,0x5f,0x47,0x5b,0x42,0x36,0x34,0x5f,0x35, + 0x28,0x61,0x5b,0x62,0x35,0x5d,0x29,0x5d,0x2c,0x38,0x29,0x20,0x5c,0x0a,0x5e,0x20,0x52,0x36,0x34,0x28,0x54,0x34,0x5f,0x47,0x5b,0x42,0x36,0x34,0x5f,0x36,0x28,0x61, + 0x5b,0x62,0x36,0x5d,0x29,0x5d,0x2c,0x31,0x36,0x29,0x20,0x5c,0x0a,0x5e,0x20,0x52,0x36,0x34,0x28,0x54,0x34,0x5f,0x47,0x5b,0x42,0x36,0x34,0x5f,0x37,0x28,0x61,0x5b, + 0x62,0x37,0x5d,0x29,0x5d,0x2c,0x32,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x52,0x4f,0x55,0x4e,0x44,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28,0x61,0x2c,0x20,0x72,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x75,0x6c,0x6f,0x6e, + 0x67,0x20,0x74,0x5b,0x38,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x2c,0x72,0x29,0x3b,0x20, + 0x5c,0x0a,0x61,0x5b,0x31,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x31,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x32,0x5d,0x20,0x5e, + 0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x32,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x33,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30, + 0x78,0x33,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x34,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x34,0x30,0x2c,0x72,0x29,0x3b,0x20, + 0x5c,0x0a,0x61,0x5b,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x35,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x36,0x5d,0x20,0x5e, + 0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x36,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x37,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30, + 0x78,0x37,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x30,0x2c,0x61,0x2c,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36, + 0x2c,0x37,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x31,0x2c,0x61,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x29, + 0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x32,0x2c,0x61,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x2c,0x31,0x29,0x3b,0x20,0x5c, + 0x0a,0x52,0x53,0x54,0x54,0x28,0x33,0x2c,0x61,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x2c,0x31,0x2c,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53, + 0x54,0x54,0x28,0x34,0x2c,0x61,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28, + 0x35,0x2c,0x61,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x36,0x2c,0x61, + 0x2c,0x36,0x2c,0x37,0x2c,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x37,0x2c,0x61,0x2c,0x37,0x2c, + 0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x30,0x5d,0x3d,0x74,0x5b,0x30,0x5d,0x3b,0x20,0x5c,0x0a,0x61, + 0x5b,0x31,0x5d,0x3d,0x74,0x5b,0x31,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x32,0x5d,0x3d,0x74,0x5b,0x32,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x33,0x5d,0x3d,0x74,0x5b, + 0x33,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x34,0x5d,0x3d,0x74,0x5b,0x34,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x35,0x5d,0x3d,0x74,0x5b,0x35,0x5d,0x3b,0x20,0x5c,0x0a, + 0x61,0x5b,0x36,0x5d,0x3d,0x74,0x5b,0x36,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x37,0x5d,0x3d,0x74,0x5b,0x37,0x5d,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c, + 0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x66,0x28,0x61,0x2c,0x72, + 0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x61,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x30,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c, + 0x0a,0x61,0x5b,0x31,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x31,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x32,0x5d,0x20,0x5e,0x3d, + 0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x32,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x33,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78, + 0x33,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x34,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x34,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c, + 0x0a,0x61,0x5b,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x35,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x36,0x5d,0x20,0x5e,0x3d, + 0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78,0x36,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x37,0x5d,0x20,0x5e,0x3d,0x20,0x50,0x43,0x36,0x34,0x28,0x30,0x78, + 0x37,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x37,0x2c,0x61,0x2c,0x37,0x2c,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c, + 0x36,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x37,0x5d,0x3d,0x74,0x5b,0x37,0x5d,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x51,0x28,0x61,0x2c,0x20,0x72,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20, + 0x5c,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x5b,0x38,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x30, + 0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x31,0x5d,0x20,0x5e,0x3d,0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x31,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a, + 0x61,0x5b,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x32,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x33,0x5d,0x20,0x5e,0x3d,0x20, + 0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x33,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x34,0x5d,0x20,0x5e,0x3d,0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x34, + 0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x35,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a, + 0x61,0x5b,0x36,0x5d,0x20,0x5e,0x3d,0x20,0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x36,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x37,0x5d,0x20,0x5e,0x3d,0x20, + 0x51,0x43,0x36,0x34,0x28,0x30,0x78,0x37,0x30,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x30,0x2c,0x61,0x2c,0x31,0x2c,0x33,0x2c,0x35,0x2c,0x37, + 0x2c,0x30,0x2c,0x32,0x2c,0x34,0x2c,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x31,0x2c,0x61,0x2c,0x32,0x2c,0x34,0x2c,0x36,0x2c,0x30,0x2c,0x31,0x2c, + 0x33,0x2c,0x35,0x2c,0x37,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x32,0x2c,0x61,0x2c,0x33,0x2c,0x35,0x2c,0x37,0x2c,0x31,0x2c,0x32,0x2c,0x34,0x2c,0x36, + 0x2c,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x33,0x2c,0x61,0x2c,0x34,0x2c,0x36,0x2c,0x30,0x2c,0x32,0x2c,0x33,0x2c,0x35,0x2c,0x37,0x2c,0x31,0x29, + 0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28,0x34,0x2c,0x61,0x2c,0x35,0x2c,0x37,0x2c,0x31,0x2c,0x33,0x2c,0x34,0x2c,0x36,0x2c,0x30,0x2c,0x32,0x29,0x3b,0x20,0x5c, + 0x0a,0x52,0x53,0x54,0x54,0x28,0x35,0x2c,0x61,0x2c,0x36,0x2c,0x30,0x2c,0x32,0x2c,0x34,0x2c,0x35,0x2c,0x37,0x2c,0x31,0x2c,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53, + 0x54,0x54,0x28,0x36,0x2c,0x61,0x2c,0x37,0x2c,0x31,0x2c,0x33,0x2c,0x35,0x2c,0x36,0x2c,0x30,0x2c,0x32,0x2c,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x52,0x53,0x54,0x54,0x28, + 0x37,0x2c,0x61,0x2c,0x30,0x2c,0x32,0x2c,0x34,0x2c,0x36,0x2c,0x37,0x2c,0x31,0x2c,0x33,0x2c,0x35,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x30,0x5d,0x3d,0x74,0x5b,0x30, + 0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x31,0x5d,0x3d,0x74,0x5b,0x31,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x32,0x5d,0x3d,0x74,0x5b,0x32,0x5d,0x3b,0x20,0x5c,0x0a,0x61, + 0x5b,0x33,0x5d,0x3d,0x74,0x5b,0x33,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x34,0x5d,0x3d,0x74,0x5b,0x34,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x35,0x5d,0x3d,0x74,0x5b, + 0x35,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x36,0x5d,0x3d,0x74,0x5b,0x36,0x5d,0x3b,0x20,0x5c,0x0a,0x61,0x5b,0x37,0x5d,0x3d,0x74,0x5b,0x37,0x5d,0x3b,0x20,0x5c,0x0a, + 0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50, + 0x28,0x61,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x72,0x3d,0x30,0x3b,0x20,0x72,0x3c,0x31,0x30,0x3b,0x20,0x72, + 0x20,0x2b,0x2b,0x29,0x20,0x5c,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28,0x61,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77, + 0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x66,0x28,0x61, + 0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x72,0x3d,0x30,0x3b,0x20,0x72,0x3c,0x39,0x3b,0x20,0x72,0x20,0x2b,0x2b, + 0x29,0x20,0x7b,0x20,0x5c,0x0a,0x52,0x4f,0x55,0x4e,0x44,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28,0x61,0x2c,0x72,0x29,0x3b,0x7d,0x20,0x5c,0x0a,0x52,0x4f,0x55, + 0x4e,0x44,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x66,0x28,0x61,0x2c,0x39,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a, + 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x51,0x28,0x61,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x66, + 0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x72,0x3d,0x30,0x3b,0x20,0x72,0x3c,0x31,0x30,0x3b,0x20,0x72,0x20,0x2b,0x2b,0x29,0x20,0x5c,0x0a,0x52,0x4f,0x55,0x4e,0x44, + 0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x51,0x28,0x61,0x2c,0x72,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x69,0x66, + 0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x42,0x41,0x53,0x45,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x32,0x29,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65, + 0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x65,0x74,0x5f,0x72,0x65,0x63,0x69,0x70,0x72,0x6f,0x63,0x61,0x6c,0x28,0x75,0x69,0x6e,0x74,0x20,0x61,0x29,0x0a,0x7b,0x0a,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x61,0x5f,0x68,0x69,0x3d,0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x28,0x28,0x61,0x3e,0x3e,0x38,0x29,0x2b, + 0x28,0x28,0x31,0x32,0x36,0x55,0x2b,0x33,0x31,0x55,0x29,0x3c,0x3c,0x32,0x33,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x61, + 0x5f,0x6c,0x6f,0x3d,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x5f,0x72,0x74,0x65,0x28,0x61,0x26,0x30,0x78,0x46,0x46,0x29,0x3b,0x0a,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x3d,0x6e,0x61,0x74,0x69,0x76,0x65,0x5f,0x72,0x65,0x63,0x69,0x70,0x28,0x61,0x5f,0x68,0x69,0x29,0x3b, + 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x5f,0x73,0x63,0x61,0x6c,0x65,0x64,0x3d,0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x28,0x61, + 0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x72,0x29,0x2b,0x28,0x36,0x34,0x55,0x3c,0x3c,0x32,0x33,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61, + 0x74,0x20,0x68,0x3d,0x66,0x6d,0x61,0x28,0x61,0x5f,0x6c,0x6f,0x2c,0x72,0x2c,0x66,0x6d,0x61,0x28,0x61,0x5f,0x68,0x69,0x2c,0x72,0x2c,0x2d,0x31,0x2e,0x30,0x66,0x29, + 0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x72,0x29,0x3c,0x3c,0x39,0x29,0x2d,0x63,0x6f,0x6e,0x76,0x65,0x72, + 0x74,0x5f,0x69,0x6e,0x74,0x5f,0x72,0x74,0x65,0x28,0x68,0x2a,0x72,0x5f,0x73,0x63,0x61,0x6c,0x65,0x64,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20, + 0x75,0x69,0x6e,0x74,0x32,0x20,0x66,0x61,0x73,0x74,0x5f,0x64,0x69,0x76,0x5f,0x76,0x32,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x61,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62, + 0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x72,0x3d,0x67,0x65,0x74,0x5f,0x72,0x65,0x63,0x69,0x70,0x72,0x6f,0x63,0x61,0x6c,0x28, + 0x62,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6b,0x3d,0x6d,0x75,0x6c,0x5f,0x68,0x69,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74, + 0x32,0x28,0x61,0x29,0x2e,0x73,0x30,0x2c,0x72,0x29,0x2b,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x72,0x29,0x2a,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28, + 0x61,0x29,0x2e,0x73,0x31,0x29,0x2b,0x61,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x71,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28, + 0x6b,0x29,0x2e,0x73,0x31,0x3b,0x0a,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x6d,0x70,0x3d,0x61,0x2d,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x71,0x29,0x2a,0x62,0x29, + 0x3b,0x0a,0x28,0x28,0x69,0x6e,0x74,0x2a,0x29,0x26,0x74,0x6d,0x70,0x29,0x5b,0x31,0x5d,0x2d,0x3d,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x6b,0x29,0x2e, + 0x73,0x31,0x3c,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x61,0x29,0x2e,0x73,0x31,0x29,0x3f,0x62,0x3a,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e, + 0x74,0x20,0x6f,0x76,0x65,0x72,0x73,0x68,0x6f,0x6f,0x74,0x3d,0x28,0x28,0x69,0x6e,0x74,0x2a,0x29,0x26,0x74,0x6d,0x70,0x29,0x5b,0x31,0x5d,0x3e,0x3e,0x33,0x31,0x3b, + 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x75,0x6e,0x64,0x65,0x72,0x73,0x68,0x6f,0x6f,0x74,0x3d,0x61,0x73,0x5f,0x69,0x6e,0x74,0x32,0x28,0x61,0x73, + 0x5f,0x75,0x69,0x6e,0x74,0x28,0x62,0x2d,0x31,0x29,0x2d,0x74,0x6d,0x70,0x29,0x2e,0x73,0x31,0x3e,0x3e,0x33,0x31,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28, + 0x75,0x69,0x6e,0x74,0x32,0x29,0x28,0x71,0x2b,0x6f,0x76,0x65,0x72,0x73,0x68,0x6f,0x6f,0x74,0x2d,0x75,0x6e,0x64,0x65,0x72,0x73,0x68,0x6f,0x6f,0x74,0x2c,0x61,0x73, + 0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x74,0x6d,0x70,0x29,0x2e,0x73,0x30,0x2b,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x6f,0x76,0x65,0x72,0x73,0x68,0x6f,0x6f, + 0x74,0x29,0x26,0x62,0x29,0x2d,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x75,0x6e,0x64,0x65,0x72,0x73,0x68,0x6f,0x6f,0x74,0x29,0x26,0x62,0x29,0x29,0x3b,0x0a, + 0x7d,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x75,0x69,0x6e,0x74,0x20,0x66,0x61,0x73,0x74,0x5f,0x73,0x71,0x72,0x74,0x5f,0x76,0x32,0x28,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6e,0x31,0x29,0x0a,0x7b,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x78,0x3d,0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x28,0x28,0x61, + 0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x6e,0x31,0x29,0x2e,0x73,0x31,0x3e,0x3e,0x39,0x29,0x2b,0x28,0x28,0x36,0x34,0x55,0x2b,0x31,0x32,0x37,0x55,0x29,0x3c,0x3c, + 0x32,0x33,0x29,0x29,0x3b,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x78,0x31,0x3d,0x6e,0x61,0x74,0x69,0x76,0x65,0x5f,0x72,0x73,0x71,0x72,0x74,0x28,0x78,0x29,0x3b,0x0a, + 0x78,0x3d,0x6e,0x61,0x74,0x69,0x76,0x65,0x5f,0x73,0x71,0x72,0x74,0x28,0x78,0x29,0x3b,0x0a,0x78,0x31,0x3d,0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x28,0x61,0x73, + 0x5f,0x75,0x69,0x6e,0x74,0x28,0x78,0x31,0x29,0x2b,0x28,0x33,0x32,0x55,0x3c,0x3c,0x32,0x33,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, + 0x20,0x78,0x30,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x78,0x29,0x2d,0x28,0x31,0x35,0x38,0x55,0x3c,0x3c,0x32,0x33,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x6c,0x6f,0x6e,0x67,0x20,0x64,0x65,0x6c,0x74,0x61,0x30,0x3d,0x6e,0x31,0x2d,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x28,0x75,0x69,0x6e,0x74,0x32, + 0x29,0x28,0x6d,0x75,0x6c,0x32,0x34,0x28,0x78,0x30,0x2c,0x78,0x30,0x29,0x2c,0x6d,0x75,0x6c,0x5f,0x68,0x69,0x28,0x78,0x30,0x2c,0x78,0x30,0x29,0x29,0x29,0x3c,0x3c, + 0x31,0x38,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x66,0x6c,0x6f,0x61,0x74,0x20,0x64,0x65,0x6c,0x74,0x61,0x3d,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x66, + 0x6c,0x6f,0x61,0x74,0x5f,0x72,0x74,0x65,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x32,0x28,0x64,0x65,0x6c,0x74,0x61,0x30,0x29,0x2e,0x73,0x31,0x29,0x2a,0x78,0x31,0x3b, + 0x0a,0x75,0x69,0x6e,0x74,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x28,0x78,0x30,0x3c,0x3c,0x31,0x30,0x29,0x2b,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x69,0x6e, + 0x74,0x5f,0x72,0x74,0x65,0x28,0x64,0x65,0x6c,0x74,0x61,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x3d,0x72,0x65,0x73,0x75,0x6c, + 0x74,0x3e,0x3e,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x62,0x3d,0x72,0x65,0x73,0x75,0x6c,0x74,0x26,0x31,0x3b,0x0a,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x78,0x32,0x3d,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x73,0x29,0x2a,0x28,0x73,0x2b,0x62,0x29,0x2b,0x28,0x28,0x75, + 0x6c,0x6f,0x6e,0x67,0x29,0x28,0x72,0x65,0x73,0x75,0x6c,0x74,0x29,0x3c,0x3c,0x33,0x32,0x29,0x2d,0x6e,0x31,0x3b,0x0a,0x69,0x66,0x28,0x28,0x6c,0x6f,0x6e,0x67,0x29, + 0x28,0x78,0x32,0x2b,0x61,0x73,0x5f,0x69,0x6e,0x74,0x28,0x62,0x2d,0x31,0x29,0x29,0x3e,0x3d,0x30,0x29,0x20,0x2d,0x2d,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x69, + 0x66,0x28,0x28,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x78,0x32,0x2b,0x30,0x78,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x2b,0x73,0x29,0x3c,0x30,0x29,0x20, + 0x2b,0x2b,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69, + 0x66,0x0a,0x23,0x69,0x66,0x6e,0x64,0x65,0x66,0x20,0x46,0x41,0x53,0x54,0x5f,0x44,0x49,0x56,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x43,0x4c,0x0a,0x23,0x64,0x65,0x66, + 0x69,0x6e,0x65,0x20,0x46,0x41,0x53,0x54,0x5f,0x44,0x49,0x56,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x43,0x4c,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f, + 0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x69,0x6e,0x6c,0x69,0x6e, + 0x65,0x20,0x6c,0x6f,0x6e,0x67,0x20,0x66,0x61,0x73,0x74,0x5f,0x64,0x69,0x76,0x5f,0x68,0x65,0x61,0x76,0x79,0x28,0x6c,0x6f,0x6e,0x67,0x20,0x5f,0x61,0x2c,0x69,0x6e, + 0x74,0x20,0x5f,0x62,0x29,0x0a,0x7b,0x0a,0x6c,0x6f,0x6e,0x67,0x20,0x61,0x3d,0x61,0x62,0x73,0x28,0x5f,0x61,0x29,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x62,0x3d,0x61,0x62, + 0x73,0x28,0x5f,0x62,0x29,0x3b,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x63,0x70,0x3d,0x6e,0x61,0x74,0x69,0x76,0x65,0x5f,0x72,0x65,0x63,0x69,0x70,0x28,0x63,0x6f, + 0x6e,0x76,0x65,0x72,0x74,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x5f,0x72,0x74,0x65,0x28,0x62,0x29,0x29,0x3b,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x72,0x63,0x70,0x32,0x3d, + 0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x72,0x63,0x70,0x29,0x2b,0x28,0x33,0x32,0x55,0x3c,0x3c,0x32,0x33,0x29,0x29, + 0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x71,0x31,0x3d,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74, + 0x5f,0x66,0x6c,0x6f,0x61,0x74,0x5f,0x72,0x74,0x65,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x32,0x28,0x61,0x29,0x2e,0x73,0x31,0x29,0x2a,0x72,0x63,0x70,0x32,0x29,0x3b, + 0x0a,0x61,0x2d,0x3d,0x71,0x31,0x2a,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x62,0x29,0x3b,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x20,0x71,0x32,0x66,0x3d,0x63,0x6f,0x6e, + 0x76,0x65,0x72,0x74,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x5f,0x72,0x74,0x65,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x32,0x28,0x61,0x3e,0x3e,0x31,0x32,0x29,0x2e,0x73,0x30, + 0x29,0x2a,0x72,0x63,0x70,0x3b,0x0a,0x71,0x32,0x66,0x3d,0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x71,0x32,0x66,0x29, + 0x2b,0x28,0x31,0x32,0x55,0x3c,0x3c,0x32,0x33,0x29,0x29,0x3b,0x0a,0x6c,0x6f,0x6e,0x67,0x20,0x71,0x32,0x3d,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x6c,0x6f,0x6e, + 0x67,0x5f,0x72,0x74,0x65,0x28,0x71,0x32,0x66,0x29,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x61,0x32,0x3d,0x61,0x73,0x5f,0x69,0x6e,0x74,0x32,0x28,0x61,0x29,0x2e,0x73,0x30, + 0x2d,0x61,0x73,0x5f,0x69,0x6e,0x74,0x32,0x28,0x71,0x32,0x29,0x2e,0x73,0x30,0x2a,0x62,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x71,0x33,0x3d,0x63,0x6f,0x6e,0x76,0x65,0x72, + 0x74,0x5f,0x69,0x6e,0x74,0x5f,0x72,0x74,0x65,0x28,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x5f,0x72,0x74,0x65,0x28,0x61,0x32,0x29,0x2a, + 0x72,0x63,0x70,0x29,0x3b,0x0a,0x71,0x33,0x2b,0x3d,0x28,0x61,0x32,0x2d,0x71,0x33,0x2a,0x62,0x29,0x3e,0x3e,0x33,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x6c, + 0x6f,0x6e,0x67,0x20,0x71,0x3d,0x71,0x31,0x2b,0x71,0x32,0x2b,0x71,0x33,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x32, + 0x28,0x5f,0x61,0x29,0x2e,0x73,0x31,0x5e,0x5f,0x62,0x29,0x3c,0x30,0x29,0x3f,0x2d,0x71,0x3a,0x71,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x65, + 0x6e,0x64,0x69,0x66,0x0a,0x23,0x69,0x66,0x6e,0x64,0x65,0x66,0x20,0x58,0x4d,0x52,0x49,0x47,0x5f,0x4b,0x45,0x43,0x43,0x41,0x4b,0x5f,0x43,0x4c,0x0a,0x23,0x64,0x65, + 0x66,0x69,0x6e,0x65,0x20,0x58,0x4d,0x52,0x49,0x47,0x5f,0x4b,0x45,0x43,0x43,0x41,0x4b,0x5f,0x43,0x4c,0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x72,0x6e,0x64,0x63,0x5b, + 0x32,0x34,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x2c,0x30,0x78,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x32,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x61, + 0x2c,0x0a,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x38,0x30,0x38,0x62,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x2c,0x0a,0x30,0x78,0x38,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x38,0x31,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30, + 0x39,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x61,0x2c,0x0a,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x38,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x39,0x2c,0x30,0x78,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x61,0x2c,0x0a,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30, + 0x38,0x62,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x62,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x39,0x2c,0x0a,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x33,0x2c,0x30,0x78,0x38, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x32,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, + 0x38,0x30,0x2c,0x0a,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x61,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30, + 0x30,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x61,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x38,0x31,0x2c,0x0a,0x30,0x78, + 0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x38,0x30,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x30, + 0x30,0x30,0x31,0x2c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x38,0x30,0x30,0x30,0x38,0x30,0x30,0x38,0x0a,0x7d,0x3b,0x0a,0x53,0x54,0x41,0x54,0x49,0x43, + 0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x72, + 0x6f,0x74,0x63,0x5b,0x32,0x34,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x31,0x2c,0x33,0x2c,0x36,0x2c,0x31,0x30,0x2c,0x31,0x35,0x2c,0x32,0x31,0x2c,0x32,0x38,0x2c,0x33,0x36, + 0x2c,0x34,0x35,0x2c,0x35,0x35,0x2c,0x32,0x2c,0x31,0x34,0x2c,0x0a,0x32,0x37,0x2c,0x34,0x31,0x2c,0x35,0x36,0x2c,0x38,0x2c,0x32,0x35,0x2c,0x34,0x33,0x2c,0x36,0x32, + 0x2c,0x31,0x38,0x2c,0x33,0x39,0x2c,0x36,0x31,0x2c,0x32,0x30,0x2c,0x34,0x34,0x0a,0x7d,0x3b,0x0a,0x53,0x54,0x41,0x54,0x49,0x43,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x70,0x69,0x6c,0x6e,0x5b,0x32,0x34,0x5d, + 0x20,0x3d,0x0a,0x7b,0x0a,0x31,0x30,0x2c,0x37,0x2c,0x31,0x31,0x2c,0x31,0x37,0x2c,0x31,0x38,0x2c,0x33,0x2c,0x35,0x2c,0x31,0x36,0x2c,0x38,0x2c,0x32,0x31,0x2c,0x32, + 0x34,0x2c,0x34,0x2c,0x0a,0x31,0x35,0x2c,0x32,0x33,0x2c,0x31,0x39,0x2c,0x31,0x33,0x2c,0x31,0x32,0x2c,0x32,0x2c,0x32,0x30,0x2c,0x31,0x34,0x2c,0x32,0x32,0x2c,0x39, + 0x2c,0x36,0x2c,0x31,0x0a,0x7d,0x3b,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x31,0x36,0x30,0x30,0x5f,0x31,0x28,0x75,0x6c,0x6f,0x6e,0x67, + 0x20,0x2a,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x74,0x20,0x69,0x2c,0x72,0x6f,0x75,0x6e,0x64,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x2c,0x62,0x63,0x5b, + 0x35,0x5d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x72,0x6f,0x75,0x6e,0x64,0x3d, + 0x30,0x3b,0x20,0x72,0x6f,0x75,0x6e,0x64,0x3c,0x32,0x34,0x3b,0x20,0x2b,0x2b,0x72,0x6f,0x75,0x6e,0x64,0x29,0x20,0x7b,0x0a,0x62,0x63,0x5b,0x30,0x5d,0x3d,0x73,0x74, + 0x5b,0x30,0x5d,0x5e,0x73,0x74,0x5b,0x35,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x30,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x35,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x30,0x5d,0x3b,0x0a, + 0x62,0x63,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x5b,0x31,0x5d,0x5e,0x73,0x74,0x5b,0x36,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x31,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x36,0x5d,0x5e, + 0x73,0x74,0x5b,0x32,0x31,0x5d,0x3b,0x0a,0x62,0x63,0x5b,0x32,0x5d,0x3d,0x73,0x74,0x5b,0x32,0x5d,0x5e,0x73,0x74,0x5b,0x37,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x32,0x5d, + 0x5e,0x73,0x74,0x5b,0x31,0x37,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x32,0x5d,0x3b,0x0a,0x62,0x63,0x5b,0x33,0x5d,0x3d,0x73,0x74,0x5b,0x33,0x5d,0x5e,0x73,0x74,0x5b,0x38, + 0x5d,0x5e,0x73,0x74,0x5b,0x31,0x33,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x38,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x33,0x5d,0x3b,0x0a,0x62,0x63,0x5b,0x34,0x5d,0x3d,0x73,0x74, + 0x5b,0x34,0x5d,0x5e,0x73,0x74,0x5b,0x39,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x34,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x39,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x34,0x5d,0x3b,0x0a, + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x35,0x3b,0x20, + 0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x74,0x3d,0x62,0x63,0x5b,0x28,0x69,0x2b,0x34,0x29,0x20,0x25,0x20,0x35,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x62,0x63, + 0x5b,0x28,0x69,0x2b,0x31,0x29,0x20,0x25,0x20,0x35,0x5d,0x2c,0x31,0x55,0x4c,0x29,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x20,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x3b,0x0a,0x73, + 0x74,0x5b,0x69,0x2b,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x31,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x3b,0x0a,0x73,0x74,0x5b,0x69, + 0x2b,0x31,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x32,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x3b,0x0a,0x7d,0x0a,0x74,0x3d,0x73,0x74, + 0x5b,0x31,0x5d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x3d,0x30,0x3b,0x20, + 0x69,0x3c,0x32,0x34,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x62,0x63,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x5b,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x70,0x69, + 0x6c,0x6e,0x5b,0x69,0x5d,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x70,0x69,0x6c,0x6e,0x5b,0x69,0x5d,0x5d,0x3d,0x72,0x6f,0x74,0x61, + 0x74,0x65,0x28,0x74,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x72,0x6f,0x74,0x63,0x5b,0x69,0x5d,0x29,0x3b,0x0a,0x74,0x3d, + 0x62,0x63,0x5b,0x30,0x5d,0x3b,0x0a,0x7d,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69, + 0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32,0x35,0x3b,0x20,0x69,0x2b,0x3d,0x35,0x29,0x20,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x6d,0x70,0x5b, + 0x35,0x5d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x78,0x3d, + 0x30,0x3b,0x20,0x78,0x3c,0x35,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x74,0x6d,0x70,0x5b,0x78,0x5d,0x3d,0x62,0x69,0x74,0x73,0x65,0x6c,0x65,0x63,0x74,0x28, + 0x73,0x74,0x5b,0x69,0x2b,0x78,0x5d,0x5e,0x73,0x74,0x5b,0x69,0x2b,0x28,0x28,0x78,0x2b,0x32,0x29,0x20,0x25,0x20,0x35,0x29,0x5d,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x78, + 0x5d,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x28,0x28,0x78,0x2b,0x31,0x29,0x20,0x25,0x20,0x35,0x29,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20, + 0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x35,0x3b,0x20,0x2b,0x2b,0x78,0x29, + 0x20,0x7b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x78,0x5d,0x3d,0x74,0x6d,0x70,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x73,0x74,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20, + 0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x72,0x6e,0x64,0x63,0x5b,0x72,0x6f,0x75,0x6e,0x64,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6b,0x65, + 0x63,0x63,0x61,0x6b,0x66,0x31,0x36,0x30,0x30,0x5f,0x32,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x29,0x0a,0x7b, + 0x0a,0x69,0x6e,0x74,0x20,0x69,0x2c,0x72,0x6f,0x75,0x6e,0x64,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x2c,0x62,0x63,0x5b,0x35,0x5d,0x3b,0x0a,0x23,0x70,0x72, + 0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x72,0x6f,0x75,0x6e,0x64,0x3d,0x30,0x3b,0x20,0x72,0x6f,0x75,0x6e, + 0x64,0x3c,0x32,0x34,0x3b,0x20,0x2b,0x2b,0x72,0x6f,0x75,0x6e,0x64,0x29,0x20,0x7b,0x0a,0x62,0x63,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x5b,0x30,0x5d,0x5e,0x73,0x74,0x5b, + 0x35,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x30,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x35,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x30,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x73, + 0x74,0x5b,0x32,0x5d,0x5e,0x73,0x74,0x5b,0x37,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x32,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x37,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x32,0x5d,0x2c, + 0x31,0x55,0x4c,0x29,0x3b,0x0a,0x62,0x63,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x5b,0x31,0x5d,0x5e,0x73,0x74,0x5b,0x36,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x31,0x5d,0x5e,0x73, + 0x74,0x5b,0x31,0x36,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x31,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x73,0x74,0x5b,0x33,0x5d,0x5e,0x73,0x74,0x5b,0x38,0x5d,0x5e, + 0x73,0x74,0x5b,0x31,0x33,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x38,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x33,0x5d,0x2c,0x31,0x55,0x4c,0x29,0x3b,0x0a,0x62,0x63,0x5b,0x32,0x5d, + 0x3d,0x73,0x74,0x5b,0x32,0x5d,0x5e,0x73,0x74,0x5b,0x37,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x32,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x37,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x32, + 0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x73,0x74,0x5b,0x34,0x5d,0x5e,0x73,0x74,0x5b,0x39,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x34,0x5d,0x5e,0x73,0x74,0x5b,0x31, + 0x39,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x34,0x5d,0x2c,0x31,0x55,0x4c,0x29,0x3b,0x0a,0x62,0x63,0x5b,0x33,0x5d,0x3d,0x73,0x74,0x5b,0x33,0x5d,0x5e,0x73,0x74,0x5b,0x38, + 0x5d,0x5e,0x73,0x74,0x5b,0x31,0x33,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x38,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x33,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x73,0x74, + 0x5b,0x30,0x5d,0x5e,0x73,0x74,0x5b,0x35,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x30,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x35,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x30,0x5d,0x2c,0x31, + 0x55,0x4c,0x29,0x3b,0x0a,0x62,0x63,0x5b,0x34,0x5d,0x3d,0x73,0x74,0x5b,0x34,0x5d,0x5e,0x73,0x74,0x5b,0x39,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x34,0x5d,0x5e,0x73,0x74, + 0x5b,0x31,0x39,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x34,0x5d,0x5e,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x73,0x74,0x5b,0x31,0x5d,0x5e,0x73,0x74,0x5b,0x36,0x5d,0x5e,0x73, + 0x74,0x5b,0x31,0x31,0x5d,0x5e,0x73,0x74,0x5b,0x31,0x36,0x5d,0x5e,0x73,0x74,0x5b,0x32,0x31,0x5d,0x2c,0x31,0x55,0x4c,0x29,0x3b,0x0a,0x73,0x74,0x5b,0x30,0x5d,0x20, + 0x5e,0x3d,0x20,0x62,0x63,0x5b,0x34,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x34,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x30,0x5d, + 0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x34,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x35,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x34,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x32, + 0x30,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x34,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x30,0x5d,0x3b,0x0a,0x73,0x74,0x5b, + 0x36,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x30,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x31,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x30,0x5d,0x3b,0x0a,0x73,0x74, + 0x5b,0x31,0x36,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x30,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x32,0x31,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x30,0x5d,0x3b,0x0a, + 0x73,0x74,0x5b,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x31,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x37,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x31,0x5d,0x3b,0x0a, + 0x73,0x74,0x5b,0x31,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x31,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x37,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x31,0x5d, + 0x3b,0x0a,0x73,0x74,0x5b,0x32,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x31,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x33,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x32, + 0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x38,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x32,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x33,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b, + 0x32,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x38,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x32,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x32,0x33,0x5d,0x20,0x5e,0x3d,0x20,0x62, + 0x63,0x5b,0x32,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x34,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x33,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x39,0x5d,0x20,0x5e,0x3d,0x20,0x62, + 0x63,0x5b,0x33,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x34,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x33,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x31,0x39,0x5d,0x20,0x5e,0x3d, + 0x20,0x62,0x63,0x5b,0x33,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x32,0x34,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x63,0x5b,0x33,0x5d,0x3b,0x0a,0x74,0x3d,0x73,0x74,0x5b,0x31,0x5d, + 0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32, + 0x34,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x62,0x63,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x5b,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x70,0x69,0x6c,0x6e,0x5b, + 0x69,0x5d,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x70,0x69,0x6c,0x6e,0x5b,0x69,0x5d,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28, + 0x74,0x2c,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x72,0x6f,0x74,0x63,0x5b,0x69,0x5d,0x29,0x3b,0x0a,0x74,0x3d,0x62,0x63,0x5b, + 0x30,0x5d,0x3b,0x0a,0x7d,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20, + 0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32,0x35,0x3b,0x20,0x69,0x2b,0x3d,0x35,0x29,0x20,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x6d,0x70,0x31,0x3d,0x73,0x74, + 0x5b,0x69,0x5d,0x2c,0x74,0x6d,0x70,0x32,0x3d,0x73,0x74,0x5b,0x69,0x2b,0x31,0x5d,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x5d,0x3d,0x62,0x69,0x74,0x73,0x65,0x6c,0x65,0x63, + 0x74,0x28,0x73,0x74,0x5b,0x69,0x5d,0x5e,0x73,0x74,0x5b,0x69,0x2b,0x32,0x5d,0x2c,0x73,0x74,0x5b,0x69,0x5d,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x31,0x5d,0x29,0x3b,0x0a, + 0x73,0x74,0x5b,0x69,0x2b,0x31,0x5d,0x3d,0x62,0x69,0x74,0x73,0x65,0x6c,0x65,0x63,0x74,0x28,0x73,0x74,0x5b,0x69,0x2b,0x31,0x5d,0x5e,0x73,0x74,0x5b,0x69,0x2b,0x33, + 0x5d,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x31,0x5d,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x32,0x5d,0x29,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x32,0x5d,0x3d,0x62,0x69,0x74,0x73, + 0x65,0x6c,0x65,0x63,0x74,0x28,0x73,0x74,0x5b,0x69,0x2b,0x32,0x5d,0x5e,0x73,0x74,0x5b,0x69,0x2b,0x34,0x5d,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x32,0x5d,0x2c,0x73,0x74, + 0x5b,0x69,0x2b,0x33,0x5d,0x29,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x33,0x5d,0x3d,0x62,0x69,0x74,0x73,0x65,0x6c,0x65,0x63,0x74,0x28,0x73,0x74,0x5b,0x69,0x2b,0x33, + 0x5d,0x5e,0x74,0x6d,0x70,0x31,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x33,0x5d,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x34,0x5d,0x29,0x3b,0x0a,0x73,0x74,0x5b,0x69,0x2b,0x34,0x5d, + 0x3d,0x62,0x69,0x74,0x73,0x65,0x6c,0x65,0x63,0x74,0x28,0x73,0x74,0x5b,0x69,0x2b,0x34,0x5d,0x5e,0x74,0x6d,0x70,0x32,0x2c,0x73,0x74,0x5b,0x69,0x2b,0x34,0x5d,0x2c, + 0x74,0x6d,0x70,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x73,0x74,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x5f,0x72,0x6e,0x64,0x63,0x5b,0x72, + 0x6f,0x75,0x6e,0x64,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x69,0x66,0x20,0x28,0x64,0x65,0x66,0x69,0x6e,0x65,0x64,0x28,0x5f, + 0x5f,0x4e,0x56,0x5f,0x43,0x4c,0x5f,0x43,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x29,0x20,0x7c,0x7c,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x64,0x28,0x5f,0x5f,0x41, + 0x50,0x50,0x4c,0x45,0x5f,0x5f,0x29,0x29,0x20,0x26,0x26,0x20,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x21,0x3d,0x20,0x30,0x0a,0x23, + 0x75,0x6e,0x64,0x65,0x66,0x20,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x54,0x52,0x49, + 0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x30,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4d,0x45,0x4d,0x5f,0x43, + 0x48,0x55,0x4e,0x4b,0x20,0x28,0x31,0x20,0x3c,0x3c,0x20,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x5f,0x45,0x58,0x50,0x4f,0x4e,0x45,0x4e,0x54,0x29,0x0a,0x23, + 0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x49,0x44,0x58,0x28,0x78,0x29,0x20,0x28,0x78,0x29,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20, + 0x3d,0x3d,0x20,0x31,0x29,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59, + 0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x44,0x58,0x28,0x78,0x29,0x20,0x28,0x28,0x78,0x29,0x20,0x2a, + 0x20,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x44,0x58,0x28,0x78,0x29,0x20, + 0x6d,0x75,0x6c,0x32,0x34,0x28,0x28,0x78,0x29,0x2c,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x65,0x6c,0x69,0x66, + 0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x44, + 0x58,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x25,0x20,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x29,0x20,0x2b,0x20,0x28,0x28,0x78,0x29,0x20,0x2f, + 0x20,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x29,0x20,0x2a,0x20,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55, + 0x4e,0x4b,0x29,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x6e,0x6c,0x69,0x6e,0x65,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29, + 0x0a,0x7b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2d,0x67,0x65,0x74,0x5f,0x67, + 0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6d,0x69,0x78,0x5f,0x61, + 0x6e,0x64,0x5f,0x70,0x72,0x6f,0x70,0x61,0x67,0x61,0x74,0x65,0x28,0x78,0x69,0x6e,0x29,0x20,0x28,0x78,0x69,0x6e,0x29,0x5b,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63, + 0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x29,0x20,0x25,0x20,0x38,0x5d,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x5d,0x20, + 0x5e,0x20,0x28,0x78,0x69,0x6e,0x29,0x5b,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x20,0x2b,0x20,0x31,0x29,0x20,0x25,0x20, + 0x38,0x5d,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x5d,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f, + 0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x38,0x2c,0x38,0x2c,0x31,0x29,0x29,0x29, + 0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x63,0x6e,0x30,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e, + 0x67,0x20,0x2a,0x69,0x6e,0x70,0x75,0x74,0x2c,0x69,0x6e,0x74,0x20,0x69,0x6e,0x6c,0x65,0x6e,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, + 0x34,0x20,0x2a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74, + 0x61,0x74,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x45,0x78,0x70,0x61,0x6e,0x64, + 0x65,0x64,0x4b,0x65,0x79,0x31,0x5b,0x34,0x30,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x30,0x5b,0x32,0x35, + 0x36,0x5d,0x2c,0x41,0x45,0x53,0x31,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x32,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x33,0x5b,0x32,0x35,0x36,0x5d, + 0x3b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x74,0x65,0x78,0x74,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x49,0x64,0x78,0x3d,0x67,0x65, 0x74,0x49,0x64,0x78,0x28,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28, - 0x30,0x29,0x3b,0x20,0x69,0x3c,0x32,0x35,0x36,0x3b,0x20,0x69,0x2b,0x3d,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x20,0x74,0x6d,0x70,0x3d,0x41,0x45,0x53,0x30,0x5f,0x43,0x5b,0x69,0x5d,0x3b,0x0a,0x41,0x45,0x53,0x30,0x5b,0x69,0x5d,0x3d,0x74,0x6d,0x70,0x3b, - 0x0a,0x41,0x45,0x53,0x31,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x38,0x55,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69, - 0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x62, - 0x5f,0x78,0x3b,0x0a,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49, - 0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x30,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78, - 0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44, - 0x45,0x58,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d, - 0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x65,0x74,0x5f,0x67,0x72, - 0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x67, - 0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64, - 0x2b,0x3d,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e, - 0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f, - 0x69,0x64,0x28,0x30,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x4d,0x45,0x4d,0x5f,0x43, - 0x48,0x55,0x4e,0x4b,0x2a,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x61,0x5b,0x30, - 0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x30,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x34,0x5d,0x3b,0x0a,0x62,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x61,0x74, - 0x65,0x73,0x5b,0x32,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x36,0x5d,0x3b,0x0a,0x61,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x31,0x5d,0x5e, - 0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x35,0x5d,0x3b,0x0a,0x62,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x33,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73, - 0x5b,0x37,0x5d,0x3b,0x0a,0x62,0x5f,0x78,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x62,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f, - 0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7b,0x0a,0x75,0x69, - 0x6e,0x74,0x20,0x69,0x64,0x78,0x30,0x3d,0x61,0x5b,0x30,0x5d,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f, - 0x43,0x4e,0x5f,0x43,0x43,0x58,0x29,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x63,0x6f,0x6e,0x63,0x5f,0x76,0x61,0x72,0x3d,0x28,0x66,0x6c,0x6f,0x61,0x74,0x34,0x29, - 0x28,0x30,0x2e,0x30,0x66,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x63,0x6f,0x6e,0x63,0x5f,0x74,0x3d,0x28,0x75,0x69,0x6e,0x74, - 0x34,0x29,0x28,0x30,0x78,0x38,0x30,0x37,0x46,0x46,0x46,0x46,0x46,0x55,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x63,0x6f,0x6e, - 0x63,0x5f,0x75,0x3d,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x28,0x30,0x78,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x34,0x20,0x63,0x6f,0x6e,0x63,0x5f,0x76,0x3d,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x28,0x30,0x78,0x34,0x44,0x46,0x46,0x46,0x46,0x46,0x46,0x55, - 0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x43,0x4e,0x5f,0x55,0x4e,0x52,0x4f, - 0x4c,0x4c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x49,0x54,0x45,0x52,0x41,0x54,0x49,0x4f,0x4e,0x53,0x3b,0x20,0x2b, - 0x2b,0x69,0x29,0x20,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x63,0x5b,0x32,0x5d,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30, - 0x5d,0x3d,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x28,0x69,0x64,0x78,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29, - 0x5d,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x43,0x43,0x58,0x29,0x0a,0x7b,0x0a,0x66, - 0x6c,0x6f,0x61,0x74,0x34,0x20,0x72,0x3d,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x34,0x5f,0x72,0x74,0x65,0x28,0x28,0x28,0x69,0x6e,0x74, - 0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x29,0x2b,0x63,0x6f,0x6e,0x63,0x5f,0x76,0x61,0x72,0x3b,0x0a,0x72,0x3d,0x72,0x2a,0x72,0x2a,0x72,0x3b,0x0a,0x72,0x3d, - 0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x72,0x29,0x26,0x63,0x6f,0x6e,0x63,0x5f,0x74,0x29,0x7c,0x63, - 0x6f,0x6e,0x63,0x5f,0x75,0x29,0x3b,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x63,0x5f,0x6f,0x6c,0x64,0x3d,0x63,0x6f,0x6e,0x63,0x5f,0x76,0x61,0x72,0x3b,0x0a,0x63, - 0x6f,0x6e,0x63,0x5f,0x76,0x61,0x72,0x2b,0x3d,0x72,0x3b,0x0a,0x63,0x5f,0x6f,0x6c,0x64,0x3d,0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x28,0x61,0x73,0x5f, - 0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x5f,0x6f,0x6c,0x64,0x29,0x26,0x63,0x6f,0x6e,0x63,0x5f,0x74,0x29,0x7c,0x63,0x6f,0x6e,0x63,0x5f,0x75,0x29,0x3b,0x0a,0x28,0x28, - 0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x69,0x6e,0x74,0x34,0x5f,0x72,0x74,0x7a, - 0x28,0x63,0x5f,0x6f,0x6c,0x64,0x2a,0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x63,0x6f,0x6e,0x63,0x5f,0x76,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e, - 0x64,0x69,0x66,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x5f,0x54,0x77, - 0x6f,0x5f,0x54,0x61,0x62,0x6c,0x65,0x73,0x28,0x41,0x45,0x53,0x30,0x2c,0x41,0x45,0x53,0x31,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b, - 0x30,0x5d,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b, - 0x49,0x44,0x58,0x28,0x28,0x69,0x64,0x78,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x5d,0x3d,0x62,0x5f,0x78,0x5e,0x28,0x28,0x75,0x69,0x6e,0x74,0x34, - 0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x74,0x6d,0x70,0x3b,0x0a,0x74,0x6d,0x70,0x3d,0x53,0x63,0x72,0x61,0x74,0x63,0x68, - 0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x63,0x5b,0x30,0x5d,0x29,0x2e,0x73,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29, - 0x3e,0x3e,0x34,0x29,0x5d,0x3b,0x0a,0x61,0x5b,0x31,0x5d,0x2b,0x3d,0x63,0x5b,0x30,0x5d,0x2a,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x74,0x6d,0x70,0x29, - 0x2e,0x73,0x30,0x3b,0x0a,0x61,0x5b,0x30,0x5d,0x2b,0x3d,0x6d,0x75,0x6c,0x5f,0x68,0x69,0x28,0x63,0x5b,0x30,0x5d,0x2c,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32, - 0x28,0x74,0x6d,0x70,0x29,0x2e,0x73,0x30,0x29,0x3b,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x28,0x61,0x73,0x5f,0x75,0x69, - 0x6e,0x74,0x32,0x28,0x63,0x5b,0x30,0x5d,0x29,0x2e,0x73,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x5d,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20, - 0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x6d,0x70,0x3b, - 0x0a,0x69,0x64,0x78,0x30,0x3d,0x61,0x5b,0x30,0x5d,0x3b,0x0a,0x62,0x5f,0x78,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x3b, - 0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48, - 0x45,0x41,0x56,0x59,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x6e,0x3d,0x2a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, - 0x6c,0x20,0x6c,0x6f,0x6e,0x67,0x32,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x28,0x49,0x44,0x58,0x28,0x28,0x69,0x64,0x78,0x30,0x26, - 0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x29,0x29,0x29,0x3b,0x0a,0x6c,0x6f,0x6e,0x67,0x20,0x71,0x3d,0x66,0x61,0x73,0x74,0x5f,0x64,0x69,0x76,0x5f,0x68,0x65, - 0x61,0x76,0x79,0x28,0x6e,0x2e,0x73,0x30,0x2c,0x61,0x73,0x5f,0x69,0x6e,0x74,0x34,0x28,0x6e,0x29,0x2e,0x73,0x32,0x7c,0x30,0x78,0x35,0x29,0x3b,0x0a,0x2a,0x28,0x28, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x6c,0x6f,0x6e,0x67,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x28,0x49,0x44,0x58,0x28, - 0x28,0x69,0x64,0x78,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x29,0x29,0x29,0x3d,0x6e,0x2e,0x73,0x30,0x5e,0x71,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28, - 0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x58,0x48,0x56,0x29,0x0a,0x69,0x64,0x78,0x30,0x3d, - 0x28,0x7e,0x61,0x73,0x5f,0x69,0x6e,0x74,0x34,0x28,0x6e,0x29,0x2e,0x73,0x32,0x29,0x5e,0x71,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x69,0x64,0x78,0x30,0x3d,0x61, - 0x73,0x5f,0x69,0x6e,0x74,0x34,0x28,0x6e,0x29,0x2e,0x73,0x32,0x5e,0x71,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a, - 0x7d,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f,0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e, - 0x43,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x42,0x41,0x53,0x45,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f, - 0x43,0x4e,0x5f,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x41,0x52,0x49,0x41,0x4e,0x54,0x31,0x5f,0x31,0x28,0x70,0x29,0x20,0x5c,0x0a,0x75,0x69, - 0x6e,0x74,0x20,0x74,0x61,0x62,0x6c,0x65,0x3d,0x30,0x78,0x37,0x35,0x33,0x31,0x30,0x55,0x3b,0x20,0x5c,0x0a,0x75,0x69,0x6e,0x74,0x20,0x69,0x6e,0x64,0x65,0x78,0x3d, - 0x28,0x28,0x28,0x70,0x29,0x2e,0x73,0x32,0x3e,0x3e,0x32,0x36,0x29,0x26,0x31,0x32,0x29,0x7c,0x28,0x28,0x28,0x70,0x29,0x2e,0x73,0x32,0x3e,0x3e,0x32,0x33,0x29,0x26, - 0x32,0x29,0x3b,0x20,0x5c,0x0a,0x28,0x70,0x29,0x2e,0x73,0x32,0x20,0x5e,0x3d,0x20,0x28,0x28,0x74,0x61,0x62,0x6c,0x65,0x3e,0x3e,0x69,0x6e,0x64,0x65,0x78,0x29,0x26, - 0x30,0x78,0x33,0x30,0x55,0x29,0x3c,0x3c,0x32,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x41,0x52,0x49,0x41,0x4e,0x54,0x31,0x5f,0x32,0x28,0x70,0x29, - 0x20,0x28,0x28,0x75,0x69,0x6e,0x74,0x32,0x20,0x2a,0x29,0x26,0x28,0x70,0x29,0x29,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x5f, - 0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x41,0x52,0x49,0x41,0x4e,0x54,0x31,0x5f,0x49,0x4e,0x49,0x54,0x28,0x29,0x20,0x5c,0x0a,0x74,0x77,0x65,0x61, - 0x6b,0x31,0x5f,0x32,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x69,0x6e,0x70,0x75,0x74,0x5b,0x34,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x74,0x77,0x65,0x61,0x6b, - 0x31,0x5f,0x32,0x2e,0x73,0x30,0x20,0x3e,0x3e,0x3d,0x20,0x32,0x34,0x3b,0x20,0x5c,0x0a,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x2e,0x73,0x30,0x7c,0x3d,0x74,0x77, - 0x65,0x61,0x6b,0x31,0x5f,0x32,0x2e,0x73,0x31,0x3c,0x3c,0x38,0x3b,0x20,0x5c,0x0a,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x2e,0x73,0x31,0x3d,0x28,0x75,0x69,0x6e, - 0x74,0x29,0x20,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x20, - 0x5e,0x3d,0x20,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x32,0x34,0x5d,0x29,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62, - 0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x57,0x4f,0x52,0x4b, - 0x53,0x49,0x5a,0x45,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x63,0x6e,0x31,0x28,0x5f,0x5f, - 0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x69,0x6e,0x70,0x75,0x74,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e, - 0x74,0x34,0x20,0x2a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73, - 0x74,0x61,0x74,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x61,0x5b,0x32,0x5d, - 0x2c,0x62,0x5b,0x32,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x30,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45, - 0x53,0x31,0x5b,0x32,0x35,0x36,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x67,0x49,0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78, - 0x28,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x20, - 0x69,0x3c,0x32,0x35,0x36,0x3b,0x20,0x69,0x2b,0x3d,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, - 0x20,0x74,0x6d,0x70,0x3d,0x41,0x45,0x53,0x30,0x5f,0x43,0x5b,0x69,0x5d,0x3b,0x0a,0x41,0x45,0x53,0x30,0x5b,0x69,0x5d,0x3d,0x74,0x6d,0x70,0x3b,0x0a,0x41,0x45,0x53, - 0x31,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x38,0x55,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43, - 0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x74,0x77,0x65,0x61,0x6b, - 0x31,0x5f,0x32,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x62,0x5f,0x78,0x3b,0x0a,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x67,0x49,0x64, - 0x78,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x30,0x29,0x0a,0x53,0x63,0x72,0x61, - 0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20, - 0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46, - 0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63, - 0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34, - 0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73, - 0x65,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x65,0x6c,0x69,0x66, - 0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64, - 0x2b,0x3d,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f, - 0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x2a,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29, - 0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x61,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x30,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x34, - 0x5d,0x3b,0x0a,0x62,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x32,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x36,0x5d,0x3b,0x0a,0x61,0x5b,0x31, - 0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x31,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x35,0x5d,0x3b,0x0a,0x62,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x61,0x74, - 0x65,0x73,0x5b,0x33,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x37,0x5d,0x3b,0x0a,0x62,0x5f,0x78,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x62, - 0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x56,0x41,0x52,0x49,0x41,0x4e,0x54,0x31,0x5f,0x49,0x4e,0x49,0x54,0x28,0x29,0x3b,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f,0x66,0x65,0x6e, - 0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x28, - 0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x54,0x55,0x42,0x45,0x29,0x0a,0x75,0x69,0x6e,0x74, - 0x20,0x69,0x64,0x78,0x30,0x3d,0x61,0x5b,0x30,0x5d,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x44,0x58,0x5f,0x30,0x20,0x69,0x64,0x78,0x30,0x0a,0x23, - 0x65,0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x44,0x58,0x5f,0x30,0x20,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x61,0x5b,0x30,0x5d, - 0x29,0x2e,0x73,0x30,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x43,0x4e,0x5f,0x55,0x4e, - 0x52,0x4f,0x4c,0x4c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x49,0x54,0x45,0x52,0x41,0x54,0x49,0x4f,0x4e,0x53,0x3b, - 0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x63,0x5b,0x32,0x5d,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29, - 0x5b,0x30,0x5d,0x3d,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x28,0x49,0x44,0x58,0x5f,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e, - 0x3e,0x34,0x29,0x5d,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59, - 0x5f,0x54,0x55,0x42,0x45,0x29,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64, - 0x5f,0x62,0x69,0x74,0x74,0x75,0x62,0x65,0x32,0x28,0x41,0x45,0x53,0x30,0x2c,0x41,0x45,0x53,0x31,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29, - 0x5b,0x30,0x5d,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x28,0x28,0x75,0x69, - 0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x5f,0x54,0x77,0x6f,0x5f,0x54,0x61,0x62,0x6c,0x65,0x73, + 0x31,0x29,0x2a,0x38,0x2b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x20,0x69,0x3c,0x32,0x35,0x36,0x3b,0x20,0x69,0x2b,0x3d, + 0x38,0x2a,0x38,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x74,0x6d,0x70,0x3d,0x41,0x45,0x53,0x30,0x5f,0x43,0x5b,0x69,0x5d,0x3b, + 0x0a,0x41,0x45,0x53,0x30,0x5b,0x69,0x5d,0x3d,0x74,0x6d,0x70,0x3b,0x0a,0x41,0x45,0x53,0x31,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70, + 0x2c,0x38,0x55,0x29,0x3b,0x0a,0x41,0x45,0x53,0x32,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x41, + 0x45,0x53,0x33,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x32,0x34,0x55,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65, + 0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20, + 0x75,0x6c,0x6f,0x6e,0x67,0x20,0x53,0x74,0x61,0x74,0x65,0x5f,0x62,0x75,0x66,0x5b,0x38,0x2a,0x32,0x35,0x5d,0x3b,0x0a,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b, + 0x3d,0x32,0x35,0x2a,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20, + 0x30,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x3b, + 0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x23,0x69,0x66,0x20, + 0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29, + 0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x28,0x67,0x49,0x64,0x78,0x2f,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x2a,0x28,0x4d,0x45, + 0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x28,0x67,0x49,0x64,0x78,0x20,0x25,0x20,0x57,0x4f,0x52,0x4b,0x53,0x49, + 0x5a,0x45,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x65,0x6e, + 0x64,0x69,0x66,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x53, + 0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x28,0x67,0x49,0x64,0x78,0x2f,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f, + 0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x2a,0x28,0x67,0x49,0x64,0x78,0x20, + 0x25,0x20,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c, + 0x5f,0x69,0x64,0x28,0x31,0x29,0x3d,0x3d,0x30,0x29,0x20,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x53,0x74,0x61,0x74, + 0x65,0x3d,0x53,0x74,0x61,0x74,0x65,0x5f,0x62,0x75,0x66,0x2b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x32,0x35,0x3b,0x0a, + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32, + 0x35,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x3d,0x30,0x3b,0x0a,0x7d,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74, + 0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x6e,0x6c,0x65,0x6e,0x3e,0x30,0x3b,0x20,0x69,0x2b,0x3d,0x31,0x37,0x2c,0x69,0x6e,0x6c,0x65,0x6e,0x2d,0x3d,0x31,0x33,0x36,0x29, + 0x20,0x7b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20, + 0x6a,0x3c,0x31,0x37,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x20,0x7b,0x0a,0x53,0x74,0x61,0x74,0x65,0x5b,0x6a,0x5d,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x69, + 0x2b,0x6a,0x5d,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x3d,0x3d,0x30,0x29,0x20,0x7b,0x0a,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, + 0x20,0x2a,0x29,0x53,0x74,0x61,0x74,0x65,0x29,0x5b,0x39,0x5d,0x20,0x26,0x3d,0x20,0x30,0x78,0x30,0x30,0x46,0x46,0x46,0x46,0x46,0x46,0x55,0x3b,0x0a,0x28,0x28,0x5f, + 0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x53,0x74,0x61,0x74,0x65,0x29,0x5b,0x39,0x5d,0x7c,0x3d,0x28,0x28,0x28,0x75,0x69,0x6e,0x74, + 0x29,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x29,0x26,0x30,0x78,0x46,0x46,0x29,0x3c,0x3c,0x32,0x34,0x3b,0x0a,0x28,0x28, + 0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x53,0x74,0x61,0x74,0x65,0x29,0x5b,0x31,0x30,0x5d,0x20,0x26,0x3d,0x20,0x30,0x78,0x46, + 0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x53,0x74,0x61,0x74,0x65, + 0x29,0x5b,0x31,0x30,0x5d,0x7c,0x3d,0x28,0x28,0x28,0x75,0x69,0x6e,0x74,0x29,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3e, + 0x3e,0x38,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x31,0x36,0x30,0x30,0x5f,0x32,0x28,0x53,0x74,0x61,0x74,0x65,0x29,0x3b,0x0a,0x7d,0x0a, + 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69, + 0x3c,0x32,0x35,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x69,0x5d,0x3d,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x3b,0x0a, + 0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e, + 0x43,0x45,0x29,0x3b,0x0a,0x7b,0x0a,0x74,0x65,0x78,0x74,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x34,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28, + 0x31,0x29,0x2b,0x34,0x2c,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x28,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x29,0x3b, + 0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c, + 0x34,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x31, + 0x29,0x5b,0x69,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x69,0x5d,0x3b,0x0a,0x7d,0x0a,0x41,0x45,0x53,0x45,0x78,0x70,0x61,0x6e,0x64,0x4b,0x65,0x79,0x32,0x35, + 0x36,0x28,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f,0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b, + 0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d, + 0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20, + 0x75,0x69,0x6e,0x74,0x34,0x20,0x78,0x69,0x6e,0x5b,0x38,0x5d,0x5b,0x38,0x5d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20, + 0x31,0x36,0x0a,0x66,0x6f,0x72,0x20,0x28,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x31,0x36,0x3b,0x20,0x69,0x2b,0x2b,0x29,0x20,0x7b, + 0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x30,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b, + 0x20,0x6a,0x3c,0x31,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x20,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x74,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29, + 0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x31,0x29,0x5b,0x6a,0x5d,0x3b,0x0a,0x74,0x2e,0x73,0x30,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42, + 0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x30,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73, + 0x31,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x32,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33, + 0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x33,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x74,0x2e,0x73,0x31,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b, + 0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x31,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e, + 0x73,0x32,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x33,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53, + 0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x30,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x74,0x2e,0x73,0x32,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30, + 0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x32,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74, + 0x2e,0x73,0x33,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x30,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45, + 0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x31,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x74,0x2e,0x73,0x33,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53, + 0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x33,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78, + 0x74,0x2e,0x73,0x30,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x31,0x2c,0x32,0x29,0x5d,0x5e,0x41, + 0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x32,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x74,0x65,0x78,0x74,0x3d,0x74,0x3b,0x0a,0x7d,0x0a, + 0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x78,0x69, + 0x6e,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x5d,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28, + 0x30,0x29,0x5d,0x3d,0x74,0x65,0x78,0x74,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f, + 0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x74,0x65,0x78,0x74,0x3d,0x6d,0x69,0x78,0x5f,0x61,0x6e,0x64,0x5f,0x70,0x72,0x6f,0x70,0x61,0x67,0x61,0x74,0x65,0x28,0x78, + 0x69,0x6e,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6c,0x6f,0x63,0x61,0x6c, + 0x5f,0x69,0x64,0x31,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e, + 0x72,0x6f,0x6c,0x6c,0x20,0x32,0x0a,0x66,0x6f,0x72,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e, + 0x34,0x29,0x3b,0x20,0x69,0x2b,0x3d,0x38,0x29,0x20,0x7b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x30,0x0a,0x66,0x6f, + 0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x31,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x20,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20, + 0x74,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x31,0x29,0x5b,0x6a,0x5d,0x3b,0x0a,0x74,0x2e, + 0x73,0x30,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x30,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53,0x31, + 0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x31,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74, + 0x2e,0x73,0x32,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x33,0x2c,0x33,0x29,0x5d,0x3b,0x0a,0x74, + 0x2e,0x73,0x31,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x31,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45,0x53, + 0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x32,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78, + 0x74,0x2e,0x73,0x33,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x30,0x2c,0x33,0x29,0x5d,0x3b,0x0a, + 0x74,0x2e,0x73,0x32,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x32,0x2c,0x30,0x29,0x5d,0x5e,0x41,0x45, + 0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x33,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65, + 0x78,0x74,0x2e,0x73,0x30,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x31,0x2c,0x33,0x29,0x5d,0x3b, + 0x0a,0x74,0x2e,0x73,0x33,0x20,0x5e,0x3d,0x20,0x41,0x45,0x53,0x30,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x33,0x2c,0x30,0x29,0x5d,0x5e,0x41, + 0x45,0x53,0x31,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x30,0x2c,0x31,0x29,0x5d,0x5e,0x41,0x45,0x53,0x32,0x5b,0x42,0x59,0x54,0x45,0x28,0x74, + 0x65,0x78,0x74,0x2e,0x73,0x31,0x2c,0x32,0x29,0x5d,0x5e,0x41,0x45,0x53,0x33,0x5b,0x42,0x59,0x54,0x45,0x28,0x74,0x65,0x78,0x74,0x2e,0x73,0x32,0x2c,0x33,0x29,0x5d, + 0x3b,0x0a,0x74,0x65,0x78,0x74,0x3d,0x74,0x3b,0x0a,0x7d,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x69,0x2b,0x6c,0x6f,0x63, + 0x61,0x6c,0x5f,0x69,0x64,0x31,0x29,0x5d,0x3d,0x74,0x65,0x78,0x74,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f,0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b, + 0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f, + 0x42,0x41,0x53,0x45,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x30,0x29,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f, + 0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2c, + 0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x63,0x6e,0x31,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, + 0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x69,0x6e,0x70,0x75,0x74,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x53, + 0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73, + 0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x61,0x5b,0x32,0x5d,0x2c,0x62,0x5b,0x32,0x5d, + 0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x30,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x31,0x5b,0x32,0x35, + 0x36,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x67,0x49,0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x3b,0x0a,0x66, + 0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x20,0x69,0x3c,0x32,0x35,0x36, + 0x3b,0x20,0x69,0x2b,0x3d,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x74,0x6d,0x70,0x3d, + 0x41,0x45,0x53,0x30,0x5f,0x43,0x5b,0x69,0x5d,0x3b,0x0a,0x41,0x45,0x53,0x30,0x5b,0x69,0x5d,0x3d,0x74,0x6d,0x70,0x3b,0x0a,0x41,0x45,0x53,0x31,0x5b,0x69,0x5d,0x3d, + 0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x38,0x55,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f, + 0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x62,0x5f,0x78,0x3b,0x0a,0x7b,0x0a,0x73,0x74,0x61, + 0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58, + 0x20,0x3d,0x3d,0x20,0x30,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e, + 0x3e,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a, + 0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45, + 0x41,0x56,0x59,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29, + 0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f, + 0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23, + 0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x32,0x29, + 0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x28,0x4d,0x45, + 0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x2a,0x67,0x65,0x74,0x5f, + 0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x61,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b, + 0x30,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x34,0x5d,0x3b,0x0a,0x62,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x32,0x5d,0x5e,0x73,0x74,0x61, + 0x74,0x65,0x73,0x5b,0x36,0x5d,0x3b,0x0a,0x61,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x31,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x35,0x5d, + 0x3b,0x0a,0x62,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x33,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x37,0x5d,0x3b,0x0a,0x62,0x5f,0x78,0x3d, + 0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x62,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f,0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b, + 0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x30,0x3d,0x61, + 0x5b,0x30,0x5d,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x43,0x43,0x58,0x29,0x0a,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x63,0x6f,0x6e,0x63,0x5f,0x76,0x61,0x72,0x3d,0x28,0x66,0x6c,0x6f,0x61,0x74,0x34,0x29,0x28,0x30,0x2e,0x30,0x66,0x29,0x3b,0x0a,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x63,0x6f,0x6e,0x63,0x5f,0x74,0x3d,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x28,0x30,0x78,0x38,0x30,0x37,0x46, + 0x46,0x46,0x46,0x46,0x55,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x63,0x6f,0x6e,0x63,0x5f,0x75,0x3d,0x28,0x75,0x69,0x6e,0x74, + 0x34,0x29,0x28,0x30,0x78,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x63,0x6f,0x6e, + 0x63,0x5f,0x76,0x3d,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x28,0x30,0x78,0x34,0x44,0x46,0x46,0x46,0x46,0x46,0x46,0x55,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66, + 0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x43,0x4e,0x5f,0x55,0x4e,0x52,0x4f,0x4c,0x4c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69, + 0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x49,0x54,0x45,0x52,0x41,0x54,0x49,0x4f,0x4e,0x53,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x75,0x6c,0x6f, + 0x6e,0x67,0x20,0x63,0x5b,0x32,0x5d,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x3d,0x53,0x63,0x72,0x61,0x74,0x63,0x68, + 0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x28,0x69,0x64,0x78,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x5d,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41, + 0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x43,0x43,0x58,0x29,0x0a,0x7b,0x0a,0x66,0x6c,0x6f,0x61,0x74,0x34,0x20,0x72,0x3d,0x63, + 0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x34,0x5f,0x72,0x74,0x65,0x28,0x28,0x28,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d, + 0x29,0x2b,0x63,0x6f,0x6e,0x63,0x5f,0x76,0x61,0x72,0x3b,0x0a,0x72,0x3d,0x72,0x2a,0x72,0x2a,0x72,0x3b,0x0a,0x72,0x3d,0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x34, + 0x28,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x72,0x29,0x26,0x63,0x6f,0x6e,0x63,0x5f,0x74,0x29,0x7c,0x63,0x6f,0x6e,0x63,0x5f,0x75,0x29,0x3b,0x0a,0x66, + 0x6c,0x6f,0x61,0x74,0x34,0x20,0x63,0x5f,0x6f,0x6c,0x64,0x3d,0x63,0x6f,0x6e,0x63,0x5f,0x76,0x61,0x72,0x3b,0x0a,0x63,0x6f,0x6e,0x63,0x5f,0x76,0x61,0x72,0x2b,0x3d, + 0x72,0x3b,0x0a,0x63,0x5f,0x6f,0x6c,0x64,0x3d,0x61,0x73,0x5f,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x5f,0x6f, + 0x6c,0x64,0x29,0x26,0x63,0x6f,0x6e,0x63,0x5f,0x74,0x29,0x7c,0x63,0x6f,0x6e,0x63,0x5f,0x75,0x29,0x3b,0x0a,0x28,0x28,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29, + 0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x69,0x6e,0x74,0x34,0x5f,0x72,0x74,0x7a,0x28,0x63,0x5f,0x6f,0x6c,0x64,0x2a,0x61,0x73, + 0x5f,0x66,0x6c,0x6f,0x61,0x74,0x34,0x28,0x63,0x6f,0x6e,0x63,0x5f,0x76,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x28,0x28,0x75,0x69,0x6e, + 0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x5f,0x54,0x77,0x6f,0x5f,0x54,0x61,0x62,0x6c,0x65,0x73,0x28, + 0x41,0x45,0x53,0x30,0x2c,0x41,0x45,0x53,0x31,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74, + 0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x28,0x69,0x64,0x78,0x30, + 0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x5d,0x3d,0x62,0x5f,0x78,0x5e,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x3b, + 0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x74,0x6d,0x70,0x3b,0x0a,0x74,0x6d,0x70,0x3d,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x28, + 0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x63,0x5b,0x30,0x5d,0x29,0x2e,0x73,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x5d,0x3b,0x0a,0x61,0x5b, + 0x31,0x5d,0x2b,0x3d,0x63,0x5b,0x30,0x5d,0x2a,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x74,0x6d,0x70,0x29,0x2e,0x73,0x30,0x3b,0x0a,0x61,0x5b,0x30,0x5d, + 0x2b,0x3d,0x6d,0x75,0x6c,0x5f,0x68,0x69,0x28,0x63,0x5b,0x30,0x5d,0x2c,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x74,0x6d,0x70,0x29,0x2e,0x73,0x30,0x29, + 0x3b,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x63,0x5b,0x30,0x5d,0x29, + 0x2e,0x73,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x5d,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x3b,0x0a, + 0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x6d,0x70,0x3b,0x0a,0x69,0x64,0x78,0x30,0x3d,0x61,0x5b,0x30, + 0x5d,0x3b,0x0a,0x62,0x5f,0x78,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47, + 0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x7b,0x0a,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x6e,0x3d,0x2a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x6c,0x6f,0x6e,0x67,0x32,0x2a,0x29, + 0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x28,0x49,0x44,0x58,0x28,0x28,0x69,0x64,0x78,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29, + 0x29,0x29,0x29,0x3b,0x0a,0x6c,0x6f,0x6e,0x67,0x20,0x71,0x3d,0x66,0x61,0x73,0x74,0x5f,0x64,0x69,0x76,0x5f,0x68,0x65,0x61,0x76,0x79,0x28,0x6e,0x2e,0x73,0x30,0x2c, + 0x61,0x73,0x5f,0x69,0x6e,0x74,0x34,0x28,0x6e,0x29,0x2e,0x73,0x32,0x7c,0x30,0x78,0x35,0x29,0x3b,0x0a,0x2a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, + 0x6c,0x6f,0x6e,0x67,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x28,0x49,0x44,0x58,0x28,0x28,0x69,0x64,0x78,0x30,0x26,0x4d,0x41,0x53, + 0x4b,0x29,0x3e,0x3e,0x34,0x29,0x29,0x29,0x29,0x3d,0x6e,0x2e,0x73,0x30,0x5e,0x71,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41, + 0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x58,0x48,0x56,0x29,0x0a,0x69,0x64,0x78,0x30,0x3d,0x28,0x7e,0x61,0x73,0x5f,0x69,0x6e,0x74,0x34, + 0x28,0x6e,0x29,0x2e,0x73,0x32,0x29,0x5e,0x71,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x69,0x64,0x78,0x30,0x3d,0x61,0x73,0x5f,0x69,0x6e,0x74,0x34,0x28,0x6e,0x29, + 0x2e,0x73,0x32,0x5e,0x71,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f,0x66, + 0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x65, + 0x6c,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x42,0x41,0x53,0x45,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x31,0x29,0x0a,0x23,0x64,0x65, + 0x66,0x69,0x6e,0x65,0x20,0x56,0x41,0x52,0x49,0x41,0x4e,0x54,0x31,0x5f,0x31,0x28,0x70,0x29,0x20,0x5c,0x0a,0x75,0x69,0x6e,0x74,0x20,0x74,0x61,0x62,0x6c,0x65,0x3d, + 0x30,0x78,0x37,0x35,0x33,0x31,0x30,0x55,0x3b,0x20,0x5c,0x0a,0x75,0x69,0x6e,0x74,0x20,0x69,0x6e,0x64,0x65,0x78,0x3d,0x28,0x28,0x28,0x70,0x29,0x2e,0x73,0x32,0x3e, + 0x3e,0x32,0x36,0x29,0x26,0x31,0x32,0x29,0x7c,0x28,0x28,0x28,0x70,0x29,0x2e,0x73,0x32,0x3e,0x3e,0x32,0x33,0x29,0x26,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x28,0x70,0x29, + 0x2e,0x73,0x32,0x20,0x5e,0x3d,0x20,0x28,0x28,0x74,0x61,0x62,0x6c,0x65,0x3e,0x3e,0x69,0x6e,0x64,0x65,0x78,0x29,0x26,0x30,0x78,0x33,0x30,0x55,0x29,0x3c,0x3c,0x32, + 0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x41,0x52,0x49,0x41,0x4e,0x54,0x31,0x5f,0x32,0x28,0x70,0x29,0x20,0x28,0x28,0x75,0x69,0x6e,0x74,0x32,0x20, + 0x2a,0x29,0x26,0x28,0x70,0x29,0x29,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x5f,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x56,0x41,0x52,0x49,0x41,0x4e,0x54,0x31,0x5f,0x49,0x4e,0x49,0x54,0x28,0x29,0x20,0x5c,0x0a,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x3d,0x61,0x73,0x5f,0x75, + 0x69,0x6e,0x74,0x32,0x28,0x69,0x6e,0x70,0x75,0x74,0x5b,0x34,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x2e,0x73,0x30,0x20,0x3e,0x3e, + 0x3d,0x20,0x32,0x34,0x3b,0x20,0x5c,0x0a,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x2e,0x73,0x30,0x7c,0x3d,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x2e,0x73,0x31, + 0x3c,0x3c,0x38,0x3b,0x20,0x5c,0x0a,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x2e,0x73,0x31,0x3d,0x28,0x75,0x69,0x6e,0x74,0x29,0x20,0x67,0x65,0x74,0x5f,0x67,0x6c, + 0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x20,0x5c,0x0a,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x20,0x5e,0x3d,0x20,0x61,0x73,0x5f,0x75,0x69,0x6e, + 0x74,0x32,0x28,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x32,0x34,0x5d,0x29,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65, + 0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2c,0x31,0x2c,0x31,0x29, + 0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x63,0x6e,0x31,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c, + 0x6f,0x6e,0x67,0x20,0x2a,0x69,0x6e,0x70,0x75,0x74,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x53,0x63,0x72,0x61,0x74, + 0x63,0x68,0x70,0x61,0x64,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x75,0x69,0x6e, + 0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x61,0x5b,0x32,0x5d,0x2c,0x62,0x5b,0x32,0x5d,0x3b,0x0a,0x5f,0x5f, + 0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x30,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x31,0x5b,0x32,0x35,0x36,0x5d,0x3b,0x0a, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x67,0x49,0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28, + 0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x20,0x69,0x3c,0x32,0x35,0x36,0x3b,0x20,0x69,0x2b, + 0x3d,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x74,0x6d,0x70,0x3d,0x41,0x45,0x53,0x30, + 0x5f,0x43,0x5b,0x69,0x5d,0x3b,0x0a,0x41,0x45,0x53,0x30,0x5b,0x69,0x5d,0x3d,0x74,0x6d,0x70,0x3b,0x0a,0x41,0x45,0x53,0x31,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61, + 0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x38,0x55,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f, + 0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x3b,0x0a,0x75,0x69,0x6e,0x74, + 0x34,0x20,0x62,0x5f,0x78,0x3b,0x0a,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x53, + 0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x30,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67, + 0x49,0x64,0x78,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f, + 0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20, + 0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x65,0x74, + 0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a, + 0x45,0x2b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68, + 0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44, + 0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f, + 0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x4d,0x45, + 0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x2a,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a, + 0x61,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x30,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x34,0x5d,0x3b,0x0a,0x62,0x5b,0x30,0x5d,0x3d,0x73, + 0x74,0x61,0x74,0x65,0x73,0x5b,0x32,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x36,0x5d,0x3b,0x0a,0x61,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b, + 0x31,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x35,0x5d,0x3b,0x0a,0x62,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x33,0x5d,0x5e,0x73,0x74,0x61, + 0x74,0x65,0x73,0x5b,0x37,0x5d,0x3b,0x0a,0x62,0x5f,0x78,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x62,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x56,0x41,0x52, + 0x49,0x41,0x4e,0x54,0x31,0x5f,0x49,0x4e,0x49,0x54,0x28,0x29,0x3b,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f,0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f, + 0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41, + 0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x54,0x55,0x42,0x45,0x29,0x0a,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x30,0x3d,0x61,0x5b,0x30, + 0x5d,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x44,0x58,0x5f,0x30,0x20,0x69,0x64,0x78,0x30,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66, + 0x69,0x6e,0x65,0x20,0x49,0x44,0x58,0x5f,0x30,0x20,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x61,0x5b,0x30,0x5d,0x29,0x2e,0x73,0x30,0x0a,0x23,0x65,0x6e,0x64, + 0x69,0x66,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x43,0x4e,0x5f,0x55,0x4e,0x52,0x4f,0x4c,0x4c,0x0a,0x66,0x6f,0x72,0x20, + 0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x49,0x54,0x45,0x52,0x41,0x54,0x49,0x4f,0x4e,0x53,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x75, + 0x6c,0x6f,0x6e,0x67,0x20,0x63,0x5b,0x32,0x5d,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x3d,0x53,0x63,0x72,0x61,0x74, + 0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x28,0x49,0x44,0x58,0x5f,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x5d,0x3b,0x0a,0x23,0x69,0x66, + 0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x54,0x55,0x42,0x45,0x29,0x0a,0x28,0x28, + 0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x5f,0x62,0x69,0x74,0x74,0x75,0x62,0x65,0x32, 0x28,0x41,0x45,0x53,0x30,0x2c,0x41,0x45,0x53,0x31,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x2c,0x28,0x28,0x75,0x69,0x6e, - 0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x62,0x5f,0x78,0x20,0x5e,0x3d,0x20,0x28,0x28,0x75,0x69,0x6e, - 0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x56,0x41,0x52,0x49,0x41,0x4e,0x54,0x31,0x5f,0x31,0x28,0x62,0x5f,0x78,0x29,0x3b,0x0a,0x53,0x63,0x72, - 0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x28,0x49,0x44,0x58,0x5f,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x5d,0x3d,0x62,0x5f, - 0x78,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x74,0x6d,0x70,0x3b,0x0a,0x74,0x6d,0x70,0x3d,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58, - 0x28,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x63,0x5b,0x30,0x5d,0x29,0x2e,0x73,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x5d,0x3b,0x0a, - 0x61,0x5b,0x31,0x5d,0x2b,0x3d,0x63,0x5b,0x30,0x5d,0x2a,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x74,0x6d,0x70,0x29,0x2e,0x73,0x30,0x3b,0x0a,0x61,0x5b, - 0x30,0x5d,0x2b,0x3d,0x6d,0x75,0x6c,0x5f,0x68,0x69,0x28,0x63,0x5b,0x30,0x5d,0x2c,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x74,0x6d,0x70,0x29,0x2e,0x73, - 0x30,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x5f,0x30,0x3d,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x3b,0x0a,0x23, - 0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x52,0x54,0x4f,0x20,0x7c,0x7c,0x20,0x41,0x4c,0x47,0x4f,0x20, - 0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x54,0x55,0x42,0x45,0x29,0x0a,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x5f, - 0x30,0x20,0x5e,0x3d,0x20,0x28,0x28,0x75,0x69,0x6e,0x74,0x32,0x20,0x2a,0x29,0x26,0x28,0x61,0x5b,0x30,0x5d,0x29,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x23,0x65,0x6e,0x64, - 0x69,0x66,0x0a,0x56,0x41,0x52,0x49,0x41,0x4e,0x54,0x31,0x5f,0x32,0x28,0x61,0x5b,0x31,0x5d,0x29,0x3b,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b, - 0x49,0x44,0x58,0x28,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x63,0x5b,0x30,0x5d,0x29,0x2e,0x73,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29, - 0x5d,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x56,0x41,0x52,0x49,0x41,0x4e,0x54,0x31,0x5f,0x32,0x28,0x61,0x5b, - 0x31,0x5d,0x29,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x6d,0x70,0x3b,0x0a,0x23,0x69,0x66, - 0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x54,0x55,0x42,0x45,0x29,0x0a,0x69,0x64, - 0x78,0x30,0x3d,0x61,0x5b,0x30,0x5d,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x62,0x5f,0x78,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29, - 0x5b,0x30,0x5d,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f, - 0x54,0x55,0x42,0x45,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x6e,0x3d,0x2a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, - 0x6c,0x20,0x6c,0x6f,0x6e,0x67,0x32,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x28,0x49,0x44,0x58,0x28,0x28,0x69,0x64,0x78,0x30,0x26, - 0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x29,0x29,0x29,0x3b,0x0a,0x6c,0x6f,0x6e,0x67,0x20,0x71,0x3d,0x66,0x61,0x73,0x74,0x5f,0x64,0x69,0x76,0x5f,0x68,0x65, - 0x61,0x76,0x79,0x28,0x6e,0x2e,0x73,0x30,0x2c,0x61,0x73,0x5f,0x69,0x6e,0x74,0x34,0x28,0x6e,0x29,0x2e,0x73,0x32,0x7c,0x30,0x78,0x35,0x29,0x3b,0x0a,0x2a,0x28,0x28, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x6c,0x6f,0x6e,0x67,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x28,0x49,0x44,0x58,0x28, - 0x28,0x69,0x64,0x78,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x29,0x29,0x29,0x3d,0x6e,0x2e,0x73,0x30,0x5e,0x71,0x3b,0x0a,0x69,0x64,0x78,0x30,0x3d, - 0x61,0x73,0x5f,0x69,0x6e,0x74,0x34,0x28,0x6e,0x29,0x2e,0x73,0x32,0x5e,0x71,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x7d,0x0a,0x6d,0x65, - 0x6d,0x5f,0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7d, - 0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x49,0x44,0x58,0x5f,0x30,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x42,0x41,0x53,0x45,0x20,0x3d, - 0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x32,0x29,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64, - 0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29, - 0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x63,0x6e,0x31,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e, - 0x67,0x20,0x2a,0x69,0x6e,0x70,0x75,0x74,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x53,0x63,0x72,0x61,0x74,0x63,0x68, - 0x70,0x61,0x64,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x20, - 0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x61,0x5b,0x32,0x5d,0x2c,0x62,0x5b,0x34,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f, - 0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x30,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x31,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53, - 0x32,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x33,0x5b,0x32,0x35,0x36,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x67,0x49, - 0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c, - 0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x20,0x69,0x3c,0x32,0x35,0x36,0x3b,0x20,0x69,0x2b,0x3d,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x0a,0x7b,0x0a,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x74,0x6d,0x70,0x3d,0x41,0x45,0x53,0x30,0x5f,0x43,0x5b,0x69,0x5d,0x3b,0x0a,0x41,0x45,0x53,0x30,0x5b,0x69,0x5d,0x3d, - 0x74,0x6d,0x70,0x3b,0x0a,0x41,0x45,0x53,0x31,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x38,0x55,0x29,0x3b,0x0a,0x41,0x45,0x53, - 0x32,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x41,0x45,0x53,0x33,0x5b,0x69,0x5d,0x3d,0x72,0x6f, - 0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x32,0x34,0x55,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43, - 0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x67,0x49,0x64,0x78, - 0x3b,0x0a,0x23,0x69,0x66,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x64,0x28,0x5f,0x5f,0x4e,0x56,0x5f,0x43,0x4c,0x5f,0x43,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x29, - 0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x2a,0x28,0x49,0x54,0x45,0x52,0x41,0x54,0x49,0x4f,0x4e,0x53,0x3e,0x3e,0x32, - 0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x30, - 0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x3b,0x0a, - 0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x53,0x63,0x72,0x61,0x74, - 0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45, - 0x58,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64, - 0x28,0x30,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55, - 0x4e,0x4b,0x2a,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x65,0x6e,0x64,0x69, - 0x66,0x0a,0x61,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x30,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x34,0x5d,0x3b,0x0a,0x61,0x5b,0x31,0x5d, - 0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x31,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x35,0x5d,0x3b,0x0a,0x62,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65, - 0x73,0x5b,0x32,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x36,0x5d,0x3b,0x0a,0x62,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x33,0x5d,0x5e,0x73, - 0x74,0x61,0x74,0x65,0x73,0x5b,0x37,0x5d,0x3b,0x0a,0x62,0x5b,0x32,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x38,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b, - 0x31,0x30,0x5d,0x3b,0x0a,0x62,0x5b,0x33,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x39,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x31,0x31,0x5d,0x3b,0x0a, - 0x7d,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x62,0x78,0x30,0x3d,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x2a,0x29,0x62,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x75, - 0x6c,0x6f,0x6e,0x67,0x32,0x20,0x62,0x78,0x31,0x3d,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x2a,0x29,0x62,0x29,0x5b,0x31,0x5d,0x3b,0x0a,0x6d,0x65,0x6d,0x5f, - 0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x23,0x69,0x66,0x64, - 0x65,0x66,0x20,0x5f,0x5f,0x4e,0x56,0x5f,0x43,0x4c,0x5f,0x43,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, - 0x74,0x31,0x36,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x5f,0x62,0x75,0x66,0x5b,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45, - 0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x2a,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69, - 0x6e,0x65,0x3d,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x5f,0x62,0x75,0x66,0x2b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c, - 0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b, - 0x28,0x4e,0x29,0x20,0x28,0x2a,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20, - 0x75,0x63,0x68,0x61,0x72,0x2a,0x29,0x28,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x29,0x20,0x2b,0x20,0x28,0x69,0x64,0x78,0x31, - 0x20,0x5e,0x20,0x28,0x4e,0x20,0x3c,0x3c,0x20,0x34,0x29,0x29,0x29,0x29,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45, - 0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44, - 0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x4e,0x29,0x20,0x28,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x28,0x5f, - 0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x63,0x68,0x61,0x72,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x29,0x20,0x2b,0x20,0x28,0x69, - 0x64,0x78,0x20,0x5e,0x20,0x28,0x4e,0x20,0x3c,0x3c,0x20,0x34,0x29,0x29,0x29,0x29,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f, - 0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43, - 0x48,0x55,0x4e,0x4b,0x28,0x4e,0x29,0x20,0x28,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x63,0x68,0x61,0x72,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x29,0x20,0x2b,0x20,0x6d,0x75,0x6c,0x32, - 0x34,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x69,0x64,0x78,0x20,0x5e,0x20,0x28,0x4e,0x20,0x3c,0x3c,0x20,0x34,0x29,0x29,0x2c,0x20,0x54,0x68,0x72,0x65,0x61, - 0x64,0x73,0x29,0x29,0x29,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x32,0x29, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x4e,0x29,0x20,0x28,0x2a,0x28, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x63,0x68,0x61,0x72, - 0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x29,0x20,0x2b,0x20,0x28,0x28,0x28,0x69,0x64,0x78,0x20,0x5e,0x20,0x28,0x4e,0x20,0x3c,0x3c,0x20, - 0x34,0x29,0x29,0x20,0x25,0x20,0x28,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x20,0x3c,0x3c,0x20,0x34,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x69,0x64,0x78,0x20, - 0x5e,0x20,0x28,0x4e,0x20,0x3c,0x3c,0x20,0x34,0x29,0x29,0x20,0x2f,0x20,0x28,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x20,0x3c,0x3c,0x20,0x34,0x29,0x29,0x20, - 0x2a,0x20,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x28,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x20,0x3c,0x3c,0x20,0x34,0x29,0x29,0x29,0x29, - 0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x64,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e,0x5f, - 0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x31,0x32,0x5d,0x29,0x3b,0x0a,0x75,0x69,0x6e, - 0x74,0x20,0x73,0x71,0x72,0x74,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x31,0x33, - 0x5d,0x29,0x2e,0x73,0x30,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x43,0x4e,0x5f,0x55,0x4e,0x52,0x4f,0x4c,0x4c,0x0a, - 0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x49,0x54,0x45,0x52,0x41,0x54,0x49,0x4f,0x4e,0x53,0x3b,0x20,0x2b,0x2b,0x69,0x29, - 0x20,0x7b,0x0a,0x23,0x69,0x66,0x64,0x65,0x66,0x20,0x5f,0x5f,0x4e,0x56,0x5f,0x43,0x4c,0x5f,0x43,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x0a,0x75,0x69,0x6e,0x74, - 0x20,0x69,0x64,0x78,0x3d,0x61,0x5b,0x30,0x5d,0x26,0x30,0x78,0x31,0x46,0x46,0x46,0x43,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x31,0x3d,0x61,0x5b, - 0x30,0x5d,0x26,0x30,0x78,0x33,0x30,0x3b,0x0a,0x2a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x3d,0x2a,0x28,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x63,0x68,0x61,0x72,0x2a,0x29,0x28, - 0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x29,0x2b,0x69,0x64,0x78,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78, - 0x3d,0x61,0x5b,0x30,0x5d,0x26,0x4d,0x41,0x53,0x4b,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x63,0x3d,0x53,0x43,0x52,0x41,0x54, - 0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x30,0x29,0x3b,0x0a,0x63,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x28,0x41,0x45,0x53,0x30, - 0x2c,0x41,0x45,0x53,0x31,0x2c,0x41,0x45,0x53,0x32,0x2c,0x41,0x45,0x53,0x33,0x2c,0x63,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30, - 0x5d,0x29,0x3b,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x28,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x52,0x57,0x5a,0x29, - 0x20,0x7c,0x7c,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x55,0x50,0x58,0x32,0x29,0x29,0x0a,0x63,0x6f,0x6e,0x73, + 0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b, + 0x30,0x5d,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x5f,0x54,0x77,0x6f,0x5f,0x54,0x61,0x62,0x6c,0x65,0x73,0x28,0x41,0x45,0x53,0x30,0x2c,0x41,0x45,0x53, + 0x31,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30, + 0x5d,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x62,0x5f,0x78,0x20,0x5e,0x3d,0x20,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30, + 0x5d,0x3b,0x0a,0x56,0x41,0x52,0x49,0x41,0x4e,0x54,0x31,0x5f,0x31,0x28,0x62,0x5f,0x78,0x29,0x3b,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49, + 0x44,0x58,0x28,0x28,0x49,0x44,0x58,0x5f,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x5d,0x3d,0x62,0x5f,0x78,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20, + 0x74,0x6d,0x70,0x3b,0x0a,0x74,0x6d,0x70,0x3d,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74, + 0x32,0x28,0x63,0x5b,0x30,0x5d,0x29,0x2e,0x73,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x5d,0x3b,0x0a,0x61,0x5b,0x31,0x5d,0x2b,0x3d,0x63,0x5b,0x30, + 0x5d,0x2a,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x74,0x6d,0x70,0x29,0x2e,0x73,0x30,0x3b,0x0a,0x61,0x5b,0x30,0x5d,0x2b,0x3d,0x6d,0x75,0x6c,0x5f,0x68, + 0x69,0x28,0x63,0x5b,0x30,0x5d,0x2c,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x74,0x6d,0x70,0x29,0x2e,0x73,0x30,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32, + 0x20,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x5f,0x30,0x3d,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20, + 0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x52,0x54,0x4f,0x20,0x7c,0x7c,0x20,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43, + 0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x54,0x55,0x42,0x45,0x29,0x0a,0x74,0x77,0x65,0x61,0x6b,0x31,0x5f,0x32,0x5f,0x30,0x20,0x5e,0x3d,0x20,0x28,0x28,0x75,0x69, + 0x6e,0x74,0x32,0x20,0x2a,0x29,0x26,0x28,0x61,0x5b,0x30,0x5d,0x29,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x56,0x41,0x52,0x49,0x41,0x4e, + 0x54,0x31,0x5f,0x32,0x28,0x61,0x5b,0x31,0x5d,0x29,0x3b,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x28,0x61,0x73,0x5f,0x75, + 0x69,0x6e,0x74,0x32,0x28,0x63,0x5b,0x30,0x5d,0x29,0x2e,0x73,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29,0x5d,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34, + 0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x56,0x41,0x52,0x49,0x41,0x4e,0x54,0x31,0x5f,0x32,0x28,0x61,0x5b,0x31,0x5d,0x29,0x3b,0x0a,0x28,0x28,0x75,0x69, + 0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x6d,0x70,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d, + 0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x54,0x55,0x42,0x45,0x29,0x0a,0x69,0x64,0x78,0x30,0x3d,0x61,0x5b,0x30,0x5d,0x3b,0x0a, + 0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x62,0x5f,0x78,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x63,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x23,0x69,0x66,0x20, + 0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x5f,0x54,0x55,0x42,0x45,0x29,0x0a,0x7b,0x0a,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x6e,0x3d,0x2a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x6c,0x6f,0x6e,0x67,0x32,0x2a,0x29, + 0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x28,0x49,0x44,0x58,0x28,0x28,0x69,0x64,0x78,0x30,0x26,0x4d,0x41,0x53,0x4b,0x29,0x3e,0x3e,0x34,0x29, + 0x29,0x29,0x29,0x3b,0x0a,0x6c,0x6f,0x6e,0x67,0x20,0x71,0x3d,0x66,0x61,0x73,0x74,0x5f,0x64,0x69,0x76,0x5f,0x68,0x65,0x61,0x76,0x79,0x28,0x6e,0x2e,0x73,0x30,0x2c, + 0x61,0x73,0x5f,0x69,0x6e,0x74,0x34,0x28,0x6e,0x29,0x2e,0x73,0x32,0x7c,0x30,0x78,0x35,0x29,0x3b,0x0a,0x2a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, + 0x6c,0x6f,0x6e,0x67,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x28,0x49,0x44,0x58,0x28,0x28,0x69,0x64,0x78,0x30,0x26,0x4d,0x41,0x53, + 0x4b,0x29,0x3e,0x3e,0x34,0x29,0x29,0x29,0x29,0x3d,0x6e,0x2e,0x73,0x30,0x5e,0x71,0x3b,0x0a,0x69,0x64,0x78,0x30,0x3d,0x61,0x73,0x5f,0x69,0x6e,0x74,0x34,0x28,0x6e, + 0x29,0x2e,0x73,0x32,0x5e,0x71,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f,0x66,0x65,0x6e,0x63,0x65,0x28,0x43, + 0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x49, + 0x44,0x58,0x5f,0x30,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x42,0x41,0x53,0x45,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e, + 0x5f,0x32,0x29,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f, + 0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c, + 0x20,0x76,0x6f,0x69,0x64,0x20,0x63,0x6e,0x31,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x69,0x6e,0x70,0x75,0x74,0x2c, + 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2c,0x5f,0x5f,0x67,0x6c,0x6f, + 0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a, + 0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x61,0x5b,0x32,0x5d,0x2c,0x62,0x5b,0x34,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20, + 0x41,0x45,0x53,0x30,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x31,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x32,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45, + 0x53,0x33,0x5b,0x32,0x35,0x36,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x67,0x49,0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78, + 0x28,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x20,0x69, + 0x3c,0x32,0x35,0x36,0x3b,0x20,0x69,0x2b,0x3d,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20, + 0x74,0x6d,0x70,0x3d,0x41,0x45,0x53,0x30,0x5f,0x43,0x5b,0x69,0x5d,0x3b,0x0a,0x41,0x45,0x53,0x30,0x5b,0x69,0x5d,0x3d,0x74,0x6d,0x70,0x3b,0x0a,0x41,0x45,0x53,0x31, + 0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x38,0x55,0x29,0x3b,0x0a,0x41,0x45,0x53,0x32,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61, + 0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x41,0x45,0x53,0x33,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c, + 0x32,0x34,0x55,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45, + 0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x69,0x66,0x20,0x64,0x65,0x66, + 0x69,0x6e,0x65,0x64,0x28,0x5f,0x5f,0x4e,0x56,0x5f,0x43,0x4c,0x5f,0x43,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70, + 0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x2a,0x28,0x49,0x54,0x45,0x52,0x41,0x54,0x49,0x4f,0x4e,0x53,0x3e,0x3e,0x32,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a, + 0x23,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x30,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68, + 0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54, + 0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49, + 0x64,0x78,0x3b,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x53, + 0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f, + 0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x2a,0x67,0x65,0x74,0x5f,0x6c,0x6f, + 0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x61,0x5b,0x30,0x5d,0x3d,0x73,0x74, + 0x61,0x74,0x65,0x73,0x5b,0x30,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x34,0x5d,0x3b,0x0a,0x61,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x31, + 0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x35,0x5d,0x3b,0x0a,0x62,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x32,0x5d,0x5e,0x73,0x74,0x61,0x74, + 0x65,0x73,0x5b,0x36,0x5d,0x3b,0x0a,0x62,0x5b,0x31,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x33,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x37,0x5d,0x3b, + 0x0a,0x62,0x5b,0x32,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x38,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x31,0x30,0x5d,0x3b,0x0a,0x62,0x5b,0x33,0x5d, + 0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x39,0x5d,0x5e,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x31,0x31,0x5d,0x3b,0x0a,0x7d,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20, + 0x62,0x78,0x30,0x3d,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x2a,0x29,0x62,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x62,0x78,0x31, + 0x3d,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x2a,0x29,0x62,0x29,0x5b,0x31,0x5d,0x3b,0x0a,0x6d,0x65,0x6d,0x5f,0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b, + 0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x23,0x69,0x66,0x64,0x65,0x66,0x20,0x5f,0x5f,0x4e,0x56,0x5f,0x43, + 0x4c,0x5f,0x43,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x20,0x73,0x63,0x72,0x61,0x74, + 0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x5f,0x62,0x75,0x66,0x5b,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61, + 0x6c,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x2a,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x3d,0x73,0x63,0x72,0x61,0x74,0x63, + 0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x5f,0x62,0x75,0x66,0x2b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x4e,0x29,0x20,0x28,0x2a,0x28,0x5f,0x5f, + 0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x63,0x68,0x61,0x72,0x2a,0x29,0x28,0x73, + 0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x29,0x20,0x2b,0x20,0x28,0x69,0x64,0x78,0x31,0x20,0x5e,0x20,0x28,0x4e,0x20,0x3c,0x3c,0x20, + 0x34,0x29,0x29,0x29,0x29,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d, + 0x3d,0x20,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x4e,0x29, + 0x20,0x28,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75, + 0x63,0x68,0x61,0x72,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x29,0x20,0x2b,0x20,0x28,0x69,0x64,0x78,0x20,0x5e,0x20,0x28,0x4e,0x20,0x3c, + 0x3c,0x20,0x34,0x29,0x29,0x29,0x29,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20, + 0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x4e,0x29,0x20,0x28, + 0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x63,0x68, + 0x61,0x72,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x29,0x20,0x2b,0x20,0x6d,0x75,0x6c,0x32,0x34,0x28,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74, + 0x28,0x69,0x64,0x78,0x20,0x5e,0x20,0x28,0x4e,0x20,0x3c,0x3c,0x20,0x34,0x29,0x29,0x2c,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x29,0x29,0x0a,0x23,0x65,0x6c, + 0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x4e,0x29,0x20,0x28,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, + 0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x63,0x68,0x61,0x72,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63, + 0x68,0x70,0x61,0x64,0x29,0x20,0x2b,0x20,0x28,0x28,0x28,0x69,0x64,0x78,0x20,0x5e,0x20,0x28,0x4e,0x20,0x3c,0x3c,0x20,0x34,0x29,0x29,0x20,0x25,0x20,0x28,0x4d,0x45, + 0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x20,0x3c,0x3c,0x20,0x34,0x29,0x29,0x20,0x2b,0x20,0x28,0x28,0x69,0x64,0x78,0x20,0x5e,0x20,0x28,0x4e,0x20,0x3c,0x3c,0x20,0x34, + 0x29,0x29,0x20,0x2f,0x20,0x28,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x20,0x3c,0x3c,0x20,0x34,0x29,0x29,0x20,0x2a,0x20,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a, + 0x45,0x20,0x2a,0x20,0x28,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x20,0x3c,0x3c,0x20,0x34,0x29,0x29,0x29,0x29,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23, + 0x65,0x6e,0x64,0x69,0x66,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x64,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x61,0x73, + 0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x31,0x32,0x5d,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x73,0x71,0x72,0x74,0x5f,0x72,0x65, + 0x73,0x75,0x6c,0x74,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x31,0x33,0x5d,0x29,0x2e,0x73,0x30,0x3b,0x0a,0x23,0x70, + 0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x43,0x4e,0x5f,0x55,0x4e,0x52,0x4f,0x4c,0x4c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20, + 0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x49,0x54,0x45,0x52,0x41,0x54,0x49,0x4f,0x4e,0x53,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x23,0x69,0x66,0x64,0x65,0x66, + 0x20,0x5f,0x5f,0x4e,0x56,0x5f,0x43,0x4c,0x5f,0x43,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x0a,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3d,0x61,0x5b,0x30,0x5d, + 0x26,0x30,0x78,0x31,0x46,0x46,0x46,0x43,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x31,0x3d,0x61,0x5b,0x30,0x5d,0x26,0x30,0x78,0x33,0x30,0x3b,0x0a, + 0x2a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x3d,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, + 0x31,0x36,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x63,0x68,0x61,0x72,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61, + 0x64,0x29,0x2b,0x69,0x64,0x78,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3d,0x61,0x5b,0x30,0x5d,0x26,0x4d,0x41,0x53, + 0x4b,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x63,0x3d,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55, + 0x4e,0x4b,0x28,0x30,0x29,0x3b,0x0a,0x63,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x28,0x41,0x45,0x53,0x30,0x2c,0x41,0x45,0x53,0x31,0x2c,0x41,0x45,0x53, + 0x32,0x2c,0x41,0x45,0x53,0x33,0x2c,0x63,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x7b,0x0a,0x23,0x69,0x66, + 0x20,0x28,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x52,0x57,0x5a,0x29,0x20,0x7c,0x7c,0x20,0x28,0x41,0x4c,0x47,0x4f, + 0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x55,0x50,0x58,0x32,0x29,0x29,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20, + 0x63,0x68,0x75,0x6e,0x6b,0x31,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e, + 0x4b,0x28,0x33,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63,0x68,0x75,0x6e,0x6b,0x32,0x3d,0x61,0x73,0x5f,0x75,0x6c, + 0x6f,0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x32,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63,0x68,0x75,0x6e,0x6b,0x33,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43,0x48, + 0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x31,0x29,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67, + 0x32,0x20,0x63,0x68,0x75,0x6e,0x6b,0x31,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48, + 0x55,0x4e,0x4b,0x28,0x31,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63,0x68,0x75,0x6e,0x6b,0x32,0x3d,0x61,0x73,0x5f, + 0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x32,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63,0x68,0x75,0x6e,0x6b,0x33,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54, + 0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x33,0x29,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50, + 0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x31,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x33,0x2b,0x62,0x78,0x31,0x29, + 0x3b,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x32,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63, + 0x68,0x75,0x6e,0x6b,0x31,0x2b,0x62,0x78,0x30,0x29,0x3b,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x33,0x29,0x3d, + 0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x32,0x2b,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d, + 0x29,0x3b,0x0a,0x7d,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x30,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74, + 0x34,0x28,0x62,0x78,0x30,0x29,0x5e,0x63,0x3b,0x0a,0x23,0x69,0x66,0x64,0x65,0x66,0x20,0x5f,0x5f,0x4e,0x56,0x5f,0x43,0x4c,0x5f,0x43,0x5f,0x56,0x45,0x52,0x53,0x49, + 0x4f,0x4e,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, + 0x20,0x75,0x63,0x68,0x61,0x72,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x29,0x2b,0x69,0x64,0x78,0x29,0x3d,0x2a,0x73,0x63,0x72,0x61,0x74, + 0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x3b,0x0a,0x69,0x64,0x78,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x63,0x29,0x2e,0x73,0x30,0x26, + 0x30,0x78,0x31,0x46,0x46,0x46,0x43,0x30,0x3b,0x0a,0x69,0x64,0x78,0x31,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x63,0x29,0x2e,0x73,0x30,0x26,0x30, + 0x78,0x33,0x30,0x3b,0x0a,0x2a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x3d,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, + 0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x63,0x68,0x61,0x72,0x2a,0x29,0x28,0x53,0x63,0x72,0x61, + 0x74,0x63,0x68,0x70,0x61,0x64,0x29,0x2b,0x69,0x64,0x78,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x69,0x64,0x78,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67, + 0x32,0x28,0x63,0x29,0x2e,0x73,0x30,0x26,0x4d,0x41,0x53,0x4b,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x74,0x6d,0x70,0x3d,0x53, + 0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x30,0x29,0x3b,0x0a,0x7b,0x0a,0x74,0x6d,0x70,0x2e,0x73,0x30,0x20,0x5e,0x3d,0x20, + 0x64,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x2e,0x73,0x30,0x3b,0x0a,0x74,0x6d,0x70,0x2e,0x73,0x31,0x20,0x5e,0x3d,0x20,0x64,0x69, + 0x76,0x69,0x73,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x2e,0x73,0x31,0x5e,0x73,0x71,0x72,0x74,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x64,0x69, + 0x76,0x69,0x73,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x66,0x61,0x73,0x74,0x5f,0x64,0x69,0x76,0x5f,0x76,0x32,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f, + 0x6e,0x67,0x32,0x28,0x63,0x29,0x2e,0x73,0x31,0x2c,0x28,0x63,0x2e,0x73,0x30,0x2b,0x28,0x73,0x71,0x72,0x74,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3c,0x3c,0x31,0x29, + 0x29,0x7c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x55,0x4c,0x29,0x3b,0x0a,0x73,0x71,0x72,0x74,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x66,0x61,0x73, + 0x74,0x5f,0x73,0x71,0x72,0x74,0x5f,0x76,0x32,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x63,0x29,0x2e,0x73,0x30,0x2b,0x61,0x73,0x5f,0x75,0x6c,0x6f, + 0x6e,0x67,0x28,0x64,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x74, + 0x3b,0x0a,0x74,0x2e,0x73,0x30,0x3d,0x6d,0x75,0x6c,0x5f,0x68,0x69,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x63,0x29,0x2e,0x73,0x30,0x2c,0x61,0x73, + 0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x74,0x6d,0x70,0x29,0x2e,0x73,0x30,0x29,0x3b,0x0a,0x74,0x2e,0x73,0x31,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32, + 0x28,0x63,0x29,0x2e,0x73,0x30,0x2a,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x74,0x6d,0x70,0x29,0x2e,0x73,0x30,0x3b,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73, 0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63,0x68,0x75,0x6e,0x6b,0x31,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43, - 0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x33,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63,0x68,0x75, - 0x6e,0x6b,0x32,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x32, - 0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63,0x68,0x75,0x6e,0x6b,0x33,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67, - 0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x31,0x29,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63,0x68,0x75,0x6e,0x6b,0x31,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41, - 0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x31,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63, + 0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x31,0x29,0x29,0x5e,0x74,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63, 0x68,0x75,0x6e,0x6b,0x32,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b, - 0x28,0x32,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63,0x68,0x75,0x6e,0x6b,0x33,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f, - 0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x33,0x29,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66, - 0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x31,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68, - 0x75,0x6e,0x6b,0x33,0x2b,0x62,0x78,0x31,0x29,0x3b,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x32,0x29,0x3d,0x61, - 0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x31,0x2b,0x62,0x78,0x30,0x29,0x3b,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f, - 0x43,0x48,0x55,0x4e,0x4b,0x28,0x33,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x32,0x2b,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67, - 0x32,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x30, - 0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x62,0x78,0x30,0x29,0x5e,0x63,0x3b,0x0a,0x23,0x69,0x66,0x64,0x65,0x66,0x20,0x5f,0x5f,0x4e,0x56,0x5f,0x43, - 0x4c,0x5f,0x43,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x2a,0x29,0x28, - 0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x63,0x68,0x61,0x72,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x29,0x2b,0x69,0x64, - 0x78,0x29,0x3d,0x2a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x3b,0x0a,0x69,0x64,0x78,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e, - 0x67,0x32,0x28,0x63,0x29,0x2e,0x73,0x30,0x26,0x30,0x78,0x31,0x46,0x46,0x46,0x43,0x30,0x3b,0x0a,0x69,0x64,0x78,0x31,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67, - 0x32,0x28,0x63,0x29,0x2e,0x73,0x30,0x26,0x30,0x78,0x33,0x30,0x3b,0x0a,0x2a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x3d,0x2a, - 0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x63,0x68, - 0x61,0x72,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x29,0x2b,0x69,0x64,0x78,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x69,0x64,0x78, - 0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x63,0x29,0x2e,0x73,0x30,0x26,0x4d,0x41,0x53,0x4b,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x75,0x69, - 0x6e,0x74,0x34,0x20,0x74,0x6d,0x70,0x3d,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x30,0x29,0x3b,0x0a,0x7b,0x0a,0x74, - 0x6d,0x70,0x2e,0x73,0x30,0x20,0x5e,0x3d,0x20,0x64,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x2e,0x73,0x30,0x3b,0x0a,0x74,0x6d,0x70, - 0x2e,0x73,0x31,0x20,0x5e,0x3d,0x20,0x64,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x2e,0x73,0x31,0x5e,0x73,0x71,0x72,0x74,0x5f,0x72, - 0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x64,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x66,0x61,0x73,0x74,0x5f,0x64,0x69,0x76,0x5f, - 0x76,0x32,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x63,0x29,0x2e,0x73,0x31,0x2c,0x28,0x63,0x2e,0x73,0x30,0x2b,0x28,0x73,0x71,0x72,0x74,0x5f,0x72, - 0x65,0x73,0x75,0x6c,0x74,0x3c,0x3c,0x31,0x29,0x29,0x7c,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x55,0x4c,0x29,0x3b,0x0a,0x73,0x71,0x72,0x74,0x5f,0x72, - 0x65,0x73,0x75,0x6c,0x74,0x3d,0x66,0x61,0x73,0x74,0x5f,0x73,0x71,0x72,0x74,0x5f,0x76,0x32,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x63,0x29,0x2e, - 0x73,0x30,0x2b,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x64,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x29,0x29,0x3b,0x0a,0x7d, - 0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x74,0x3b,0x0a,0x74,0x2e,0x73,0x30,0x3d,0x6d,0x75,0x6c,0x5f,0x68,0x69,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32, - 0x28,0x63,0x29,0x2e,0x73,0x30,0x2c,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x74,0x6d,0x70,0x29,0x2e,0x73,0x30,0x29,0x3b,0x0a,0x74,0x2e,0x73,0x31,0x3d, - 0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x63,0x29,0x2e,0x73,0x30,0x2a,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x74,0x6d,0x70,0x29,0x2e,0x73, - 0x30,0x3b,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63,0x68,0x75,0x6e,0x6b,0x31,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e, - 0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x31,0x29,0x29,0x5e,0x74,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63,0x68,0x75,0x6e,0x6b,0x32,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43,0x48, - 0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x32,0x29,0x29,0x3b,0x0a,0x74,0x20,0x5e,0x3d,0x20,0x63,0x68,0x75,0x6e,0x6b,0x32,0x3b,0x0a,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x63,0x68,0x75,0x6e,0x6b,0x33,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43, - 0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x33,0x29,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c, - 0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x52,0x57,0x5a,0x29,0x20,0x7c,0x7c,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x55, - 0x50,0x58,0x32,0x29,0x29,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x31,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e, - 0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x31,0x2b,0x62,0x78,0x31,0x29,0x3b,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b, - 0x28,0x32,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x33,0x2b,0x62,0x78,0x30,0x29,0x3b,0x0a,0x53,0x43,0x52,0x41,0x54,0x43, - 0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x33,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x32,0x2b,0x28,0x28, - 0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41, - 0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x31,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x33,0x2b,0x62,0x78,0x31,0x29,0x3b, - 0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x32,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68, - 0x75,0x6e,0x6b,0x31,0x2b,0x62,0x78,0x30,0x29,0x3b,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x33,0x29,0x3d,0x61, - 0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x32,0x2b,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x29, - 0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x61,0x5b,0x31,0x5d,0x2b,0x3d,0x74,0x2e,0x73,0x31,0x3b,0x0a,0x61,0x5b,0x30,0x5d,0x2b,0x3d,0x74,0x2e,0x73, - 0x30,0x3b,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x30,0x29,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a, - 0x29,0x61,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x23,0x69,0x66,0x64,0x65,0x66,0x20,0x5f,0x5f,0x4e,0x56,0x5f,0x43,0x4c,0x5f,0x43,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e, - 0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75, - 0x63,0x68,0x61,0x72,0x2a,0x29,0x28,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x29,0x2b,0x69,0x64,0x78,0x29,0x3d,0x2a,0x73,0x63,0x72,0x61,0x74,0x63,0x68, - 0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d, - 0x20,0x5e,0x3d,0x20,0x74,0x6d,0x70,0x3b,0x0a,0x62,0x78,0x31,0x3d,0x62,0x78,0x30,0x3b,0x0a,0x62,0x78,0x30,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28, - 0x63,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x0a,0x7d,0x0a, - 0x6d,0x65,0x6d,0x5f,0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b, - 0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f, - 0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x38,0x2c,0x38,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20, - 0x76,0x6f,0x69,0x64,0x20,0x63,0x6e,0x32,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x53,0x63,0x72,0x61,0x74,0x63,0x68, - 0x70,0x61,0x64,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f, - 0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x30,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20, - 0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x31,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x32,0x2c, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x33,0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65, - 0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x30,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45, - 0x53,0x31,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x32,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x33,0x5b,0x32,0x35,0x36,0x5d,0x3b,0x0a,0x75,0x69,0x6e, - 0x74,0x20,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x32,0x5b,0x34,0x30,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x74,0x65,0x78,0x74,0x3b,0x0a, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x67,0x49,0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28, - 0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x2a,0x38,0x2b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61, - 0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x20,0x69,0x3c,0x32,0x35,0x36,0x3b,0x20,0x69,0x2b,0x3d,0x38,0x2a,0x38,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x20,0x74,0x6d,0x70,0x3d,0x41,0x45,0x53,0x30,0x5f,0x43,0x5b,0x69,0x5d,0x3b,0x0a,0x41,0x45,0x53,0x30,0x5b,0x69,0x5d,0x3d,0x74,0x6d,0x70,0x3b, - 0x0a,0x41,0x45,0x53,0x31,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x38,0x55,0x29,0x3b,0x0a,0x41,0x45,0x53,0x32,0x5b,0x69,0x5d, - 0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x41,0x45,0x53,0x33,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65, - 0x28,0x74,0x6d,0x70,0x2c,0x32,0x34,0x55,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d, - 0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x69, - 0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x30,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61, - 0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49, - 0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59, - 0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b, - 0x3d,0x28,0x67,0x49,0x64,0x78,0x2f,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52, - 0x4b,0x53,0x49,0x5a,0x45,0x2b,0x28,0x67,0x49,0x64,0x78,0x20,0x25,0x20,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x53, - 0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53, - 0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x28, - 0x67,0x49,0x64,0x78,0x2f,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53, - 0x49,0x5a,0x45,0x2b,0x4d,0x45,0x4d,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x2a,0x28,0x67,0x49,0x64,0x78,0x20,0x25,0x20,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x3b, - 0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x69,0x66,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x64,0x28,0x5f,0x5f,0x54,0x61,0x68,0x69,0x74,0x69,0x5f,0x5f,0x29,0x20, - 0x7c,0x7c,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x64,0x28,0x5f,0x5f,0x50,0x69,0x74,0x63,0x61,0x69,0x72,0x6e,0x5f,0x5f,0x29,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e,0x74, - 0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x34,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64, - 0x65,0x64,0x4b,0x65,0x79,0x32,0x29,0x5b,0x69,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x69,0x2b,0x34,0x5d,0x3b,0x0a,0x74,0x65,0x78,0x74,0x3d,0x76,0x6c,0x6f, - 0x61,0x64,0x34,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x2b,0x34,0x2c,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x74,0x65,0x78,0x74,0x3d,0x76,0x6c,0x6f,0x61,0x64, - 0x34,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x2b,0x34,0x2c,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69, - 0x6e,0x74,0x20,0x2a,0x29,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64, - 0x4b,0x65,0x79,0x32,0x29,0x5b,0x30,0x5d,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28,0x31,0x2c,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, - 0x20,0x2a,0x29,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x41,0x45,0x53,0x45,0x78,0x70,0x61,0x6e,0x64,0x4b,0x65,0x79,0x32, - 0x35,0x36,0x28,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x32,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f, - 0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49, - 0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75, - 0x69,0x6e,0x74,0x34,0x20,0x78,0x69,0x6e,0x31,0x5b,0x38,0x5d,0x5b,0x38,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x78, - 0x69,0x6e,0x32,0x5b,0x38,0x5d,0x5b,0x38,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x20,0x78,0x69,0x6e,0x31,0x5f,0x73, - 0x74,0x6f,0x72,0x65,0x3d,0x26,0x78,0x69,0x6e,0x31,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x5d,0x5b,0x67,0x65,0x74,0x5f, - 0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x20,0x78,0x69,0x6e, - 0x31,0x5f,0x6c,0x6f,0x61,0x64,0x3d,0x26,0x78,0x69,0x6e,0x31,0x5b,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x2b,0x31,0x29, - 0x20,0x25,0x20,0x38,0x5d,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20, - 0x75,0x69,0x6e,0x74,0x34,0x2a,0x20,0x78,0x69,0x6e,0x32,0x5f,0x73,0x74,0x6f,0x72,0x65,0x3d,0x26,0x78,0x69,0x6e,0x32,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61, - 0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x5d,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63, - 0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x20,0x78,0x69,0x6e,0x32,0x5f,0x6c,0x6f,0x61,0x64,0x3d,0x26,0x78,0x69,0x6e,0x32,0x5b,0x28,0x67,0x65,0x74,0x5f,0x6c, - 0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x2b,0x31,0x29,0x20,0x25,0x20,0x38,0x5d,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28, - 0x30,0x29,0x5d,0x3b,0x0a,0x2a,0x78,0x69,0x6e,0x32,0x5f,0x73,0x74,0x6f,0x72,0x65,0x3d,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x28,0x30,0x2c,0x30,0x2c,0x30,0x2c,0x30, - 0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20, - 0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20, - 0x32,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x2c,0x69,0x31,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29, - 0x3b,0x20,0x69,0x3c,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x37,0x29,0x3b,0x20,0x2b,0x2b,0x69,0x2c,0x69,0x31,0x3d,0x28,0x69,0x31,0x2b,0x31,0x36,0x29,0x20, - 0x25,0x20,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x29,0x0a,0x7b,0x0a,0x74,0x65,0x78,0x74,0x20,0x5e,0x3d,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68, - 0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x69,0x31,0x29,0x5d,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f, - 0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x74,0x65,0x78,0x74,0x20,0x5e,0x3d,0x20,0x2a,0x78,0x69,0x6e,0x32,0x5f,0x6c,0x6f,0x61,0x64,0x3b,0x0a, - 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x30,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a, - 0x3c,0x31,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x74,0x65,0x78,0x74,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x28,0x41,0x45,0x53,0x30,0x2c,0x41,0x45, - 0x53,0x31,0x2c,0x41,0x45,0x53,0x32,0x2c,0x41,0x45,0x53,0x33,0x2c,0x74,0x65,0x78,0x74,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x45,0x78,0x70,0x61, - 0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x32,0x29,0x5b,0x6a,0x5d,0x29,0x3b,0x0a,0x2a,0x78,0x69,0x6e,0x31,0x5f,0x73,0x74,0x6f,0x72,0x65,0x3d,0x74,0x65,0x78,0x74,0x3b, - 0x0a,0x74,0x65,0x78,0x74,0x20,0x5e,0x3d,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x69,0x31,0x2b,0x38,0x29,0x5d,0x3b,0x0a, - 0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x74,0x65, - 0x78,0x74,0x20,0x5e,0x3d,0x20,0x2a,0x78,0x69,0x6e,0x31,0x5f,0x6c,0x6f,0x61,0x64,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c, - 0x20,0x31,0x30,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x31,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x74,0x65,0x78,0x74, - 0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x28,0x41,0x45,0x53,0x30,0x2c,0x41,0x45,0x53,0x31,0x2c,0x41,0x45,0x53,0x32,0x2c,0x41,0x45,0x53,0x33,0x2c,0x74, - 0x65,0x78,0x74,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x32,0x29,0x5b,0x6a,0x5d,0x29,0x3b, - 0x0a,0x2a,0x78,0x69,0x6e,0x32,0x5f,0x73,0x74,0x6f,0x72,0x65,0x3d,0x74,0x65,0x78,0x74,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b, - 0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x74,0x65,0x78,0x74,0x20,0x5e,0x3d,0x20,0x2a,0x78,0x69,0x6e,0x32, - 0x5f,0x6c,0x6f,0x61,0x64,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64, - 0x31,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c, - 0x6c,0x20,0x32,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x37,0x29, - 0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x74,0x65,0x78,0x74,0x20,0x5e,0x3d,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28, - 0x28,0x69,0x3c,0x3c,0x33,0x29,0x2b,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x31,0x29,0x5d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f, - 0x6c,0x6c,0x20,0x31,0x30,0x0a,0x66,0x6f,0x72,0x28,0x75,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x31,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x74, - 0x65,0x78,0x74,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x28,0x41,0x45,0x53,0x30,0x2c,0x41,0x45,0x53,0x31,0x2c,0x41,0x45,0x53,0x32,0x2c,0x41,0x45,0x53, - 0x33,0x2c,0x74,0x65,0x78,0x74,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x32,0x29,0x5b,0x6a, - 0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20, - 0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f, - 0x6c,0x6c,0x20,0x31,0x36,0x0a,0x66,0x6f,0x72,0x28,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x31,0x36,0x3b,0x20,0x69,0x2b,0x2b,0x29, - 0x0a,0x7b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x30,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d, - 0x30,0x3b,0x20,0x6a,0x3c,0x31,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x20,0x7b,0x0a,0x74,0x65,0x78,0x74,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x28,0x41, - 0x45,0x53,0x30,0x2c,0x41,0x45,0x53,0x31,0x2c,0x41,0x45,0x53,0x32,0x2c,0x41,0x45,0x53,0x33,0x2c,0x74,0x65,0x78,0x74,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20, - 0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x32,0x29,0x5b,0x6a,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43, - 0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x2a,0x78,0x69,0x6e,0x31,0x5f,0x73,0x74,0x6f,0x72,0x65, - 0x3d,0x74,0x65,0x78,0x74,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e, - 0x43,0x45,0x29,0x3b,0x0a,0x74,0x65,0x78,0x74,0x20,0x5e,0x3d,0x20,0x2a,0x78,0x69,0x6e,0x31,0x5f,0x6c,0x6f,0x61,0x64,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69, - 0x66,0x0a,0x7b,0x0a,0x76,0x73,0x74,0x6f,0x72,0x65,0x32,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x74,0x65,0x78,0x74,0x29,0x2c,0x67,0x65,0x74,0x5f, - 0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x2b,0x34,0x2c,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72, - 0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20, - 0x75,0x6c,0x6f,0x6e,0x67,0x20,0x53,0x74,0x61,0x74,0x65,0x5f,0x62,0x75,0x66,0x5b,0x38,0x2a,0x32,0x35,0x5d,0x3b,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x21,0x67,0x65,0x74, - 0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x53, - 0x74,0x61,0x74,0x65,0x3d,0x53,0x74,0x61,0x74,0x65,0x5f,0x62,0x75,0x66,0x2b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x32, - 0x35,0x3b,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32,0x35,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x53,0x74,0x61,0x74,0x65, - 0x5b,0x69,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x69,0x5d,0x3b,0x0a,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x31,0x36,0x30,0x30,0x5f,0x32,0x28,0x53,0x74,0x61, - 0x74,0x65,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32,0x35,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x73,0x74,0x61, - 0x74,0x65,0x73,0x5b,0x69,0x5d,0x3d,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x53,0x74,0x61,0x74,0x65,0x53,0x77,0x69,0x74,0x63, - 0x68,0x3d,0x53,0x74,0x61,0x74,0x65,0x5b,0x30,0x5d,0x26,0x33,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x64,0x65,0x73, - 0x74,0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e,0x42,0x72,0x61,0x6e,0x63,0x68,0x31,0x3d,0x53,0x74,0x61,0x74,0x65,0x53,0x77,0x69,0x74,0x63,0x68,0x3d,0x3d,0x30,0x3f,0x42, - 0x72,0x61,0x6e,0x63,0x68,0x30,0x3a,0x42,0x72,0x61,0x6e,0x63,0x68,0x31,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x64, - 0x65,0x73,0x74,0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e,0x42,0x72,0x61,0x6e,0x63,0x68,0x32,0x3d,0x53,0x74,0x61,0x74,0x65,0x53,0x77,0x69,0x74,0x63,0x68,0x3d,0x3d,0x32, - 0x3f,0x42,0x72,0x61,0x6e,0x63,0x68,0x32,0x3a,0x42,0x72,0x61,0x6e,0x63,0x68,0x33,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20, - 0x2a,0x64,0x65,0x73,0x74,0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e,0x42,0x72,0x61,0x6e,0x63,0x68,0x3d,0x53,0x74,0x61,0x74,0x65,0x53,0x77,0x69,0x74,0x63,0x68,0x3c,0x32, - 0x3f,0x64,0x65,0x73,0x74,0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e,0x42,0x72,0x61,0x6e,0x63,0x68,0x31,0x3a,0x64,0x65,0x73,0x74,0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e,0x42, - 0x72,0x61,0x6e,0x63,0x68,0x32,0x3b,0x0a,0x64,0x65,0x73,0x74,0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e,0x42,0x72,0x61,0x6e,0x63,0x68,0x5b,0x61,0x74,0x6f,0x6d,0x69,0x63, - 0x5f,0x69,0x6e,0x63,0x28,0x64,0x65,0x73,0x74,0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e,0x42,0x72,0x61,0x6e,0x63,0x68,0x2b,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x5d, - 0x3d,0x67,0x49,0x64,0x78,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f,0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f, - 0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x53,0x57,0x41,0x50,0x38,0x28,0x78,0x29,0x20, - 0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x35,0x36,0x29,0x20,0x7c,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x34,0x30,0x29,0x20,0x26,0x20,0x30,0x78, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x55,0x4c,0x29,0x20,0x7c,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x32, - 0x34,0x29,0x20,0x26,0x20,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x55,0x4c,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28, - 0x28,0x28,0x78,0x29,0x3e,0x3e,0x38,0x29,0x26,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x29,0x7c,0x28, - 0x28,0x28,0x78,0x29,0x3c,0x3c,0x38,0x29,0x26,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x29,0x20,0x5c, - 0x0a,0x7c,0x20,0x28,0x28,0x28,0x78,0x29,0x3c,0x3c,0x32,0x34,0x29,0x26,0x30,0x78,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x55,0x4c,0x29,0x7c,0x28,0x28,0x28,0x78,0x29,0x3c,0x3c,0x34,0x30,0x29,0x26,0x30,0x78,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x55,0x4c,0x29,0x7c,0x28,0x28,0x28,0x78,0x29,0x3c,0x3c,0x35,0x36,0x29,0x26,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x55,0x4c,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x53,0x57,0x41,0x50,0x34,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x28,0x78,0x29,0x20, - 0x3e,0x3e,0x20,0x32,0x34,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x55,0x29,0x20,0x7c,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x38,0x29,0x20,0x26,0x20, - 0x30,0x78,0x46,0x46,0x30,0x30,0x55,0x29,0x20,0x7c,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3c,0x3c,0x20,0x38,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x30,0x30,0x30, - 0x30,0x55,0x29,0x20,0x7c,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3c,0x3c,0x20,0x32,0x34,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x55, - 0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x53,0x6b,0x65,0x69,0x6e,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x42,0x72,0x61, - 0x6e,0x63,0x68,0x42,0x75,0x66,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x6f,0x75,0x74,0x70,0x75,0x74,0x2c,0x75,0x6c,0x6f, - 0x6e,0x67,0x20,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x64,0x78,0x3c,0x42,0x72,0x61,0x6e,0x63,0x68, - 0x42,0x75,0x66,0x5b,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x5d,0x29,0x20,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x42,0x72,0x61,0x6e,0x63, - 0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78,0x5d,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x68,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28,0x30,0x2c,0x53,0x4b,0x45, - 0x49,0x4e,0x35,0x31,0x32,0x5f,0x32,0x35,0x36,0x5f,0x49,0x56,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x5b,0x33,0x5d,0x3d,0x7b,0x20,0x30,0x78,0x30,0x30, - 0x55,0x4c,0x2c,0x30,0x78,0x37,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x20,0x7d, - 0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x70,0x2c,0x6d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66, - 0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x34,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x74,0x5b,0x30,0x5d,0x2b,0x3d, - 0x69,0x3c,0x33,0x3f,0x30,0x78,0x34,0x30,0x55,0x4c,0x3a,0x30,0x78,0x30,0x38,0x55,0x4c,0x3b,0x0a,0x74,0x5b,0x32,0x5d,0x3d,0x74,0x5b,0x30,0x5d,0x5e,0x74,0x5b,0x31, - 0x5d,0x3b,0x0a,0x6d,0x3d,0x28,0x69,0x3c,0x33,0x29,0x3f,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28,0x69,0x2c,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x3a,0x28,0x75,0x6c,0x6f, - 0x6e,0x67,0x38,0x29,0x28,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x32,0x34,0x5d,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c, - 0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x68,0x38,0x3d,0x68,0x2e,0x73, - 0x30,0x5e,0x68,0x2e,0x73,0x31,0x5e,0x68,0x2e,0x73,0x32,0x5e,0x68,0x2e,0x73,0x33,0x5e,0x68,0x2e,0x73,0x34,0x5e,0x68,0x2e,0x73,0x35,0x5e,0x68,0x2e,0x73,0x36,0x5e, - 0x68,0x2e,0x73,0x37,0x5e,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x4b,0x53,0x5f,0x50,0x41,0x52,0x49,0x54,0x59,0x3b,0x0a,0x70,0x3d,0x53,0x6b,0x65,0x69,0x6e,0x35,0x31,0x32, - 0x42,0x6c,0x6f,0x63,0x6b,0x28,0x6d,0x2c,0x68,0x2c,0x68,0x38,0x2c,0x74,0x29,0x3b,0x0a,0x68,0x3d,0x6d,0x5e,0x70,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x3d,0x69,0x3c,0x32, - 0x3f,0x30,0x78,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x3a,0x30,0x78,0x42,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x3b,0x0a,0x7d,0x0a,0x74,0x5b,0x30,0x5d,0x3d,0x30,0x78,0x30,0x38,0x55,0x4c,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x3d, - 0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x3b,0x0a,0x74,0x5b,0x32,0x5d,0x3d,0x74,0x5b,0x30,0x5d,0x5e, - 0x74,0x5b,0x31,0x5d,0x3b,0x0a,0x70,0x3d,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x29,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67, - 0x20,0x68,0x38,0x3d,0x68,0x2e,0x73,0x30,0x5e,0x68,0x2e,0x73,0x31,0x5e,0x68,0x2e,0x73,0x32,0x5e,0x68,0x2e,0x73,0x33,0x5e,0x68,0x2e,0x73,0x34,0x5e,0x68,0x2e,0x73, - 0x35,0x5e,0x68,0x2e,0x73,0x36,0x5e,0x68,0x2e,0x73,0x37,0x5e,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x4b,0x53,0x5f,0x50,0x41,0x52,0x49,0x54,0x59,0x3b,0x0a,0x70,0x3d,0x53, - 0x6b,0x65,0x69,0x6e,0x35,0x31,0x32,0x42,0x6c,0x6f,0x63,0x6b,0x28,0x70,0x2c,0x68,0x2c,0x68,0x38,0x2c,0x74,0x29,0x3b,0x0a,0x69,0x66,0x28,0x70,0x2e,0x73,0x33,0x3c, - 0x3d,0x54,0x61,0x72,0x67,0x65,0x74,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6f,0x75,0x74,0x49,0x64,0x78,0x3d,0x61,0x74,0x6f, - 0x6d,0x69,0x63,0x5f,0x69,0x6e,0x63,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x2b,0x30,0x78,0x46,0x46,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x49,0x64,0x78,0x3c, - 0x30,0x78,0x46,0x46,0x29,0x20,0x7b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x6f,0x75,0x74,0x70,0x75,0x74, - 0x29,0x5b,0x6f,0x75,0x74,0x49,0x64,0x78,0x5d,0x3d,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78,0x5d,0x2b,0x28,0x75,0x69,0x6e,0x74,0x29,0x67, - 0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f,0x66, - 0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x57,0x41,0x50,0x38,0x28,0x78,0x29,0x20,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x61,0x73,0x5f,0x75,0x63,0x68,0x61,0x72, - 0x38,0x28,0x78,0x29,0x2e,0x73,0x37,0x36,0x35,0x34,0x33,0x32,0x31,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4a,0x48,0x58,0x4f,0x52,0x20,0x5c,0x0a, - 0x68,0x30,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x30,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x30,0x6c,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b, - 0x31,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x31,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x32,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x31,0x6c,0x20,0x5e,0x3d,0x20, - 0x69,0x6e,0x70,0x75,0x74,0x5b,0x33,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x32,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x34,0x5d,0x3b,0x20,0x5c,0x0a,0x68, - 0x32,0x6c,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x35,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x33,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x36, - 0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x33,0x6c,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x37,0x5d,0x3b,0x20,0x5c,0x0a,0x5c,0x0a,0x45,0x38,0x3b,0x20,0x5c,0x0a, - 0x5c,0x0a,0x68,0x34,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x30,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x34,0x6c,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75, - 0x74,0x5b,0x31,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x35,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x32,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x35,0x6c,0x20,0x5e, - 0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x33,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x36,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x34,0x5d,0x3b,0x20,0x5c, - 0x0a,0x68,0x36,0x6c,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x35,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x37,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74, - 0x5b,0x36,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x37,0x6c,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x37,0x5d,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20, - 0x76,0x6f,0x69,0x64,0x20,0x4a,0x48,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x5f, - 0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, - 0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x6f,0x75,0x74,0x70,0x75,0x74,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x75,0x69,0x6e,0x74,0x20, - 0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78, - 0x28,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x64,0x78,0x3c,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x5d,0x29,0x20,0x7b, - 0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78,0x5d,0x3b,0x0a,0x73,0x70,0x68,0x5f, - 0x75,0x36,0x34,0x20,0x68,0x30,0x68,0x3d,0x30,0x78,0x45,0x42,0x44,0x33,0x32,0x30,0x32,0x43,0x34,0x31,0x41,0x33,0x39,0x38,0x45,0x42,0x55,0x4c,0x2c,0x68,0x30,0x6c, - 0x3d,0x30,0x78,0x43,0x31,0x34,0x35,0x42,0x32,0x39,0x43,0x37,0x42,0x42,0x45,0x43,0x44,0x39,0x32,0x55,0x4c,0x2c,0x68,0x31,0x68,0x3d,0x30,0x78,0x46,0x41,0x43,0x37, - 0x44,0x34,0x36,0x30,0x39,0x31,0x35,0x31,0x39,0x33,0x31,0x43,0x55,0x4c,0x2c,0x68,0x31,0x6c,0x3d,0x30,0x78,0x30,0x33,0x38,0x41,0x35,0x30,0x37,0x45,0x44,0x36,0x38, - 0x32,0x30,0x30,0x32,0x36,0x55,0x4c,0x2c,0x68,0x32,0x68,0x3d,0x30,0x78,0x34,0x35,0x42,0x39,0x32,0x36,0x37,0x37,0x32,0x36,0x39,0x45,0x32,0x33,0x41,0x34,0x55,0x4c, - 0x2c,0x68,0x32,0x6c,0x3d,0x30,0x78,0x37,0x37,0x39,0x34,0x31,0x41,0x44,0x34,0x34,0x38,0x31,0x41,0x46,0x42,0x45,0x30,0x55,0x4c,0x2c,0x68,0x33,0x68,0x3d,0x30,0x78, - 0x37,0x41,0x31,0x37,0x36,0x42,0x30,0x32,0x32,0x36,0x41,0x42,0x42,0x35,0x43,0x44,0x55,0x4c,0x2c,0x68,0x33,0x6c,0x3d,0x30,0x78,0x41,0x38,0x32,0x46,0x46,0x46,0x30, - 0x46,0x34,0x32,0x32,0x34,0x46,0x30,0x35,0x36,0x55,0x4c,0x3b,0x0a,0x73,0x70,0x68,0x5f,0x75,0x36,0x34,0x20,0x68,0x34,0x68,0x3d,0x30,0x78,0x37,0x35,0x34,0x44,0x32, - 0x45,0x37,0x46,0x38,0x39,0x39,0x36,0x41,0x33,0x37,0x31,0x55,0x4c,0x2c,0x68,0x34,0x6c,0x3d,0x30,0x78,0x36,0x32,0x45,0x32,0x37,0x44,0x46,0x37,0x30,0x38,0x34,0x39, - 0x31,0x34,0x31,0x44,0x55,0x4c,0x2c,0x68,0x35,0x68,0x3d,0x30,0x78,0x39,0x34,0x38,0x46,0x32,0x34,0x37,0x36,0x46,0x37,0x39,0x35,0x37,0x36,0x32,0x37,0x55,0x4c,0x2c, - 0x68,0x35,0x6c,0x3d,0x30,0x78,0x36,0x43,0x32,0x39,0x38,0x30,0x34,0x37,0x35,0x37,0x42,0x36,0x44,0x35,0x38,0x37,0x55,0x4c,0x2c,0x68,0x36,0x68,0x3d,0x30,0x78,0x36, - 0x43,0x30,0x44,0x38,0x45,0x41,0x43,0x32,0x44,0x32,0x37,0x35,0x45,0x35,0x43,0x55,0x4c,0x2c,0x68,0x36,0x6c,0x3d,0x30,0x78,0x30,0x46,0x37,0x41,0x30,0x35,0x35,0x37, - 0x43,0x36,0x35,0x30,0x38,0x34,0x35,0x31,0x55,0x4c,0x2c,0x68,0x37,0x68,0x3d,0x30,0x78,0x45,0x41,0x31,0x32,0x32,0x34,0x37,0x30,0x36,0x37,0x44,0x33,0x45,0x34,0x37, - 0x42,0x55,0x4c,0x2c,0x68,0x37,0x6c,0x3d,0x30,0x78,0x36,0x39,0x44,0x37,0x31,0x43,0x44,0x33,0x31,0x33,0x41,0x42,0x45,0x33,0x38,0x39,0x55,0x4c,0x3b,0x0a,0x73,0x70, - 0x68,0x5f,0x75,0x36,0x34,0x20,0x74,0x6d,0x70,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x33,0x3b,0x20,0x2b, - 0x2b,0x69,0x29,0x20,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x38,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20, - 0x73,0x68,0x69,0x66,0x74,0x65,0x64,0x3d,0x69,0x3c,0x3c,0x33,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38, - 0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x69,0x6e,0x70,0x75,0x74,0x5b,0x78,0x5d,0x3d,0x28,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x73,0x68,0x69,0x66,0x74,0x65, - 0x64,0x2b,0x78,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x4a,0x48,0x58,0x4f,0x52,0x3b,0x0a,0x7d,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b, - 0x38,0x5d,0x3d,0x7b,0x20,0x28,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x32,0x34,0x5d,0x29,0x2c,0x30,0x78,0x38,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c, + 0x28,0x32,0x29,0x29,0x3b,0x0a,0x74,0x20,0x5e,0x3d,0x20,0x63,0x68,0x75,0x6e,0x6b,0x32,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20, + 0x63,0x68,0x75,0x6e,0x6b,0x33,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e, + 0x4b,0x28,0x33,0x29,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x52,0x57,0x5a, + 0x29,0x20,0x7c,0x7c,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x55,0x50,0x58,0x32,0x29,0x29,0x0a,0x53,0x43,0x52, + 0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x31,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x31, + 0x2b,0x62,0x78,0x31,0x29,0x3b,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x32,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69, + 0x6e,0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x33,0x2b,0x62,0x78,0x30,0x29,0x3b,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e, + 0x4b,0x28,0x33,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x32,0x2b,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x2a,0x29, + 0x61,0x29,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x31, + 0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x33,0x2b,0x62,0x78,0x31,0x29,0x3b,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50, + 0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x32,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63,0x68,0x75,0x6e,0x6b,0x31,0x2b,0x62,0x78,0x30,0x29, + 0x3b,0x0a,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x33,0x29,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x34,0x28,0x63, + 0x68,0x75,0x6e,0x6b,0x32,0x2b,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a, + 0x7d,0x0a,0x61,0x5b,0x31,0x5d,0x2b,0x3d,0x74,0x2e,0x73,0x31,0x3b,0x0a,0x61,0x5b,0x30,0x5d,0x2b,0x3d,0x74,0x2e,0x73,0x30,0x3b,0x0a,0x53,0x43,0x52,0x41,0x54,0x43, + 0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x28,0x30,0x29,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x23, + 0x69,0x66,0x64,0x65,0x66,0x20,0x5f,0x5f,0x4e,0x56,0x5f,0x43,0x4c,0x5f,0x43,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62, + 0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x63,0x68,0x61,0x72,0x2a,0x29,0x28,0x53,0x63, + 0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x29,0x2b,0x69,0x64,0x78,0x29,0x3d,0x2a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x69,0x6e,0x65,0x3b, + 0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x61,0x29,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x6d,0x70,0x3b,0x0a, + 0x62,0x78,0x31,0x3d,0x62,0x78,0x30,0x3b,0x0a,0x62,0x78,0x30,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x63,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x75,0x6e, + 0x64,0x65,0x66,0x20,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x43,0x48,0x55,0x4e,0x4b,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f,0x66,0x65,0x6e,0x63,0x65, + 0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66, + 0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f, + 0x73,0x69,0x7a,0x65,0x28,0x38,0x2c,0x38,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x63,0x6e,0x32,0x28, + 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2c,0x5f,0x5f,0x67,0x6c,0x6f, + 0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20, + 0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x30,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x31,0x2c, + 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x32,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, + 0x75,0x69,0x6e,0x74,0x20,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x33,0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x5f,0x5f, + 0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x30,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x31,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41, + 0x45,0x53,0x32,0x5b,0x32,0x35,0x36,0x5d,0x2c,0x41,0x45,0x53,0x33,0x5b,0x32,0x35,0x36,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x45,0x78,0x70,0x61,0x6e,0x64,0x65, + 0x64,0x4b,0x65,0x79,0x32,0x5b,0x34,0x30,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x34,0x20,0x74,0x65,0x78,0x74,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f, + 0x6e,0x67,0x20,0x67,0x49,0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74, + 0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x2a,0x38,0x2b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x20, + 0x69,0x3c,0x32,0x35,0x36,0x3b,0x20,0x69,0x2b,0x3d,0x38,0x2a,0x38,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x74,0x6d,0x70,0x3d, + 0x41,0x45,0x53,0x30,0x5f,0x43,0x5b,0x69,0x5d,0x3b,0x0a,0x41,0x45,0x53,0x30,0x5b,0x69,0x5d,0x3d,0x74,0x6d,0x70,0x3b,0x0a,0x41,0x45,0x53,0x31,0x5b,0x69,0x5d,0x3d, + 0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x38,0x55,0x29,0x3b,0x0a,0x41,0x45,0x53,0x32,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74, + 0x6d,0x70,0x2c,0x31,0x36,0x55,0x29,0x3b,0x0a,0x41,0x45,0x53,0x33,0x5b,0x69,0x5d,0x3d,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x74,0x6d,0x70,0x2c,0x32,0x34,0x55,0x29, + 0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29, + 0x3b,0x0a,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45, + 0x44,0x5f,0x49,0x4e,0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x30,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x67,0x49,0x64,0x78,0x2a,0x28, + 0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e,0x44,0x45,0x58, + 0x20,0x3d,0x3d,0x20,0x31,0x29,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c, + 0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x28,0x67,0x49,0x64,0x78,0x2f,0x57,0x4f, + 0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x28,0x67,0x49, + 0x64,0x78,0x20,0x25,0x20,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64, + 0x2b,0x3d,0x67,0x49,0x64,0x78,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x53,0x54,0x52,0x49,0x44,0x45,0x44,0x5f,0x49,0x4e, + 0x44,0x45,0x58,0x20,0x3d,0x3d,0x20,0x32,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x3d,0x28,0x67,0x49,0x64,0x78,0x2f,0x57,0x4f,0x52,0x4b, + 0x53,0x49,0x5a,0x45,0x29,0x2a,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x34,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x2b,0x4d,0x45,0x4d,0x5f,0x43, + 0x48,0x55,0x4e,0x4b,0x2a,0x28,0x67,0x49,0x64,0x78,0x20,0x25,0x20,0x57,0x4f,0x52,0x4b,0x53,0x49,0x5a,0x45,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x23, + 0x69,0x66,0x20,0x64,0x65,0x66,0x69,0x6e,0x65,0x64,0x28,0x5f,0x5f,0x54,0x61,0x68,0x69,0x74,0x69,0x5f,0x5f,0x29,0x20,0x7c,0x7c,0x20,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x64,0x28,0x5f,0x5f,0x50,0x69,0x74,0x63,0x61,0x69,0x72,0x6e,0x5f,0x5f,0x29,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x34, + 0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x32,0x29,0x5b,0x69, + 0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x69,0x2b,0x34,0x5d,0x3b,0x0a,0x74,0x65,0x78,0x74,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x34,0x28,0x67,0x65,0x74,0x5f,0x6c, + 0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x2b,0x34,0x2c,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x73,0x74, + 0x61,0x74,0x65,0x73,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x74,0x65,0x78,0x74,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x34,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63, + 0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x2b,0x34,0x2c,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x73,0x74,0x61,0x74, + 0x65,0x73,0x29,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x32,0x29,0x5b,0x30,0x5d,0x3d, + 0x76,0x6c,0x6f,0x61,0x64,0x38,0x28,0x31,0x2c,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x73,0x74,0x61,0x74,0x65,0x73, + 0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x41,0x45,0x53,0x45,0x78,0x70,0x61,0x6e,0x64,0x4b,0x65,0x79,0x32,0x35,0x36,0x28,0x45,0x78,0x70,0x61,0x6e,0x64, + 0x65,0x64,0x4b,0x65,0x79,0x32,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d, + 0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d, + 0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x78,0x69,0x6e,0x31, + 0x5b,0x38,0x5d,0x5b,0x38,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x20,0x78,0x69,0x6e,0x32,0x5b,0x38,0x5d,0x5b,0x38,0x5d, + 0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x20,0x78,0x69,0x6e,0x31,0x5f,0x73,0x74,0x6f,0x72,0x65,0x3d,0x26,0x78,0x69,0x6e, + 0x31,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x5d,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28, + 0x30,0x29,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x20,0x78,0x69,0x6e,0x31,0x5f,0x6c,0x6f,0x61,0x64,0x3d,0x26,0x78, + 0x69,0x6e,0x31,0x5b,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x2b,0x31,0x29,0x20,0x25,0x20,0x38,0x5d,0x5b,0x67,0x65,0x74, + 0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x20,0x78,0x69, + 0x6e,0x32,0x5f,0x73,0x74,0x6f,0x72,0x65,0x3d,0x26,0x78,0x69,0x6e,0x32,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x5d,0x5b, + 0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a, + 0x20,0x78,0x69,0x6e,0x32,0x5f,0x6c,0x6f,0x61,0x64,0x3d,0x26,0x78,0x69,0x6e,0x32,0x5b,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31, + 0x29,0x2b,0x31,0x29,0x20,0x25,0x20,0x38,0x5d,0x5b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x5d,0x3b,0x0a,0x2a,0x78,0x69,0x6e, + 0x32,0x5f,0x73,0x74,0x6f,0x72,0x65,0x3d,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x28,0x30,0x2c,0x30,0x2c,0x30,0x2c,0x30,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66, + 0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e, + 0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x32,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e,0x74, + 0x20,0x69,0x3d,0x30,0x2c,0x69,0x31,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x3b,0x20,0x69,0x3c,0x28,0x4d,0x45,0x4d,0x4f, + 0x52,0x59,0x3e,0x3e,0x37,0x29,0x3b,0x20,0x2b,0x2b,0x69,0x2c,0x69,0x31,0x3d,0x28,0x69,0x31,0x2b,0x31,0x36,0x29,0x20,0x25,0x20,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59, + 0x3e,0x3e,0x34,0x29,0x29,0x0a,0x7b,0x0a,0x74,0x65,0x78,0x74,0x20,0x5e,0x3d,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x69, + 0x31,0x29,0x5d,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45, + 0x29,0x3b,0x0a,0x74,0x65,0x78,0x74,0x20,0x5e,0x3d,0x20,0x2a,0x78,0x69,0x6e,0x32,0x5f,0x6c,0x6f,0x61,0x64,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75, + 0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x30,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x31,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29, + 0x0a,0x74,0x65,0x78,0x74,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x28,0x41,0x45,0x53,0x30,0x2c,0x41,0x45,0x53,0x31,0x2c,0x41,0x45,0x53,0x32,0x2c,0x41, + 0x45,0x53,0x33,0x2c,0x74,0x65,0x78,0x74,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x32,0x29, + 0x5b,0x6a,0x5d,0x29,0x3b,0x0a,0x2a,0x78,0x69,0x6e,0x31,0x5f,0x73,0x74,0x6f,0x72,0x65,0x3d,0x74,0x65,0x78,0x74,0x3b,0x0a,0x74,0x65,0x78,0x74,0x20,0x5e,0x3d,0x20, + 0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x69,0x31,0x2b,0x38,0x29,0x5d,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43, + 0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x74,0x65,0x78,0x74,0x20,0x5e,0x3d,0x20,0x2a,0x78,0x69, + 0x6e,0x31,0x5f,0x6c,0x6f,0x61,0x64,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x30,0x0a,0x66,0x6f,0x72,0x28,0x69, + 0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x31,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x74,0x65,0x78,0x74,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e, + 0x64,0x28,0x41,0x45,0x53,0x30,0x2c,0x41,0x45,0x53,0x31,0x2c,0x41,0x45,0x53,0x32,0x2c,0x41,0x45,0x53,0x33,0x2c,0x74,0x65,0x78,0x74,0x2c,0x28,0x28,0x75,0x69,0x6e, + 0x74,0x34,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x32,0x29,0x5b,0x6a,0x5d,0x29,0x3b,0x0a,0x2a,0x78,0x69,0x6e,0x32,0x5f,0x73,0x74, + 0x6f,0x72,0x65,0x3d,0x74,0x65,0x78,0x74,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45, + 0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x74,0x65,0x78,0x74,0x20,0x5e,0x3d,0x20,0x2a,0x78,0x69,0x6e,0x32,0x5f,0x6c,0x6f,0x61,0x64,0x3b,0x0a,0x23,0x65, + 0x6c,0x73,0x65,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x31,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63, + 0x61,0x6c,0x5f,0x69,0x64,0x28,0x31,0x29,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x32,0x0a,0x66,0x6f,0x72,0x20,0x28, + 0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x28,0x4d,0x45,0x4d,0x4f,0x52,0x59,0x3e,0x3e,0x37,0x29,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a, + 0x74,0x65,0x78,0x74,0x20,0x5e,0x3d,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5b,0x49,0x44,0x58,0x28,0x28,0x69,0x3c,0x3c,0x33,0x29,0x2b,0x6c,0x6f, + 0x63,0x61,0x6c,0x5f,0x69,0x64,0x31,0x29,0x5d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x30,0x0a,0x66,0x6f,0x72, + 0x28,0x75,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x31,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x74,0x65,0x78,0x74,0x3d,0x41,0x45,0x53,0x5f,0x52, + 0x6f,0x75,0x6e,0x64,0x28,0x41,0x45,0x53,0x30,0x2c,0x41,0x45,0x53,0x31,0x2c,0x41,0x45,0x53,0x32,0x2c,0x41,0x45,0x53,0x33,0x2c,0x74,0x65,0x78,0x74,0x2c,0x28,0x28, + 0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65,0x64,0x4b,0x65,0x79,0x32,0x29,0x5b,0x6a,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e, + 0x64,0x69,0x66,0x0a,0x7d,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x5f,0x46,0x41,0x4d,0x49,0x4c,0x59,0x20,0x3d,0x3d,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59, + 0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x29,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x36,0x0a,0x66,0x6f,0x72, + 0x28,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x31,0x36,0x3b,0x20,0x69,0x2b,0x2b,0x29,0x0a,0x7b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d, + 0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x30,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x31,0x30,0x3b,0x20, + 0x2b,0x2b,0x6a,0x29,0x20,0x7b,0x0a,0x74,0x65,0x78,0x74,0x3d,0x41,0x45,0x53,0x5f,0x52,0x6f,0x75,0x6e,0x64,0x28,0x41,0x45,0x53,0x30,0x2c,0x41,0x45,0x53,0x31,0x2c, + 0x41,0x45,0x53,0x32,0x2c,0x41,0x45,0x53,0x33,0x2c,0x74,0x65,0x78,0x74,0x2c,0x28,0x28,0x75,0x69,0x6e,0x74,0x34,0x20,0x2a,0x29,0x45,0x78,0x70,0x61,0x6e,0x64,0x65, + 0x64,0x4b,0x65,0x79,0x32,0x29,0x5b,0x6a,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f, + 0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x2a,0x78,0x69,0x6e,0x31,0x5f,0x73,0x74,0x6f,0x72,0x65,0x3d,0x74,0x65,0x78,0x74,0x3b,0x0a,0x62,0x61, + 0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x74,0x65,0x78,0x74, + 0x20,0x5e,0x3d,0x20,0x2a,0x78,0x69,0x6e,0x31,0x5f,0x6c,0x6f,0x61,0x64,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7b,0x0a,0x76,0x73,0x74,0x6f,0x72, + 0x65,0x32,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x28,0x74,0x65,0x78,0x74,0x29,0x2c,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28, + 0x31,0x29,0x2b,0x34,0x2c,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42, + 0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x53,0x74,0x61, + 0x74,0x65,0x5f,0x62,0x75,0x66,0x5b,0x38,0x2a,0x32,0x35,0x5d,0x3b,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x21,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64, + 0x28,0x31,0x29,0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x53,0x74,0x61,0x74,0x65,0x3d,0x53,0x74,0x61,0x74, + 0x65,0x5f,0x62,0x75,0x66,0x2b,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x32,0x35,0x3b,0x0a,0x66,0x6f,0x72,0x28,0x69,0x6e, + 0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32,0x35,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65, + 0x73,0x5b,0x69,0x5d,0x3b,0x0a,0x6b,0x65,0x63,0x63,0x61,0x6b,0x66,0x31,0x36,0x30,0x30,0x5f,0x32,0x28,0x53,0x74,0x61,0x74,0x65,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x28, + 0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x32,0x35,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x69,0x5d,0x3d,0x53,0x74, + 0x61,0x74,0x65,0x5b,0x69,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x53,0x74,0x61,0x74,0x65,0x53,0x77,0x69,0x74,0x63,0x68,0x3d,0x53,0x74,0x61,0x74,0x65,0x5b,0x30, + 0x5d,0x26,0x33,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x64,0x65,0x73,0x74,0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e,0x42, + 0x72,0x61,0x6e,0x63,0x68,0x31,0x3d,0x53,0x74,0x61,0x74,0x65,0x53,0x77,0x69,0x74,0x63,0x68,0x3d,0x3d,0x30,0x3f,0x42,0x72,0x61,0x6e,0x63,0x68,0x30,0x3a,0x42,0x72, + 0x61,0x6e,0x63,0x68,0x31,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x64,0x65,0x73,0x74,0x69,0x6e,0x61,0x74,0x69,0x6f, + 0x6e,0x42,0x72,0x61,0x6e,0x63,0x68,0x32,0x3d,0x53,0x74,0x61,0x74,0x65,0x53,0x77,0x69,0x74,0x63,0x68,0x3d,0x3d,0x32,0x3f,0x42,0x72,0x61,0x6e,0x63,0x68,0x32,0x3a, + 0x42,0x72,0x61,0x6e,0x63,0x68,0x33,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x64,0x65,0x73,0x74,0x69,0x6e,0x61,0x74, + 0x69,0x6f,0x6e,0x42,0x72,0x61,0x6e,0x63,0x68,0x3d,0x53,0x74,0x61,0x74,0x65,0x53,0x77,0x69,0x74,0x63,0x68,0x3c,0x32,0x3f,0x64,0x65,0x73,0x74,0x69,0x6e,0x61,0x74, + 0x69,0x6f,0x6e,0x42,0x72,0x61,0x6e,0x63,0x68,0x31,0x3a,0x64,0x65,0x73,0x74,0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e,0x42,0x72,0x61,0x6e,0x63,0x68,0x32,0x3b,0x0a,0x64, + 0x65,0x73,0x74,0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e,0x42,0x72,0x61,0x6e,0x63,0x68,0x5b,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x69,0x6e,0x63,0x28,0x64,0x65,0x73,0x74, + 0x69,0x6e,0x61,0x74,0x69,0x6f,0x6e,0x42,0x72,0x61,0x6e,0x63,0x68,0x2b,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x5d,0x3d,0x67,0x49,0x64,0x78,0x3b,0x0a,0x7d,0x0a, + 0x7d,0x0a,0x6d,0x65,0x6d,0x5f,0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45, + 0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x53,0x57,0x41,0x50,0x38,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20, + 0x35,0x36,0x29,0x20,0x7c,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x34,0x30,0x29,0x20,0x26,0x20,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x55,0x4c,0x29,0x20,0x7c,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x32,0x34,0x29,0x20,0x26,0x20,0x30,0x78,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x55,0x4c,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x28,0x78,0x29,0x3e,0x3e,0x38,0x29,0x26, + 0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x29,0x7c,0x28,0x28,0x28,0x78,0x29,0x3c,0x3c,0x38,0x29,0x26, + 0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x29,0x20,0x5c,0x0a,0x7c,0x20,0x28,0x28,0x28,0x78,0x29,0x3c, + 0x3c,0x32,0x34,0x29,0x26,0x30,0x78,0x30,0x30,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x29,0x7c,0x28,0x28,0x28,0x78,0x29, + 0x3c,0x3c,0x34,0x30,0x29,0x26,0x30,0x78,0x30,0x30,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x29,0x7c,0x28,0x28,0x28,0x78, + 0x29,0x3c,0x3c,0x35,0x36,0x29,0x26,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x29,0x29,0x0a,0x23,0x64, + 0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x53,0x57,0x41,0x50,0x34,0x28,0x78,0x29,0x20,0x28,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x32,0x34,0x29,0x20,0x26,0x20, + 0x30,0x78,0x46,0x46,0x55,0x29,0x20,0x7c,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3e,0x3e,0x20,0x38,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x30,0x30,0x55,0x29,0x20, + 0x7c,0x20,0x28,0x28,0x28,0x78,0x29,0x20,0x3c,0x3c,0x20,0x38,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x55,0x29,0x20,0x7c,0x20,0x28,0x28,0x28, + 0x78,0x29,0x20,0x3c,0x3c,0x20,0x32,0x34,0x29,0x20,0x26,0x20,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e, + 0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x53,0x6b,0x65,0x69,0x6e,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74, + 0x61,0x74,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x2c,0x5f,0x5f, + 0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x6f,0x75,0x74,0x70,0x75,0x74,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x54,0x61,0x72,0x67,0x65,0x74, + 0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3d, + 0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x64,0x78,0x3c,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x54,0x68,0x72,0x65,0x61, + 0x64,0x73,0x5d,0x29,0x20,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78,0x5d, + 0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x68,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28,0x30,0x2c,0x53,0x4b,0x45,0x49,0x4e,0x35,0x31,0x32,0x5f,0x32,0x35,0x36, + 0x5f,0x49,0x56,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x5b,0x33,0x5d,0x3d,0x7b,0x20,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x37,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x20,0x7d,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20, + 0x70,0x2c,0x6d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20, + 0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x34,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x74,0x5b,0x30,0x5d,0x2b,0x3d,0x69,0x3c,0x33,0x3f,0x30,0x78,0x34,0x30,0x55, + 0x4c,0x3a,0x30,0x78,0x30,0x38,0x55,0x4c,0x3b,0x0a,0x74,0x5b,0x32,0x5d,0x3d,0x74,0x5b,0x30,0x5d,0x5e,0x74,0x5b,0x31,0x5d,0x3b,0x0a,0x6d,0x3d,0x28,0x69,0x3c,0x33, + 0x29,0x3f,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28,0x69,0x2c,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x3a,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x29,0x28,0x73,0x74,0x61,0x74, + 0x65,0x73,0x5b,0x32,0x34,0x5d,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30, + 0x55,0x4c,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x68,0x38,0x3d,0x68,0x2e,0x73,0x30,0x5e,0x68,0x2e,0x73,0x31,0x5e,0x68,0x2e, + 0x73,0x32,0x5e,0x68,0x2e,0x73,0x33,0x5e,0x68,0x2e,0x73,0x34,0x5e,0x68,0x2e,0x73,0x35,0x5e,0x68,0x2e,0x73,0x36,0x5e,0x68,0x2e,0x73,0x37,0x5e,0x53,0x4b,0x45,0x49, + 0x4e,0x5f,0x4b,0x53,0x5f,0x50,0x41,0x52,0x49,0x54,0x59,0x3b,0x0a,0x70,0x3d,0x53,0x6b,0x65,0x69,0x6e,0x35,0x31,0x32,0x42,0x6c,0x6f,0x63,0x6b,0x28,0x6d,0x2c,0x68, + 0x2c,0x68,0x38,0x2c,0x74,0x29,0x3b,0x0a,0x68,0x3d,0x6d,0x5e,0x70,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x3d,0x69,0x3c,0x32,0x3f,0x30,0x78,0x33,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x3a,0x30,0x78,0x42,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55, + 0x4c,0x3b,0x0a,0x7d,0x0a,0x74,0x5b,0x30,0x5d,0x3d,0x30,0x78,0x30,0x38,0x55,0x4c,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x3d,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x3b,0x0a,0x74,0x5b,0x32,0x5d,0x3d,0x74,0x5b,0x30,0x5d,0x5e,0x74,0x5b,0x31,0x5d,0x3b,0x0a,0x70,0x3d,0x28, + 0x75,0x6c,0x6f,0x6e,0x67,0x38,0x29,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x68,0x38,0x3d,0x68,0x2e,0x73,0x30,0x5e, + 0x68,0x2e,0x73,0x31,0x5e,0x68,0x2e,0x73,0x32,0x5e,0x68,0x2e,0x73,0x33,0x5e,0x68,0x2e,0x73,0x34,0x5e,0x68,0x2e,0x73,0x35,0x5e,0x68,0x2e,0x73,0x36,0x5e,0x68,0x2e, + 0x73,0x37,0x5e,0x53,0x4b,0x45,0x49,0x4e,0x5f,0x4b,0x53,0x5f,0x50,0x41,0x52,0x49,0x54,0x59,0x3b,0x0a,0x70,0x3d,0x53,0x6b,0x65,0x69,0x6e,0x35,0x31,0x32,0x42,0x6c, + 0x6f,0x63,0x6b,0x28,0x70,0x2c,0x68,0x2c,0x68,0x38,0x2c,0x74,0x29,0x3b,0x0a,0x69,0x66,0x28,0x70,0x2e,0x73,0x33,0x3c,0x3d,0x54,0x61,0x72,0x67,0x65,0x74,0x29,0x20, + 0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6f,0x75,0x74,0x49,0x64,0x78,0x3d,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x69,0x6e,0x63,0x28,0x6f, + 0x75,0x74,0x70,0x75,0x74,0x2b,0x30,0x78,0x46,0x46,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x49,0x64,0x78,0x3c,0x30,0x78,0x46,0x46,0x29,0x20,0x7b,0x0a,0x28, + 0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x6f,0x75,0x74,0x70,0x75,0x74,0x29,0x5b,0x6f,0x75,0x74,0x49,0x64,0x78,0x5d, + 0x3d,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78,0x5d,0x2b,0x28,0x75,0x69,0x6e,0x74,0x29,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, + 0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x6d,0x65,0x6d,0x5f,0x66,0x65,0x6e,0x63,0x65,0x28,0x43,0x4c,0x4b,0x5f, + 0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x57,0x41, + 0x50,0x38,0x28,0x78,0x29,0x20,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x61,0x73,0x5f,0x75,0x63,0x68,0x61,0x72,0x38,0x28,0x78,0x29,0x2e,0x73,0x37,0x36,0x35, + 0x34,0x33,0x32,0x31,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4a,0x48,0x58,0x4f,0x52,0x20,0x5c,0x0a,0x68,0x30,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e, + 0x70,0x75,0x74,0x5b,0x30,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x30,0x6c,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x31,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x31,0x68, + 0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x32,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x31,0x6c,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x33,0x5d,0x3b, + 0x20,0x5c,0x0a,0x68,0x32,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x34,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x32,0x6c,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70, + 0x75,0x74,0x5b,0x35,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x33,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x36,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x33,0x6c,0x20, + 0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x37,0x5d,0x3b,0x20,0x5c,0x0a,0x5c,0x0a,0x45,0x38,0x3b,0x20,0x5c,0x0a,0x5c,0x0a,0x68,0x34,0x68,0x20,0x5e,0x3d,0x20, + 0x69,0x6e,0x70,0x75,0x74,0x5b,0x30,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x34,0x6c,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x31,0x5d,0x3b,0x20,0x5c,0x0a,0x68, + 0x35,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x32,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x35,0x6c,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x33, + 0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x36,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x34,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x36,0x6c,0x20,0x5e,0x3d,0x20,0x69, + 0x6e,0x70,0x75,0x74,0x5b,0x35,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x37,0x68,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x36,0x5d,0x3b,0x20,0x5c,0x0a,0x68,0x37, + 0x6c,0x20,0x5e,0x3d,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x37,0x5d,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x4a,0x48,0x28,0x5f, + 0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75, + 0x69,0x6e,0x74,0x20,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x6f,0x75, + 0x74,0x70,0x75,0x74,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a, + 0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x64, + 0x78,0x3c,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x5d,0x29,0x20,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d, + 0x32,0x35,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78,0x5d,0x3b,0x0a,0x73,0x70,0x68,0x5f,0x75,0x36,0x34,0x20,0x68,0x30,0x68,0x3d,0x30, + 0x78,0x45,0x42,0x44,0x33,0x32,0x30,0x32,0x43,0x34,0x31,0x41,0x33,0x39,0x38,0x45,0x42,0x55,0x4c,0x2c,0x68,0x30,0x6c,0x3d,0x30,0x78,0x43,0x31,0x34,0x35,0x42,0x32, + 0x39,0x43,0x37,0x42,0x42,0x45,0x43,0x44,0x39,0x32,0x55,0x4c,0x2c,0x68,0x31,0x68,0x3d,0x30,0x78,0x46,0x41,0x43,0x37,0x44,0x34,0x36,0x30,0x39,0x31,0x35,0x31,0x39, + 0x33,0x31,0x43,0x55,0x4c,0x2c,0x68,0x31,0x6c,0x3d,0x30,0x78,0x30,0x33,0x38,0x41,0x35,0x30,0x37,0x45,0x44,0x36,0x38,0x32,0x30,0x30,0x32,0x36,0x55,0x4c,0x2c,0x68, + 0x32,0x68,0x3d,0x30,0x78,0x34,0x35,0x42,0x39,0x32,0x36,0x37,0x37,0x32,0x36,0x39,0x45,0x32,0x33,0x41,0x34,0x55,0x4c,0x2c,0x68,0x32,0x6c,0x3d,0x30,0x78,0x37,0x37, + 0x39,0x34,0x31,0x41,0x44,0x34,0x34,0x38,0x31,0x41,0x46,0x42,0x45,0x30,0x55,0x4c,0x2c,0x68,0x33,0x68,0x3d,0x30,0x78,0x37,0x41,0x31,0x37,0x36,0x42,0x30,0x32,0x32, + 0x36,0x41,0x42,0x42,0x35,0x43,0x44,0x55,0x4c,0x2c,0x68,0x33,0x6c,0x3d,0x30,0x78,0x41,0x38,0x32,0x46,0x46,0x46,0x30,0x46,0x34,0x32,0x32,0x34,0x46,0x30,0x35,0x36, + 0x55,0x4c,0x3b,0x0a,0x73,0x70,0x68,0x5f,0x75,0x36,0x34,0x20,0x68,0x34,0x68,0x3d,0x30,0x78,0x37,0x35,0x34,0x44,0x32,0x45,0x37,0x46,0x38,0x39,0x39,0x36,0x41,0x33, + 0x37,0x31,0x55,0x4c,0x2c,0x68,0x34,0x6c,0x3d,0x30,0x78,0x36,0x32,0x45,0x32,0x37,0x44,0x46,0x37,0x30,0x38,0x34,0x39,0x31,0x34,0x31,0x44,0x55,0x4c,0x2c,0x68,0x35, + 0x68,0x3d,0x30,0x78,0x39,0x34,0x38,0x46,0x32,0x34,0x37,0x36,0x46,0x37,0x39,0x35,0x37,0x36,0x32,0x37,0x55,0x4c,0x2c,0x68,0x35,0x6c,0x3d,0x30,0x78,0x36,0x43,0x32, + 0x39,0x38,0x30,0x34,0x37,0x35,0x37,0x42,0x36,0x44,0x35,0x38,0x37,0x55,0x4c,0x2c,0x68,0x36,0x68,0x3d,0x30,0x78,0x36,0x43,0x30,0x44,0x38,0x45,0x41,0x43,0x32,0x44, + 0x32,0x37,0x35,0x45,0x35,0x43,0x55,0x4c,0x2c,0x68,0x36,0x6c,0x3d,0x30,0x78,0x30,0x46,0x37,0x41,0x30,0x35,0x35,0x37,0x43,0x36,0x35,0x30,0x38,0x34,0x35,0x31,0x55, + 0x4c,0x2c,0x68,0x37,0x68,0x3d,0x30,0x78,0x45,0x41,0x31,0x32,0x32,0x34,0x37,0x30,0x36,0x37,0x44,0x33,0x45,0x34,0x37,0x42,0x55,0x4c,0x2c,0x68,0x37,0x6c,0x3d,0x30, + 0x78,0x36,0x39,0x44,0x37,0x31,0x43,0x44,0x33,0x31,0x33,0x41,0x42,0x45,0x33,0x38,0x39,0x55,0x4c,0x3b,0x0a,0x73,0x70,0x68,0x5f,0x75,0x36,0x34,0x20,0x74,0x6d,0x70, + 0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x33,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x75,0x6c,0x6f, + 0x6e,0x67,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x38,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x65,0x64,0x3d,0x69, + 0x3c,0x3c,0x33,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a, + 0x69,0x6e,0x70,0x75,0x74,0x5b,0x78,0x5d,0x3d,0x28,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x73,0x68,0x69,0x66,0x74,0x65,0x64,0x2b,0x78,0x5d,0x29,0x3b,0x0a,0x7d,0x0a, + 0x4a,0x48,0x58,0x4f,0x52,0x3b,0x0a,0x7d,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x38,0x5d,0x3d,0x7b,0x20,0x28,0x73,0x74,0x61, + 0x74,0x65,0x73,0x5b,0x32,0x34,0x5d,0x29,0x2c,0x30,0x78,0x38,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78, + 0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x20,0x7d,0x3b,0x0a,0x4a,0x48,0x58, + 0x4f,0x52,0x3b,0x0a,0x7d,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x38,0x5d,0x3d,0x7b,0x20,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c, 0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30, - 0x55,0x4c,0x20,0x7d,0x3b,0x0a,0x4a,0x48,0x58,0x4f,0x52,0x3b,0x0a,0x7d,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x69,0x6e,0x70,0x75,0x74,0x5b,0x38,0x5d,0x3d, - 0x7b,0x20,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78, - 0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x34,0x30,0x30,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x20,0x7d,0x3b,0x0a,0x4a,0x48,0x58,0x4f,0x52,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x68,0x37,0x6c,0x3c,0x3d,0x54,0x61,0x72,0x67, - 0x65,0x74,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6f,0x75,0x74,0x49,0x64,0x78,0x3d,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x69, - 0x6e,0x63,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x2b,0x30,0x78,0x46,0x46,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x49,0x64,0x78,0x3c,0x30,0x78,0x46,0x46,0x29, - 0x20,0x7b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x6f,0x75,0x74,0x70,0x75,0x74,0x29,0x5b,0x6f,0x75,0x74, - 0x49,0x64,0x78,0x5d,0x3d,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78,0x5d,0x2b,0x28,0x75,0x69,0x6e,0x74,0x29,0x67,0x65,0x74,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, - 0x53,0x57,0x41,0x50,0x34,0x28,0x78,0x29,0x20,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x61,0x73,0x5f,0x75,0x63,0x68,0x61,0x72,0x34,0x28,0x78,0x29,0x2e,0x73,0x33, - 0x32,0x31,0x30,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x42,0x6c,0x61,0x6b,0x65,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, - 0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x42, - 0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x6f,0x75,0x74,0x70,0x75,0x74,0x2c,0x75, - 0x6c,0x6f,0x6e,0x67,0x20,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x64,0x78,0x3c,0x42,0x72,0x61,0x6e, - 0x63,0x68,0x42,0x75,0x66,0x5b,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x5d,0x29,0x20,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x42,0x72,0x61, - 0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78,0x5d,0x3b,0x0a,0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64,0x20,0x69,0x6e,0x74,0x20,0x6d,0x5b,0x31,0x36,0x5d,0x3b, - 0x0a,0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64,0x20,0x69,0x6e,0x74,0x20,0x76,0x5b,0x31,0x36,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x68,0x5b,0x38,0x5d,0x3b,0x0a, - 0x75,0x69,0x6e,0x74,0x20,0x62,0x69,0x74,0x6c,0x65,0x6e,0x3d,0x30,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x68,0x29,0x5b,0x30,0x5d,0x3d,0x76, - 0x6c,0x6f,0x61,0x64,0x38,0x28,0x30,0x55,0x2c,0x63,0x5f,0x49,0x56,0x32,0x35,0x36,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65, - 0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x33,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x31,0x36,0x20, - 0x2a,0x29,0x6d,0x29,0x5b,0x30,0x5d,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x31,0x36,0x28,0x69,0x2c,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, - 0x20,0x2a,0x29,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x31,0x36,0x3b, - 0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x6d,0x5b,0x78,0x5d,0x3d,0x53,0x57,0x41,0x50,0x34,0x28,0x6d,0x5b,0x78,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x69,0x74,0x6c, - 0x65,0x6e,0x2b,0x3d,0x35,0x31,0x32,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x31,0x36,0x20,0x2a,0x29,0x76,0x29,0x5b,0x30,0x5d,0x2e,0x6c,0x6f,0x3d,0x28,0x28,0x75, - 0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x68,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x31,0x36,0x20,0x2a,0x29,0x76,0x29,0x5b,0x30,0x5d,0x2e,0x68, - 0x69,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28,0x30,0x55,0x2c,0x63,0x5f,0x75,0x32,0x35,0x36,0x29,0x3b,0x0a,0x76,0x5b,0x31,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x69, - 0x74,0x6c,0x65,0x6e,0x3b,0x0a,0x76,0x5b,0x31,0x33,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x69,0x74,0x6c,0x65,0x6e,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74, - 0x20,0x72,0x3d,0x30,0x3b,0x20,0x72,0x3c,0x31,0x34,0x3b,0x20,0x72,0x2b,0x2b,0x29,0x20,0x7b,0x0a,0x47,0x53,0x28,0x30,0x2c,0x34,0x2c,0x30,0x78,0x38,0x2c,0x30,0x78, - 0x43,0x2c,0x30,0x78,0x30,0x29,0x3b,0x0a,0x47,0x53,0x28,0x31,0x2c,0x35,0x2c,0x30,0x78,0x39,0x2c,0x30,0x78,0x44,0x2c,0x30,0x78,0x32,0x29,0x3b,0x0a,0x47,0x53,0x28, - 0x32,0x2c,0x36,0x2c,0x30,0x78,0x41,0x2c,0x30,0x78,0x45,0x2c,0x30,0x78,0x34,0x29,0x3b,0x0a,0x47,0x53,0x28,0x33,0x2c,0x37,0x2c,0x30,0x78,0x42,0x2c,0x30,0x78,0x46, - 0x2c,0x30,0x78,0x36,0x29,0x3b,0x0a,0x47,0x53,0x28,0x30,0x2c,0x35,0x2c,0x30,0x78,0x41,0x2c,0x30,0x78,0x46,0x2c,0x30,0x78,0x38,0x29,0x3b,0x0a,0x47,0x53,0x28,0x31, - 0x2c,0x36,0x2c,0x30,0x78,0x42,0x2c,0x30,0x78,0x43,0x2c,0x30,0x78,0x41,0x29,0x3b,0x0a,0x47,0x53,0x28,0x32,0x2c,0x37,0x2c,0x30,0x78,0x38,0x2c,0x30,0x78,0x44,0x2c, - 0x30,0x78,0x43,0x29,0x3b,0x0a,0x47,0x53,0x28,0x33,0x2c,0x34,0x2c,0x30,0x78,0x39,0x2c,0x30,0x78,0x45,0x2c,0x30,0x78,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x28,0x28,0x75, - 0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x68,0x29,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x76,0x29,0x5b,0x30,0x5d,0x5e, - 0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x76,0x29,0x5b,0x31,0x5d,0x3b,0x0a,0x7d,0x0a,0x6d,0x5b,0x30,0x5d,0x3d,0x53,0x57,0x41,0x50,0x34,0x28,0x28,0x28, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x5b,0x34,0x38,0x5d,0x29,0x3b,0x0a,0x6d,0x5b, - 0x31,0x5d,0x3d,0x53,0x57,0x41,0x50,0x34,0x28,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x73,0x74,0x61,0x74,0x65, - 0x73,0x29,0x5b,0x34,0x39,0x5d,0x29,0x3b,0x0a,0x6d,0x5b,0x32,0x5d,0x3d,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x33,0x5d,0x3d, - 0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x34,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x35,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d, - 0x5b,0x36,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x37,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x38,0x5d,0x3d,0x30,0x78,0x30,0x30, - 0x55,0x3b,0x0a,0x6d,0x5b,0x39,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x31,0x30,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x31,0x31, - 0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x31,0x32,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x31,0x33,0x5d,0x3d,0x31,0x55,0x3b,0x0a, - 0x6d,0x5b,0x31,0x34,0x5d,0x3d,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x31,0x35,0x5d,0x3d,0x30,0x78,0x36,0x34,0x30,0x3b,0x0a,0x62,0x69,0x74,0x6c,0x65,0x6e,0x2b,0x3d,0x36, - 0x34,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x31,0x36,0x20,0x2a,0x29,0x76,0x29,0x5b,0x30,0x5d,0x2e,0x6c,0x6f,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a, - 0x29,0x68,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x31,0x36,0x20,0x2a,0x29,0x76,0x29,0x5b,0x30,0x5d,0x2e,0x68,0x69,0x3d,0x76,0x6c,0x6f,0x61, - 0x64,0x38,0x28,0x30,0x55,0x2c,0x63,0x5f,0x75,0x32,0x35,0x36,0x29,0x3b,0x0a,0x76,0x5b,0x31,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x69,0x74,0x6c,0x65,0x6e,0x3b,0x0a, - 0x76,0x5b,0x31,0x33,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x69,0x74,0x6c,0x65,0x6e,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x72,0x3d,0x30,0x3b,0x20, - 0x72,0x3c,0x31,0x34,0x3b,0x20,0x72,0x2b,0x2b,0x29,0x20,0x7b,0x0a,0x47,0x53,0x28,0x30,0x2c,0x34,0x2c,0x30,0x78,0x38,0x2c,0x30,0x78,0x43,0x2c,0x30,0x78,0x30,0x29, - 0x3b,0x0a,0x47,0x53,0x28,0x31,0x2c,0x35,0x2c,0x30,0x78,0x39,0x2c,0x30,0x78,0x44,0x2c,0x30,0x78,0x32,0x29,0x3b,0x0a,0x47,0x53,0x28,0x32,0x2c,0x36,0x2c,0x30,0x78, - 0x41,0x2c,0x30,0x78,0x45,0x2c,0x30,0x78,0x34,0x29,0x3b,0x0a,0x47,0x53,0x28,0x33,0x2c,0x37,0x2c,0x30,0x78,0x42,0x2c,0x30,0x78,0x46,0x2c,0x30,0x78,0x36,0x29,0x3b, - 0x0a,0x47,0x53,0x28,0x30,0x2c,0x35,0x2c,0x30,0x78,0x41,0x2c,0x30,0x78,0x46,0x2c,0x30,0x78,0x38,0x29,0x3b,0x0a,0x47,0x53,0x28,0x31,0x2c,0x36,0x2c,0x30,0x78,0x42, - 0x2c,0x30,0x78,0x43,0x2c,0x30,0x78,0x41,0x29,0x3b,0x0a,0x47,0x53,0x28,0x32,0x2c,0x37,0x2c,0x30,0x78,0x38,0x2c,0x30,0x78,0x44,0x2c,0x30,0x78,0x43,0x29,0x3b,0x0a, - 0x47,0x53,0x28,0x33,0x2c,0x34,0x2c,0x30,0x78,0x39,0x2c,0x30,0x78,0x45,0x2c,0x30,0x78,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a, - 0x29,0x68,0x29,0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x76,0x29,0x5b,0x30,0x5d,0x5e,0x28,0x28,0x75,0x69,0x6e,0x74, - 0x38,0x20,0x2a,0x29,0x76,0x29,0x5b,0x31,0x5d,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x38,0x3b,0x20,0x2b, - 0x2b,0x69,0x29,0x20,0x7b,0x0a,0x68,0x5b,0x69,0x5d,0x3d,0x53,0x57,0x41,0x50,0x34,0x28,0x68,0x5b,0x69,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20, - 0x74,0x3d,0x28,0x75,0x69,0x6e,0x74,0x32,0x29,0x28,0x68,0x5b,0x36,0x5d,0x2c,0x68,0x5b,0x37,0x5d,0x29,0x3b,0x0a,0x69,0x66,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e, - 0x67,0x28,0x74,0x29,0x3c,0x3d,0x54,0x61,0x72,0x67,0x65,0x74,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6f,0x75,0x74,0x49,0x64, - 0x78,0x3d,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x69,0x6e,0x63,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x2b,0x30,0x78,0x46,0x46,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75, - 0x74,0x49,0x64,0x78,0x3c,0x30,0x78,0x46,0x46,0x29,0x20,0x7b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x6f, - 0x75,0x74,0x70,0x75,0x74,0x29,0x5b,0x6f,0x75,0x74,0x49,0x64,0x78,0x5d,0x3d,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78,0x5d,0x2b,0x28,0x75, - 0x69,0x6e,0x74,0x29,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a, - 0x7d,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x53,0x57,0x41,0x50,0x34,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x47,0x72,0x6f, - 0x65,0x73,0x74,0x6c,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69, - 0x6e,0x74,0x20,0x2a,0x6f,0x75,0x74,0x70,0x75,0x74,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72, - 0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x3b, - 0x0a,0x69,0x66,0x28,0x69,0x64,0x78,0x3c,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x5d,0x29,0x20,0x7b,0x0a,0x73,0x74, - 0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78,0x5d,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x53, - 0x74,0x61,0x74,0x65,0x5b,0x38,0x5d,0x3d,0x7b,0x20,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55, - 0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x20,0x7d,0x3b,0x0a,0x75,0x6c, - 0x6f,0x6e,0x67,0x20,0x48,0x5b,0x38,0x5d,0x2c,0x4d,0x5b,0x38,0x5d,0x3b,0x0a,0x7b,0x0a,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x2a,0x29,0x4d,0x29,0x5b,0x30, - 0x5d,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28,0x30,0x2c,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d, - 0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x48,0x5b,0x78,0x5d,0x3d,0x4d,0x5b,0x78,0x5d,0x5e,0x53,0x74,0x61,0x74,0x65,0x5b,0x78, - 0x5d,0x3b,0x0a,0x7d,0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28,0x48,0x29,0x3b,0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c, - 0x5f,0x51,0x28,0x4d,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20, - 0x7b,0x0a,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x20,0x5e,0x3d,0x20,0x48,0x5b,0x78,0x5d,0x5e,0x4d,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7b,0x0a,0x28, - 0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x2a,0x29,0x4d,0x29,0x5b,0x30,0x5d,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28,0x31,0x2c,0x73,0x74,0x61,0x74,0x65,0x73,0x29, - 0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x48,0x5b,0x78, - 0x5d,0x3d,0x4d,0x5b,0x78,0x5d,0x5e,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28, - 0x48,0x29,0x3b,0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x51,0x28,0x4d,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78, - 0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x20,0x5e,0x3d,0x20,0x48,0x5b,0x78,0x5d, - 0x5e,0x4d,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7b,0x0a,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x2a,0x29,0x4d,0x29,0x5b,0x30,0x5d,0x3d,0x76,0x6c, - 0x6f,0x61,0x64,0x38,0x28,0x32,0x2c,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78, - 0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x48,0x5b,0x78,0x5d,0x3d,0x4d,0x5b,0x78,0x5d,0x5e,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x3b,0x0a,0x7d, - 0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28,0x48,0x29,0x3b,0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x51,0x28,0x4d, - 0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x53,0x74, - 0x61,0x74,0x65,0x5b,0x78,0x5d,0x20,0x5e,0x3d,0x20,0x48,0x5b,0x78,0x5d,0x5e,0x4d,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x4d,0x5b,0x30,0x5d,0x3d,0x73,0x74, - 0x61,0x74,0x65,0x73,0x5b,0x32,0x34,0x5d,0x3b,0x0a,0x4d,0x5b,0x31,0x5d,0x3d,0x30,0x78,0x38,0x30,0x55,0x4c,0x3b,0x0a,0x4d,0x5b,0x32,0x5d,0x3d,0x30,0x55,0x4c,0x3b, - 0x0a,0x4d,0x5b,0x33,0x5d,0x3d,0x30,0x55,0x4c,0x3b,0x0a,0x4d,0x5b,0x34,0x5d,0x3d,0x30,0x55,0x4c,0x3b,0x0a,0x4d,0x5b,0x35,0x5d,0x3d,0x30,0x55,0x4c,0x3b,0x0a,0x4d, - 0x5b,0x36,0x5d,0x3d,0x30,0x55,0x4c,0x3b,0x0a,0x4d,0x5b,0x37,0x5d,0x3d,0x30,0x78,0x30,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, - 0x55,0x4c,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x48, - 0x5b,0x78,0x5d,0x3d,0x4d,0x5b,0x78,0x5d,0x5e,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f, - 0x50,0x28,0x48,0x29,0x3b,0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x51,0x28,0x4d,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x6d,0x70, - 0x5b,0x38,0x5d,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a, - 0x74,0x6d,0x70,0x5b,0x69,0x5d,0x3d,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x20,0x5e,0x3d,0x20,0x48,0x5b,0x69,0x5d,0x5e,0x4d,0x5b,0x69,0x5d,0x3b,0x0a,0x7d,0x0a, - 0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28,0x53,0x74,0x61,0x74,0x65,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69, - 0x3d,0x30,0x3b,0x20,0x69,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x6d,0x70,0x5b, - 0x69,0x5d,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x53,0x74,0x61,0x74,0x65,0x5b,0x37,0x5d,0x3c,0x3d,0x54,0x61,0x72,0x67,0x65,0x74,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e, + 0x55,0x4c,0x2c,0x30,0x78,0x30,0x30,0x55,0x4c,0x2c,0x30,0x78,0x34,0x30,0x30,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x20,0x7d, + 0x3b,0x0a,0x4a,0x48,0x58,0x4f,0x52,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x68,0x37,0x6c,0x3c,0x3d,0x54,0x61,0x72,0x67,0x65,0x74,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e, 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6f,0x75,0x74,0x49,0x64,0x78,0x3d,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x69,0x6e,0x63,0x28,0x6f,0x75,0x74,0x70,0x75,0x74, 0x2b,0x30,0x78,0x46,0x46,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x49,0x64,0x78,0x3c,0x30,0x78,0x46,0x46,0x29,0x20,0x7b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c, 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x6f,0x75,0x74,0x70,0x75,0x74,0x29,0x5b,0x6f,0x75,0x74,0x49,0x64,0x78,0x5d,0x3d,0x42,0x72,0x61,0x6e, 0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78,0x5d,0x2b,0x28,0x75,0x69,0x6e,0x74,0x29,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x6f,0x66,0x66,0x73, - 0x65,0x74,0x28,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x00 + 0x65,0x74,0x28,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x57,0x41,0x50,0x34,0x28,0x78,0x29,0x20, + 0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x28,0x61,0x73,0x5f,0x75,0x63,0x68,0x61,0x72,0x34,0x28,0x78,0x29,0x2e,0x73,0x33,0x32,0x31,0x30,0x29,0x0a,0x5f,0x5f,0x6b,0x65, + 0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x42,0x6c,0x61,0x6b,0x65,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a, + 0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x2c, + 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x6f,0x75,0x74,0x70,0x75,0x74,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x54,0x61,0x72,0x67, + 0x65,0x74,0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x64, + 0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x64,0x78,0x3c,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x54,0x68,0x72, + 0x65,0x61,0x64,0x73,0x5d,0x29,0x20,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64, + 0x78,0x5d,0x3b,0x0a,0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64,0x20,0x69,0x6e,0x74,0x20,0x6d,0x5b,0x31,0x36,0x5d,0x3b,0x0a,0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64, + 0x20,0x69,0x6e,0x74,0x20,0x76,0x5b,0x31,0x36,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x68,0x5b,0x38,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x62,0x69,0x74,0x6c, + 0x65,0x6e,0x3d,0x30,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x68,0x29,0x5b,0x30,0x5d,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28,0x30,0x55,0x2c, + 0x63,0x5f,0x49,0x56,0x32,0x35,0x36,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30, + 0x3b,0x20,0x69,0x3c,0x33,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x31,0x36,0x20,0x2a,0x29,0x6d,0x29,0x5b,0x30,0x5d,0x3d,0x76, + 0x6c,0x6f,0x61,0x64,0x31,0x36,0x28,0x69,0x2c,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x73,0x74,0x61,0x74,0x65,0x73, + 0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x31,0x36,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x6d, + 0x5b,0x78,0x5d,0x3d,0x53,0x57,0x41,0x50,0x34,0x28,0x6d,0x5b,0x78,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x62,0x69,0x74,0x6c,0x65,0x6e,0x2b,0x3d,0x35,0x31,0x32,0x3b,0x0a, + 0x28,0x28,0x75,0x69,0x6e,0x74,0x31,0x36,0x20,0x2a,0x29,0x76,0x29,0x5b,0x30,0x5d,0x2e,0x6c,0x6f,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x68,0x29, + 0x5b,0x30,0x5d,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x31,0x36,0x20,0x2a,0x29,0x76,0x29,0x5b,0x30,0x5d,0x2e,0x68,0x69,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28, + 0x30,0x55,0x2c,0x63,0x5f,0x75,0x32,0x35,0x36,0x29,0x3b,0x0a,0x76,0x5b,0x31,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x69,0x74,0x6c,0x65,0x6e,0x3b,0x0a,0x76,0x5b,0x31, + 0x33,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x69,0x74,0x6c,0x65,0x6e,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x72,0x3d,0x30,0x3b,0x20,0x72,0x3c,0x31, + 0x34,0x3b,0x20,0x72,0x2b,0x2b,0x29,0x20,0x7b,0x0a,0x47,0x53,0x28,0x30,0x2c,0x34,0x2c,0x30,0x78,0x38,0x2c,0x30,0x78,0x43,0x2c,0x30,0x78,0x30,0x29,0x3b,0x0a,0x47, + 0x53,0x28,0x31,0x2c,0x35,0x2c,0x30,0x78,0x39,0x2c,0x30,0x78,0x44,0x2c,0x30,0x78,0x32,0x29,0x3b,0x0a,0x47,0x53,0x28,0x32,0x2c,0x36,0x2c,0x30,0x78,0x41,0x2c,0x30, + 0x78,0x45,0x2c,0x30,0x78,0x34,0x29,0x3b,0x0a,0x47,0x53,0x28,0x33,0x2c,0x37,0x2c,0x30,0x78,0x42,0x2c,0x30,0x78,0x46,0x2c,0x30,0x78,0x36,0x29,0x3b,0x0a,0x47,0x53, + 0x28,0x30,0x2c,0x35,0x2c,0x30,0x78,0x41,0x2c,0x30,0x78,0x46,0x2c,0x30,0x78,0x38,0x29,0x3b,0x0a,0x47,0x53,0x28,0x31,0x2c,0x36,0x2c,0x30,0x78,0x42,0x2c,0x30,0x78, + 0x43,0x2c,0x30,0x78,0x41,0x29,0x3b,0x0a,0x47,0x53,0x28,0x32,0x2c,0x37,0x2c,0x30,0x78,0x38,0x2c,0x30,0x78,0x44,0x2c,0x30,0x78,0x43,0x29,0x3b,0x0a,0x47,0x53,0x28, + 0x33,0x2c,0x34,0x2c,0x30,0x78,0x39,0x2c,0x30,0x78,0x45,0x2c,0x30,0x78,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x68,0x29, + 0x5b,0x30,0x5d,0x20,0x5e,0x3d,0x20,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x76,0x29,0x5b,0x30,0x5d,0x5e,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a, + 0x29,0x76,0x29,0x5b,0x31,0x5d,0x3b,0x0a,0x7d,0x0a,0x6d,0x5b,0x30,0x5d,0x3d,0x53,0x57,0x41,0x50,0x34,0x28,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, + 0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x5b,0x34,0x38,0x5d,0x29,0x3b,0x0a,0x6d,0x5b,0x31,0x5d,0x3d,0x53,0x57,0x41,0x50,0x34,0x28, + 0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x5b,0x34,0x39,0x5d,0x29,0x3b,0x0a, + 0x6d,0x5b,0x32,0x5d,0x3d,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x33,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b, + 0x34,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x35,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x36,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55, + 0x3b,0x0a,0x6d,0x5b,0x37,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x38,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x39,0x5d,0x3d,0x30, + 0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x31,0x30,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x31,0x31,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a, + 0x6d,0x5b,0x31,0x32,0x5d,0x3d,0x30,0x78,0x30,0x30,0x55,0x3b,0x0a,0x6d,0x5b,0x31,0x33,0x5d,0x3d,0x31,0x55,0x3b,0x0a,0x6d,0x5b,0x31,0x34,0x5d,0x3d,0x30,0x55,0x3b, + 0x0a,0x6d,0x5b,0x31,0x35,0x5d,0x3d,0x30,0x78,0x36,0x34,0x30,0x3b,0x0a,0x62,0x69,0x74,0x6c,0x65,0x6e,0x2b,0x3d,0x36,0x34,0x3b,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74, + 0x31,0x36,0x20,0x2a,0x29,0x76,0x29,0x5b,0x30,0x5d,0x2e,0x6c,0x6f,0x3d,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x68,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x28, + 0x28,0x75,0x69,0x6e,0x74,0x31,0x36,0x20,0x2a,0x29,0x76,0x29,0x5b,0x30,0x5d,0x2e,0x68,0x69,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28,0x30,0x55,0x2c,0x63,0x5f,0x75, + 0x32,0x35,0x36,0x29,0x3b,0x0a,0x76,0x5b,0x31,0x32,0x5d,0x20,0x5e,0x3d,0x20,0x62,0x69,0x74,0x6c,0x65,0x6e,0x3b,0x0a,0x76,0x5b,0x31,0x33,0x5d,0x20,0x5e,0x3d,0x20, + 0x62,0x69,0x74,0x6c,0x65,0x6e,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x72,0x3d,0x30,0x3b,0x20,0x72,0x3c,0x31,0x34,0x3b,0x20,0x72,0x2b,0x2b, + 0x29,0x20,0x7b,0x0a,0x47,0x53,0x28,0x30,0x2c,0x34,0x2c,0x30,0x78,0x38,0x2c,0x30,0x78,0x43,0x2c,0x30,0x78,0x30,0x29,0x3b,0x0a,0x47,0x53,0x28,0x31,0x2c,0x35,0x2c, + 0x30,0x78,0x39,0x2c,0x30,0x78,0x44,0x2c,0x30,0x78,0x32,0x29,0x3b,0x0a,0x47,0x53,0x28,0x32,0x2c,0x36,0x2c,0x30,0x78,0x41,0x2c,0x30,0x78,0x45,0x2c,0x30,0x78,0x34, + 0x29,0x3b,0x0a,0x47,0x53,0x28,0x33,0x2c,0x37,0x2c,0x30,0x78,0x42,0x2c,0x30,0x78,0x46,0x2c,0x30,0x78,0x36,0x29,0x3b,0x0a,0x47,0x53,0x28,0x30,0x2c,0x35,0x2c,0x30, + 0x78,0x41,0x2c,0x30,0x78,0x46,0x2c,0x30,0x78,0x38,0x29,0x3b,0x0a,0x47,0x53,0x28,0x31,0x2c,0x36,0x2c,0x30,0x78,0x42,0x2c,0x30,0x78,0x43,0x2c,0x30,0x78,0x41,0x29, + 0x3b,0x0a,0x47,0x53,0x28,0x32,0x2c,0x37,0x2c,0x30,0x78,0x38,0x2c,0x30,0x78,0x44,0x2c,0x30,0x78,0x43,0x29,0x3b,0x0a,0x47,0x53,0x28,0x33,0x2c,0x34,0x2c,0x30,0x78, + 0x39,0x2c,0x30,0x78,0x45,0x2c,0x30,0x78,0x45,0x29,0x3b,0x0a,0x7d,0x0a,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x68,0x29,0x5b,0x30,0x5d,0x20,0x5e,0x3d, + 0x20,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x76,0x29,0x5b,0x30,0x5d,0x5e,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x20,0x2a,0x29,0x76,0x29,0x5b,0x31,0x5d, + 0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x68,0x5b,0x69, + 0x5d,0x3d,0x53,0x57,0x41,0x50,0x34,0x28,0x68,0x5b,0x69,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x74,0x3d,0x28,0x75,0x69,0x6e,0x74,0x32,0x29, + 0x28,0x68,0x5b,0x36,0x5d,0x2c,0x68,0x5b,0x37,0x5d,0x29,0x3b,0x0a,0x69,0x66,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x74,0x29,0x3c,0x3d,0x54,0x61,0x72, + 0x67,0x65,0x74,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6f,0x75,0x74,0x49,0x64,0x78,0x3d,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f, + 0x69,0x6e,0x63,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x2b,0x30,0x78,0x46,0x46,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x49,0x64,0x78,0x3c,0x30,0x78,0x46,0x46, + 0x29,0x20,0x7b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x29,0x6f,0x75,0x74,0x70,0x75,0x74,0x29,0x5b,0x6f,0x75, + 0x74,0x49,0x64,0x78,0x5d,0x3d,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78,0x5d,0x2b,0x28,0x75,0x69,0x6e,0x74,0x29,0x67,0x65,0x74,0x5f,0x67, + 0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20, + 0x53,0x57,0x41,0x50,0x34,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x47,0x72,0x6f,0x65,0x73,0x74,0x6c,0x28,0x5f,0x5f,0x67,0x6c, + 0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, + 0x20,0x2a,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x2a,0x6f,0x75,0x74,0x70,0x75, + 0x74,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x75,0x69,0x6e,0x74,0x20,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x29,0x0a,0x7b,0x0a,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3d,0x67,0x65,0x74,0x49,0x64,0x78,0x28,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x64,0x78,0x3c,0x42, + 0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x54,0x68,0x72,0x65,0x61,0x64,0x73,0x5d,0x29,0x20,0x7b,0x0a,0x73,0x74,0x61,0x74,0x65,0x73,0x2b,0x3d,0x32,0x35,0x2a, + 0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78,0x5d,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x53,0x74,0x61,0x74,0x65,0x5b,0x38,0x5d,0x3d,0x7b, + 0x20,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x55,0x4c,0x2c,0x30,0x78,0x30, + 0x30,0x30,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x20,0x7d,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x48,0x5b,0x38,0x5d,0x2c, + 0x4d,0x5b,0x38,0x5d,0x3b,0x0a,0x7b,0x0a,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x2a,0x29,0x4d,0x29,0x5b,0x30,0x5d,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28, + 0x30,0x2c,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20,0x2b, + 0x2b,0x78,0x29,0x20,0x7b,0x0a,0x48,0x5b,0x78,0x5d,0x3d,0x4d,0x5b,0x78,0x5d,0x5e,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x50,0x45,0x52,0x4d, + 0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28,0x48,0x29,0x3b,0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x51,0x28,0x4d,0x29,0x3b,0x0a,0x66,0x6f, + 0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x53,0x74,0x61,0x74,0x65,0x5b,0x78, + 0x5d,0x20,0x5e,0x3d,0x20,0x48,0x5b,0x78,0x5d,0x5e,0x4d,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7b,0x0a,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x2a, + 0x29,0x4d,0x29,0x5b,0x30,0x5d,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28,0x31,0x2c,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69, + 0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x48,0x5b,0x78,0x5d,0x3d,0x4d,0x5b,0x78,0x5d,0x5e,0x53,0x74, + 0x61,0x74,0x65,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28,0x48,0x29,0x3b,0x0a,0x50,0x45,0x52,0x4d,0x5f, + 0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x51,0x28,0x4d,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20, + 0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x20,0x5e,0x3d,0x20,0x48,0x5b,0x78,0x5d,0x5e,0x4d,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a, + 0x7d,0x0a,0x7b,0x0a,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x38,0x20,0x2a,0x29,0x4d,0x29,0x5b,0x30,0x5d,0x3d,0x76,0x6c,0x6f,0x61,0x64,0x38,0x28,0x32,0x2c,0x73,0x74, + 0x61,0x74,0x65,0x73,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20, + 0x7b,0x0a,0x48,0x5b,0x78,0x5d,0x3d,0x4d,0x5b,0x78,0x5d,0x5e,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41, + 0x4c,0x4c,0x5f,0x50,0x28,0x48,0x29,0x3b,0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x51,0x28,0x4d,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75, + 0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x20,0x5e,0x3d, + 0x20,0x48,0x5b,0x78,0x5d,0x5e,0x4d,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x4d,0x5b,0x30,0x5d,0x3d,0x73,0x74,0x61,0x74,0x65,0x73,0x5b,0x32,0x34,0x5d,0x3b, + 0x0a,0x4d,0x5b,0x31,0x5d,0x3d,0x30,0x78,0x38,0x30,0x55,0x4c,0x3b,0x0a,0x4d,0x5b,0x32,0x5d,0x3d,0x30,0x55,0x4c,0x3b,0x0a,0x4d,0x5b,0x33,0x5d,0x3d,0x30,0x55,0x4c, + 0x3b,0x0a,0x4d,0x5b,0x34,0x5d,0x3d,0x30,0x55,0x4c,0x3b,0x0a,0x4d,0x5b,0x35,0x5d,0x3d,0x30,0x55,0x4c,0x3b,0x0a,0x4d,0x5b,0x36,0x5d,0x3d,0x30,0x55,0x4c,0x3b,0x0a, + 0x4d,0x5b,0x37,0x5d,0x3d,0x30,0x78,0x30,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28, + 0x75,0x69,0x6e,0x74,0x20,0x78,0x3d,0x30,0x3b,0x20,0x78,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x78,0x29,0x20,0x7b,0x0a,0x48,0x5b,0x78,0x5d,0x3d,0x4d,0x5b,0x78,0x5d,0x5e, + 0x53,0x74,0x61,0x74,0x65,0x5b,0x78,0x5d,0x3b,0x0a,0x7d,0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x50,0x28,0x48,0x29,0x3b,0x0a,0x50,0x45,0x52, + 0x4d,0x5f,0x53,0x4d,0x41,0x4c,0x4c,0x5f,0x51,0x28,0x4d,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x74,0x6d,0x70,0x5b,0x38,0x5d,0x3b,0x0a,0x66,0x6f,0x72,0x20, + 0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x74,0x6d,0x70,0x5b,0x69,0x5d,0x3d,0x53,0x74, + 0x61,0x74,0x65,0x5b,0x69,0x5d,0x20,0x5e,0x3d,0x20,0x48,0x5b,0x69,0x5d,0x5e,0x4d,0x5b,0x69,0x5d,0x3b,0x0a,0x7d,0x0a,0x50,0x45,0x52,0x4d,0x5f,0x53,0x4d,0x41,0x4c, + 0x4c,0x5f,0x50,0x28,0x53,0x74,0x61,0x74,0x65,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x38,0x3b,0x20, + 0x2b,0x2b,0x69,0x29,0x20,0x7b,0x0a,0x53,0x74,0x61,0x74,0x65,0x5b,0x69,0x5d,0x20,0x5e,0x3d,0x20,0x74,0x6d,0x70,0x5b,0x69,0x5d,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28, + 0x53,0x74,0x61,0x74,0x65,0x5b,0x37,0x5d,0x3c,0x3d,0x54,0x61,0x72,0x67,0x65,0x74,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6f, + 0x75,0x74,0x49,0x64,0x78,0x3d,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x69,0x6e,0x63,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x2b,0x30,0x78,0x46,0x46,0x29,0x3b,0x0a,0x69, + 0x66,0x28,0x6f,0x75,0x74,0x49,0x64,0x78,0x3c,0x30,0x78,0x46,0x46,0x29,0x20,0x7b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, + 0x20,0x2a,0x29,0x6f,0x75,0x74,0x70,0x75,0x74,0x29,0x5b,0x6f,0x75,0x74,0x49,0x64,0x78,0x5d,0x3d,0x42,0x72,0x61,0x6e,0x63,0x68,0x42,0x75,0x66,0x5b,0x69,0x64,0x78, + 0x5d,0x2b,0x28,0x75,0x69,0x6e,0x74,0x29,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x28,0x30,0x29,0x3b,0x0a,0x7d,0x0a, + 0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x00 }; } // namespace xmrig diff --git a/src/backend/opencl/cl/rx/randomx_cl.h b/src/backend/opencl/cl/rx/randomx_cl.h index cb4a72b057..0fc7c6d244 100644 --- a/src/backend/opencl/cl/rx/randomx_cl.h +++ b/src/backend/opencl/cl/rx/randomx_cl.h @@ -2,7 +2,7 @@ namespace xmrig { -static const char randomx_cl[131026] = { +static const char randomx_cl[130953] = { 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x30,0x20,0x30,0x78,0x36,0x33,0x31,0x35,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65, 0x66,0x69,0x6e,0x65,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x31,0x20,0x30,0x78,0x36,0x33,0x31,0x35,0x30,0x31,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, 0x65,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x43,0x4e,0x5f,0x32,0x20,0x30,0x78,0x36,0x33,0x31,0x35,0x30,0x32,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41, @@ -32,83 +32,134 @@ static const char randomx_cl[131026] = { 0x35,0x31,0x32,0x36,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x41,0x52,0x32,0x5f,0x43,0x48,0x55,0x4b,0x57,0x41,0x20,0x30,0x78, 0x36,0x31,0x31,0x33,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x41,0x52,0x32,0x5f,0x43,0x48,0x55,0x4b,0x57,0x41, 0x5f,0x56,0x32,0x20,0x30,0x78,0x36,0x31,0x31,0x34,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x41,0x52,0x32,0x5f, - 0x57,0x52,0x4b,0x5a,0x20,0x30,0x78,0x36,0x31,0x31,0x32,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x41,0x53,0x54, - 0x52,0x4f,0x42,0x57,0x54,0x5f,0x44,0x45,0x52,0x4f,0x20,0x30,0x78,0x34,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41,0x4c, - 0x47,0x4f,0x5f,0x4b,0x41,0x57,0x50,0x4f,0x57,0x5f,0x52,0x56,0x4e,0x20,0x30,0x78,0x36,0x62,0x30,0x66,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x55,0x4e,0x4b,0x4e,0x4f,0x57,0x4e,0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59, - 0x5f,0x43,0x4e,0x20,0x30,0x78,0x36,0x33,0x31,0x35,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e, - 0x5f,0x4c,0x49,0x54,0x45,0x20,0x30,0x78,0x36,0x33,0x31,0x34,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f, - 0x43,0x4e,0x5f,0x48,0x45,0x41,0x56,0x59,0x20,0x30,0x78,0x36,0x33,0x31,0x36,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49, - 0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x50,0x49,0x43,0x4f,0x20,0x30,0x78,0x36,0x33,0x31,0x32,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41, - 0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x46,0x45,0x4d,0x54,0x4f,0x20,0x30,0x78,0x36,0x33,0x31,0x31,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x5f,0x58,0x20,0x30,0x78,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x41,0x52,0x47,0x4f,0x4e,0x32,0x20,0x30,0x78,0x36,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x41,0x53,0x54,0x52,0x4f,0x42,0x57,0x54,0x20,0x30,0x78,0x34,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x0a, - 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x4b,0x41,0x57,0x50,0x4f,0x57,0x20,0x30,0x78,0x36,0x62,0x30,0x30,0x30,0x30,0x30,0x30, - 0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x52,0x58,0x5f,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x42,0x41,0x53,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x31,0x34,0x37,0x34, - 0x38,0x33,0x36,0x34,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x45,0x58, - 0x54,0x52,0x41,0x5f,0x53,0x49,0x5a,0x45,0x20,0x33,0x33,0x35,0x35,0x34,0x33,0x36,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x20,0x32,0x30,0x39,0x37,0x31,0x35,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, - 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x32,0x20,0x32,0x36,0x32,0x31,0x34,0x34,0x0a,0x23,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x31,0x20,0x31,0x36,0x33,0x38,0x34, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x42,0x49,0x54,0x53,0x20,0x38,0x0a,0x23,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69, - 0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69, - 0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x20,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, - 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x20,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e, - 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x20,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x20,0x31,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, - 0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, - 0x52,0x4f,0x4c,0x5f,0x52,0x20,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57, - 0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41, - 0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f, - 0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d, - 0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x20,0x31, - 0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x20,0x35,0x0a, - 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x20,0x36,0x0a,0x23, - 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x33,0x32,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x20,0x34,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x20,0x36,0x0a,0x23,0x64,0x65,0x66,0x69, - 0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x20,0x32,0x35,0x0a,0x23,0x64,0x65,0x66,0x69, - 0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x4e,0x4f,0x50,0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x49,0x54,0x45,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x48,0x41,0x53,0x48,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f,0x53, - 0x49,0x5a,0x45,0x20,0x28,0x31,0x32,0x38,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20, - 0x2a,0x20,0x38,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36,0x0a, - 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52, - 0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x34,0x20,0x2d,0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x29, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x20,0x28,0x28,0x49,0x4d,0x4d,0x5f,0x42, - 0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2f,0x20,0x34,0x29,0x20,0x2d,0x20,0x32,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x4d,0x5f,0x53,0x54,0x41, - 0x54,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55, - 0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20, - 0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x49,0x4e,0x47,0x5f,0x4d,0x4f,0x44,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x3f,0x20,0x2d,0x31,0x20,0x3a,0x20,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x32, - 0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x38,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x20,0x28,0x33,0x32,0x20,0x2d,0x20, - 0x32,0x31,0x29,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x52,0x58,0x5f,0x57,0x4f,0x57,0x29,0x0a, - 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x42,0x41,0x53,0x45,0x5f,0x53,0x49,0x5a, - 0x45,0x20,0x32,0x31,0x34,0x37,0x34,0x38,0x33,0x36,0x34,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54, - 0x41,0x53,0x45,0x54,0x5f,0x45,0x58,0x54,0x52,0x41,0x5f,0x53,0x49,0x5a,0x45,0x20,0x33,0x33,0x35,0x35,0x34,0x33,0x36,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x20,0x31,0x30,0x34,0x38,0x35,0x37,0x36,0x0a,0x23, + 0x57,0x52,0x4b,0x5a,0x20,0x30,0x78,0x36,0x31,0x31,0x32,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x4b,0x41,0x57, + 0x50,0x4f,0x57,0x5f,0x52,0x56,0x4e,0x20,0x30,0x78,0x36,0x62,0x30,0x66,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c, + 0x59,0x5f,0x55,0x4e,0x4b,0x4e,0x4f,0x57,0x4e,0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x20,0x30,0x78, + 0x36,0x33,0x31,0x35,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x4c,0x49,0x54,0x45,0x20, + 0x30,0x78,0x36,0x33,0x31,0x34,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f,0x48,0x45,0x41, + 0x56,0x59,0x20,0x30,0x78,0x36,0x33,0x31,0x36,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43,0x4e,0x5f, + 0x50,0x49,0x43,0x4f,0x20,0x30,0x78,0x36,0x33,0x31,0x32,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c,0x59,0x5f,0x43, + 0x4e,0x5f,0x46,0x45,0x4d,0x54,0x4f,0x20,0x30,0x78,0x36,0x33,0x31,0x31,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41,0x4d,0x49,0x4c, + 0x59,0x5f,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x5f,0x58,0x20,0x30,0x78,0x37,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46,0x41, + 0x4d,0x49,0x4c,0x59,0x5f,0x41,0x52,0x47,0x4f,0x4e,0x32,0x20,0x30,0x78,0x36,0x31,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x46, + 0x41,0x4d,0x49,0x4c,0x59,0x5f,0x4b,0x41,0x57,0x50,0x4f,0x57,0x20,0x30,0x78,0x36,0x62,0x30,0x30,0x30,0x30,0x30,0x30,0x0a,0x23,0x69,0x66,0x20,0x28,0x41,0x4c,0x47, + 0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x52,0x58,0x5f,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x42,0x41,0x53,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x31,0x34,0x37,0x34,0x38,0x33,0x36,0x34,0x38,0x0a,0x23,0x64,0x65, + 0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x45,0x58,0x54,0x52,0x41,0x5f,0x53,0x49,0x5a,0x45,0x20, + 0x33,0x33,0x35,0x35,0x34,0x33,0x36,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48, + 0x50,0x41,0x44,0x5f,0x4c,0x33,0x20,0x32,0x30,0x39,0x37,0x31,0x35,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53, + 0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x32,0x20,0x32,0x36,0x32,0x31,0x34,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x31,0x20,0x31,0x36,0x33,0x38,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x42,0x49,0x54,0x53,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x20,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x20,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, + 0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, + 0x4d,0x55,0x4c,0x48,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d, + 0x55,0x4c,0x48,0x5f,0x4d,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d, + 0x55,0x4c,0x48,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d, + 0x55,0x4c,0x48,0x5f,0x4d,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55, + 0x4c,0x5f,0x52,0x43,0x50,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45, + 0x47,0x5f,0x52,0x20,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f, + 0x52,0x20,0x31,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d, + 0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x20,0x38, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x20,0x32,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64, + 0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65, + 0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66, + 0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, + 0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52, + 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x20,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41, + 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x33,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e, + 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x20,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x20,0x32,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x46,0x52,0x45,0x51,0x5f,0x4e,0x4f,0x50,0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53, + 0x45,0x54,0x5f,0x49,0x54,0x45,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x48,0x41,0x53,0x48,0x5f,0x53,0x49, + 0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x31,0x32,0x38,0x20, + 0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x38,0x29,0x0a,0x23,0x64,0x65,0x66, + 0x69,0x6e,0x65,0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49, + 0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a, + 0x45,0x20,0x2a,0x20,0x34,0x20,0x2d,0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x20,0x28,0x28,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2f, + 0x20,0x34,0x29,0x20,0x2d,0x20,0x32,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x4d,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28, + 0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20, + 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, + 0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x49,0x4e,0x47,0x5f,0x4d,0x4f,0x44,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46, + 0x52,0x4f,0x55,0x4e,0x44,0x20,0x3f,0x20,0x2d,0x31,0x20,0x3a,0x20,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x20,0x28, + 0x33,0x32,0x20,0x2d,0x20,0x31,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x38, + 0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x32,0x31,0x29,0x0a,0x23,0x65,0x6c,0x69,0x66, + 0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x52,0x58,0x5f,0x57,0x4f,0x57,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52, + 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x42,0x41,0x53,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x31,0x34,0x37,0x34,0x38,0x33, + 0x36,0x34,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x45,0x58,0x54,0x52, + 0x41,0x5f,0x53,0x49,0x5a,0x45,0x20,0x33,0x33,0x35,0x35,0x34,0x33,0x36,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x20,0x31,0x30,0x34,0x38,0x35,0x37,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41, + 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x32,0x20,0x31,0x33,0x31,0x30,0x37,0x32,0x0a,0x23,0x64,0x65,0x66,0x69, + 0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x31,0x20,0x31,0x36,0x33,0x38,0x34,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x42,0x49,0x54,0x53,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69, + 0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x20,0x32,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x20,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52, + 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41, + 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x20,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x20,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x20,0x31,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, + 0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, + 0x52,0x4f,0x52,0x5f,0x52,0x20,0x31,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52, + 0x4f,0x4c,0x5f,0x52,0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41, + 0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50, + 0x5f,0x52,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52, + 0x20,0x32,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x20, + 0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x20,0x32,0x30, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x20,0x35,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x20,0x36,0x0a,0x23,0x64, + 0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x32,0x30,0x0a,0x23,0x64,0x65, + 0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69, + 0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x20,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, + 0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, + 0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x4e,0x4f,0x50,0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x49,0x54,0x45,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x48,0x41,0x53,0x48,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f,0x53,0x49, + 0x5a,0x45,0x20,0x28,0x31,0x32,0x38,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a, + 0x20,0x38,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f, + 0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x34,0x20,0x2d,0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x29,0x0a, + 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x20,0x28,0x28,0x49,0x4d,0x4d,0x5f,0x42,0x55, + 0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2f,0x20,0x34,0x29,0x20,0x2d,0x20,0x32,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x4d,0x5f,0x53,0x54,0x41,0x54, + 0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46, + 0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x34, + 0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x49,0x4e,0x47,0x5f,0x4d,0x4f,0x44,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x3f,0x20,0x2d,0x31,0x20,0x3a,0x20,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x20, + 0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x37,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x32, + 0x30,0x29,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x52,0x58,0x5f,0x41,0x52,0x51,0x4d,0x41,0x29, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x42,0x41,0x53,0x45,0x5f,0x53,0x49, + 0x5a,0x45,0x20,0x32,0x31,0x34,0x37,0x34,0x38,0x33,0x36,0x34,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41, + 0x54,0x41,0x53,0x45,0x54,0x5f,0x45,0x58,0x54,0x52,0x41,0x5f,0x53,0x49,0x5a,0x45,0x20,0x33,0x33,0x35,0x35,0x34,0x33,0x36,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, + 0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x20,0x32,0x36,0x32,0x31,0x34,0x34,0x0a,0x23, 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x32,0x20,0x31,0x33,0x31, 0x30,0x37,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c, 0x31,0x20,0x31,0x36,0x33,0x38,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x42,0x49,0x54, 0x53,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x20, - 0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x20,0x32, - 0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x20,0x37,0x0a, + 0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x20,0x31, + 0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x20,0x37,0x0a, 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23, 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x20,0x37,0x0a,0x23,0x64,0x65, 0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66, @@ -121,96 +172,96 @@ static const char randomx_cl[131026] = { 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x20,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41, 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x20,0x31,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e, 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x20,0x31,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, - 0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x20,0x32,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, - 0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x46,0x53,0x55,0x42,0x5f,0x52,0x20,0x32,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46, - 0x53,0x55,0x42,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43, - 0x41,0x4c,0x5f,0x52,0x20,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c, - 0x5f,0x52,0x20,0x32,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f, - 0x4d,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52, - 0x20,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x20, - 0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20, - 0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x20,0x31,0x36, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x4e,0x4f,0x50,0x20,0x30,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x49,0x54,0x45,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35, - 0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x48,0x41,0x53,0x48,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x45, - 0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x31,0x32,0x38,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52, - 0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x38,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53, - 0x49,0x5a,0x45,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x34,0x20,0x2d,0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45, - 0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54, - 0x20,0x28,0x28,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2f,0x20,0x34,0x29,0x20,0x2d,0x20,0x32,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x56,0x4d,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20, - 0x2b,0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d, - 0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x49,0x4e,0x47,0x5f,0x4d,0x4f,0x44,0x45, - 0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x3f,0x20,0x2d,0x31,0x20,0x3a,0x20,0x30,0x29, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x37,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c, - 0x33,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x32,0x30,0x29,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f, - 0x52,0x58,0x5f,0x41,0x52,0x51,0x4d,0x41,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45, - 0x54,0x5f,0x42,0x41,0x53,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x31,0x34,0x37,0x34,0x38,0x33,0x36,0x34,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52, - 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x45,0x58,0x54,0x52,0x41,0x5f,0x53,0x49,0x5a,0x45,0x20,0x33,0x33,0x35,0x35,0x34,0x33, - 0x36,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33, - 0x20,0x32,0x36,0x32,0x31,0x34,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50, - 0x41,0x44,0x5f,0x4c,0x32,0x20,0x31,0x33,0x31,0x30,0x37,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52, - 0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x31,0x20,0x31,0x36,0x33,0x38,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x42,0x49,0x54,0x53,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d, - 0x50,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x49,0x41,0x44,0x44,0x5f,0x4d,0x20,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53, - 0x55,0x42,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55, - 0x42,0x5f,0x4d,0x20,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f, - 0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d, - 0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x20, - 0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x20,0x31, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x20,0x34, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x20,0x31, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x20,0x38, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x20,0x32,0x0a,0x23, - 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x20,0x31,0x35,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x20,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, - 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52, - 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e, - 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x20,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x33,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, - 0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x20,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x20,0x32,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, - 0x53,0x54,0x4f,0x52,0x45,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x4e,0x4f, - 0x50,0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x49,0x54,0x45,0x4d, - 0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d, - 0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x48,0x41,0x53,0x48,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23, - 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x31,0x32,0x38,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x38,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x45,0x47, - 0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f, - 0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x34,0x20,0x2d, - 0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44, - 0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x20,0x28,0x28,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2f,0x20,0x34,0x29,0x20,0x2d,0x20,0x32, - 0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x4d,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x45,0x47,0x49,0x53,0x54,0x45, - 0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44, - 0x49,0x4e,0x47,0x5f,0x4d,0x4f,0x44,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x3f, - 0x20,0x2d,0x31,0x20,0x3a,0x20,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x34, - 0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x37,0x29,0x0a,0x23,0x64,0x65,0x66,0x69, - 0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x38,0x29,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20, - 0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x52,0x58,0x5f,0x4b,0x45,0x56,0x41,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x20,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, + 0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, + 0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46, + 0x53,0x55,0x42,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53, + 0x55,0x42,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41, + 0x4c,0x5f,0x52,0x20,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f, + 0x52,0x20,0x33,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d, + 0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x20, + 0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x20,0x32, + 0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x31, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x20,0x31,0x36,0x0a, + 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x4e,0x4f,0x50,0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69, + 0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x49,0x54,0x45,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a, + 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x48,0x41,0x53,0x48,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x45,0x4e, + 0x54,0x52,0x4f,0x50,0x59,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x31,0x32,0x38,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41, + 0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x38,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49, + 0x5a,0x45,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x41,0x4e, + 0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x34,0x20,0x2d,0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52, + 0x53,0x5f,0x53,0x49,0x5a,0x45,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x20, + 0x28,0x28,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2f,0x20,0x34,0x29,0x20,0x2d,0x20,0x32,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x56,0x4d,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b, + 0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f, + 0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x49,0x4e,0x47,0x5f,0x4d,0x4f,0x44,0x45,0x20, + 0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x3f,0x20,0x2d,0x31,0x20,0x3a,0x20,0x30,0x29,0x0a, + 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x37,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x33, + 0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x38,0x29,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x52, + 0x58,0x5f,0x4b,0x45,0x56,0x41,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f, + 0x42,0x41,0x53,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x31,0x34,0x37,0x34,0x38,0x33,0x36,0x34,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e, + 0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x45,0x58,0x54,0x52,0x41,0x5f,0x53,0x49,0x5a,0x45,0x20,0x33,0x33,0x35,0x35,0x34,0x33,0x36,0x38, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x20,0x31, + 0x30,0x34,0x38,0x35,0x37,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41, + 0x44,0x5f,0x4c,0x32,0x20,0x31,0x33,0x31,0x30,0x37,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41, + 0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x31,0x20,0x31,0x36,0x33,0x38,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x4a,0x55,0x4d,0x50,0x5f,0x42,0x49,0x54,0x53,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50, + 0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, + 0x41,0x44,0x44,0x5f,0x52,0x53,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, + 0x41,0x44,0x44,0x5f,0x4d,0x20,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55, + 0x42,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42, + 0x5f,0x4d,0x20,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52, + 0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x20, + 0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x20,0x34, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x20,0x31,0x0a, + 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x20,0x34,0x0a, + 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x20,0x31,0x0a, + 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x20,0x38,0x0a, + 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x20,0x32,0x0a,0x23,0x64, + 0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x20,0x31,0x35,0x0a,0x23,0x64,0x65, + 0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69, + 0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x20,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52, + 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41, + 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e, + 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x20,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, + 0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x33,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, + 0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x20,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43, + 0x42,0x52,0x41,0x4e,0x43,0x48,0x20,0x32,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43, + 0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53, + 0x54,0x4f,0x52,0x45,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x4e,0x4f,0x50, + 0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x49,0x54,0x45,0x4d,0x5f, + 0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f, + 0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x48,0x41,0x53,0x48,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64, + 0x65,0x66,0x69,0x6e,0x65,0x20,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x31,0x32,0x38,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x38,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x45,0x47,0x49, + 0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53, + 0x49,0x5a,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x34,0x20,0x2d,0x20, + 0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45, + 0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x20,0x28,0x28,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2f,0x20,0x34,0x29,0x20,0x2d,0x20,0x32,0x29, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x4d,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52, + 0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x49, + 0x4e,0x47,0x5f,0x4d,0x4f,0x44,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x3f,0x20, + 0x2d,0x31,0x20,0x3a,0x20,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x34,0x29, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x37,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, + 0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x32,0x30,0x29,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d, + 0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x52,0x58,0x5f,0x47,0x52,0x41,0x46,0x54,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, 0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x42,0x41,0x53,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x31,0x34,0x37,0x34,0x38,0x33,0x36,0x34,0x38,0x0a,0x23,0x64, 0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x45,0x58,0x54,0x52,0x41,0x5f,0x53,0x49,0x5a,0x45, 0x20,0x33,0x33,0x35,0x35,0x34,0x33,0x36,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43, - 0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x20,0x31,0x30,0x34,0x38,0x35,0x37,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x32,0x20,0x31,0x33,0x31,0x30,0x37,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e, + 0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x20,0x32,0x30,0x39,0x37,0x31,0x35,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x32,0x20,0x32,0x36,0x32,0x31,0x34,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e, 0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x31,0x20,0x31,0x36,0x33,0x38,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x42,0x49,0x54,0x53,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e, 0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f, @@ -228,7 +279,7 @@ static const char randomx_cl[131026] = { 0x45,0x47,0x5f,0x52,0x20,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52, 0x5f,0x52,0x20,0x31,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f, 0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x20, - 0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x20,0x32,0x0a, + 0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x20,0x33,0x0a, 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23, 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64, 0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65, @@ -244,7 +295,7 @@ static const char randomx_cl[131026] = { 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, 0x5f,0x46,0x52,0x45,0x51,0x5f,0x4e,0x4f,0x50,0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41, 0x53,0x45,0x54,0x5f,0x49,0x54,0x45,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x48,0x41,0x53,0x48,0x5f,0x53, + 0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x38,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x48,0x41,0x53,0x48,0x5f,0x53, 0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x31,0x32,0x38, 0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x38,0x29,0x0a,0x23,0x64,0x65, 0x66,0x69,0x6e,0x65,0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, @@ -257,873 +308,1102 @@ static const char randomx_cl[131026] = { 0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x49,0x4e,0x47,0x5f,0x4d,0x4f,0x44,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43, 0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x3f,0x20,0x2d,0x31,0x20,0x3a,0x20,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x20, 0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31, - 0x37,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x32,0x30,0x29,0x0a,0x23,0x65,0x6c,0x69, - 0x66,0x20,0x28,0x41,0x4c,0x47,0x4f,0x20,0x3d,0x3d,0x20,0x41,0x4c,0x47,0x4f,0x5f,0x52,0x58,0x5f,0x47,0x52,0x41,0x46,0x54,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x42,0x41,0x53,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x31,0x34,0x37, - 0x34,0x38,0x33,0x36,0x34,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x45, - 0x58,0x54,0x52,0x41,0x5f,0x53,0x49,0x5a,0x45,0x20,0x33,0x33,0x35,0x35,0x34,0x33,0x36,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x20,0x32,0x30,0x39,0x37,0x31,0x35,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x32,0x20,0x32,0x36,0x32,0x31,0x34,0x34,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x31,0x20,0x31,0x36,0x33,0x38, - 0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x42,0x49,0x54,0x53,0x20,0x38,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x20,0x38,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x20,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x20,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52, - 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x20,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x20,0x31,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, - 0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x20,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x49,0x52,0x4f,0x4c,0x5f,0x52,0x20,0x33,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53, - 0x57,0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57, - 0x41,0x50,0x5f,0x52,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44, - 0x5f,0x52,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f, - 0x4d,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x20, - 0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x20,0x35, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x20,0x36,0x0a, - 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x33,0x32,0x0a,0x23, - 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x20,0x34,0x0a,0x23,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x20,0x36,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x20,0x32,0x35,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x31,0x0a,0x23,0x64,0x65,0x66,0x69, - 0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x20,0x31,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x4e,0x4f,0x50,0x20,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e, - 0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x49,0x54,0x45,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x38,0x30,0x0a,0x23,0x64,0x65,0x66,0x69, - 0x6e,0x65,0x20,0x48,0x41,0x53,0x48,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f, - 0x53,0x49,0x5a,0x45,0x20,0x28,0x31,0x32,0x38,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45, - 0x20,0x2a,0x20,0x38,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x32,0x35,0x36, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50, - 0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x34,0x20,0x2d,0x20,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45, - 0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x20,0x28,0x28,0x49,0x4d,0x4d,0x5f, - 0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2f,0x20,0x34,0x29,0x20,0x2d,0x20,0x32,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x4d,0x5f,0x53,0x54, - 0x41,0x54,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20,0x49,0x4d,0x4d,0x5f,0x42, - 0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2b,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a, - 0x20,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x49,0x4e,0x47,0x5f,0x4d,0x4f,0x44,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x20,0x3f,0x20,0x2d,0x31,0x20,0x3a,0x20,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c, - 0x32,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x31,0x38,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x20,0x28,0x33,0x32,0x20,0x2d, - 0x20,0x32,0x31,0x29,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x5f,0x54,0x41,0x42,0x4c,0x45,0x5b,0x32,0x30,0x34,0x38,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x61, - 0x35,0x36,0x33,0x36,0x33,0x63,0x36,0x55,0x2c,0x30,0x78,0x38,0x34,0x37,0x63,0x37,0x63,0x66,0x38,0x55,0x2c,0x30,0x78,0x39,0x39,0x37,0x37,0x37,0x37,0x65,0x65,0x55, - 0x2c,0x30,0x78,0x38,0x64,0x37,0x62,0x37,0x62,0x66,0x36,0x55,0x2c,0x0a,0x30,0x78,0x30,0x64,0x66,0x32,0x66,0x32,0x66,0x66,0x55,0x2c,0x30,0x78,0x62,0x64,0x36,0x62, - 0x36,0x62,0x64,0x36,0x55,0x2c,0x30,0x78,0x62,0x31,0x36,0x66,0x36,0x66,0x64,0x65,0x55,0x2c,0x30,0x78,0x35,0x34,0x63,0x35,0x63,0x35,0x39,0x31,0x55,0x2c,0x0a,0x30, - 0x78,0x35,0x30,0x33,0x30,0x33,0x30,0x36,0x30,0x55,0x2c,0x30,0x78,0x30,0x33,0x30,0x31,0x30,0x31,0x30,0x32,0x55,0x2c,0x30,0x78,0x61,0x39,0x36,0x37,0x36,0x37,0x63, - 0x65,0x55,0x2c,0x30,0x78,0x37,0x64,0x32,0x62,0x32,0x62,0x35,0x36,0x55,0x2c,0x0a,0x30,0x78,0x31,0x39,0x66,0x65,0x66,0x65,0x65,0x37,0x55,0x2c,0x30,0x78,0x36,0x32, - 0x64,0x37,0x64,0x37,0x62,0x35,0x55,0x2c,0x30,0x78,0x65,0x36,0x61,0x62,0x61,0x62,0x34,0x64,0x55,0x2c,0x30,0x78,0x39,0x61,0x37,0x36,0x37,0x36,0x65,0x63,0x55,0x2c, - 0x0a,0x30,0x78,0x34,0x35,0x63,0x61,0x63,0x61,0x38,0x66,0x55,0x2c,0x30,0x78,0x39,0x64,0x38,0x32,0x38,0x32,0x31,0x66,0x55,0x2c,0x30,0x78,0x34,0x30,0x63,0x39,0x63, - 0x39,0x38,0x39,0x55,0x2c,0x30,0x78,0x38,0x37,0x37,0x64,0x37,0x64,0x66,0x61,0x55,0x2c,0x0a,0x30,0x78,0x31,0x35,0x66,0x61,0x66,0x61,0x65,0x66,0x55,0x2c,0x30,0x78, - 0x65,0x62,0x35,0x39,0x35,0x39,0x62,0x32,0x55,0x2c,0x30,0x78,0x63,0x39,0x34,0x37,0x34,0x37,0x38,0x65,0x55,0x2c,0x30,0x78,0x30,0x62,0x66,0x30,0x66,0x30,0x66,0x62, - 0x55,0x2c,0x0a,0x30,0x78,0x65,0x63,0x61,0x64,0x61,0x64,0x34,0x31,0x55,0x2c,0x30,0x78,0x36,0x37,0x64,0x34,0x64,0x34,0x62,0x33,0x55,0x2c,0x30,0x78,0x66,0x64,0x61, - 0x32,0x61,0x32,0x35,0x66,0x55,0x2c,0x30,0x78,0x65,0x61,0x61,0x66,0x61,0x66,0x34,0x35,0x55,0x2c,0x0a,0x30,0x78,0x62,0x66,0x39,0x63,0x39,0x63,0x32,0x33,0x55,0x2c, - 0x30,0x78,0x66,0x37,0x61,0x34,0x61,0x34,0x35,0x33,0x55,0x2c,0x30,0x78,0x39,0x36,0x37,0x32,0x37,0x32,0x65,0x34,0x55,0x2c,0x30,0x78,0x35,0x62,0x63,0x30,0x63,0x30, - 0x39,0x62,0x55,0x2c,0x0a,0x30,0x78,0x63,0x32,0x62,0x37,0x62,0x37,0x37,0x35,0x55,0x2c,0x30,0x78,0x31,0x63,0x66,0x64,0x66,0x64,0x65,0x31,0x55,0x2c,0x30,0x78,0x61, - 0x65,0x39,0x33,0x39,0x33,0x33,0x64,0x55,0x2c,0x30,0x78,0x36,0x61,0x32,0x36,0x32,0x36,0x34,0x63,0x55,0x2c,0x0a,0x30,0x78,0x35,0x61,0x33,0x36,0x33,0x36,0x36,0x63, - 0x55,0x2c,0x30,0x78,0x34,0x31,0x33,0x66,0x33,0x66,0x37,0x65,0x55,0x2c,0x30,0x78,0x30,0x32,0x66,0x37,0x66,0x37,0x66,0x35,0x55,0x2c,0x30,0x78,0x34,0x66,0x63,0x63, - 0x63,0x63,0x38,0x33,0x55,0x2c,0x0a,0x30,0x78,0x35,0x63,0x33,0x34,0x33,0x34,0x36,0x38,0x55,0x2c,0x30,0x78,0x66,0x34,0x61,0x35,0x61,0x35,0x35,0x31,0x55,0x2c,0x30, - 0x78,0x33,0x34,0x65,0x35,0x65,0x35,0x64,0x31,0x55,0x2c,0x30,0x78,0x30,0x38,0x66,0x31,0x66,0x31,0x66,0x39,0x55,0x2c,0x0a,0x30,0x78,0x39,0x33,0x37,0x31,0x37,0x31, - 0x65,0x32,0x55,0x2c,0x30,0x78,0x37,0x33,0x64,0x38,0x64,0x38,0x61,0x62,0x55,0x2c,0x30,0x78,0x35,0x33,0x33,0x31,0x33,0x31,0x36,0x32,0x55,0x2c,0x30,0x78,0x33,0x66, - 0x31,0x35,0x31,0x35,0x32,0x61,0x55,0x2c,0x0a,0x30,0x78,0x30,0x63,0x30,0x34,0x30,0x34,0x30,0x38,0x55,0x2c,0x30,0x78,0x35,0x32,0x63,0x37,0x63,0x37,0x39,0x35,0x55, - 0x2c,0x30,0x78,0x36,0x35,0x32,0x33,0x32,0x33,0x34,0x36,0x55,0x2c,0x30,0x78,0x35,0x65,0x63,0x33,0x63,0x33,0x39,0x64,0x55,0x2c,0x0a,0x30,0x78,0x32,0x38,0x31,0x38, - 0x31,0x38,0x33,0x30,0x55,0x2c,0x30,0x78,0x61,0x31,0x39,0x36,0x39,0x36,0x33,0x37,0x55,0x2c,0x30,0x78,0x30,0x66,0x30,0x35,0x30,0x35,0x30,0x61,0x55,0x2c,0x30,0x78, - 0x62,0x35,0x39,0x61,0x39,0x61,0x32,0x66,0x55,0x2c,0x0a,0x30,0x78,0x30,0x39,0x30,0x37,0x30,0x37,0x30,0x65,0x55,0x2c,0x30,0x78,0x33,0x36,0x31,0x32,0x31,0x32,0x32, - 0x34,0x55,0x2c,0x30,0x78,0x39,0x62,0x38,0x30,0x38,0x30,0x31,0x62,0x55,0x2c,0x30,0x78,0x33,0x64,0x65,0x32,0x65,0x32,0x64,0x66,0x55,0x2c,0x0a,0x30,0x78,0x32,0x36, - 0x65,0x62,0x65,0x62,0x63,0x64,0x55,0x2c,0x30,0x78,0x36,0x39,0x32,0x37,0x32,0x37,0x34,0x65,0x55,0x2c,0x30,0x78,0x63,0x64,0x62,0x32,0x62,0x32,0x37,0x66,0x55,0x2c, - 0x30,0x78,0x39,0x66,0x37,0x35,0x37,0x35,0x65,0x61,0x55,0x2c,0x0a,0x30,0x78,0x31,0x62,0x30,0x39,0x30,0x39,0x31,0x32,0x55,0x2c,0x30,0x78,0x39,0x65,0x38,0x33,0x38, - 0x33,0x31,0x64,0x55,0x2c,0x30,0x78,0x37,0x34,0x32,0x63,0x32,0x63,0x35,0x38,0x55,0x2c,0x30,0x78,0x32,0x65,0x31,0x61,0x31,0x61,0x33,0x34,0x55,0x2c,0x0a,0x30,0x78, - 0x32,0x64,0x31,0x62,0x31,0x62,0x33,0x36,0x55,0x2c,0x30,0x78,0x62,0x32,0x36,0x65,0x36,0x65,0x64,0x63,0x55,0x2c,0x30,0x78,0x65,0x65,0x35,0x61,0x35,0x61,0x62,0x34, - 0x55,0x2c,0x30,0x78,0x66,0x62,0x61,0x30,0x61,0x30,0x35,0x62,0x55,0x2c,0x0a,0x30,0x78,0x66,0x36,0x35,0x32,0x35,0x32,0x61,0x34,0x55,0x2c,0x30,0x78,0x34,0x64,0x33, - 0x62,0x33,0x62,0x37,0x36,0x55,0x2c,0x30,0x78,0x36,0x31,0x64,0x36,0x64,0x36,0x62,0x37,0x55,0x2c,0x30,0x78,0x63,0x65,0x62,0x33,0x62,0x33,0x37,0x64,0x55,0x2c,0x0a, - 0x30,0x78,0x37,0x62,0x32,0x39,0x32,0x39,0x35,0x32,0x55,0x2c,0x30,0x78,0x33,0x65,0x65,0x33,0x65,0x33,0x64,0x64,0x55,0x2c,0x30,0x78,0x37,0x31,0x32,0x66,0x32,0x66, - 0x35,0x65,0x55,0x2c,0x30,0x78,0x39,0x37,0x38,0x34,0x38,0x34,0x31,0x33,0x55,0x2c,0x0a,0x30,0x78,0x66,0x35,0x35,0x33,0x35,0x33,0x61,0x36,0x55,0x2c,0x30,0x78,0x36, - 0x38,0x64,0x31,0x64,0x31,0x62,0x39,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x30,0x78,0x32,0x63,0x65,0x64,0x65,0x64,0x63,0x31,0x55, - 0x2c,0x0a,0x30,0x78,0x36,0x30,0x32,0x30,0x32,0x30,0x34,0x30,0x55,0x2c,0x30,0x78,0x31,0x66,0x66,0x63,0x66,0x63,0x65,0x33,0x55,0x2c,0x30,0x78,0x63,0x38,0x62,0x31, - 0x62,0x31,0x37,0x39,0x55,0x2c,0x30,0x78,0x65,0x64,0x35,0x62,0x35,0x62,0x62,0x36,0x55,0x2c,0x0a,0x30,0x78,0x62,0x65,0x36,0x61,0x36,0x61,0x64,0x34,0x55,0x2c,0x30, - 0x78,0x34,0x36,0x63,0x62,0x63,0x62,0x38,0x64,0x55,0x2c,0x30,0x78,0x64,0x39,0x62,0x65,0x62,0x65,0x36,0x37,0x55,0x2c,0x30,0x78,0x34,0x62,0x33,0x39,0x33,0x39,0x37, - 0x32,0x55,0x2c,0x0a,0x30,0x78,0x64,0x65,0x34,0x61,0x34,0x61,0x39,0x34,0x55,0x2c,0x30,0x78,0x64,0x34,0x34,0x63,0x34,0x63,0x39,0x38,0x55,0x2c,0x30,0x78,0x65,0x38, - 0x35,0x38,0x35,0x38,0x62,0x30,0x55,0x2c,0x30,0x78,0x34,0x61,0x63,0x66,0x63,0x66,0x38,0x35,0x55,0x2c,0x0a,0x30,0x78,0x36,0x62,0x64,0x30,0x64,0x30,0x62,0x62,0x55, - 0x2c,0x30,0x78,0x32,0x61,0x65,0x66,0x65,0x66,0x63,0x35,0x55,0x2c,0x30,0x78,0x65,0x35,0x61,0x61,0x61,0x61,0x34,0x66,0x55,0x2c,0x30,0x78,0x31,0x36,0x66,0x62,0x66, - 0x62,0x65,0x64,0x55,0x2c,0x0a,0x30,0x78,0x63,0x35,0x34,0x33,0x34,0x33,0x38,0x36,0x55,0x2c,0x30,0x78,0x64,0x37,0x34,0x64,0x34,0x64,0x39,0x61,0x55,0x2c,0x30,0x78, - 0x35,0x35,0x33,0x33,0x33,0x33,0x36,0x36,0x55,0x2c,0x30,0x78,0x39,0x34,0x38,0x35,0x38,0x35,0x31,0x31,0x55,0x2c,0x0a,0x30,0x78,0x63,0x66,0x34,0x35,0x34,0x35,0x38, - 0x61,0x55,0x2c,0x30,0x78,0x31,0x30,0x66,0x39,0x66,0x39,0x65,0x39,0x55,0x2c,0x30,0x78,0x30,0x36,0x30,0x32,0x30,0x32,0x30,0x34,0x55,0x2c,0x30,0x78,0x38,0x31,0x37, - 0x66,0x37,0x66,0x66,0x65,0x55,0x2c,0x0a,0x30,0x78,0x66,0x30,0x35,0x30,0x35,0x30,0x61,0x30,0x55,0x2c,0x30,0x78,0x34,0x34,0x33,0x63,0x33,0x63,0x37,0x38,0x55,0x2c, - 0x30,0x78,0x62,0x61,0x39,0x66,0x39,0x66,0x32,0x35,0x55,0x2c,0x30,0x78,0x65,0x33,0x61,0x38,0x61,0x38,0x34,0x62,0x55,0x2c,0x0a,0x30,0x78,0x66,0x33,0x35,0x31,0x35, - 0x31,0x61,0x32,0x55,0x2c,0x30,0x78,0x66,0x65,0x61,0x33,0x61,0x33,0x35,0x64,0x55,0x2c,0x30,0x78,0x63,0x30,0x34,0x30,0x34,0x30,0x38,0x30,0x55,0x2c,0x30,0x78,0x38, - 0x61,0x38,0x66,0x38,0x66,0x30,0x35,0x55,0x2c,0x0a,0x30,0x78,0x61,0x64,0x39,0x32,0x39,0x32,0x33,0x66,0x55,0x2c,0x30,0x78,0x62,0x63,0x39,0x64,0x39,0x64,0x32,0x31, - 0x55,0x2c,0x30,0x78,0x34,0x38,0x33,0x38,0x33,0x38,0x37,0x30,0x55,0x2c,0x30,0x78,0x30,0x34,0x66,0x35,0x66,0x35,0x66,0x31,0x55,0x2c,0x0a,0x30,0x78,0x64,0x66,0x62, - 0x63,0x62,0x63,0x36,0x33,0x55,0x2c,0x30,0x78,0x63,0x31,0x62,0x36,0x62,0x36,0x37,0x37,0x55,0x2c,0x30,0x78,0x37,0x35,0x64,0x61,0x64,0x61,0x61,0x66,0x55,0x2c,0x30, - 0x78,0x36,0x33,0x32,0x31,0x32,0x31,0x34,0x32,0x55,0x2c,0x0a,0x30,0x78,0x33,0x30,0x31,0x30,0x31,0x30,0x32,0x30,0x55,0x2c,0x30,0x78,0x31,0x61,0x66,0x66,0x66,0x66, - 0x65,0x35,0x55,0x2c,0x30,0x78,0x30,0x65,0x66,0x33,0x66,0x33,0x66,0x64,0x55,0x2c,0x30,0x78,0x36,0x64,0x64,0x32,0x64,0x32,0x62,0x66,0x55,0x2c,0x0a,0x30,0x78,0x34, - 0x63,0x63,0x64,0x63,0x64,0x38,0x31,0x55,0x2c,0x30,0x78,0x31,0x34,0x30,0x63,0x30,0x63,0x31,0x38,0x55,0x2c,0x30,0x78,0x33,0x35,0x31,0x33,0x31,0x33,0x32,0x36,0x55, - 0x2c,0x30,0x78,0x32,0x66,0x65,0x63,0x65,0x63,0x63,0x33,0x55,0x2c,0x0a,0x30,0x78,0x65,0x31,0x35,0x66,0x35,0x66,0x62,0x65,0x55,0x2c,0x30,0x78,0x61,0x32,0x39,0x37, - 0x39,0x37,0x33,0x35,0x55,0x2c,0x30,0x78,0x63,0x63,0x34,0x34,0x34,0x34,0x38,0x38,0x55,0x2c,0x30,0x78,0x33,0x39,0x31,0x37,0x31,0x37,0x32,0x65,0x55,0x2c,0x0a,0x30, - 0x78,0x35,0x37,0x63,0x34,0x63,0x34,0x39,0x33,0x55,0x2c,0x30,0x78,0x66,0x32,0x61,0x37,0x61,0x37,0x35,0x35,0x55,0x2c,0x30,0x78,0x38,0x32,0x37,0x65,0x37,0x65,0x66, - 0x63,0x55,0x2c,0x30,0x78,0x34,0x37,0x33,0x64,0x33,0x64,0x37,0x61,0x55,0x2c,0x0a,0x30,0x78,0x61,0x63,0x36,0x34,0x36,0x34,0x63,0x38,0x55,0x2c,0x30,0x78,0x65,0x37, - 0x35,0x64,0x35,0x64,0x62,0x61,0x55,0x2c,0x30,0x78,0x32,0x62,0x31,0x39,0x31,0x39,0x33,0x32,0x55,0x2c,0x30,0x78,0x39,0x35,0x37,0x33,0x37,0x33,0x65,0x36,0x55,0x2c, - 0x0a,0x30,0x78,0x61,0x30,0x36,0x30,0x36,0x30,0x63,0x30,0x55,0x2c,0x30,0x78,0x39,0x38,0x38,0x31,0x38,0x31,0x31,0x39,0x55,0x2c,0x30,0x78,0x64,0x31,0x34,0x66,0x34, - 0x66,0x39,0x65,0x55,0x2c,0x30,0x78,0x37,0x66,0x64,0x63,0x64,0x63,0x61,0x33,0x55,0x2c,0x0a,0x30,0x78,0x36,0x36,0x32,0x32,0x32,0x32,0x34,0x34,0x55,0x2c,0x30,0x78, - 0x37,0x65,0x32,0x61,0x32,0x61,0x35,0x34,0x55,0x2c,0x30,0x78,0x61,0x62,0x39,0x30,0x39,0x30,0x33,0x62,0x55,0x2c,0x30,0x78,0x38,0x33,0x38,0x38,0x38,0x38,0x30,0x62, - 0x55,0x2c,0x0a,0x30,0x78,0x63,0x61,0x34,0x36,0x34,0x36,0x38,0x63,0x55,0x2c,0x30,0x78,0x32,0x39,0x65,0x65,0x65,0x65,0x63,0x37,0x55,0x2c,0x30,0x78,0x64,0x33,0x62, - 0x38,0x62,0x38,0x36,0x62,0x55,0x2c,0x30,0x78,0x33,0x63,0x31,0x34,0x31,0x34,0x32,0x38,0x55,0x2c,0x0a,0x30,0x78,0x37,0x39,0x64,0x65,0x64,0x65,0x61,0x37,0x55,0x2c, - 0x30,0x78,0x65,0x32,0x35,0x65,0x35,0x65,0x62,0x63,0x55,0x2c,0x30,0x78,0x31,0x64,0x30,0x62,0x30,0x62,0x31,0x36,0x55,0x2c,0x30,0x78,0x37,0x36,0x64,0x62,0x64,0x62, - 0x61,0x64,0x55,0x2c,0x0a,0x30,0x78,0x33,0x62,0x65,0x30,0x65,0x30,0x64,0x62,0x55,0x2c,0x30,0x78,0x35,0x36,0x33,0x32,0x33,0x32,0x36,0x34,0x55,0x2c,0x30,0x78,0x34, - 0x65,0x33,0x61,0x33,0x61,0x37,0x34,0x55,0x2c,0x30,0x78,0x31,0x65,0x30,0x61,0x30,0x61,0x31,0x34,0x55,0x2c,0x0a,0x30,0x78,0x64,0x62,0x34,0x39,0x34,0x39,0x39,0x32, - 0x55,0x2c,0x30,0x78,0x30,0x61,0x30,0x36,0x30,0x36,0x30,0x63,0x55,0x2c,0x30,0x78,0x36,0x63,0x32,0x34,0x32,0x34,0x34,0x38,0x55,0x2c,0x30,0x78,0x65,0x34,0x35,0x63, - 0x35,0x63,0x62,0x38,0x55,0x2c,0x0a,0x30,0x78,0x35,0x64,0x63,0x32,0x63,0x32,0x39,0x66,0x55,0x2c,0x30,0x78,0x36,0x65,0x64,0x33,0x64,0x33,0x62,0x64,0x55,0x2c,0x30, - 0x78,0x65,0x66,0x61,0x63,0x61,0x63,0x34,0x33,0x55,0x2c,0x30,0x78,0x61,0x36,0x36,0x32,0x36,0x32,0x63,0x34,0x55,0x2c,0x0a,0x30,0x78,0x61,0x38,0x39,0x31,0x39,0x31, - 0x33,0x39,0x55,0x2c,0x30,0x78,0x61,0x34,0x39,0x35,0x39,0x35,0x33,0x31,0x55,0x2c,0x30,0x78,0x33,0x37,0x65,0x34,0x65,0x34,0x64,0x33,0x55,0x2c,0x30,0x78,0x38,0x62, - 0x37,0x39,0x37,0x39,0x66,0x32,0x55,0x2c,0x0a,0x30,0x78,0x33,0x32,0x65,0x37,0x65,0x37,0x64,0x35,0x55,0x2c,0x30,0x78,0x34,0x33,0x63,0x38,0x63,0x38,0x38,0x62,0x55, - 0x2c,0x30,0x78,0x35,0x39,0x33,0x37,0x33,0x37,0x36,0x65,0x55,0x2c,0x30,0x78,0x62,0x37,0x36,0x64,0x36,0x64,0x64,0x61,0x55,0x2c,0x0a,0x30,0x78,0x38,0x63,0x38,0x64, - 0x38,0x64,0x30,0x31,0x55,0x2c,0x30,0x78,0x36,0x34,0x64,0x35,0x64,0x35,0x62,0x31,0x55,0x2c,0x30,0x78,0x64,0x32,0x34,0x65,0x34,0x65,0x39,0x63,0x55,0x2c,0x30,0x78, - 0x65,0x30,0x61,0x39,0x61,0x39,0x34,0x39,0x55,0x2c,0x0a,0x30,0x78,0x62,0x34,0x36,0x63,0x36,0x63,0x64,0x38,0x55,0x2c,0x30,0x78,0x66,0x61,0x35,0x36,0x35,0x36,0x61, - 0x63,0x55,0x2c,0x30,0x78,0x30,0x37,0x66,0x34,0x66,0x34,0x66,0x33,0x55,0x2c,0x30,0x78,0x32,0x35,0x65,0x61,0x65,0x61,0x63,0x66,0x55,0x2c,0x0a,0x30,0x78,0x61,0x66, - 0x36,0x35,0x36,0x35,0x63,0x61,0x55,0x2c,0x30,0x78,0x38,0x65,0x37,0x61,0x37,0x61,0x66,0x34,0x55,0x2c,0x30,0x78,0x65,0x39,0x61,0x65,0x61,0x65,0x34,0x37,0x55,0x2c, - 0x30,0x78,0x31,0x38,0x30,0x38,0x30,0x38,0x31,0x30,0x55,0x2c,0x0a,0x30,0x78,0x64,0x35,0x62,0x61,0x62,0x61,0x36,0x66,0x55,0x2c,0x30,0x78,0x38,0x38,0x37,0x38,0x37, - 0x38,0x66,0x30,0x55,0x2c,0x30,0x78,0x36,0x66,0x32,0x35,0x32,0x35,0x34,0x61,0x55,0x2c,0x30,0x78,0x37,0x32,0x32,0x65,0x32,0x65,0x35,0x63,0x55,0x2c,0x0a,0x30,0x78, - 0x32,0x34,0x31,0x63,0x31,0x63,0x33,0x38,0x55,0x2c,0x30,0x78,0x66,0x31,0x61,0x36,0x61,0x36,0x35,0x37,0x55,0x2c,0x30,0x78,0x63,0x37,0x62,0x34,0x62,0x34,0x37,0x33, - 0x55,0x2c,0x30,0x78,0x35,0x31,0x63,0x36,0x63,0x36,0x39,0x37,0x55,0x2c,0x0a,0x30,0x78,0x32,0x33,0x65,0x38,0x65,0x38,0x63,0x62,0x55,0x2c,0x30,0x78,0x37,0x63,0x64, - 0x64,0x64,0x64,0x61,0x31,0x55,0x2c,0x30,0x78,0x39,0x63,0x37,0x34,0x37,0x34,0x65,0x38,0x55,0x2c,0x30,0x78,0x32,0x31,0x31,0x66,0x31,0x66,0x33,0x65,0x55,0x2c,0x0a, - 0x30,0x78,0x64,0x64,0x34,0x62,0x34,0x62,0x39,0x36,0x55,0x2c,0x30,0x78,0x64,0x63,0x62,0x64,0x62,0x64,0x36,0x31,0x55,0x2c,0x30,0x78,0x38,0x36,0x38,0x62,0x38,0x62, - 0x30,0x64,0x55,0x2c,0x30,0x78,0x38,0x35,0x38,0x61,0x38,0x61,0x30,0x66,0x55,0x2c,0x0a,0x30,0x78,0x39,0x30,0x37,0x30,0x37,0x30,0x65,0x30,0x55,0x2c,0x30,0x78,0x34, - 0x32,0x33,0x65,0x33,0x65,0x37,0x63,0x55,0x2c,0x30,0x78,0x63,0x34,0x62,0x35,0x62,0x35,0x37,0x31,0x55,0x2c,0x30,0x78,0x61,0x61,0x36,0x36,0x36,0x36,0x63,0x63,0x55, - 0x2c,0x0a,0x30,0x78,0x64,0x38,0x34,0x38,0x34,0x38,0x39,0x30,0x55,0x2c,0x30,0x78,0x30,0x35,0x30,0x33,0x30,0x33,0x30,0x36,0x55,0x2c,0x30,0x78,0x30,0x31,0x66,0x36, - 0x66,0x36,0x66,0x37,0x55,0x2c,0x30,0x78,0x31,0x32,0x30,0x65,0x30,0x65,0x31,0x63,0x55,0x2c,0x0a,0x30,0x78,0x61,0x33,0x36,0x31,0x36,0x31,0x63,0x32,0x55,0x2c,0x30, - 0x78,0x35,0x66,0x33,0x35,0x33,0x35,0x36,0x61,0x55,0x2c,0x30,0x78,0x66,0x39,0x35,0x37,0x35,0x37,0x61,0x65,0x55,0x2c,0x30,0x78,0x64,0x30,0x62,0x39,0x62,0x39,0x36, - 0x39,0x55,0x2c,0x0a,0x30,0x78,0x39,0x31,0x38,0x36,0x38,0x36,0x31,0x37,0x55,0x2c,0x30,0x78,0x35,0x38,0x63,0x31,0x63,0x31,0x39,0x39,0x55,0x2c,0x30,0x78,0x32,0x37, - 0x31,0x64,0x31,0x64,0x33,0x61,0x55,0x2c,0x30,0x78,0x62,0x39,0x39,0x65,0x39,0x65,0x32,0x37,0x55,0x2c,0x0a,0x30,0x78,0x33,0x38,0x65,0x31,0x65,0x31,0x64,0x39,0x55, - 0x2c,0x30,0x78,0x31,0x33,0x66,0x38,0x66,0x38,0x65,0x62,0x55,0x2c,0x30,0x78,0x62,0x33,0x39,0x38,0x39,0x38,0x32,0x62,0x55,0x2c,0x30,0x78,0x33,0x33,0x31,0x31,0x31, - 0x31,0x32,0x32,0x55,0x2c,0x0a,0x30,0x78,0x62,0x62,0x36,0x39,0x36,0x39,0x64,0x32,0x55,0x2c,0x30,0x78,0x37,0x30,0x64,0x39,0x64,0x39,0x61,0x39,0x55,0x2c,0x30,0x78, - 0x38,0x39,0x38,0x65,0x38,0x65,0x30,0x37,0x55,0x2c,0x30,0x78,0x61,0x37,0x39,0x34,0x39,0x34,0x33,0x33,0x55,0x2c,0x0a,0x30,0x78,0x62,0x36,0x39,0x62,0x39,0x62,0x32, - 0x64,0x55,0x2c,0x30,0x78,0x32,0x32,0x31,0x65,0x31,0x65,0x33,0x63,0x55,0x2c,0x30,0x78,0x39,0x32,0x38,0x37,0x38,0x37,0x31,0x35,0x55,0x2c,0x30,0x78,0x32,0x30,0x65, - 0x39,0x65,0x39,0x63,0x39,0x55,0x2c,0x0a,0x30,0x78,0x34,0x39,0x63,0x65,0x63,0x65,0x38,0x37,0x55,0x2c,0x30,0x78,0x66,0x66,0x35,0x35,0x35,0x35,0x61,0x61,0x55,0x2c, - 0x30,0x78,0x37,0x38,0x32,0x38,0x32,0x38,0x35,0x30,0x55,0x2c,0x30,0x78,0x37,0x61,0x64,0x66,0x64,0x66,0x61,0x35,0x55,0x2c,0x0a,0x30,0x78,0x38,0x66,0x38,0x63,0x38, - 0x63,0x30,0x33,0x55,0x2c,0x30,0x78,0x66,0x38,0x61,0x31,0x61,0x31,0x35,0x39,0x55,0x2c,0x30,0x78,0x38,0x30,0x38,0x39,0x38,0x39,0x30,0x39,0x55,0x2c,0x30,0x78,0x31, - 0x37,0x30,0x64,0x30,0x64,0x31,0x61,0x55,0x2c,0x0a,0x30,0x78,0x64,0x61,0x62,0x66,0x62,0x66,0x36,0x35,0x55,0x2c,0x30,0x78,0x33,0x31,0x65,0x36,0x65,0x36,0x64,0x37, - 0x55,0x2c,0x30,0x78,0x63,0x36,0x34,0x32,0x34,0x32,0x38,0x34,0x55,0x2c,0x30,0x78,0x62,0x38,0x36,0x38,0x36,0x38,0x64,0x30,0x55,0x2c,0x0a,0x30,0x78,0x63,0x33,0x34, - 0x31,0x34,0x31,0x38,0x32,0x55,0x2c,0x30,0x78,0x62,0x30,0x39,0x39,0x39,0x39,0x32,0x39,0x55,0x2c,0x30,0x78,0x37,0x37,0x32,0x64,0x32,0x64,0x35,0x61,0x55,0x2c,0x30, - 0x78,0x31,0x31,0x30,0x66,0x30,0x66,0x31,0x65,0x55,0x2c,0x0a,0x30,0x78,0x63,0x62,0x62,0x30,0x62,0x30,0x37,0x62,0x55,0x2c,0x30,0x78,0x66,0x63,0x35,0x34,0x35,0x34, - 0x61,0x38,0x55,0x2c,0x30,0x78,0x64,0x36,0x62,0x62,0x62,0x62,0x36,0x64,0x55,0x2c,0x30,0x78,0x33,0x61,0x31,0x36,0x31,0x36,0x32,0x63,0x55,0x2c,0x0a,0x30,0x78,0x36, - 0x33,0x36,0x33,0x63,0x36,0x61,0x35,0x55,0x2c,0x30,0x78,0x37,0x63,0x37,0x63,0x66,0x38,0x38,0x34,0x55,0x2c,0x30,0x78,0x37,0x37,0x37,0x37,0x65,0x65,0x39,0x39,0x55, - 0x2c,0x30,0x78,0x37,0x62,0x37,0x62,0x66,0x36,0x38,0x64,0x55,0x2c,0x0a,0x30,0x78,0x66,0x32,0x66,0x32,0x66,0x66,0x30,0x64,0x55,0x2c,0x30,0x78,0x36,0x62,0x36,0x62, - 0x64,0x36,0x62,0x64,0x55,0x2c,0x30,0x78,0x36,0x66,0x36,0x66,0x64,0x65,0x62,0x31,0x55,0x2c,0x30,0x78,0x63,0x35,0x63,0x35,0x39,0x31,0x35,0x34,0x55,0x2c,0x0a,0x30, - 0x78,0x33,0x30,0x33,0x30,0x36,0x30,0x35,0x30,0x55,0x2c,0x30,0x78,0x30,0x31,0x30,0x31,0x30,0x32,0x30,0x33,0x55,0x2c,0x30,0x78,0x36,0x37,0x36,0x37,0x63,0x65,0x61, - 0x39,0x55,0x2c,0x30,0x78,0x32,0x62,0x32,0x62,0x35,0x36,0x37,0x64,0x55,0x2c,0x0a,0x30,0x78,0x66,0x65,0x66,0x65,0x65,0x37,0x31,0x39,0x55,0x2c,0x30,0x78,0x64,0x37, - 0x64,0x37,0x62,0x35,0x36,0x32,0x55,0x2c,0x30,0x78,0x61,0x62,0x61,0x62,0x34,0x64,0x65,0x36,0x55,0x2c,0x30,0x78,0x37,0x36,0x37,0x36,0x65,0x63,0x39,0x61,0x55,0x2c, - 0x0a,0x30,0x78,0x63,0x61,0x63,0x61,0x38,0x66,0x34,0x35,0x55,0x2c,0x30,0x78,0x38,0x32,0x38,0x32,0x31,0x66,0x39,0x64,0x55,0x2c,0x30,0x78,0x63,0x39,0x63,0x39,0x38, - 0x39,0x34,0x30,0x55,0x2c,0x30,0x78,0x37,0x64,0x37,0x64,0x66,0x61,0x38,0x37,0x55,0x2c,0x0a,0x30,0x78,0x66,0x61,0x66,0x61,0x65,0x66,0x31,0x35,0x55,0x2c,0x30,0x78, - 0x35,0x39,0x35,0x39,0x62,0x32,0x65,0x62,0x55,0x2c,0x30,0x78,0x34,0x37,0x34,0x37,0x38,0x65,0x63,0x39,0x55,0x2c,0x30,0x78,0x66,0x30,0x66,0x30,0x66,0x62,0x30,0x62, - 0x55,0x2c,0x0a,0x30,0x78,0x61,0x64,0x61,0x64,0x34,0x31,0x65,0x63,0x55,0x2c,0x30,0x78,0x64,0x34,0x64,0x34,0x62,0x33,0x36,0x37,0x55,0x2c,0x30,0x78,0x61,0x32,0x61, - 0x32,0x35,0x66,0x66,0x64,0x55,0x2c,0x30,0x78,0x61,0x66,0x61,0x66,0x34,0x35,0x65,0x61,0x55,0x2c,0x0a,0x30,0x78,0x39,0x63,0x39,0x63,0x32,0x33,0x62,0x66,0x55,0x2c, - 0x30,0x78,0x61,0x34,0x61,0x34,0x35,0x33,0x66,0x37,0x55,0x2c,0x30,0x78,0x37,0x32,0x37,0x32,0x65,0x34,0x39,0x36,0x55,0x2c,0x30,0x78,0x63,0x30,0x63,0x30,0x39,0x62, - 0x35,0x62,0x55,0x2c,0x0a,0x30,0x78,0x62,0x37,0x62,0x37,0x37,0x35,0x63,0x32,0x55,0x2c,0x30,0x78,0x66,0x64,0x66,0x64,0x65,0x31,0x31,0x63,0x55,0x2c,0x30,0x78,0x39, - 0x33,0x39,0x33,0x33,0x64,0x61,0x65,0x55,0x2c,0x30,0x78,0x32,0x36,0x32,0x36,0x34,0x63,0x36,0x61,0x55,0x2c,0x0a,0x30,0x78,0x33,0x36,0x33,0x36,0x36,0x63,0x35,0x61, - 0x55,0x2c,0x30,0x78,0x33,0x66,0x33,0x66,0x37,0x65,0x34,0x31,0x55,0x2c,0x30,0x78,0x66,0x37,0x66,0x37,0x66,0x35,0x30,0x32,0x55,0x2c,0x30,0x78,0x63,0x63,0x63,0x63, - 0x38,0x33,0x34,0x66,0x55,0x2c,0x0a,0x30,0x78,0x33,0x34,0x33,0x34,0x36,0x38,0x35,0x63,0x55,0x2c,0x30,0x78,0x61,0x35,0x61,0x35,0x35,0x31,0x66,0x34,0x55,0x2c,0x30, - 0x78,0x65,0x35,0x65,0x35,0x64,0x31,0x33,0x34,0x55,0x2c,0x30,0x78,0x66,0x31,0x66,0x31,0x66,0x39,0x30,0x38,0x55,0x2c,0x0a,0x30,0x78,0x37,0x31,0x37,0x31,0x65,0x32, - 0x39,0x33,0x55,0x2c,0x30,0x78,0x64,0x38,0x64,0x38,0x61,0x62,0x37,0x33,0x55,0x2c,0x30,0x78,0x33,0x31,0x33,0x31,0x36,0x32,0x35,0x33,0x55,0x2c,0x30,0x78,0x31,0x35, - 0x31,0x35,0x32,0x61,0x33,0x66,0x55,0x2c,0x0a,0x30,0x78,0x30,0x34,0x30,0x34,0x30,0x38,0x30,0x63,0x55,0x2c,0x30,0x78,0x63,0x37,0x63,0x37,0x39,0x35,0x35,0x32,0x55, - 0x2c,0x30,0x78,0x32,0x33,0x32,0x33,0x34,0x36,0x36,0x35,0x55,0x2c,0x30,0x78,0x63,0x33,0x63,0x33,0x39,0x64,0x35,0x65,0x55,0x2c,0x0a,0x30,0x78,0x31,0x38,0x31,0x38, - 0x33,0x30,0x32,0x38,0x55,0x2c,0x30,0x78,0x39,0x36,0x39,0x36,0x33,0x37,0x61,0x31,0x55,0x2c,0x30,0x78,0x30,0x35,0x30,0x35,0x30,0x61,0x30,0x66,0x55,0x2c,0x30,0x78, - 0x39,0x61,0x39,0x61,0x32,0x66,0x62,0x35,0x55,0x2c,0x0a,0x30,0x78,0x30,0x37,0x30,0x37,0x30,0x65,0x30,0x39,0x55,0x2c,0x30,0x78,0x31,0x32,0x31,0x32,0x32,0x34,0x33, - 0x36,0x55,0x2c,0x30,0x78,0x38,0x30,0x38,0x30,0x31,0x62,0x39,0x62,0x55,0x2c,0x30,0x78,0x65,0x32,0x65,0x32,0x64,0x66,0x33,0x64,0x55,0x2c,0x0a,0x30,0x78,0x65,0x62, - 0x65,0x62,0x63,0x64,0x32,0x36,0x55,0x2c,0x30,0x78,0x32,0x37,0x32,0x37,0x34,0x65,0x36,0x39,0x55,0x2c,0x30,0x78,0x62,0x32,0x62,0x32,0x37,0x66,0x63,0x64,0x55,0x2c, - 0x30,0x78,0x37,0x35,0x37,0x35,0x65,0x61,0x39,0x66,0x55,0x2c,0x0a,0x30,0x78,0x30,0x39,0x30,0x39,0x31,0x32,0x31,0x62,0x55,0x2c,0x30,0x78,0x38,0x33,0x38,0x33,0x31, - 0x64,0x39,0x65,0x55,0x2c,0x30,0x78,0x32,0x63,0x32,0x63,0x35,0x38,0x37,0x34,0x55,0x2c,0x30,0x78,0x31,0x61,0x31,0x61,0x33,0x34,0x32,0x65,0x55,0x2c,0x0a,0x30,0x78, - 0x31,0x62,0x31,0x62,0x33,0x36,0x32,0x64,0x55,0x2c,0x30,0x78,0x36,0x65,0x36,0x65,0x64,0x63,0x62,0x32,0x55,0x2c,0x30,0x78,0x35,0x61,0x35,0x61,0x62,0x34,0x65,0x65, - 0x55,0x2c,0x30,0x78,0x61,0x30,0x61,0x30,0x35,0x62,0x66,0x62,0x55,0x2c,0x0a,0x30,0x78,0x35,0x32,0x35,0x32,0x61,0x34,0x66,0x36,0x55,0x2c,0x30,0x78,0x33,0x62,0x33, - 0x62,0x37,0x36,0x34,0x64,0x55,0x2c,0x30,0x78,0x64,0x36,0x64,0x36,0x62,0x37,0x36,0x31,0x55,0x2c,0x30,0x78,0x62,0x33,0x62,0x33,0x37,0x64,0x63,0x65,0x55,0x2c,0x0a, - 0x30,0x78,0x32,0x39,0x32,0x39,0x35,0x32,0x37,0x62,0x55,0x2c,0x30,0x78,0x65,0x33,0x65,0x33,0x64,0x64,0x33,0x65,0x55,0x2c,0x30,0x78,0x32,0x66,0x32,0x66,0x35,0x65, - 0x37,0x31,0x55,0x2c,0x30,0x78,0x38,0x34,0x38,0x34,0x31,0x33,0x39,0x37,0x55,0x2c,0x0a,0x30,0x78,0x35,0x33,0x35,0x33,0x61,0x36,0x66,0x35,0x55,0x2c,0x30,0x78,0x64, - 0x31,0x64,0x31,0x62,0x39,0x36,0x38,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x30,0x78,0x65,0x64,0x65,0x64,0x63,0x31,0x32,0x63,0x55, - 0x2c,0x0a,0x30,0x78,0x32,0x30,0x32,0x30,0x34,0x30,0x36,0x30,0x55,0x2c,0x30,0x78,0x66,0x63,0x66,0x63,0x65,0x33,0x31,0x66,0x55,0x2c,0x30,0x78,0x62,0x31,0x62,0x31, - 0x37,0x39,0x63,0x38,0x55,0x2c,0x30,0x78,0x35,0x62,0x35,0x62,0x62,0x36,0x65,0x64,0x55,0x2c,0x0a,0x30,0x78,0x36,0x61,0x36,0x61,0x64,0x34,0x62,0x65,0x55,0x2c,0x30, - 0x78,0x63,0x62,0x63,0x62,0x38,0x64,0x34,0x36,0x55,0x2c,0x30,0x78,0x62,0x65,0x62,0x65,0x36,0x37,0x64,0x39,0x55,0x2c,0x30,0x78,0x33,0x39,0x33,0x39,0x37,0x32,0x34, - 0x62,0x55,0x2c,0x0a,0x30,0x78,0x34,0x61,0x34,0x61,0x39,0x34,0x64,0x65,0x55,0x2c,0x30,0x78,0x34,0x63,0x34,0x63,0x39,0x38,0x64,0x34,0x55,0x2c,0x30,0x78,0x35,0x38, - 0x35,0x38,0x62,0x30,0x65,0x38,0x55,0x2c,0x30,0x78,0x63,0x66,0x63,0x66,0x38,0x35,0x34,0x61,0x55,0x2c,0x0a,0x30,0x78,0x64,0x30,0x64,0x30,0x62,0x62,0x36,0x62,0x55, - 0x2c,0x30,0x78,0x65,0x66,0x65,0x66,0x63,0x35,0x32,0x61,0x55,0x2c,0x30,0x78,0x61,0x61,0x61,0x61,0x34,0x66,0x65,0x35,0x55,0x2c,0x30,0x78,0x66,0x62,0x66,0x62,0x65, - 0x64,0x31,0x36,0x55,0x2c,0x0a,0x30,0x78,0x34,0x33,0x34,0x33,0x38,0x36,0x63,0x35,0x55,0x2c,0x30,0x78,0x34,0x64,0x34,0x64,0x39,0x61,0x64,0x37,0x55,0x2c,0x30,0x78, - 0x33,0x33,0x33,0x33,0x36,0x36,0x35,0x35,0x55,0x2c,0x30,0x78,0x38,0x35,0x38,0x35,0x31,0x31,0x39,0x34,0x55,0x2c,0x0a,0x30,0x78,0x34,0x35,0x34,0x35,0x38,0x61,0x63, - 0x66,0x55,0x2c,0x30,0x78,0x66,0x39,0x66,0x39,0x65,0x39,0x31,0x30,0x55,0x2c,0x30,0x78,0x30,0x32,0x30,0x32,0x30,0x34,0x30,0x36,0x55,0x2c,0x30,0x78,0x37,0x66,0x37, - 0x66,0x66,0x65,0x38,0x31,0x55,0x2c,0x0a,0x30,0x78,0x35,0x30,0x35,0x30,0x61,0x30,0x66,0x30,0x55,0x2c,0x30,0x78,0x33,0x63,0x33,0x63,0x37,0x38,0x34,0x34,0x55,0x2c, - 0x30,0x78,0x39,0x66,0x39,0x66,0x32,0x35,0x62,0x61,0x55,0x2c,0x30,0x78,0x61,0x38,0x61,0x38,0x34,0x62,0x65,0x33,0x55,0x2c,0x0a,0x30,0x78,0x35,0x31,0x35,0x31,0x61, - 0x32,0x66,0x33,0x55,0x2c,0x30,0x78,0x61,0x33,0x61,0x33,0x35,0x64,0x66,0x65,0x55,0x2c,0x30,0x78,0x34,0x30,0x34,0x30,0x38,0x30,0x63,0x30,0x55,0x2c,0x30,0x78,0x38, - 0x66,0x38,0x66,0x30,0x35,0x38,0x61,0x55,0x2c,0x0a,0x30,0x78,0x39,0x32,0x39,0x32,0x33,0x66,0x61,0x64,0x55,0x2c,0x30,0x78,0x39,0x64,0x39,0x64,0x32,0x31,0x62,0x63, - 0x55,0x2c,0x30,0x78,0x33,0x38,0x33,0x38,0x37,0x30,0x34,0x38,0x55,0x2c,0x30,0x78,0x66,0x35,0x66,0x35,0x66,0x31,0x30,0x34,0x55,0x2c,0x0a,0x30,0x78,0x62,0x63,0x62, - 0x63,0x36,0x33,0x64,0x66,0x55,0x2c,0x30,0x78,0x62,0x36,0x62,0x36,0x37,0x37,0x63,0x31,0x55,0x2c,0x30,0x78,0x64,0x61,0x64,0x61,0x61,0x66,0x37,0x35,0x55,0x2c,0x30, - 0x78,0x32,0x31,0x32,0x31,0x34,0x32,0x36,0x33,0x55,0x2c,0x0a,0x30,0x78,0x31,0x30,0x31,0x30,0x32,0x30,0x33,0x30,0x55,0x2c,0x30,0x78,0x66,0x66,0x66,0x66,0x65,0x35, - 0x31,0x61,0x55,0x2c,0x30,0x78,0x66,0x33,0x66,0x33,0x66,0x64,0x30,0x65,0x55,0x2c,0x30,0x78,0x64,0x32,0x64,0x32,0x62,0x66,0x36,0x64,0x55,0x2c,0x0a,0x30,0x78,0x63, - 0x64,0x63,0x64,0x38,0x31,0x34,0x63,0x55,0x2c,0x30,0x78,0x30,0x63,0x30,0x63,0x31,0x38,0x31,0x34,0x55,0x2c,0x30,0x78,0x31,0x33,0x31,0x33,0x32,0x36,0x33,0x35,0x55, - 0x2c,0x30,0x78,0x65,0x63,0x65,0x63,0x63,0x33,0x32,0x66,0x55,0x2c,0x0a,0x30,0x78,0x35,0x66,0x35,0x66,0x62,0x65,0x65,0x31,0x55,0x2c,0x30,0x78,0x39,0x37,0x39,0x37, - 0x33,0x35,0x61,0x32,0x55,0x2c,0x30,0x78,0x34,0x34,0x34,0x34,0x38,0x38,0x63,0x63,0x55,0x2c,0x30,0x78,0x31,0x37,0x31,0x37,0x32,0x65,0x33,0x39,0x55,0x2c,0x0a,0x30, - 0x78,0x63,0x34,0x63,0x34,0x39,0x33,0x35,0x37,0x55,0x2c,0x30,0x78,0x61,0x37,0x61,0x37,0x35,0x35,0x66,0x32,0x55,0x2c,0x30,0x78,0x37,0x65,0x37,0x65,0x66,0x63,0x38, - 0x32,0x55,0x2c,0x30,0x78,0x33,0x64,0x33,0x64,0x37,0x61,0x34,0x37,0x55,0x2c,0x0a,0x30,0x78,0x36,0x34,0x36,0x34,0x63,0x38,0x61,0x63,0x55,0x2c,0x30,0x78,0x35,0x64, - 0x35,0x64,0x62,0x61,0x65,0x37,0x55,0x2c,0x30,0x78,0x31,0x39,0x31,0x39,0x33,0x32,0x32,0x62,0x55,0x2c,0x30,0x78,0x37,0x33,0x37,0x33,0x65,0x36,0x39,0x35,0x55,0x2c, - 0x0a,0x30,0x78,0x36,0x30,0x36,0x30,0x63,0x30,0x61,0x30,0x55,0x2c,0x30,0x78,0x38,0x31,0x38,0x31,0x31,0x39,0x39,0x38,0x55,0x2c,0x30,0x78,0x34,0x66,0x34,0x66,0x39, - 0x65,0x64,0x31,0x55,0x2c,0x30,0x78,0x64,0x63,0x64,0x63,0x61,0x33,0x37,0x66,0x55,0x2c,0x0a,0x30,0x78,0x32,0x32,0x32,0x32,0x34,0x34,0x36,0x36,0x55,0x2c,0x30,0x78, - 0x32,0x61,0x32,0x61,0x35,0x34,0x37,0x65,0x55,0x2c,0x30,0x78,0x39,0x30,0x39,0x30,0x33,0x62,0x61,0x62,0x55,0x2c,0x30,0x78,0x38,0x38,0x38,0x38,0x30,0x62,0x38,0x33, - 0x55,0x2c,0x0a,0x30,0x78,0x34,0x36,0x34,0x36,0x38,0x63,0x63,0x61,0x55,0x2c,0x30,0x78,0x65,0x65,0x65,0x65,0x63,0x37,0x32,0x39,0x55,0x2c,0x30,0x78,0x62,0x38,0x62, - 0x38,0x36,0x62,0x64,0x33,0x55,0x2c,0x30,0x78,0x31,0x34,0x31,0x34,0x32,0x38,0x33,0x63,0x55,0x2c,0x0a,0x30,0x78,0x64,0x65,0x64,0x65,0x61,0x37,0x37,0x39,0x55,0x2c, - 0x30,0x78,0x35,0x65,0x35,0x65,0x62,0x63,0x65,0x32,0x55,0x2c,0x30,0x78,0x30,0x62,0x30,0x62,0x31,0x36,0x31,0x64,0x55,0x2c,0x30,0x78,0x64,0x62,0x64,0x62,0x61,0x64, - 0x37,0x36,0x55,0x2c,0x0a,0x30,0x78,0x65,0x30,0x65,0x30,0x64,0x62,0x33,0x62,0x55,0x2c,0x30,0x78,0x33,0x32,0x33,0x32,0x36,0x34,0x35,0x36,0x55,0x2c,0x30,0x78,0x33, - 0x61,0x33,0x61,0x37,0x34,0x34,0x65,0x55,0x2c,0x30,0x78,0x30,0x61,0x30,0x61,0x31,0x34,0x31,0x65,0x55,0x2c,0x0a,0x30,0x78,0x34,0x39,0x34,0x39,0x39,0x32,0x64,0x62, - 0x55,0x2c,0x30,0x78,0x30,0x36,0x30,0x36,0x30,0x63,0x30,0x61,0x55,0x2c,0x30,0x78,0x32,0x34,0x32,0x34,0x34,0x38,0x36,0x63,0x55,0x2c,0x30,0x78,0x35,0x63,0x35,0x63, - 0x62,0x38,0x65,0x34,0x55,0x2c,0x0a,0x30,0x78,0x63,0x32,0x63,0x32,0x39,0x66,0x35,0x64,0x55,0x2c,0x30,0x78,0x64,0x33,0x64,0x33,0x62,0x64,0x36,0x65,0x55,0x2c,0x30, - 0x78,0x61,0x63,0x61,0x63,0x34,0x33,0x65,0x66,0x55,0x2c,0x30,0x78,0x36,0x32,0x36,0x32,0x63,0x34,0x61,0x36,0x55,0x2c,0x0a,0x30,0x78,0x39,0x31,0x39,0x31,0x33,0x39, - 0x61,0x38,0x55,0x2c,0x30,0x78,0x39,0x35,0x39,0x35,0x33,0x31,0x61,0x34,0x55,0x2c,0x30,0x78,0x65,0x34,0x65,0x34,0x64,0x33,0x33,0x37,0x55,0x2c,0x30,0x78,0x37,0x39, - 0x37,0x39,0x66,0x32,0x38,0x62,0x55,0x2c,0x0a,0x30,0x78,0x65,0x37,0x65,0x37,0x64,0x35,0x33,0x32,0x55,0x2c,0x30,0x78,0x63,0x38,0x63,0x38,0x38,0x62,0x34,0x33,0x55, - 0x2c,0x30,0x78,0x33,0x37,0x33,0x37,0x36,0x65,0x35,0x39,0x55,0x2c,0x30,0x78,0x36,0x64,0x36,0x64,0x64,0x61,0x62,0x37,0x55,0x2c,0x0a,0x30,0x78,0x38,0x64,0x38,0x64, - 0x30,0x31,0x38,0x63,0x55,0x2c,0x30,0x78,0x64,0x35,0x64,0x35,0x62,0x31,0x36,0x34,0x55,0x2c,0x30,0x78,0x34,0x65,0x34,0x65,0x39,0x63,0x64,0x32,0x55,0x2c,0x30,0x78, - 0x61,0x39,0x61,0x39,0x34,0x39,0x65,0x30,0x55,0x2c,0x0a,0x30,0x78,0x36,0x63,0x36,0x63,0x64,0x38,0x62,0x34,0x55,0x2c,0x30,0x78,0x35,0x36,0x35,0x36,0x61,0x63,0x66, - 0x61,0x55,0x2c,0x30,0x78,0x66,0x34,0x66,0x34,0x66,0x33,0x30,0x37,0x55,0x2c,0x30,0x78,0x65,0x61,0x65,0x61,0x63,0x66,0x32,0x35,0x55,0x2c,0x0a,0x30,0x78,0x36,0x35, - 0x36,0x35,0x63,0x61,0x61,0x66,0x55,0x2c,0x30,0x78,0x37,0x61,0x37,0x61,0x66,0x34,0x38,0x65,0x55,0x2c,0x30,0x78,0x61,0x65,0x61,0x65,0x34,0x37,0x65,0x39,0x55,0x2c, - 0x30,0x78,0x30,0x38,0x30,0x38,0x31,0x30,0x31,0x38,0x55,0x2c,0x0a,0x30,0x78,0x62,0x61,0x62,0x61,0x36,0x66,0x64,0x35,0x55,0x2c,0x30,0x78,0x37,0x38,0x37,0x38,0x66, - 0x30,0x38,0x38,0x55,0x2c,0x30,0x78,0x32,0x35,0x32,0x35,0x34,0x61,0x36,0x66,0x55,0x2c,0x30,0x78,0x32,0x65,0x32,0x65,0x35,0x63,0x37,0x32,0x55,0x2c,0x0a,0x30,0x78, - 0x31,0x63,0x31,0x63,0x33,0x38,0x32,0x34,0x55,0x2c,0x30,0x78,0x61,0x36,0x61,0x36,0x35,0x37,0x66,0x31,0x55,0x2c,0x30,0x78,0x62,0x34,0x62,0x34,0x37,0x33,0x63,0x37, - 0x55,0x2c,0x30,0x78,0x63,0x36,0x63,0x36,0x39,0x37,0x35,0x31,0x55,0x2c,0x0a,0x30,0x78,0x65,0x38,0x65,0x38,0x63,0x62,0x32,0x33,0x55,0x2c,0x30,0x78,0x64,0x64,0x64, - 0x64,0x61,0x31,0x37,0x63,0x55,0x2c,0x30,0x78,0x37,0x34,0x37,0x34,0x65,0x38,0x39,0x63,0x55,0x2c,0x30,0x78,0x31,0x66,0x31,0x66,0x33,0x65,0x32,0x31,0x55,0x2c,0x0a, - 0x30,0x78,0x34,0x62,0x34,0x62,0x39,0x36,0x64,0x64,0x55,0x2c,0x30,0x78,0x62,0x64,0x62,0x64,0x36,0x31,0x64,0x63,0x55,0x2c,0x30,0x78,0x38,0x62,0x38,0x62,0x30,0x64, - 0x38,0x36,0x55,0x2c,0x30,0x78,0x38,0x61,0x38,0x61,0x30,0x66,0x38,0x35,0x55,0x2c,0x0a,0x30,0x78,0x37,0x30,0x37,0x30,0x65,0x30,0x39,0x30,0x55,0x2c,0x30,0x78,0x33, - 0x65,0x33,0x65,0x37,0x63,0x34,0x32,0x55,0x2c,0x30,0x78,0x62,0x35,0x62,0x35,0x37,0x31,0x63,0x34,0x55,0x2c,0x30,0x78,0x36,0x36,0x36,0x36,0x63,0x63,0x61,0x61,0x55, - 0x2c,0x0a,0x30,0x78,0x34,0x38,0x34,0x38,0x39,0x30,0x64,0x38,0x55,0x2c,0x30,0x78,0x30,0x33,0x30,0x33,0x30,0x36,0x30,0x35,0x55,0x2c,0x30,0x78,0x66,0x36,0x66,0x36, - 0x66,0x37,0x30,0x31,0x55,0x2c,0x30,0x78,0x30,0x65,0x30,0x65,0x31,0x63,0x31,0x32,0x55,0x2c,0x0a,0x30,0x78,0x36,0x31,0x36,0x31,0x63,0x32,0x61,0x33,0x55,0x2c,0x30, - 0x78,0x33,0x35,0x33,0x35,0x36,0x61,0x35,0x66,0x55,0x2c,0x30,0x78,0x35,0x37,0x35,0x37,0x61,0x65,0x66,0x39,0x55,0x2c,0x30,0x78,0x62,0x39,0x62,0x39,0x36,0x39,0x64, - 0x30,0x55,0x2c,0x0a,0x30,0x78,0x38,0x36,0x38,0x36,0x31,0x37,0x39,0x31,0x55,0x2c,0x30,0x78,0x63,0x31,0x63,0x31,0x39,0x39,0x35,0x38,0x55,0x2c,0x30,0x78,0x31,0x64, - 0x31,0x64,0x33,0x61,0x32,0x37,0x55,0x2c,0x30,0x78,0x39,0x65,0x39,0x65,0x32,0x37,0x62,0x39,0x55,0x2c,0x0a,0x30,0x78,0x65,0x31,0x65,0x31,0x64,0x39,0x33,0x38,0x55, - 0x2c,0x30,0x78,0x66,0x38,0x66,0x38,0x65,0x62,0x31,0x33,0x55,0x2c,0x30,0x78,0x39,0x38,0x39,0x38,0x32,0x62,0x62,0x33,0x55,0x2c,0x30,0x78,0x31,0x31,0x31,0x31,0x32, - 0x32,0x33,0x33,0x55,0x2c,0x0a,0x30,0x78,0x36,0x39,0x36,0x39,0x64,0x32,0x62,0x62,0x55,0x2c,0x30,0x78,0x64,0x39,0x64,0x39,0x61,0x39,0x37,0x30,0x55,0x2c,0x30,0x78, - 0x38,0x65,0x38,0x65,0x30,0x37,0x38,0x39,0x55,0x2c,0x30,0x78,0x39,0x34,0x39,0x34,0x33,0x33,0x61,0x37,0x55,0x2c,0x0a,0x30,0x78,0x39,0x62,0x39,0x62,0x32,0x64,0x62, - 0x36,0x55,0x2c,0x30,0x78,0x31,0x65,0x31,0x65,0x33,0x63,0x32,0x32,0x55,0x2c,0x30,0x78,0x38,0x37,0x38,0x37,0x31,0x35,0x39,0x32,0x55,0x2c,0x30,0x78,0x65,0x39,0x65, - 0x39,0x63,0x39,0x32,0x30,0x55,0x2c,0x0a,0x30,0x78,0x63,0x65,0x63,0x65,0x38,0x37,0x34,0x39,0x55,0x2c,0x30,0x78,0x35,0x35,0x35,0x35,0x61,0x61,0x66,0x66,0x55,0x2c, - 0x30,0x78,0x32,0x38,0x32,0x38,0x35,0x30,0x37,0x38,0x55,0x2c,0x30,0x78,0x64,0x66,0x64,0x66,0x61,0x35,0x37,0x61,0x55,0x2c,0x0a,0x30,0x78,0x38,0x63,0x38,0x63,0x30, - 0x33,0x38,0x66,0x55,0x2c,0x30,0x78,0x61,0x31,0x61,0x31,0x35,0x39,0x66,0x38,0x55,0x2c,0x30,0x78,0x38,0x39,0x38,0x39,0x30,0x39,0x38,0x30,0x55,0x2c,0x30,0x78,0x30, - 0x64,0x30,0x64,0x31,0x61,0x31,0x37,0x55,0x2c,0x0a,0x30,0x78,0x62,0x66,0x62,0x66,0x36,0x35,0x64,0x61,0x55,0x2c,0x30,0x78,0x65,0x36,0x65,0x36,0x64,0x37,0x33,0x31, - 0x55,0x2c,0x30,0x78,0x34,0x32,0x34,0x32,0x38,0x34,0x63,0x36,0x55,0x2c,0x30,0x78,0x36,0x38,0x36,0x38,0x64,0x30,0x62,0x38,0x55,0x2c,0x0a,0x30,0x78,0x34,0x31,0x34, - 0x31,0x38,0x32,0x63,0x33,0x55,0x2c,0x30,0x78,0x39,0x39,0x39,0x39,0x32,0x39,0x62,0x30,0x55,0x2c,0x30,0x78,0x32,0x64,0x32,0x64,0x35,0x61,0x37,0x37,0x55,0x2c,0x30, - 0x78,0x30,0x66,0x30,0x66,0x31,0x65,0x31,0x31,0x55,0x2c,0x0a,0x30,0x78,0x62,0x30,0x62,0x30,0x37,0x62,0x63,0x62,0x55,0x2c,0x30,0x78,0x35,0x34,0x35,0x34,0x61,0x38, - 0x66,0x63,0x55,0x2c,0x30,0x78,0x62,0x62,0x62,0x62,0x36,0x64,0x64,0x36,0x55,0x2c,0x30,0x78,0x31,0x36,0x31,0x36,0x32,0x63,0x33,0x61,0x55,0x2c,0x0a,0x30,0x78,0x36, - 0x33,0x63,0x36,0x61,0x35,0x36,0x33,0x55,0x2c,0x30,0x78,0x37,0x63,0x66,0x38,0x38,0x34,0x37,0x63,0x55,0x2c,0x30,0x78,0x37,0x37,0x65,0x65,0x39,0x39,0x37,0x37,0x55, - 0x2c,0x30,0x78,0x37,0x62,0x66,0x36,0x38,0x64,0x37,0x62,0x55,0x2c,0x0a,0x30,0x78,0x66,0x32,0x66,0x66,0x30,0x64,0x66,0x32,0x55,0x2c,0x30,0x78,0x36,0x62,0x64,0x36, - 0x62,0x64,0x36,0x62,0x55,0x2c,0x30,0x78,0x36,0x66,0x64,0x65,0x62,0x31,0x36,0x66,0x55,0x2c,0x30,0x78,0x63,0x35,0x39,0x31,0x35,0x34,0x63,0x35,0x55,0x2c,0x0a,0x30, - 0x78,0x33,0x30,0x36,0x30,0x35,0x30,0x33,0x30,0x55,0x2c,0x30,0x78,0x30,0x31,0x30,0x32,0x30,0x33,0x30,0x31,0x55,0x2c,0x30,0x78,0x36,0x37,0x63,0x65,0x61,0x39,0x36, - 0x37,0x55,0x2c,0x30,0x78,0x32,0x62,0x35,0x36,0x37,0x64,0x32,0x62,0x55,0x2c,0x0a,0x30,0x78,0x66,0x65,0x65,0x37,0x31,0x39,0x66,0x65,0x55,0x2c,0x30,0x78,0x64,0x37, - 0x62,0x35,0x36,0x32,0x64,0x37,0x55,0x2c,0x30,0x78,0x61,0x62,0x34,0x64,0x65,0x36,0x61,0x62,0x55,0x2c,0x30,0x78,0x37,0x36,0x65,0x63,0x39,0x61,0x37,0x36,0x55,0x2c, - 0x0a,0x30,0x78,0x63,0x61,0x38,0x66,0x34,0x35,0x63,0x61,0x55,0x2c,0x30,0x78,0x38,0x32,0x31,0x66,0x39,0x64,0x38,0x32,0x55,0x2c,0x30,0x78,0x63,0x39,0x38,0x39,0x34, - 0x30,0x63,0x39,0x55,0x2c,0x30,0x78,0x37,0x64,0x66,0x61,0x38,0x37,0x37,0x64,0x55,0x2c,0x0a,0x30,0x78,0x66,0x61,0x65,0x66,0x31,0x35,0x66,0x61,0x55,0x2c,0x30,0x78, - 0x35,0x39,0x62,0x32,0x65,0x62,0x35,0x39,0x55,0x2c,0x30,0x78,0x34,0x37,0x38,0x65,0x63,0x39,0x34,0x37,0x55,0x2c,0x30,0x78,0x66,0x30,0x66,0x62,0x30,0x62,0x66,0x30, - 0x55,0x2c,0x0a,0x30,0x78,0x61,0x64,0x34,0x31,0x65,0x63,0x61,0x64,0x55,0x2c,0x30,0x78,0x64,0x34,0x62,0x33,0x36,0x37,0x64,0x34,0x55,0x2c,0x30,0x78,0x61,0x32,0x35, - 0x66,0x66,0x64,0x61,0x32,0x55,0x2c,0x30,0x78,0x61,0x66,0x34,0x35,0x65,0x61,0x61,0x66,0x55,0x2c,0x0a,0x30,0x78,0x39,0x63,0x32,0x33,0x62,0x66,0x39,0x63,0x55,0x2c, - 0x30,0x78,0x61,0x34,0x35,0x33,0x66,0x37,0x61,0x34,0x55,0x2c,0x30,0x78,0x37,0x32,0x65,0x34,0x39,0x36,0x37,0x32,0x55,0x2c,0x30,0x78,0x63,0x30,0x39,0x62,0x35,0x62, - 0x63,0x30,0x55,0x2c,0x0a,0x30,0x78,0x62,0x37,0x37,0x35,0x63,0x32,0x62,0x37,0x55,0x2c,0x30,0x78,0x66,0x64,0x65,0x31,0x31,0x63,0x66,0x64,0x55,0x2c,0x30,0x78,0x39, - 0x33,0x33,0x64,0x61,0x65,0x39,0x33,0x55,0x2c,0x30,0x78,0x32,0x36,0x34,0x63,0x36,0x61,0x32,0x36,0x55,0x2c,0x0a,0x30,0x78,0x33,0x36,0x36,0x63,0x35,0x61,0x33,0x36, - 0x55,0x2c,0x30,0x78,0x33,0x66,0x37,0x65,0x34,0x31,0x33,0x66,0x55,0x2c,0x30,0x78,0x66,0x37,0x66,0x35,0x30,0x32,0x66,0x37,0x55,0x2c,0x30,0x78,0x63,0x63,0x38,0x33, - 0x34,0x66,0x63,0x63,0x55,0x2c,0x0a,0x30,0x78,0x33,0x34,0x36,0x38,0x35,0x63,0x33,0x34,0x55,0x2c,0x30,0x78,0x61,0x35,0x35,0x31,0x66,0x34,0x61,0x35,0x55,0x2c,0x30, - 0x78,0x65,0x35,0x64,0x31,0x33,0x34,0x65,0x35,0x55,0x2c,0x30,0x78,0x66,0x31,0x66,0x39,0x30,0x38,0x66,0x31,0x55,0x2c,0x0a,0x30,0x78,0x37,0x31,0x65,0x32,0x39,0x33, - 0x37,0x31,0x55,0x2c,0x30,0x78,0x64,0x38,0x61,0x62,0x37,0x33,0x64,0x38,0x55,0x2c,0x30,0x78,0x33,0x31,0x36,0x32,0x35,0x33,0x33,0x31,0x55,0x2c,0x30,0x78,0x31,0x35, - 0x32,0x61,0x33,0x66,0x31,0x35,0x55,0x2c,0x0a,0x30,0x78,0x30,0x34,0x30,0x38,0x30,0x63,0x30,0x34,0x55,0x2c,0x30,0x78,0x63,0x37,0x39,0x35,0x35,0x32,0x63,0x37,0x55, - 0x2c,0x30,0x78,0x32,0x33,0x34,0x36,0x36,0x35,0x32,0x33,0x55,0x2c,0x30,0x78,0x63,0x33,0x39,0x64,0x35,0x65,0x63,0x33,0x55,0x2c,0x0a,0x30,0x78,0x31,0x38,0x33,0x30, - 0x32,0x38,0x31,0x38,0x55,0x2c,0x30,0x78,0x39,0x36,0x33,0x37,0x61,0x31,0x39,0x36,0x55,0x2c,0x30,0x78,0x30,0x35,0x30,0x61,0x30,0x66,0x30,0x35,0x55,0x2c,0x30,0x78, - 0x39,0x61,0x32,0x66,0x62,0x35,0x39,0x61,0x55,0x2c,0x0a,0x30,0x78,0x30,0x37,0x30,0x65,0x30,0x39,0x30,0x37,0x55,0x2c,0x30,0x78,0x31,0x32,0x32,0x34,0x33,0x36,0x31, - 0x32,0x55,0x2c,0x30,0x78,0x38,0x30,0x31,0x62,0x39,0x62,0x38,0x30,0x55,0x2c,0x30,0x78,0x65,0x32,0x64,0x66,0x33,0x64,0x65,0x32,0x55,0x2c,0x0a,0x30,0x78,0x65,0x62, - 0x63,0x64,0x32,0x36,0x65,0x62,0x55,0x2c,0x30,0x78,0x32,0x37,0x34,0x65,0x36,0x39,0x32,0x37,0x55,0x2c,0x30,0x78,0x62,0x32,0x37,0x66,0x63,0x64,0x62,0x32,0x55,0x2c, - 0x30,0x78,0x37,0x35,0x65,0x61,0x39,0x66,0x37,0x35,0x55,0x2c,0x0a,0x30,0x78,0x30,0x39,0x31,0x32,0x31,0x62,0x30,0x39,0x55,0x2c,0x30,0x78,0x38,0x33,0x31,0x64,0x39, - 0x65,0x38,0x33,0x55,0x2c,0x30,0x78,0x32,0x63,0x35,0x38,0x37,0x34,0x32,0x63,0x55,0x2c,0x30,0x78,0x31,0x61,0x33,0x34,0x32,0x65,0x31,0x61,0x55,0x2c,0x0a,0x30,0x78, - 0x31,0x62,0x33,0x36,0x32,0x64,0x31,0x62,0x55,0x2c,0x30,0x78,0x36,0x65,0x64,0x63,0x62,0x32,0x36,0x65,0x55,0x2c,0x30,0x78,0x35,0x61,0x62,0x34,0x65,0x65,0x35,0x61, - 0x55,0x2c,0x30,0x78,0x61,0x30,0x35,0x62,0x66,0x62,0x61,0x30,0x55,0x2c,0x0a,0x30,0x78,0x35,0x32,0x61,0x34,0x66,0x36,0x35,0x32,0x55,0x2c,0x30,0x78,0x33,0x62,0x37, - 0x36,0x34,0x64,0x33,0x62,0x55,0x2c,0x30,0x78,0x64,0x36,0x62,0x37,0x36,0x31,0x64,0x36,0x55,0x2c,0x30,0x78,0x62,0x33,0x37,0x64,0x63,0x65,0x62,0x33,0x55,0x2c,0x0a, - 0x30,0x78,0x32,0x39,0x35,0x32,0x37,0x62,0x32,0x39,0x55,0x2c,0x30,0x78,0x65,0x33,0x64,0x64,0x33,0x65,0x65,0x33,0x55,0x2c,0x30,0x78,0x32,0x66,0x35,0x65,0x37,0x31, - 0x32,0x66,0x55,0x2c,0x30,0x78,0x38,0x34,0x31,0x33,0x39,0x37,0x38,0x34,0x55,0x2c,0x0a,0x30,0x78,0x35,0x33,0x61,0x36,0x66,0x35,0x35,0x33,0x55,0x2c,0x30,0x78,0x64, - 0x31,0x62,0x39,0x36,0x38,0x64,0x31,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x30,0x78,0x65,0x64,0x63,0x31,0x32,0x63,0x65,0x64,0x55, - 0x2c,0x0a,0x30,0x78,0x32,0x30,0x34,0x30,0x36,0x30,0x32,0x30,0x55,0x2c,0x30,0x78,0x66,0x63,0x65,0x33,0x31,0x66,0x66,0x63,0x55,0x2c,0x30,0x78,0x62,0x31,0x37,0x39, - 0x63,0x38,0x62,0x31,0x55,0x2c,0x30,0x78,0x35,0x62,0x62,0x36,0x65,0x64,0x35,0x62,0x55,0x2c,0x0a,0x30,0x78,0x36,0x61,0x64,0x34,0x62,0x65,0x36,0x61,0x55,0x2c,0x30, - 0x78,0x63,0x62,0x38,0x64,0x34,0x36,0x63,0x62,0x55,0x2c,0x30,0x78,0x62,0x65,0x36,0x37,0x64,0x39,0x62,0x65,0x55,0x2c,0x30,0x78,0x33,0x39,0x37,0x32,0x34,0x62,0x33, - 0x39,0x55,0x2c,0x0a,0x30,0x78,0x34,0x61,0x39,0x34,0x64,0x65,0x34,0x61,0x55,0x2c,0x30,0x78,0x34,0x63,0x39,0x38,0x64,0x34,0x34,0x63,0x55,0x2c,0x30,0x78,0x35,0x38, - 0x62,0x30,0x65,0x38,0x35,0x38,0x55,0x2c,0x30,0x78,0x63,0x66,0x38,0x35,0x34,0x61,0x63,0x66,0x55,0x2c,0x0a,0x30,0x78,0x64,0x30,0x62,0x62,0x36,0x62,0x64,0x30,0x55, - 0x2c,0x30,0x78,0x65,0x66,0x63,0x35,0x32,0x61,0x65,0x66,0x55,0x2c,0x30,0x78,0x61,0x61,0x34,0x66,0x65,0x35,0x61,0x61,0x55,0x2c,0x30,0x78,0x66,0x62,0x65,0x64,0x31, - 0x36,0x66,0x62,0x55,0x2c,0x0a,0x30,0x78,0x34,0x33,0x38,0x36,0x63,0x35,0x34,0x33,0x55,0x2c,0x30,0x78,0x34,0x64,0x39,0x61,0x64,0x37,0x34,0x64,0x55,0x2c,0x30,0x78, - 0x33,0x33,0x36,0x36,0x35,0x35,0x33,0x33,0x55,0x2c,0x30,0x78,0x38,0x35,0x31,0x31,0x39,0x34,0x38,0x35,0x55,0x2c,0x0a,0x30,0x78,0x34,0x35,0x38,0x61,0x63,0x66,0x34, - 0x35,0x55,0x2c,0x30,0x78,0x66,0x39,0x65,0x39,0x31,0x30,0x66,0x39,0x55,0x2c,0x30,0x78,0x30,0x32,0x30,0x34,0x30,0x36,0x30,0x32,0x55,0x2c,0x30,0x78,0x37,0x66,0x66, - 0x65,0x38,0x31,0x37,0x66,0x55,0x2c,0x0a,0x30,0x78,0x35,0x30,0x61,0x30,0x66,0x30,0x35,0x30,0x55,0x2c,0x30,0x78,0x33,0x63,0x37,0x38,0x34,0x34,0x33,0x63,0x55,0x2c, - 0x30,0x78,0x39,0x66,0x32,0x35,0x62,0x61,0x39,0x66,0x55,0x2c,0x30,0x78,0x61,0x38,0x34,0x62,0x65,0x33,0x61,0x38,0x55,0x2c,0x0a,0x30,0x78,0x35,0x31,0x61,0x32,0x66, - 0x33,0x35,0x31,0x55,0x2c,0x30,0x78,0x61,0x33,0x35,0x64,0x66,0x65,0x61,0x33,0x55,0x2c,0x30,0x78,0x34,0x30,0x38,0x30,0x63,0x30,0x34,0x30,0x55,0x2c,0x30,0x78,0x38, - 0x66,0x30,0x35,0x38,0x61,0x38,0x66,0x55,0x2c,0x0a,0x30,0x78,0x39,0x32,0x33,0x66,0x61,0x64,0x39,0x32,0x55,0x2c,0x30,0x78,0x39,0x64,0x32,0x31,0x62,0x63,0x39,0x64, - 0x55,0x2c,0x30,0x78,0x33,0x38,0x37,0x30,0x34,0x38,0x33,0x38,0x55,0x2c,0x30,0x78,0x66,0x35,0x66,0x31,0x30,0x34,0x66,0x35,0x55,0x2c,0x0a,0x30,0x78,0x62,0x63,0x36, - 0x33,0x64,0x66,0x62,0x63,0x55,0x2c,0x30,0x78,0x62,0x36,0x37,0x37,0x63,0x31,0x62,0x36,0x55,0x2c,0x30,0x78,0x64,0x61,0x61,0x66,0x37,0x35,0x64,0x61,0x55,0x2c,0x30, - 0x78,0x32,0x31,0x34,0x32,0x36,0x33,0x32,0x31,0x55,0x2c,0x0a,0x30,0x78,0x31,0x30,0x32,0x30,0x33,0x30,0x31,0x30,0x55,0x2c,0x30,0x78,0x66,0x66,0x65,0x35,0x31,0x61, - 0x66,0x66,0x55,0x2c,0x30,0x78,0x66,0x33,0x66,0x64,0x30,0x65,0x66,0x33,0x55,0x2c,0x30,0x78,0x64,0x32,0x62,0x66,0x36,0x64,0x64,0x32,0x55,0x2c,0x0a,0x30,0x78,0x63, - 0x64,0x38,0x31,0x34,0x63,0x63,0x64,0x55,0x2c,0x30,0x78,0x30,0x63,0x31,0x38,0x31,0x34,0x30,0x63,0x55,0x2c,0x30,0x78,0x31,0x33,0x32,0x36,0x33,0x35,0x31,0x33,0x55, - 0x2c,0x30,0x78,0x65,0x63,0x63,0x33,0x32,0x66,0x65,0x63,0x55,0x2c,0x0a,0x30,0x78,0x35,0x66,0x62,0x65,0x65,0x31,0x35,0x66,0x55,0x2c,0x30,0x78,0x39,0x37,0x33,0x35, - 0x61,0x32,0x39,0x37,0x55,0x2c,0x30,0x78,0x34,0x34,0x38,0x38,0x63,0x63,0x34,0x34,0x55,0x2c,0x30,0x78,0x31,0x37,0x32,0x65,0x33,0x39,0x31,0x37,0x55,0x2c,0x0a,0x30, - 0x78,0x63,0x34,0x39,0x33,0x35,0x37,0x63,0x34,0x55,0x2c,0x30,0x78,0x61,0x37,0x35,0x35,0x66,0x32,0x61,0x37,0x55,0x2c,0x30,0x78,0x37,0x65,0x66,0x63,0x38,0x32,0x37, - 0x65,0x55,0x2c,0x30,0x78,0x33,0x64,0x37,0x61,0x34,0x37,0x33,0x64,0x55,0x2c,0x0a,0x30,0x78,0x36,0x34,0x63,0x38,0x61,0x63,0x36,0x34,0x55,0x2c,0x30,0x78,0x35,0x64, - 0x62,0x61,0x65,0x37,0x35,0x64,0x55,0x2c,0x30,0x78,0x31,0x39,0x33,0x32,0x32,0x62,0x31,0x39,0x55,0x2c,0x30,0x78,0x37,0x33,0x65,0x36,0x39,0x35,0x37,0x33,0x55,0x2c, - 0x0a,0x30,0x78,0x36,0x30,0x63,0x30,0x61,0x30,0x36,0x30,0x55,0x2c,0x30,0x78,0x38,0x31,0x31,0x39,0x39,0x38,0x38,0x31,0x55,0x2c,0x30,0x78,0x34,0x66,0x39,0x65,0x64, - 0x31,0x34,0x66,0x55,0x2c,0x30,0x78,0x64,0x63,0x61,0x33,0x37,0x66,0x64,0x63,0x55,0x2c,0x0a,0x30,0x78,0x32,0x32,0x34,0x34,0x36,0x36,0x32,0x32,0x55,0x2c,0x30,0x78, - 0x32,0x61,0x35,0x34,0x37,0x65,0x32,0x61,0x55,0x2c,0x30,0x78,0x39,0x30,0x33,0x62,0x61,0x62,0x39,0x30,0x55,0x2c,0x30,0x78,0x38,0x38,0x30,0x62,0x38,0x33,0x38,0x38, - 0x55,0x2c,0x0a,0x30,0x78,0x34,0x36,0x38,0x63,0x63,0x61,0x34,0x36,0x55,0x2c,0x30,0x78,0x65,0x65,0x63,0x37,0x32,0x39,0x65,0x65,0x55,0x2c,0x30,0x78,0x62,0x38,0x36, - 0x62,0x64,0x33,0x62,0x38,0x55,0x2c,0x30,0x78,0x31,0x34,0x32,0x38,0x33,0x63,0x31,0x34,0x55,0x2c,0x0a,0x30,0x78,0x64,0x65,0x61,0x37,0x37,0x39,0x64,0x65,0x55,0x2c, - 0x30,0x78,0x35,0x65,0x62,0x63,0x65,0x32,0x35,0x65,0x55,0x2c,0x30,0x78,0x30,0x62,0x31,0x36,0x31,0x64,0x30,0x62,0x55,0x2c,0x30,0x78,0x64,0x62,0x61,0x64,0x37,0x36, - 0x64,0x62,0x55,0x2c,0x0a,0x30,0x78,0x65,0x30,0x64,0x62,0x33,0x62,0x65,0x30,0x55,0x2c,0x30,0x78,0x33,0x32,0x36,0x34,0x35,0x36,0x33,0x32,0x55,0x2c,0x30,0x78,0x33, - 0x61,0x37,0x34,0x34,0x65,0x33,0x61,0x55,0x2c,0x30,0x78,0x30,0x61,0x31,0x34,0x31,0x65,0x30,0x61,0x55,0x2c,0x0a,0x30,0x78,0x34,0x39,0x39,0x32,0x64,0x62,0x34,0x39, - 0x55,0x2c,0x30,0x78,0x30,0x36,0x30,0x63,0x30,0x61,0x30,0x36,0x55,0x2c,0x30,0x78,0x32,0x34,0x34,0x38,0x36,0x63,0x32,0x34,0x55,0x2c,0x30,0x78,0x35,0x63,0x62,0x38, - 0x65,0x34,0x35,0x63,0x55,0x2c,0x0a,0x30,0x78,0x63,0x32,0x39,0x66,0x35,0x64,0x63,0x32,0x55,0x2c,0x30,0x78,0x64,0x33,0x62,0x64,0x36,0x65,0x64,0x33,0x55,0x2c,0x30, - 0x78,0x61,0x63,0x34,0x33,0x65,0x66,0x61,0x63,0x55,0x2c,0x30,0x78,0x36,0x32,0x63,0x34,0x61,0x36,0x36,0x32,0x55,0x2c,0x0a,0x30,0x78,0x39,0x31,0x33,0x39,0x61,0x38, - 0x39,0x31,0x55,0x2c,0x30,0x78,0x39,0x35,0x33,0x31,0x61,0x34,0x39,0x35,0x55,0x2c,0x30,0x78,0x65,0x34,0x64,0x33,0x33,0x37,0x65,0x34,0x55,0x2c,0x30,0x78,0x37,0x39, - 0x66,0x32,0x38,0x62,0x37,0x39,0x55,0x2c,0x0a,0x30,0x78,0x65,0x37,0x64,0x35,0x33,0x32,0x65,0x37,0x55,0x2c,0x30,0x78,0x63,0x38,0x38,0x62,0x34,0x33,0x63,0x38,0x55, - 0x2c,0x30,0x78,0x33,0x37,0x36,0x65,0x35,0x39,0x33,0x37,0x55,0x2c,0x30,0x78,0x36,0x64,0x64,0x61,0x62,0x37,0x36,0x64,0x55,0x2c,0x0a,0x30,0x78,0x38,0x64,0x30,0x31, - 0x38,0x63,0x38,0x64,0x55,0x2c,0x30,0x78,0x64,0x35,0x62,0x31,0x36,0x34,0x64,0x35,0x55,0x2c,0x30,0x78,0x34,0x65,0x39,0x63,0x64,0x32,0x34,0x65,0x55,0x2c,0x30,0x78, - 0x61,0x39,0x34,0x39,0x65,0x30,0x61,0x39,0x55,0x2c,0x0a,0x30,0x78,0x36,0x63,0x64,0x38,0x62,0x34,0x36,0x63,0x55,0x2c,0x30,0x78,0x35,0x36,0x61,0x63,0x66,0x61,0x35, - 0x36,0x55,0x2c,0x30,0x78,0x66,0x34,0x66,0x33,0x30,0x37,0x66,0x34,0x55,0x2c,0x30,0x78,0x65,0x61,0x63,0x66,0x32,0x35,0x65,0x61,0x55,0x2c,0x0a,0x30,0x78,0x36,0x35, - 0x63,0x61,0x61,0x66,0x36,0x35,0x55,0x2c,0x30,0x78,0x37,0x61,0x66,0x34,0x38,0x65,0x37,0x61,0x55,0x2c,0x30,0x78,0x61,0x65,0x34,0x37,0x65,0x39,0x61,0x65,0x55,0x2c, - 0x30,0x78,0x30,0x38,0x31,0x30,0x31,0x38,0x30,0x38,0x55,0x2c,0x0a,0x30,0x78,0x62,0x61,0x36,0x66,0x64,0x35,0x62,0x61,0x55,0x2c,0x30,0x78,0x37,0x38,0x66,0x30,0x38, - 0x38,0x37,0x38,0x55,0x2c,0x30,0x78,0x32,0x35,0x34,0x61,0x36,0x66,0x32,0x35,0x55,0x2c,0x30,0x78,0x32,0x65,0x35,0x63,0x37,0x32,0x32,0x65,0x55,0x2c,0x0a,0x30,0x78, - 0x31,0x63,0x33,0x38,0x32,0x34,0x31,0x63,0x55,0x2c,0x30,0x78,0x61,0x36,0x35,0x37,0x66,0x31,0x61,0x36,0x55,0x2c,0x30,0x78,0x62,0x34,0x37,0x33,0x63,0x37,0x62,0x34, - 0x55,0x2c,0x30,0x78,0x63,0x36,0x39,0x37,0x35,0x31,0x63,0x36,0x55,0x2c,0x0a,0x30,0x78,0x65,0x38,0x63,0x62,0x32,0x33,0x65,0x38,0x55,0x2c,0x30,0x78,0x64,0x64,0x61, - 0x31,0x37,0x63,0x64,0x64,0x55,0x2c,0x30,0x78,0x37,0x34,0x65,0x38,0x39,0x63,0x37,0x34,0x55,0x2c,0x30,0x78,0x31,0x66,0x33,0x65,0x32,0x31,0x31,0x66,0x55,0x2c,0x0a, - 0x30,0x78,0x34,0x62,0x39,0x36,0x64,0x64,0x34,0x62,0x55,0x2c,0x30,0x78,0x62,0x64,0x36,0x31,0x64,0x63,0x62,0x64,0x55,0x2c,0x30,0x78,0x38,0x62,0x30,0x64,0x38,0x36, - 0x38,0x62,0x55,0x2c,0x30,0x78,0x38,0x61,0x30,0x66,0x38,0x35,0x38,0x61,0x55,0x2c,0x0a,0x30,0x78,0x37,0x30,0x65,0x30,0x39,0x30,0x37,0x30,0x55,0x2c,0x30,0x78,0x33, - 0x65,0x37,0x63,0x34,0x32,0x33,0x65,0x55,0x2c,0x30,0x78,0x62,0x35,0x37,0x31,0x63,0x34,0x62,0x35,0x55,0x2c,0x30,0x78,0x36,0x36,0x63,0x63,0x61,0x61,0x36,0x36,0x55, - 0x2c,0x0a,0x30,0x78,0x34,0x38,0x39,0x30,0x64,0x38,0x34,0x38,0x55,0x2c,0x30,0x78,0x30,0x33,0x30,0x36,0x30,0x35,0x30,0x33,0x55,0x2c,0x30,0x78,0x66,0x36,0x66,0x37, - 0x30,0x31,0x66,0x36,0x55,0x2c,0x30,0x78,0x30,0x65,0x31,0x63,0x31,0x32,0x30,0x65,0x55,0x2c,0x0a,0x30,0x78,0x36,0x31,0x63,0x32,0x61,0x33,0x36,0x31,0x55,0x2c,0x30, - 0x78,0x33,0x35,0x36,0x61,0x35,0x66,0x33,0x35,0x55,0x2c,0x30,0x78,0x35,0x37,0x61,0x65,0x66,0x39,0x35,0x37,0x55,0x2c,0x30,0x78,0x62,0x39,0x36,0x39,0x64,0x30,0x62, - 0x39,0x55,0x2c,0x0a,0x30,0x78,0x38,0x36,0x31,0x37,0x39,0x31,0x38,0x36,0x55,0x2c,0x30,0x78,0x63,0x31,0x39,0x39,0x35,0x38,0x63,0x31,0x55,0x2c,0x30,0x78,0x31,0x64, - 0x33,0x61,0x32,0x37,0x31,0x64,0x55,0x2c,0x30,0x78,0x39,0x65,0x32,0x37,0x62,0x39,0x39,0x65,0x55,0x2c,0x0a,0x30,0x78,0x65,0x31,0x64,0x39,0x33,0x38,0x65,0x31,0x55, - 0x2c,0x30,0x78,0x66,0x38,0x65,0x62,0x31,0x33,0x66,0x38,0x55,0x2c,0x30,0x78,0x39,0x38,0x32,0x62,0x62,0x33,0x39,0x38,0x55,0x2c,0x30,0x78,0x31,0x31,0x32,0x32,0x33, - 0x33,0x31,0x31,0x55,0x2c,0x0a,0x30,0x78,0x36,0x39,0x64,0x32,0x62,0x62,0x36,0x39,0x55,0x2c,0x30,0x78,0x64,0x39,0x61,0x39,0x37,0x30,0x64,0x39,0x55,0x2c,0x30,0x78, - 0x38,0x65,0x30,0x37,0x38,0x39,0x38,0x65,0x55,0x2c,0x30,0x78,0x39,0x34,0x33,0x33,0x61,0x37,0x39,0x34,0x55,0x2c,0x0a,0x30,0x78,0x39,0x62,0x32,0x64,0x62,0x36,0x39, - 0x62,0x55,0x2c,0x30,0x78,0x31,0x65,0x33,0x63,0x32,0x32,0x31,0x65,0x55,0x2c,0x30,0x78,0x38,0x37,0x31,0x35,0x39,0x32,0x38,0x37,0x55,0x2c,0x30,0x78,0x65,0x39,0x63, - 0x39,0x32,0x30,0x65,0x39,0x55,0x2c,0x0a,0x30,0x78,0x63,0x65,0x38,0x37,0x34,0x39,0x63,0x65,0x55,0x2c,0x30,0x78,0x35,0x35,0x61,0x61,0x66,0x66,0x35,0x35,0x55,0x2c, - 0x30,0x78,0x32,0x38,0x35,0x30,0x37,0x38,0x32,0x38,0x55,0x2c,0x30,0x78,0x64,0x66,0x61,0x35,0x37,0x61,0x64,0x66,0x55,0x2c,0x0a,0x30,0x78,0x38,0x63,0x30,0x33,0x38, - 0x66,0x38,0x63,0x55,0x2c,0x30,0x78,0x61,0x31,0x35,0x39,0x66,0x38,0x61,0x31,0x55,0x2c,0x30,0x78,0x38,0x39,0x30,0x39,0x38,0x30,0x38,0x39,0x55,0x2c,0x30,0x78,0x30, - 0x64,0x31,0x61,0x31,0x37,0x30,0x64,0x55,0x2c,0x0a,0x30,0x78,0x62,0x66,0x36,0x35,0x64,0x61,0x62,0x66,0x55,0x2c,0x30,0x78,0x65,0x36,0x64,0x37,0x33,0x31,0x65,0x36, - 0x55,0x2c,0x30,0x78,0x34,0x32,0x38,0x34,0x63,0x36,0x34,0x32,0x55,0x2c,0x30,0x78,0x36,0x38,0x64,0x30,0x62,0x38,0x36,0x38,0x55,0x2c,0x0a,0x30,0x78,0x34,0x31,0x38, - 0x32,0x63,0x33,0x34,0x31,0x55,0x2c,0x30,0x78,0x39,0x39,0x32,0x39,0x62,0x30,0x39,0x39,0x55,0x2c,0x30,0x78,0x32,0x64,0x35,0x61,0x37,0x37,0x32,0x64,0x55,0x2c,0x30, - 0x78,0x30,0x66,0x31,0x65,0x31,0x31,0x30,0x66,0x55,0x2c,0x0a,0x30,0x78,0x62,0x30,0x37,0x62,0x63,0x62,0x62,0x30,0x55,0x2c,0x30,0x78,0x35,0x34,0x61,0x38,0x66,0x63, - 0x35,0x34,0x55,0x2c,0x30,0x78,0x62,0x62,0x36,0x64,0x64,0x36,0x62,0x62,0x55,0x2c,0x30,0x78,0x31,0x36,0x32,0x63,0x33,0x61,0x31,0x36,0x55,0x2c,0x0a,0x30,0x78,0x63, - 0x36,0x61,0x35,0x36,0x33,0x36,0x33,0x55,0x2c,0x30,0x78,0x66,0x38,0x38,0x34,0x37,0x63,0x37,0x63,0x55,0x2c,0x30,0x78,0x65,0x65,0x39,0x39,0x37,0x37,0x37,0x37,0x55, - 0x2c,0x30,0x78,0x66,0x36,0x38,0x64,0x37,0x62,0x37,0x62,0x55,0x2c,0x0a,0x30,0x78,0x66,0x66,0x30,0x64,0x66,0x32,0x66,0x32,0x55,0x2c,0x30,0x78,0x64,0x36,0x62,0x64, - 0x36,0x62,0x36,0x62,0x55,0x2c,0x30,0x78,0x64,0x65,0x62,0x31,0x36,0x66,0x36,0x66,0x55,0x2c,0x30,0x78,0x39,0x31,0x35,0x34,0x63,0x35,0x63,0x35,0x55,0x2c,0x0a,0x30, - 0x78,0x36,0x30,0x35,0x30,0x33,0x30,0x33,0x30,0x55,0x2c,0x30,0x78,0x30,0x32,0x30,0x33,0x30,0x31,0x30,0x31,0x55,0x2c,0x30,0x78,0x63,0x65,0x61,0x39,0x36,0x37,0x36, - 0x37,0x55,0x2c,0x30,0x78,0x35,0x36,0x37,0x64,0x32,0x62,0x32,0x62,0x55,0x2c,0x0a,0x30,0x78,0x65,0x37,0x31,0x39,0x66,0x65,0x66,0x65,0x55,0x2c,0x30,0x78,0x62,0x35, - 0x36,0x32,0x64,0x37,0x64,0x37,0x55,0x2c,0x30,0x78,0x34,0x64,0x65,0x36,0x61,0x62,0x61,0x62,0x55,0x2c,0x30,0x78,0x65,0x63,0x39,0x61,0x37,0x36,0x37,0x36,0x55,0x2c, - 0x0a,0x30,0x78,0x38,0x66,0x34,0x35,0x63,0x61,0x63,0x61,0x55,0x2c,0x30,0x78,0x31,0x66,0x39,0x64,0x38,0x32,0x38,0x32,0x55,0x2c,0x30,0x78,0x38,0x39,0x34,0x30,0x63, - 0x39,0x63,0x39,0x55,0x2c,0x30,0x78,0x66,0x61,0x38,0x37,0x37,0x64,0x37,0x64,0x55,0x2c,0x0a,0x30,0x78,0x65,0x66,0x31,0x35,0x66,0x61,0x66,0x61,0x55,0x2c,0x30,0x78, - 0x62,0x32,0x65,0x62,0x35,0x39,0x35,0x39,0x55,0x2c,0x30,0x78,0x38,0x65,0x63,0x39,0x34,0x37,0x34,0x37,0x55,0x2c,0x30,0x78,0x66,0x62,0x30,0x62,0x66,0x30,0x66,0x30, - 0x55,0x2c,0x0a,0x30,0x78,0x34,0x31,0x65,0x63,0x61,0x64,0x61,0x64,0x55,0x2c,0x30,0x78,0x62,0x33,0x36,0x37,0x64,0x34,0x64,0x34,0x55,0x2c,0x30,0x78,0x35,0x66,0x66, - 0x64,0x61,0x32,0x61,0x32,0x55,0x2c,0x30,0x78,0x34,0x35,0x65,0x61,0x61,0x66,0x61,0x66,0x55,0x2c,0x0a,0x30,0x78,0x32,0x33,0x62,0x66,0x39,0x63,0x39,0x63,0x55,0x2c, - 0x30,0x78,0x35,0x33,0x66,0x37,0x61,0x34,0x61,0x34,0x55,0x2c,0x30,0x78,0x65,0x34,0x39,0x36,0x37,0x32,0x37,0x32,0x55,0x2c,0x30,0x78,0x39,0x62,0x35,0x62,0x63,0x30, - 0x63,0x30,0x55,0x2c,0x0a,0x30,0x78,0x37,0x35,0x63,0x32,0x62,0x37,0x62,0x37,0x55,0x2c,0x30,0x78,0x65,0x31,0x31,0x63,0x66,0x64,0x66,0x64,0x55,0x2c,0x30,0x78,0x33, - 0x64,0x61,0x65,0x39,0x33,0x39,0x33,0x55,0x2c,0x30,0x78,0x34,0x63,0x36,0x61,0x32,0x36,0x32,0x36,0x55,0x2c,0x0a,0x30,0x78,0x36,0x63,0x35,0x61,0x33,0x36,0x33,0x36, - 0x55,0x2c,0x30,0x78,0x37,0x65,0x34,0x31,0x33,0x66,0x33,0x66,0x55,0x2c,0x30,0x78,0x66,0x35,0x30,0x32,0x66,0x37,0x66,0x37,0x55,0x2c,0x30,0x78,0x38,0x33,0x34,0x66, - 0x63,0x63,0x63,0x63,0x55,0x2c,0x0a,0x30,0x78,0x36,0x38,0x35,0x63,0x33,0x34,0x33,0x34,0x55,0x2c,0x30,0x78,0x35,0x31,0x66,0x34,0x61,0x35,0x61,0x35,0x55,0x2c,0x30, - 0x78,0x64,0x31,0x33,0x34,0x65,0x35,0x65,0x35,0x55,0x2c,0x30,0x78,0x66,0x39,0x30,0x38,0x66,0x31,0x66,0x31,0x55,0x2c,0x0a,0x30,0x78,0x65,0x32,0x39,0x33,0x37,0x31, - 0x37,0x31,0x55,0x2c,0x30,0x78,0x61,0x62,0x37,0x33,0x64,0x38,0x64,0x38,0x55,0x2c,0x30,0x78,0x36,0x32,0x35,0x33,0x33,0x31,0x33,0x31,0x55,0x2c,0x30,0x78,0x32,0x61, - 0x33,0x66,0x31,0x35,0x31,0x35,0x55,0x2c,0x0a,0x30,0x78,0x30,0x38,0x30,0x63,0x30,0x34,0x30,0x34,0x55,0x2c,0x30,0x78,0x39,0x35,0x35,0x32,0x63,0x37,0x63,0x37,0x55, - 0x2c,0x30,0x78,0x34,0x36,0x36,0x35,0x32,0x33,0x32,0x33,0x55,0x2c,0x30,0x78,0x39,0x64,0x35,0x65,0x63,0x33,0x63,0x33,0x55,0x2c,0x0a,0x30,0x78,0x33,0x30,0x32,0x38, - 0x31,0x38,0x31,0x38,0x55,0x2c,0x30,0x78,0x33,0x37,0x61,0x31,0x39,0x36,0x39,0x36,0x55,0x2c,0x30,0x78,0x30,0x61,0x30,0x66,0x30,0x35,0x30,0x35,0x55,0x2c,0x30,0x78, - 0x32,0x66,0x62,0x35,0x39,0x61,0x39,0x61,0x55,0x2c,0x0a,0x30,0x78,0x30,0x65,0x30,0x39,0x30,0x37,0x30,0x37,0x55,0x2c,0x30,0x78,0x32,0x34,0x33,0x36,0x31,0x32,0x31, - 0x32,0x55,0x2c,0x30,0x78,0x31,0x62,0x39,0x62,0x38,0x30,0x38,0x30,0x55,0x2c,0x30,0x78,0x64,0x66,0x33,0x64,0x65,0x32,0x65,0x32,0x55,0x2c,0x0a,0x30,0x78,0x63,0x64, - 0x32,0x36,0x65,0x62,0x65,0x62,0x55,0x2c,0x30,0x78,0x34,0x65,0x36,0x39,0x32,0x37,0x32,0x37,0x55,0x2c,0x30,0x78,0x37,0x66,0x63,0x64,0x62,0x32,0x62,0x32,0x55,0x2c, - 0x30,0x78,0x65,0x61,0x39,0x66,0x37,0x35,0x37,0x35,0x55,0x2c,0x0a,0x30,0x78,0x31,0x32,0x31,0x62,0x30,0x39,0x30,0x39,0x55,0x2c,0x30,0x78,0x31,0x64,0x39,0x65,0x38, - 0x33,0x38,0x33,0x55,0x2c,0x30,0x78,0x35,0x38,0x37,0x34,0x32,0x63,0x32,0x63,0x55,0x2c,0x30,0x78,0x33,0x34,0x32,0x65,0x31,0x61,0x31,0x61,0x55,0x2c,0x0a,0x30,0x78, - 0x33,0x36,0x32,0x64,0x31,0x62,0x31,0x62,0x55,0x2c,0x30,0x78,0x64,0x63,0x62,0x32,0x36,0x65,0x36,0x65,0x55,0x2c,0x30,0x78,0x62,0x34,0x65,0x65,0x35,0x61,0x35,0x61, - 0x55,0x2c,0x30,0x78,0x35,0x62,0x66,0x62,0x61,0x30,0x61,0x30,0x55,0x2c,0x0a,0x30,0x78,0x61,0x34,0x66,0x36,0x35,0x32,0x35,0x32,0x55,0x2c,0x30,0x78,0x37,0x36,0x34, - 0x64,0x33,0x62,0x33,0x62,0x55,0x2c,0x30,0x78,0x62,0x37,0x36,0x31,0x64,0x36,0x64,0x36,0x55,0x2c,0x30,0x78,0x37,0x64,0x63,0x65,0x62,0x33,0x62,0x33,0x55,0x2c,0x0a, - 0x30,0x78,0x35,0x32,0x37,0x62,0x32,0x39,0x32,0x39,0x55,0x2c,0x30,0x78,0x64,0x64,0x33,0x65,0x65,0x33,0x65,0x33,0x55,0x2c,0x30,0x78,0x35,0x65,0x37,0x31,0x32,0x66, - 0x32,0x66,0x55,0x2c,0x30,0x78,0x31,0x33,0x39,0x37,0x38,0x34,0x38,0x34,0x55,0x2c,0x0a,0x30,0x78,0x61,0x36,0x66,0x35,0x35,0x33,0x35,0x33,0x55,0x2c,0x30,0x78,0x62, - 0x39,0x36,0x38,0x64,0x31,0x64,0x31,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x30,0x78,0x63,0x31,0x32,0x63,0x65,0x64,0x65,0x64,0x55, - 0x2c,0x0a,0x30,0x78,0x34,0x30,0x36,0x30,0x32,0x30,0x32,0x30,0x55,0x2c,0x30,0x78,0x65,0x33,0x31,0x66,0x66,0x63,0x66,0x63,0x55,0x2c,0x30,0x78,0x37,0x39,0x63,0x38, - 0x62,0x31,0x62,0x31,0x55,0x2c,0x30,0x78,0x62,0x36,0x65,0x64,0x35,0x62,0x35,0x62,0x55,0x2c,0x0a,0x30,0x78,0x64,0x34,0x62,0x65,0x36,0x61,0x36,0x61,0x55,0x2c,0x30, - 0x78,0x38,0x64,0x34,0x36,0x63,0x62,0x63,0x62,0x55,0x2c,0x30,0x78,0x36,0x37,0x64,0x39,0x62,0x65,0x62,0x65,0x55,0x2c,0x30,0x78,0x37,0x32,0x34,0x62,0x33,0x39,0x33, - 0x39,0x55,0x2c,0x0a,0x30,0x78,0x39,0x34,0x64,0x65,0x34,0x61,0x34,0x61,0x55,0x2c,0x30,0x78,0x39,0x38,0x64,0x34,0x34,0x63,0x34,0x63,0x55,0x2c,0x30,0x78,0x62,0x30, - 0x65,0x38,0x35,0x38,0x35,0x38,0x55,0x2c,0x30,0x78,0x38,0x35,0x34,0x61,0x63,0x66,0x63,0x66,0x55,0x2c,0x0a,0x30,0x78,0x62,0x62,0x36,0x62,0x64,0x30,0x64,0x30,0x55, - 0x2c,0x30,0x78,0x63,0x35,0x32,0x61,0x65,0x66,0x65,0x66,0x55,0x2c,0x30,0x78,0x34,0x66,0x65,0x35,0x61,0x61,0x61,0x61,0x55,0x2c,0x30,0x78,0x65,0x64,0x31,0x36,0x66, - 0x62,0x66,0x62,0x55,0x2c,0x0a,0x30,0x78,0x38,0x36,0x63,0x35,0x34,0x33,0x34,0x33,0x55,0x2c,0x30,0x78,0x39,0x61,0x64,0x37,0x34,0x64,0x34,0x64,0x55,0x2c,0x30,0x78, - 0x36,0x36,0x35,0x35,0x33,0x33,0x33,0x33,0x55,0x2c,0x30,0x78,0x31,0x31,0x39,0x34,0x38,0x35,0x38,0x35,0x55,0x2c,0x0a,0x30,0x78,0x38,0x61,0x63,0x66,0x34,0x35,0x34, - 0x35,0x55,0x2c,0x30,0x78,0x65,0x39,0x31,0x30,0x66,0x39,0x66,0x39,0x55,0x2c,0x30,0x78,0x30,0x34,0x30,0x36,0x30,0x32,0x30,0x32,0x55,0x2c,0x30,0x78,0x66,0x65,0x38, - 0x31,0x37,0x66,0x37,0x66,0x55,0x2c,0x0a,0x30,0x78,0x61,0x30,0x66,0x30,0x35,0x30,0x35,0x30,0x55,0x2c,0x30,0x78,0x37,0x38,0x34,0x34,0x33,0x63,0x33,0x63,0x55,0x2c, - 0x30,0x78,0x32,0x35,0x62,0x61,0x39,0x66,0x39,0x66,0x55,0x2c,0x30,0x78,0x34,0x62,0x65,0x33,0x61,0x38,0x61,0x38,0x55,0x2c,0x0a,0x30,0x78,0x61,0x32,0x66,0x33,0x35, - 0x31,0x35,0x31,0x55,0x2c,0x30,0x78,0x35,0x64,0x66,0x65,0x61,0x33,0x61,0x33,0x55,0x2c,0x30,0x78,0x38,0x30,0x63,0x30,0x34,0x30,0x34,0x30,0x55,0x2c,0x30,0x78,0x30, - 0x35,0x38,0x61,0x38,0x66,0x38,0x66,0x55,0x2c,0x0a,0x30,0x78,0x33,0x66,0x61,0x64,0x39,0x32,0x39,0x32,0x55,0x2c,0x30,0x78,0x32,0x31,0x62,0x63,0x39,0x64,0x39,0x64, - 0x55,0x2c,0x30,0x78,0x37,0x30,0x34,0x38,0x33,0x38,0x33,0x38,0x55,0x2c,0x30,0x78,0x66,0x31,0x30,0x34,0x66,0x35,0x66,0x35,0x55,0x2c,0x0a,0x30,0x78,0x36,0x33,0x64, - 0x66,0x62,0x63,0x62,0x63,0x55,0x2c,0x30,0x78,0x37,0x37,0x63,0x31,0x62,0x36,0x62,0x36,0x55,0x2c,0x30,0x78,0x61,0x66,0x37,0x35,0x64,0x61,0x64,0x61,0x55,0x2c,0x30, - 0x78,0x34,0x32,0x36,0x33,0x32,0x31,0x32,0x31,0x55,0x2c,0x0a,0x30,0x78,0x32,0x30,0x33,0x30,0x31,0x30,0x31,0x30,0x55,0x2c,0x30,0x78,0x65,0x35,0x31,0x61,0x66,0x66, - 0x66,0x66,0x55,0x2c,0x30,0x78,0x66,0x64,0x30,0x65,0x66,0x33,0x66,0x33,0x55,0x2c,0x30,0x78,0x62,0x66,0x36,0x64,0x64,0x32,0x64,0x32,0x55,0x2c,0x0a,0x30,0x78,0x38, - 0x31,0x34,0x63,0x63,0x64,0x63,0x64,0x55,0x2c,0x30,0x78,0x31,0x38,0x31,0x34,0x30,0x63,0x30,0x63,0x55,0x2c,0x30,0x78,0x32,0x36,0x33,0x35,0x31,0x33,0x31,0x33,0x55, - 0x2c,0x30,0x78,0x63,0x33,0x32,0x66,0x65,0x63,0x65,0x63,0x55,0x2c,0x0a,0x30,0x78,0x62,0x65,0x65,0x31,0x35,0x66,0x35,0x66,0x55,0x2c,0x30,0x78,0x33,0x35,0x61,0x32, - 0x39,0x37,0x39,0x37,0x55,0x2c,0x30,0x78,0x38,0x38,0x63,0x63,0x34,0x34,0x34,0x34,0x55,0x2c,0x30,0x78,0x32,0x65,0x33,0x39,0x31,0x37,0x31,0x37,0x55,0x2c,0x0a,0x30, - 0x78,0x39,0x33,0x35,0x37,0x63,0x34,0x63,0x34,0x55,0x2c,0x30,0x78,0x35,0x35,0x66,0x32,0x61,0x37,0x61,0x37,0x55,0x2c,0x30,0x78,0x66,0x63,0x38,0x32,0x37,0x65,0x37, - 0x65,0x55,0x2c,0x30,0x78,0x37,0x61,0x34,0x37,0x33,0x64,0x33,0x64,0x55,0x2c,0x0a,0x30,0x78,0x63,0x38,0x61,0x63,0x36,0x34,0x36,0x34,0x55,0x2c,0x30,0x78,0x62,0x61, - 0x65,0x37,0x35,0x64,0x35,0x64,0x55,0x2c,0x30,0x78,0x33,0x32,0x32,0x62,0x31,0x39,0x31,0x39,0x55,0x2c,0x30,0x78,0x65,0x36,0x39,0x35,0x37,0x33,0x37,0x33,0x55,0x2c, - 0x0a,0x30,0x78,0x63,0x30,0x61,0x30,0x36,0x30,0x36,0x30,0x55,0x2c,0x30,0x78,0x31,0x39,0x39,0x38,0x38,0x31,0x38,0x31,0x55,0x2c,0x30,0x78,0x39,0x65,0x64,0x31,0x34, - 0x66,0x34,0x66,0x55,0x2c,0x30,0x78,0x61,0x33,0x37,0x66,0x64,0x63,0x64,0x63,0x55,0x2c,0x0a,0x30,0x78,0x34,0x34,0x36,0x36,0x32,0x32,0x32,0x32,0x55,0x2c,0x30,0x78, - 0x35,0x34,0x37,0x65,0x32,0x61,0x32,0x61,0x55,0x2c,0x30,0x78,0x33,0x62,0x61,0x62,0x39,0x30,0x39,0x30,0x55,0x2c,0x30,0x78,0x30,0x62,0x38,0x33,0x38,0x38,0x38,0x38, - 0x55,0x2c,0x0a,0x30,0x78,0x38,0x63,0x63,0x61,0x34,0x36,0x34,0x36,0x55,0x2c,0x30,0x78,0x63,0x37,0x32,0x39,0x65,0x65,0x65,0x65,0x55,0x2c,0x30,0x78,0x36,0x62,0x64, - 0x33,0x62,0x38,0x62,0x38,0x55,0x2c,0x30,0x78,0x32,0x38,0x33,0x63,0x31,0x34,0x31,0x34,0x55,0x2c,0x0a,0x30,0x78,0x61,0x37,0x37,0x39,0x64,0x65,0x64,0x65,0x55,0x2c, - 0x30,0x78,0x62,0x63,0x65,0x32,0x35,0x65,0x35,0x65,0x55,0x2c,0x30,0x78,0x31,0x36,0x31,0x64,0x30,0x62,0x30,0x62,0x55,0x2c,0x30,0x78,0x61,0x64,0x37,0x36,0x64,0x62, - 0x64,0x62,0x55,0x2c,0x0a,0x30,0x78,0x64,0x62,0x33,0x62,0x65,0x30,0x65,0x30,0x55,0x2c,0x30,0x78,0x36,0x34,0x35,0x36,0x33,0x32,0x33,0x32,0x55,0x2c,0x30,0x78,0x37, - 0x34,0x34,0x65,0x33,0x61,0x33,0x61,0x55,0x2c,0x30,0x78,0x31,0x34,0x31,0x65,0x30,0x61,0x30,0x61,0x55,0x2c,0x0a,0x30,0x78,0x39,0x32,0x64,0x62,0x34,0x39,0x34,0x39, - 0x55,0x2c,0x30,0x78,0x30,0x63,0x30,0x61,0x30,0x36,0x30,0x36,0x55,0x2c,0x30,0x78,0x34,0x38,0x36,0x63,0x32,0x34,0x32,0x34,0x55,0x2c,0x30,0x78,0x62,0x38,0x65,0x34, - 0x35,0x63,0x35,0x63,0x55,0x2c,0x0a,0x30,0x78,0x39,0x66,0x35,0x64,0x63,0x32,0x63,0x32,0x55,0x2c,0x30,0x78,0x62,0x64,0x36,0x65,0x64,0x33,0x64,0x33,0x55,0x2c,0x30, - 0x78,0x34,0x33,0x65,0x66,0x61,0x63,0x61,0x63,0x55,0x2c,0x30,0x78,0x63,0x34,0x61,0x36,0x36,0x32,0x36,0x32,0x55,0x2c,0x0a,0x30,0x78,0x33,0x39,0x61,0x38,0x39,0x31, - 0x39,0x31,0x55,0x2c,0x30,0x78,0x33,0x31,0x61,0x34,0x39,0x35,0x39,0x35,0x55,0x2c,0x30,0x78,0x64,0x33,0x33,0x37,0x65,0x34,0x65,0x34,0x55,0x2c,0x30,0x78,0x66,0x32, - 0x38,0x62,0x37,0x39,0x37,0x39,0x55,0x2c,0x0a,0x30,0x78,0x64,0x35,0x33,0x32,0x65,0x37,0x65,0x37,0x55,0x2c,0x30,0x78,0x38,0x62,0x34,0x33,0x63,0x38,0x63,0x38,0x55, - 0x2c,0x30,0x78,0x36,0x65,0x35,0x39,0x33,0x37,0x33,0x37,0x55,0x2c,0x30,0x78,0x64,0x61,0x62,0x37,0x36,0x64,0x36,0x64,0x55,0x2c,0x0a,0x30,0x78,0x30,0x31,0x38,0x63, - 0x38,0x64,0x38,0x64,0x55,0x2c,0x30,0x78,0x62,0x31,0x36,0x34,0x64,0x35,0x64,0x35,0x55,0x2c,0x30,0x78,0x39,0x63,0x64,0x32,0x34,0x65,0x34,0x65,0x55,0x2c,0x30,0x78, - 0x34,0x39,0x65,0x30,0x61,0x39,0x61,0x39,0x55,0x2c,0x0a,0x30,0x78,0x64,0x38,0x62,0x34,0x36,0x63,0x36,0x63,0x55,0x2c,0x30,0x78,0x61,0x63,0x66,0x61,0x35,0x36,0x35, - 0x36,0x55,0x2c,0x30,0x78,0x66,0x33,0x30,0x37,0x66,0x34,0x66,0x34,0x55,0x2c,0x30,0x78,0x63,0x66,0x32,0x35,0x65,0x61,0x65,0x61,0x55,0x2c,0x0a,0x30,0x78,0x63,0x61, - 0x61,0x66,0x36,0x35,0x36,0x35,0x55,0x2c,0x30,0x78,0x66,0x34,0x38,0x65,0x37,0x61,0x37,0x61,0x55,0x2c,0x30,0x78,0x34,0x37,0x65,0x39,0x61,0x65,0x61,0x65,0x55,0x2c, - 0x30,0x78,0x31,0x30,0x31,0x38,0x30,0x38,0x30,0x38,0x55,0x2c,0x0a,0x30,0x78,0x36,0x66,0x64,0x35,0x62,0x61,0x62,0x61,0x55,0x2c,0x30,0x78,0x66,0x30,0x38,0x38,0x37, - 0x38,0x37,0x38,0x55,0x2c,0x30,0x78,0x34,0x61,0x36,0x66,0x32,0x35,0x32,0x35,0x55,0x2c,0x30,0x78,0x35,0x63,0x37,0x32,0x32,0x65,0x32,0x65,0x55,0x2c,0x0a,0x30,0x78, - 0x33,0x38,0x32,0x34,0x31,0x63,0x31,0x63,0x55,0x2c,0x30,0x78,0x35,0x37,0x66,0x31,0x61,0x36,0x61,0x36,0x55,0x2c,0x30,0x78,0x37,0x33,0x63,0x37,0x62,0x34,0x62,0x34, - 0x55,0x2c,0x30,0x78,0x39,0x37,0x35,0x31,0x63,0x36,0x63,0x36,0x55,0x2c,0x0a,0x30,0x78,0x63,0x62,0x32,0x33,0x65,0x38,0x65,0x38,0x55,0x2c,0x30,0x78,0x61,0x31,0x37, - 0x63,0x64,0x64,0x64,0x64,0x55,0x2c,0x30,0x78,0x65,0x38,0x39,0x63,0x37,0x34,0x37,0x34,0x55,0x2c,0x30,0x78,0x33,0x65,0x32,0x31,0x31,0x66,0x31,0x66,0x55,0x2c,0x0a, - 0x30,0x78,0x39,0x36,0x64,0x64,0x34,0x62,0x34,0x62,0x55,0x2c,0x30,0x78,0x36,0x31,0x64,0x63,0x62,0x64,0x62,0x64,0x55,0x2c,0x30,0x78,0x30,0x64,0x38,0x36,0x38,0x62, - 0x38,0x62,0x55,0x2c,0x30,0x78,0x30,0x66,0x38,0x35,0x38,0x61,0x38,0x61,0x55,0x2c,0x0a,0x30,0x78,0x65,0x30,0x39,0x30,0x37,0x30,0x37,0x30,0x55,0x2c,0x30,0x78,0x37, - 0x63,0x34,0x32,0x33,0x65,0x33,0x65,0x55,0x2c,0x30,0x78,0x37,0x31,0x63,0x34,0x62,0x35,0x62,0x35,0x55,0x2c,0x30,0x78,0x63,0x63,0x61,0x61,0x36,0x36,0x36,0x36,0x55, - 0x2c,0x0a,0x30,0x78,0x39,0x30,0x64,0x38,0x34,0x38,0x34,0x38,0x55,0x2c,0x30,0x78,0x30,0x36,0x30,0x35,0x30,0x33,0x30,0x33,0x55,0x2c,0x30,0x78,0x66,0x37,0x30,0x31, - 0x66,0x36,0x66,0x36,0x55,0x2c,0x30,0x78,0x31,0x63,0x31,0x32,0x30,0x65,0x30,0x65,0x55,0x2c,0x0a,0x30,0x78,0x63,0x32,0x61,0x33,0x36,0x31,0x36,0x31,0x55,0x2c,0x30, - 0x78,0x36,0x61,0x35,0x66,0x33,0x35,0x33,0x35,0x55,0x2c,0x30,0x78,0x61,0x65,0x66,0x39,0x35,0x37,0x35,0x37,0x55,0x2c,0x30,0x78,0x36,0x39,0x64,0x30,0x62,0x39,0x62, - 0x39,0x55,0x2c,0x0a,0x30,0x78,0x31,0x37,0x39,0x31,0x38,0x36,0x38,0x36,0x55,0x2c,0x30,0x78,0x39,0x39,0x35,0x38,0x63,0x31,0x63,0x31,0x55,0x2c,0x30,0x78,0x33,0x61, - 0x32,0x37,0x31,0x64,0x31,0x64,0x55,0x2c,0x30,0x78,0x32,0x37,0x62,0x39,0x39,0x65,0x39,0x65,0x55,0x2c,0x0a,0x30,0x78,0x64,0x39,0x33,0x38,0x65,0x31,0x65,0x31,0x55, - 0x2c,0x30,0x78,0x65,0x62,0x31,0x33,0x66,0x38,0x66,0x38,0x55,0x2c,0x30,0x78,0x32,0x62,0x62,0x33,0x39,0x38,0x39,0x38,0x55,0x2c,0x30,0x78,0x32,0x32,0x33,0x33,0x31, - 0x31,0x31,0x31,0x55,0x2c,0x0a,0x30,0x78,0x64,0x32,0x62,0x62,0x36,0x39,0x36,0x39,0x55,0x2c,0x30,0x78,0x61,0x39,0x37,0x30,0x64,0x39,0x64,0x39,0x55,0x2c,0x30,0x78, - 0x30,0x37,0x38,0x39,0x38,0x65,0x38,0x65,0x55,0x2c,0x30,0x78,0x33,0x33,0x61,0x37,0x39,0x34,0x39,0x34,0x55,0x2c,0x0a,0x30,0x78,0x32,0x64,0x62,0x36,0x39,0x62,0x39, - 0x62,0x55,0x2c,0x30,0x78,0x33,0x63,0x32,0x32,0x31,0x65,0x31,0x65,0x55,0x2c,0x30,0x78,0x31,0x35,0x39,0x32,0x38,0x37,0x38,0x37,0x55,0x2c,0x30,0x78,0x63,0x39,0x32, - 0x30,0x65,0x39,0x65,0x39,0x55,0x2c,0x0a,0x30,0x78,0x38,0x37,0x34,0x39,0x63,0x65,0x63,0x65,0x55,0x2c,0x30,0x78,0x61,0x61,0x66,0x66,0x35,0x35,0x35,0x35,0x55,0x2c, - 0x30,0x78,0x35,0x30,0x37,0x38,0x32,0x38,0x32,0x38,0x55,0x2c,0x30,0x78,0x61,0x35,0x37,0x61,0x64,0x66,0x64,0x66,0x55,0x2c,0x0a,0x30,0x78,0x30,0x33,0x38,0x66,0x38, - 0x63,0x38,0x63,0x55,0x2c,0x30,0x78,0x35,0x39,0x66,0x38,0x61,0x31,0x61,0x31,0x55,0x2c,0x30,0x78,0x30,0x39,0x38,0x30,0x38,0x39,0x38,0x39,0x55,0x2c,0x30,0x78,0x31, - 0x61,0x31,0x37,0x30,0x64,0x30,0x64,0x55,0x2c,0x0a,0x30,0x78,0x36,0x35,0x64,0x61,0x62,0x66,0x62,0x66,0x55,0x2c,0x30,0x78,0x64,0x37,0x33,0x31,0x65,0x36,0x65,0x36, - 0x55,0x2c,0x30,0x78,0x38,0x34,0x63,0x36,0x34,0x32,0x34,0x32,0x55,0x2c,0x30,0x78,0x64,0x30,0x62,0x38,0x36,0x38,0x36,0x38,0x55,0x2c,0x0a,0x30,0x78,0x38,0x32,0x63, - 0x33,0x34,0x31,0x34,0x31,0x55,0x2c,0x30,0x78,0x32,0x39,0x62,0x30,0x39,0x39,0x39,0x39,0x55,0x2c,0x30,0x78,0x35,0x61,0x37,0x37,0x32,0x64,0x32,0x64,0x55,0x2c,0x30, - 0x78,0x31,0x65,0x31,0x31,0x30,0x66,0x30,0x66,0x55,0x2c,0x0a,0x30,0x78,0x37,0x62,0x63,0x62,0x62,0x30,0x62,0x30,0x55,0x2c,0x30,0x78,0x61,0x38,0x66,0x63,0x35,0x34, - 0x35,0x34,0x55,0x2c,0x30,0x78,0x36,0x64,0x64,0x36,0x62,0x62,0x62,0x62,0x55,0x2c,0x30,0x78,0x32,0x63,0x33,0x61,0x31,0x36,0x31,0x36,0x55,0x2c,0x0a,0x30,0x78,0x35, - 0x30,0x61,0x37,0x66,0x34,0x35,0x31,0x55,0x2c,0x30,0x78,0x35,0x33,0x36,0x35,0x34,0x31,0x37,0x65,0x55,0x2c,0x30,0x78,0x63,0x33,0x61,0x34,0x31,0x37,0x31,0x61,0x55, - 0x2c,0x30,0x78,0x39,0x36,0x35,0x65,0x32,0x37,0x33,0x61,0x55,0x2c,0x0a,0x30,0x78,0x63,0x62,0x36,0x62,0x61,0x62,0x33,0x62,0x55,0x2c,0x30,0x78,0x66,0x31,0x34,0x35, - 0x39,0x64,0x31,0x66,0x55,0x2c,0x30,0x78,0x61,0x62,0x35,0x38,0x66,0x61,0x61,0x63,0x55,0x2c,0x30,0x78,0x39,0x33,0x30,0x33,0x65,0x33,0x34,0x62,0x55,0x2c,0x0a,0x30, - 0x78,0x35,0x35,0x66,0x61,0x33,0x30,0x32,0x30,0x55,0x2c,0x30,0x78,0x66,0x36,0x36,0x64,0x37,0x36,0x61,0x64,0x55,0x2c,0x30,0x78,0x39,0x31,0x37,0x36,0x63,0x63,0x38, - 0x38,0x55,0x2c,0x30,0x78,0x32,0x35,0x34,0x63,0x30,0x32,0x66,0x35,0x55,0x2c,0x0a,0x30,0x78,0x66,0x63,0x64,0x37,0x65,0x35,0x34,0x66,0x55,0x2c,0x30,0x78,0x64,0x37, - 0x63,0x62,0x32,0x61,0x63,0x35,0x55,0x2c,0x30,0x78,0x38,0x30,0x34,0x34,0x33,0x35,0x32,0x36,0x55,0x2c,0x30,0x78,0x38,0x66,0x61,0x33,0x36,0x32,0x62,0x35,0x55,0x2c, - 0x0a,0x30,0x78,0x34,0x39,0x35,0x61,0x62,0x31,0x64,0x65,0x55,0x2c,0x30,0x78,0x36,0x37,0x31,0x62,0x62,0x61,0x32,0x35,0x55,0x2c,0x30,0x78,0x39,0x38,0x30,0x65,0x65, - 0x61,0x34,0x35,0x55,0x2c,0x30,0x78,0x65,0x31,0x63,0x30,0x66,0x65,0x35,0x64,0x55,0x2c,0x0a,0x30,0x78,0x30,0x32,0x37,0x35,0x32,0x66,0x63,0x33,0x55,0x2c,0x30,0x78, - 0x31,0x32,0x66,0x30,0x34,0x63,0x38,0x31,0x55,0x2c,0x30,0x78,0x61,0x33,0x39,0x37,0x34,0x36,0x38,0x64,0x55,0x2c,0x30,0x78,0x63,0x36,0x66,0x39,0x64,0x33,0x36,0x62, - 0x55,0x2c,0x0a,0x30,0x78,0x65,0x37,0x35,0x66,0x38,0x66,0x30,0x33,0x55,0x2c,0x30,0x78,0x39,0x35,0x39,0x63,0x39,0x32,0x31,0x35,0x55,0x2c,0x30,0x78,0x65,0x62,0x37, - 0x61,0x36,0x64,0x62,0x66,0x55,0x2c,0x30,0x78,0x64,0x61,0x35,0x39,0x35,0x32,0x39,0x35,0x55,0x2c,0x0a,0x30,0x78,0x32,0x64,0x38,0x33,0x62,0x65,0x64,0x34,0x55,0x2c, - 0x30,0x78,0x64,0x33,0x32,0x31,0x37,0x34,0x35,0x38,0x55,0x2c,0x30,0x78,0x32,0x39,0x36,0x39,0x65,0x30,0x34,0x39,0x55,0x2c,0x30,0x78,0x34,0x34,0x63,0x38,0x63,0x39, - 0x38,0x65,0x55,0x2c,0x0a,0x30,0x78,0x36,0x61,0x38,0x39,0x63,0x32,0x37,0x35,0x55,0x2c,0x30,0x78,0x37,0x38,0x37,0x39,0x38,0x65,0x66,0x34,0x55,0x2c,0x30,0x78,0x36, - 0x62,0x33,0x65,0x35,0x38,0x39,0x39,0x55,0x2c,0x30,0x78,0x64,0x64,0x37,0x31,0x62,0x39,0x32,0x37,0x55,0x2c,0x0a,0x30,0x78,0x62,0x36,0x34,0x66,0x65,0x31,0x62,0x65, - 0x55,0x2c,0x30,0x78,0x31,0x37,0x61,0x64,0x38,0x38,0x66,0x30,0x55,0x2c,0x30,0x78,0x36,0x36,0x61,0x63,0x32,0x30,0x63,0x39,0x55,0x2c,0x30,0x78,0x62,0x34,0x33,0x61, - 0x63,0x65,0x37,0x64,0x55,0x2c,0x0a,0x30,0x78,0x31,0x38,0x34,0x61,0x64,0x66,0x36,0x33,0x55,0x2c,0x30,0x78,0x38,0x32,0x33,0x31,0x31,0x61,0x65,0x35,0x55,0x2c,0x30, - 0x78,0x36,0x30,0x33,0x33,0x35,0x31,0x39,0x37,0x55,0x2c,0x30,0x78,0x34,0x35,0x37,0x66,0x35,0x33,0x36,0x32,0x55,0x2c,0x0a,0x30,0x78,0x65,0x30,0x37,0x37,0x36,0x34, - 0x62,0x31,0x55,0x2c,0x30,0x78,0x38,0x34,0x61,0x65,0x36,0x62,0x62,0x62,0x55,0x2c,0x30,0x78,0x31,0x63,0x61,0x30,0x38,0x31,0x66,0x65,0x55,0x2c,0x30,0x78,0x39,0x34, - 0x32,0x62,0x30,0x38,0x66,0x39,0x55,0x2c,0x0a,0x30,0x78,0x35,0x38,0x36,0x38,0x34,0x38,0x37,0x30,0x55,0x2c,0x30,0x78,0x31,0x39,0x66,0x64,0x34,0x35,0x38,0x66,0x55, - 0x2c,0x30,0x78,0x38,0x37,0x36,0x63,0x64,0x65,0x39,0x34,0x55,0x2c,0x30,0x78,0x62,0x37,0x66,0x38,0x37,0x62,0x35,0x32,0x55,0x2c,0x0a,0x30,0x78,0x32,0x33,0x64,0x33, - 0x37,0x33,0x61,0x62,0x55,0x2c,0x30,0x78,0x65,0x32,0x30,0x32,0x34,0x62,0x37,0x32,0x55,0x2c,0x30,0x78,0x35,0x37,0x38,0x66,0x31,0x66,0x65,0x33,0x55,0x2c,0x30,0x78, - 0x32,0x61,0x61,0x62,0x35,0x35,0x36,0x36,0x55,0x2c,0x0a,0x30,0x78,0x30,0x37,0x32,0x38,0x65,0x62,0x62,0x32,0x55,0x2c,0x30,0x78,0x30,0x33,0x63,0x32,0x62,0x35,0x32, - 0x66,0x55,0x2c,0x30,0x78,0x39,0x61,0x37,0x62,0x63,0x35,0x38,0x36,0x55,0x2c,0x30,0x78,0x61,0x35,0x30,0x38,0x33,0x37,0x64,0x33,0x55,0x2c,0x0a,0x30,0x78,0x66,0x32, - 0x38,0x37,0x32,0x38,0x33,0x30,0x55,0x2c,0x30,0x78,0x62,0x32,0x61,0x35,0x62,0x66,0x32,0x33,0x55,0x2c,0x30,0x78,0x62,0x61,0x36,0x61,0x30,0x33,0x30,0x32,0x55,0x2c, - 0x30,0x78,0x35,0x63,0x38,0x32,0x31,0x36,0x65,0x64,0x55,0x2c,0x0a,0x30,0x78,0x32,0x62,0x31,0x63,0x63,0x66,0x38,0x61,0x55,0x2c,0x30,0x78,0x39,0x32,0x62,0x34,0x37, - 0x39,0x61,0x37,0x55,0x2c,0x30,0x78,0x66,0x30,0x66,0x32,0x30,0x37,0x66,0x33,0x55,0x2c,0x30,0x78,0x61,0x31,0x65,0x32,0x36,0x39,0x34,0x65,0x55,0x2c,0x0a,0x30,0x78, - 0x63,0x64,0x66,0x34,0x64,0x61,0x36,0x35,0x55,0x2c,0x30,0x78,0x64,0x35,0x62,0x65,0x30,0x35,0x30,0x36,0x55,0x2c,0x30,0x78,0x31,0x66,0x36,0x32,0x33,0x34,0x64,0x31, - 0x55,0x2c,0x30,0x78,0x38,0x61,0x66,0x65,0x61,0x36,0x63,0x34,0x55,0x2c,0x0a,0x30,0x78,0x39,0x64,0x35,0x33,0x32,0x65,0x33,0x34,0x55,0x2c,0x30,0x78,0x61,0x30,0x35, - 0x35,0x66,0x33,0x61,0x32,0x55,0x2c,0x30,0x78,0x33,0x32,0x65,0x31,0x38,0x61,0x30,0x35,0x55,0x2c,0x30,0x78,0x37,0x35,0x65,0x62,0x66,0x36,0x61,0x34,0x55,0x2c,0x0a, - 0x30,0x78,0x33,0x39,0x65,0x63,0x38,0x33,0x30,0x62,0x55,0x2c,0x30,0x78,0x61,0x61,0x65,0x66,0x36,0x30,0x34,0x30,0x55,0x2c,0x30,0x78,0x30,0x36,0x39,0x66,0x37,0x31, - 0x35,0x65,0x55,0x2c,0x30,0x78,0x35,0x31,0x31,0x30,0x36,0x65,0x62,0x64,0x55,0x2c,0x0a,0x30,0x78,0x66,0x39,0x38,0x61,0x32,0x31,0x33,0x65,0x55,0x2c,0x30,0x78,0x33, - 0x64,0x30,0x36,0x64,0x64,0x39,0x36,0x55,0x2c,0x30,0x78,0x61,0x65,0x30,0x35,0x33,0x65,0x64,0x64,0x55,0x2c,0x30,0x78,0x34,0x36,0x62,0x64,0x65,0x36,0x34,0x64,0x55, - 0x2c,0x0a,0x30,0x78,0x62,0x35,0x38,0x64,0x35,0x34,0x39,0x31,0x55,0x2c,0x30,0x78,0x30,0x35,0x35,0x64,0x63,0x34,0x37,0x31,0x55,0x2c,0x30,0x78,0x36,0x66,0x64,0x34, - 0x30,0x36,0x30,0x34,0x55,0x2c,0x30,0x78,0x66,0x66,0x31,0x35,0x35,0x30,0x36,0x30,0x55,0x2c,0x0a,0x30,0x78,0x32,0x34,0x66,0x62,0x39,0x38,0x31,0x39,0x55,0x2c,0x30, - 0x78,0x39,0x37,0x65,0x39,0x62,0x64,0x64,0x36,0x55,0x2c,0x30,0x78,0x63,0x63,0x34,0x33,0x34,0x30,0x38,0x39,0x55,0x2c,0x30,0x78,0x37,0x37,0x39,0x65,0x64,0x39,0x36, - 0x37,0x55,0x2c,0x0a,0x30,0x78,0x62,0x64,0x34,0x32,0x65,0x38,0x62,0x30,0x55,0x2c,0x30,0x78,0x38,0x38,0x38,0x62,0x38,0x39,0x30,0x37,0x55,0x2c,0x30,0x78,0x33,0x38, - 0x35,0x62,0x31,0x39,0x65,0x37,0x55,0x2c,0x30,0x78,0x64,0x62,0x65,0x65,0x63,0x38,0x37,0x39,0x55,0x2c,0x0a,0x30,0x78,0x34,0x37,0x30,0x61,0x37,0x63,0x61,0x31,0x55, - 0x2c,0x30,0x78,0x65,0x39,0x30,0x66,0x34,0x32,0x37,0x63,0x55,0x2c,0x30,0x78,0x63,0x39,0x31,0x65,0x38,0x34,0x66,0x38,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x55,0x2c,0x0a,0x30,0x78,0x38,0x33,0x38,0x36,0x38,0x30,0x30,0x39,0x55,0x2c,0x30,0x78,0x34,0x38,0x65,0x64,0x32,0x62,0x33,0x32,0x55,0x2c,0x30,0x78, - 0x61,0x63,0x37,0x30,0x31,0x31,0x31,0x65,0x55,0x2c,0x30,0x78,0x34,0x65,0x37,0x32,0x35,0x61,0x36,0x63,0x55,0x2c,0x0a,0x30,0x78,0x66,0x62,0x66,0x66,0x30,0x65,0x66, - 0x64,0x55,0x2c,0x30,0x78,0x35,0x36,0x33,0x38,0x38,0x35,0x30,0x66,0x55,0x2c,0x30,0x78,0x31,0x65,0x64,0x35,0x61,0x65,0x33,0x64,0x55,0x2c,0x30,0x78,0x32,0x37,0x33, - 0x39,0x32,0x64,0x33,0x36,0x55,0x2c,0x0a,0x30,0x78,0x36,0x34,0x64,0x39,0x30,0x66,0x30,0x61,0x55,0x2c,0x30,0x78,0x32,0x31,0x61,0x36,0x35,0x63,0x36,0x38,0x55,0x2c, - 0x30,0x78,0x64,0x31,0x35,0x34,0x35,0x62,0x39,0x62,0x55,0x2c,0x30,0x78,0x33,0x61,0x32,0x65,0x33,0x36,0x32,0x34,0x55,0x2c,0x0a,0x30,0x78,0x62,0x31,0x36,0x37,0x30, - 0x61,0x30,0x63,0x55,0x2c,0x30,0x78,0x30,0x66,0x65,0x37,0x35,0x37,0x39,0x33,0x55,0x2c,0x30,0x78,0x64,0x32,0x39,0x36,0x65,0x65,0x62,0x34,0x55,0x2c,0x30,0x78,0x39, - 0x65,0x39,0x31,0x39,0x62,0x31,0x62,0x55,0x2c,0x0a,0x30,0x78,0x34,0x66,0x63,0x35,0x63,0x30,0x38,0x30,0x55,0x2c,0x30,0x78,0x61,0x32,0x32,0x30,0x64,0x63,0x36,0x31, - 0x55,0x2c,0x30,0x78,0x36,0x39,0x34,0x62,0x37,0x37,0x35,0x61,0x55,0x2c,0x30,0x78,0x31,0x36,0x31,0x61,0x31,0x32,0x31,0x63,0x55,0x2c,0x0a,0x30,0x78,0x30,0x61,0x62, - 0x61,0x39,0x33,0x65,0x32,0x55,0x2c,0x30,0x78,0x65,0x35,0x32,0x61,0x61,0x30,0x63,0x30,0x55,0x2c,0x30,0x78,0x34,0x33,0x65,0x30,0x32,0x32,0x33,0x63,0x55,0x2c,0x30, - 0x78,0x31,0x64,0x31,0x37,0x31,0x62,0x31,0x32,0x55,0x2c,0x0a,0x30,0x78,0x30,0x62,0x30,0x64,0x30,0x39,0x30,0x65,0x55,0x2c,0x30,0x78,0x61,0x64,0x63,0x37,0x38,0x62, - 0x66,0x32,0x55,0x2c,0x30,0x78,0x62,0x39,0x61,0x38,0x62,0x36,0x32,0x64,0x55,0x2c,0x30,0x78,0x63,0x38,0x61,0x39,0x31,0x65,0x31,0x34,0x55,0x2c,0x0a,0x30,0x78,0x38, - 0x35,0x31,0x39,0x66,0x31,0x35,0x37,0x55,0x2c,0x30,0x78,0x34,0x63,0x30,0x37,0x37,0x35,0x61,0x66,0x55,0x2c,0x30,0x78,0x62,0x62,0x64,0x64,0x39,0x39,0x65,0x65,0x55, - 0x2c,0x30,0x78,0x66,0x64,0x36,0x30,0x37,0x66,0x61,0x33,0x55,0x2c,0x0a,0x30,0x78,0x39,0x66,0x32,0x36,0x30,0x31,0x66,0x37,0x55,0x2c,0x30,0x78,0x62,0x63,0x66,0x35, - 0x37,0x32,0x35,0x63,0x55,0x2c,0x30,0x78,0x63,0x35,0x33,0x62,0x36,0x36,0x34,0x34,0x55,0x2c,0x30,0x78,0x33,0x34,0x37,0x65,0x66,0x62,0x35,0x62,0x55,0x2c,0x0a,0x30, - 0x78,0x37,0x36,0x32,0x39,0x34,0x33,0x38,0x62,0x55,0x2c,0x30,0x78,0x64,0x63,0x63,0x36,0x32,0x33,0x63,0x62,0x55,0x2c,0x30,0x78,0x36,0x38,0x66,0x63,0x65,0x64,0x62, - 0x36,0x55,0x2c,0x30,0x78,0x36,0x33,0x66,0x31,0x65,0x34,0x62,0x38,0x55,0x2c,0x0a,0x30,0x78,0x63,0x61,0x64,0x63,0x33,0x31,0x64,0x37,0x55,0x2c,0x30,0x78,0x31,0x30, - 0x38,0x35,0x36,0x33,0x34,0x32,0x55,0x2c,0x30,0x78,0x34,0x30,0x32,0x32,0x39,0x37,0x31,0x33,0x55,0x2c,0x30,0x78,0x32,0x30,0x31,0x31,0x63,0x36,0x38,0x34,0x55,0x2c, - 0x0a,0x30,0x78,0x37,0x64,0x32,0x34,0x34,0x61,0x38,0x35,0x55,0x2c,0x30,0x78,0x66,0x38,0x33,0x64,0x62,0x62,0x64,0x32,0x55,0x2c,0x30,0x78,0x31,0x31,0x33,0x32,0x66, - 0x39,0x61,0x65,0x55,0x2c,0x30,0x78,0x36,0x64,0x61,0x31,0x32,0x39,0x63,0x37,0x55,0x2c,0x0a,0x30,0x78,0x34,0x62,0x32,0x66,0x39,0x65,0x31,0x64,0x55,0x2c,0x30,0x78, - 0x66,0x33,0x33,0x30,0x62,0x32,0x64,0x63,0x55,0x2c,0x30,0x78,0x65,0x63,0x35,0x32,0x38,0x36,0x30,0x64,0x55,0x2c,0x30,0x78,0x64,0x30,0x65,0x33,0x63,0x31,0x37,0x37, - 0x55,0x2c,0x0a,0x30,0x78,0x36,0x63,0x31,0x36,0x62,0x33,0x32,0x62,0x55,0x2c,0x30,0x78,0x39,0x39,0x62,0x39,0x37,0x30,0x61,0x39,0x55,0x2c,0x30,0x78,0x66,0x61,0x34, - 0x38,0x39,0x34,0x31,0x31,0x55,0x2c,0x30,0x78,0x32,0x32,0x36,0x34,0x65,0x39,0x34,0x37,0x55,0x2c,0x0a,0x30,0x78,0x63,0x34,0x38,0x63,0x66,0x63,0x61,0x38,0x55,0x2c, - 0x30,0x78,0x31,0x61,0x33,0x66,0x66,0x30,0x61,0x30,0x55,0x2c,0x30,0x78,0x64,0x38,0x32,0x63,0x37,0x64,0x35,0x36,0x55,0x2c,0x30,0x78,0x65,0x66,0x39,0x30,0x33,0x33, - 0x32,0x32,0x55,0x2c,0x0a,0x30,0x78,0x63,0x37,0x34,0x65,0x34,0x39,0x38,0x37,0x55,0x2c,0x30,0x78,0x63,0x31,0x64,0x31,0x33,0x38,0x64,0x39,0x55,0x2c,0x30,0x78,0x66, - 0x65,0x61,0x32,0x63,0x61,0x38,0x63,0x55,0x2c,0x30,0x78,0x33,0x36,0x30,0x62,0x64,0x34,0x39,0x38,0x55,0x2c,0x0a,0x30,0x78,0x63,0x66,0x38,0x31,0x66,0x35,0x61,0x36, - 0x55,0x2c,0x30,0x78,0x32,0x38,0x64,0x65,0x37,0x61,0x61,0x35,0x55,0x2c,0x30,0x78,0x32,0x36,0x38,0x65,0x62,0x37,0x64,0x61,0x55,0x2c,0x30,0x78,0x61,0x34,0x62,0x66, - 0x61,0x64,0x33,0x66,0x55,0x2c,0x0a,0x30,0x78,0x65,0x34,0x39,0x64,0x33,0x61,0x32,0x63,0x55,0x2c,0x30,0x78,0x30,0x64,0x39,0x32,0x37,0x38,0x35,0x30,0x55,0x2c,0x30, - 0x78,0x39,0x62,0x63,0x63,0x35,0x66,0x36,0x61,0x55,0x2c,0x30,0x78,0x36,0x32,0x34,0x36,0x37,0x65,0x35,0x34,0x55,0x2c,0x0a,0x30,0x78,0x63,0x32,0x31,0x33,0x38,0x64, - 0x66,0x36,0x55,0x2c,0x30,0x78,0x65,0x38,0x62,0x38,0x64,0x38,0x39,0x30,0x55,0x2c,0x30,0x78,0x35,0x65,0x66,0x37,0x33,0x39,0x32,0x65,0x55,0x2c,0x30,0x78,0x66,0x35, - 0x61,0x66,0x63,0x33,0x38,0x32,0x55,0x2c,0x0a,0x30,0x78,0x62,0x65,0x38,0x30,0x35,0x64,0x39,0x66,0x55,0x2c,0x30,0x78,0x37,0x63,0x39,0x33,0x64,0x30,0x36,0x39,0x55, - 0x2c,0x30,0x78,0x61,0x39,0x32,0x64,0x64,0x35,0x36,0x66,0x55,0x2c,0x30,0x78,0x62,0x33,0x31,0x32,0x32,0x35,0x63,0x66,0x55,0x2c,0x0a,0x30,0x78,0x33,0x62,0x39,0x39, - 0x61,0x63,0x63,0x38,0x55,0x2c,0x30,0x78,0x61,0x37,0x37,0x64,0x31,0x38,0x31,0x30,0x55,0x2c,0x30,0x78,0x36,0x65,0x36,0x33,0x39,0x63,0x65,0x38,0x55,0x2c,0x30,0x78, - 0x37,0x62,0x62,0x62,0x33,0x62,0x64,0x62,0x55,0x2c,0x0a,0x30,0x78,0x30,0x39,0x37,0x38,0x32,0x36,0x63,0x64,0x55,0x2c,0x30,0x78,0x66,0x34,0x31,0x38,0x35,0x39,0x36, - 0x65,0x55,0x2c,0x30,0x78,0x30,0x31,0x62,0x37,0x39,0x61,0x65,0x63,0x55,0x2c,0x30,0x78,0x61,0x38,0x39,0x61,0x34,0x66,0x38,0x33,0x55,0x2c,0x0a,0x30,0x78,0x36,0x35, - 0x36,0x65,0x39,0x35,0x65,0x36,0x55,0x2c,0x30,0x78,0x37,0x65,0x65,0x36,0x66,0x66,0x61,0x61,0x55,0x2c,0x30,0x78,0x30,0x38,0x63,0x66,0x62,0x63,0x32,0x31,0x55,0x2c, - 0x30,0x78,0x65,0x36,0x65,0x38,0x31,0x35,0x65,0x66,0x55,0x2c,0x0a,0x30,0x78,0x64,0x39,0x39,0x62,0x65,0x37,0x62,0x61,0x55,0x2c,0x30,0x78,0x63,0x65,0x33,0x36,0x36, - 0x66,0x34,0x61,0x55,0x2c,0x30,0x78,0x64,0x34,0x30,0x39,0x39,0x66,0x65,0x61,0x55,0x2c,0x30,0x78,0x64,0x36,0x37,0x63,0x62,0x30,0x32,0x39,0x55,0x2c,0x0a,0x30,0x78, - 0x61,0x66,0x62,0x32,0x61,0x34,0x33,0x31,0x55,0x2c,0x30,0x78,0x33,0x31,0x32,0x33,0x33,0x66,0x32,0x61,0x55,0x2c,0x30,0x78,0x33,0x30,0x39,0x34,0x61,0x35,0x63,0x36, - 0x55,0x2c,0x30,0x78,0x63,0x30,0x36,0x36,0x61,0x32,0x33,0x35,0x55,0x2c,0x0a,0x30,0x78,0x33,0x37,0x62,0x63,0x34,0x65,0x37,0x34,0x55,0x2c,0x30,0x78,0x61,0x36,0x63, - 0x61,0x38,0x32,0x66,0x63,0x55,0x2c,0x30,0x78,0x62,0x30,0x64,0x30,0x39,0x30,0x65,0x30,0x55,0x2c,0x30,0x78,0x31,0x35,0x64,0x38,0x61,0x37,0x33,0x33,0x55,0x2c,0x0a, - 0x30,0x78,0x34,0x61,0x39,0x38,0x30,0x34,0x66,0x31,0x55,0x2c,0x30,0x78,0x66,0x37,0x64,0x61,0x65,0x63,0x34,0x31,0x55,0x2c,0x30,0x78,0x30,0x65,0x35,0x30,0x63,0x64, - 0x37,0x66,0x55,0x2c,0x30,0x78,0x32,0x66,0x66,0x36,0x39,0x31,0x31,0x37,0x55,0x2c,0x0a,0x30,0x78,0x38,0x64,0x64,0x36,0x34,0x64,0x37,0x36,0x55,0x2c,0x30,0x78,0x34, - 0x64,0x62,0x30,0x65,0x66,0x34,0x33,0x55,0x2c,0x30,0x78,0x35,0x34,0x34,0x64,0x61,0x61,0x63,0x63,0x55,0x2c,0x30,0x78,0x64,0x66,0x30,0x34,0x39,0x36,0x65,0x34,0x55, - 0x2c,0x0a,0x30,0x78,0x65,0x33,0x62,0x35,0x64,0x31,0x39,0x65,0x55,0x2c,0x30,0x78,0x31,0x62,0x38,0x38,0x36,0x61,0x34,0x63,0x55,0x2c,0x30,0x78,0x62,0x38,0x31,0x66, - 0x32,0x63,0x63,0x31,0x55,0x2c,0x30,0x78,0x37,0x66,0x35,0x31,0x36,0x35,0x34,0x36,0x55,0x2c,0x0a,0x30,0x78,0x30,0x34,0x65,0x61,0x35,0x65,0x39,0x64,0x55,0x2c,0x30, - 0x78,0x35,0x64,0x33,0x35,0x38,0x63,0x30,0x31,0x55,0x2c,0x30,0x78,0x37,0x33,0x37,0x34,0x38,0x37,0x66,0x61,0x55,0x2c,0x30,0x78,0x32,0x65,0x34,0x31,0x30,0x62,0x66, - 0x62,0x55,0x2c,0x0a,0x30,0x78,0x35,0x61,0x31,0x64,0x36,0x37,0x62,0x33,0x55,0x2c,0x30,0x78,0x35,0x32,0x64,0x32,0x64,0x62,0x39,0x32,0x55,0x2c,0x30,0x78,0x33,0x33, - 0x35,0x36,0x31,0x30,0x65,0x39,0x55,0x2c,0x30,0x78,0x31,0x33,0x34,0x37,0x64,0x36,0x36,0x64,0x55,0x2c,0x0a,0x30,0x78,0x38,0x63,0x36,0x31,0x64,0x37,0x39,0x61,0x55, - 0x2c,0x30,0x78,0x37,0x61,0x30,0x63,0x61,0x31,0x33,0x37,0x55,0x2c,0x30,0x78,0x38,0x65,0x31,0x34,0x66,0x38,0x35,0x39,0x55,0x2c,0x30,0x78,0x38,0x39,0x33,0x63,0x31, - 0x33,0x65,0x62,0x55,0x2c,0x0a,0x30,0x78,0x65,0x65,0x32,0x37,0x61,0x39,0x63,0x65,0x55,0x2c,0x30,0x78,0x33,0x35,0x63,0x39,0x36,0x31,0x62,0x37,0x55,0x2c,0x30,0x78, - 0x65,0x64,0x65,0x35,0x31,0x63,0x65,0x31,0x55,0x2c,0x30,0x78,0x33,0x63,0x62,0x31,0x34,0x37,0x37,0x61,0x55,0x2c,0x0a,0x30,0x78,0x35,0x39,0x64,0x66,0x64,0x32,0x39, - 0x63,0x55,0x2c,0x30,0x78,0x33,0x66,0x37,0x33,0x66,0x32,0x35,0x35,0x55,0x2c,0x30,0x78,0x37,0x39,0x63,0x65,0x31,0x34,0x31,0x38,0x55,0x2c,0x30,0x78,0x62,0x66,0x33, - 0x37,0x63,0x37,0x37,0x33,0x55,0x2c,0x0a,0x30,0x78,0x65,0x61,0x63,0x64,0x66,0x37,0x35,0x33,0x55,0x2c,0x30,0x78,0x35,0x62,0x61,0x61,0x66,0x64,0x35,0x66,0x55,0x2c, - 0x30,0x78,0x31,0x34,0x36,0x66,0x33,0x64,0x64,0x66,0x55,0x2c,0x30,0x78,0x38,0x36,0x64,0x62,0x34,0x34,0x37,0x38,0x55,0x2c,0x0a,0x30,0x78,0x38,0x31,0x66,0x33,0x61, - 0x66,0x63,0x61,0x55,0x2c,0x30,0x78,0x33,0x65,0x63,0x34,0x36,0x38,0x62,0x39,0x55,0x2c,0x30,0x78,0x32,0x63,0x33,0x34,0x32,0x34,0x33,0x38,0x55,0x2c,0x30,0x78,0x35, - 0x66,0x34,0x30,0x61,0x33,0x63,0x32,0x55,0x2c,0x0a,0x30,0x78,0x37,0x32,0x63,0x33,0x31,0x64,0x31,0x36,0x55,0x2c,0x30,0x78,0x30,0x63,0x32,0x35,0x65,0x32,0x62,0x63, - 0x55,0x2c,0x30,0x78,0x38,0x62,0x34,0x39,0x33,0x63,0x32,0x38,0x55,0x2c,0x30,0x78,0x34,0x31,0x39,0x35,0x30,0x64,0x66,0x66,0x55,0x2c,0x0a,0x30,0x78,0x37,0x31,0x30, - 0x31,0x61,0x38,0x33,0x39,0x55,0x2c,0x30,0x78,0x64,0x65,0x62,0x33,0x30,0x63,0x30,0x38,0x55,0x2c,0x30,0x78,0x39,0x63,0x65,0x34,0x62,0x34,0x64,0x38,0x55,0x2c,0x30, - 0x78,0x39,0x30,0x63,0x31,0x35,0x36,0x36,0x34,0x55,0x2c,0x0a,0x30,0x78,0x36,0x31,0x38,0x34,0x63,0x62,0x37,0x62,0x55,0x2c,0x30,0x78,0x37,0x30,0x62,0x36,0x33,0x32, - 0x64,0x35,0x55,0x2c,0x30,0x78,0x37,0x34,0x35,0x63,0x36,0x63,0x34,0x38,0x55,0x2c,0x30,0x78,0x34,0x32,0x35,0x37,0x62,0x38,0x64,0x30,0x55,0x2c,0x0a,0x30,0x78,0x61, - 0x37,0x66,0x34,0x35,0x31,0x35,0x30,0x55,0x2c,0x30,0x78,0x36,0x35,0x34,0x31,0x37,0x65,0x35,0x33,0x55,0x2c,0x30,0x78,0x61,0x34,0x31,0x37,0x31,0x61,0x63,0x33,0x55, - 0x2c,0x30,0x78,0x35,0x65,0x32,0x37,0x33,0x61,0x39,0x36,0x55,0x2c,0x0a,0x30,0x78,0x36,0x62,0x61,0x62,0x33,0x62,0x63,0x62,0x55,0x2c,0x30,0x78,0x34,0x35,0x39,0x64, - 0x31,0x66,0x66,0x31,0x55,0x2c,0x30,0x78,0x35,0x38,0x66,0x61,0x61,0x63,0x61,0x62,0x55,0x2c,0x30,0x78,0x30,0x33,0x65,0x33,0x34,0x62,0x39,0x33,0x55,0x2c,0x0a,0x30, - 0x78,0x66,0x61,0x33,0x30,0x32,0x30,0x35,0x35,0x55,0x2c,0x30,0x78,0x36,0x64,0x37,0x36,0x61,0x64,0x66,0x36,0x55,0x2c,0x30,0x78,0x37,0x36,0x63,0x63,0x38,0x38,0x39, - 0x31,0x55,0x2c,0x30,0x78,0x34,0x63,0x30,0x32,0x66,0x35,0x32,0x35,0x55,0x2c,0x0a,0x30,0x78,0x64,0x37,0x65,0x35,0x34,0x66,0x66,0x63,0x55,0x2c,0x30,0x78,0x63,0x62, - 0x32,0x61,0x63,0x35,0x64,0x37,0x55,0x2c,0x30,0x78,0x34,0x34,0x33,0x35,0x32,0x36,0x38,0x30,0x55,0x2c,0x30,0x78,0x61,0x33,0x36,0x32,0x62,0x35,0x38,0x66,0x55,0x2c, - 0x0a,0x30,0x78,0x35,0x61,0x62,0x31,0x64,0x65,0x34,0x39,0x55,0x2c,0x30,0x78,0x31,0x62,0x62,0x61,0x32,0x35,0x36,0x37,0x55,0x2c,0x30,0x78,0x30,0x65,0x65,0x61,0x34, - 0x35,0x39,0x38,0x55,0x2c,0x30,0x78,0x63,0x30,0x66,0x65,0x35,0x64,0x65,0x31,0x55,0x2c,0x0a,0x30,0x78,0x37,0x35,0x32,0x66,0x63,0x33,0x30,0x32,0x55,0x2c,0x30,0x78, - 0x66,0x30,0x34,0x63,0x38,0x31,0x31,0x32,0x55,0x2c,0x30,0x78,0x39,0x37,0x34,0x36,0x38,0x64,0x61,0x33,0x55,0x2c,0x30,0x78,0x66,0x39,0x64,0x33,0x36,0x62,0x63,0x36, - 0x55,0x2c,0x0a,0x30,0x78,0x35,0x66,0x38,0x66,0x30,0x33,0x65,0x37,0x55,0x2c,0x30,0x78,0x39,0x63,0x39,0x32,0x31,0x35,0x39,0x35,0x55,0x2c,0x30,0x78,0x37,0x61,0x36, - 0x64,0x62,0x66,0x65,0x62,0x55,0x2c,0x30,0x78,0x35,0x39,0x35,0x32,0x39,0x35,0x64,0x61,0x55,0x2c,0x0a,0x30,0x78,0x38,0x33,0x62,0x65,0x64,0x34,0x32,0x64,0x55,0x2c, - 0x30,0x78,0x32,0x31,0x37,0x34,0x35,0x38,0x64,0x33,0x55,0x2c,0x30,0x78,0x36,0x39,0x65,0x30,0x34,0x39,0x32,0x39,0x55,0x2c,0x30,0x78,0x63,0x38,0x63,0x39,0x38,0x65, - 0x34,0x34,0x55,0x2c,0x0a,0x30,0x78,0x38,0x39,0x63,0x32,0x37,0x35,0x36,0x61,0x55,0x2c,0x30,0x78,0x37,0x39,0x38,0x65,0x66,0x34,0x37,0x38,0x55,0x2c,0x30,0x78,0x33, - 0x65,0x35,0x38,0x39,0x39,0x36,0x62,0x55,0x2c,0x30,0x78,0x37,0x31,0x62,0x39,0x32,0x37,0x64,0x64,0x55,0x2c,0x0a,0x30,0x78,0x34,0x66,0x65,0x31,0x62,0x65,0x62,0x36, - 0x55,0x2c,0x30,0x78,0x61,0x64,0x38,0x38,0x66,0x30,0x31,0x37,0x55,0x2c,0x30,0x78,0x61,0x63,0x32,0x30,0x63,0x39,0x36,0x36,0x55,0x2c,0x30,0x78,0x33,0x61,0x63,0x65, - 0x37,0x64,0x62,0x34,0x55,0x2c,0x0a,0x30,0x78,0x34,0x61,0x64,0x66,0x36,0x33,0x31,0x38,0x55,0x2c,0x30,0x78,0x33,0x31,0x31,0x61,0x65,0x35,0x38,0x32,0x55,0x2c,0x30, - 0x78,0x33,0x33,0x35,0x31,0x39,0x37,0x36,0x30,0x55,0x2c,0x30,0x78,0x37,0x66,0x35,0x33,0x36,0x32,0x34,0x35,0x55,0x2c,0x0a,0x30,0x78,0x37,0x37,0x36,0x34,0x62,0x31, - 0x65,0x30,0x55,0x2c,0x30,0x78,0x61,0x65,0x36,0x62,0x62,0x62,0x38,0x34,0x55,0x2c,0x30,0x78,0x61,0x30,0x38,0x31,0x66,0x65,0x31,0x63,0x55,0x2c,0x30,0x78,0x32,0x62, - 0x30,0x38,0x66,0x39,0x39,0x34,0x55,0x2c,0x0a,0x30,0x78,0x36,0x38,0x34,0x38,0x37,0x30,0x35,0x38,0x55,0x2c,0x30,0x78,0x66,0x64,0x34,0x35,0x38,0x66,0x31,0x39,0x55, - 0x2c,0x30,0x78,0x36,0x63,0x64,0x65,0x39,0x34,0x38,0x37,0x55,0x2c,0x30,0x78,0x66,0x38,0x37,0x62,0x35,0x32,0x62,0x37,0x55,0x2c,0x0a,0x30,0x78,0x64,0x33,0x37,0x33, - 0x61,0x62,0x32,0x33,0x55,0x2c,0x30,0x78,0x30,0x32,0x34,0x62,0x37,0x32,0x65,0x32,0x55,0x2c,0x30,0x78,0x38,0x66,0x31,0x66,0x65,0x33,0x35,0x37,0x55,0x2c,0x30,0x78, - 0x61,0x62,0x35,0x35,0x36,0x36,0x32,0x61,0x55,0x2c,0x0a,0x30,0x78,0x32,0x38,0x65,0x62,0x62,0x32,0x30,0x37,0x55,0x2c,0x30,0x78,0x63,0x32,0x62,0x35,0x32,0x66,0x30, - 0x33,0x55,0x2c,0x30,0x78,0x37,0x62,0x63,0x35,0x38,0x36,0x39,0x61,0x55,0x2c,0x30,0x78,0x30,0x38,0x33,0x37,0x64,0x33,0x61,0x35,0x55,0x2c,0x0a,0x30,0x78,0x38,0x37, - 0x32,0x38,0x33,0x30,0x66,0x32,0x55,0x2c,0x30,0x78,0x61,0x35,0x62,0x66,0x32,0x33,0x62,0x32,0x55,0x2c,0x30,0x78,0x36,0x61,0x30,0x33,0x30,0x32,0x62,0x61,0x55,0x2c, - 0x30,0x78,0x38,0x32,0x31,0x36,0x65,0x64,0x35,0x63,0x55,0x2c,0x0a,0x30,0x78,0x31,0x63,0x63,0x66,0x38,0x61,0x32,0x62,0x55,0x2c,0x30,0x78,0x62,0x34,0x37,0x39,0x61, - 0x37,0x39,0x32,0x55,0x2c,0x30,0x78,0x66,0x32,0x30,0x37,0x66,0x33,0x66,0x30,0x55,0x2c,0x30,0x78,0x65,0x32,0x36,0x39,0x34,0x65,0x61,0x31,0x55,0x2c,0x0a,0x30,0x78, - 0x66,0x34,0x64,0x61,0x36,0x35,0x63,0x64,0x55,0x2c,0x30,0x78,0x62,0x65,0x30,0x35,0x30,0x36,0x64,0x35,0x55,0x2c,0x30,0x78,0x36,0x32,0x33,0x34,0x64,0x31,0x31,0x66, - 0x55,0x2c,0x30,0x78,0x66,0x65,0x61,0x36,0x63,0x34,0x38,0x61,0x55,0x2c,0x0a,0x30,0x78,0x35,0x33,0x32,0x65,0x33,0x34,0x39,0x64,0x55,0x2c,0x30,0x78,0x35,0x35,0x66, - 0x33,0x61,0x32,0x61,0x30,0x55,0x2c,0x30,0x78,0x65,0x31,0x38,0x61,0x30,0x35,0x33,0x32,0x55,0x2c,0x30,0x78,0x65,0x62,0x66,0x36,0x61,0x34,0x37,0x35,0x55,0x2c,0x0a, - 0x30,0x78,0x65,0x63,0x38,0x33,0x30,0x62,0x33,0x39,0x55,0x2c,0x30,0x78,0x65,0x66,0x36,0x30,0x34,0x30,0x61,0x61,0x55,0x2c,0x30,0x78,0x39,0x66,0x37,0x31,0x35,0x65, - 0x30,0x36,0x55,0x2c,0x30,0x78,0x31,0x30,0x36,0x65,0x62,0x64,0x35,0x31,0x55,0x2c,0x0a,0x30,0x78,0x38,0x61,0x32,0x31,0x33,0x65,0x66,0x39,0x55,0x2c,0x30,0x78,0x30, - 0x36,0x64,0x64,0x39,0x36,0x33,0x64,0x55,0x2c,0x30,0x78,0x30,0x35,0x33,0x65,0x64,0x64,0x61,0x65,0x55,0x2c,0x30,0x78,0x62,0x64,0x65,0x36,0x34,0x64,0x34,0x36,0x55, - 0x2c,0x0a,0x30,0x78,0x38,0x64,0x35,0x34,0x39,0x31,0x62,0x35,0x55,0x2c,0x30,0x78,0x35,0x64,0x63,0x34,0x37,0x31,0x30,0x35,0x55,0x2c,0x30,0x78,0x64,0x34,0x30,0x36, - 0x30,0x34,0x36,0x66,0x55,0x2c,0x30,0x78,0x31,0x35,0x35,0x30,0x36,0x30,0x66,0x66,0x55,0x2c,0x0a,0x30,0x78,0x66,0x62,0x39,0x38,0x31,0x39,0x32,0x34,0x55,0x2c,0x30, - 0x78,0x65,0x39,0x62,0x64,0x64,0x36,0x39,0x37,0x55,0x2c,0x30,0x78,0x34,0x33,0x34,0x30,0x38,0x39,0x63,0x63,0x55,0x2c,0x30,0x78,0x39,0x65,0x64,0x39,0x36,0x37,0x37, - 0x37,0x55,0x2c,0x0a,0x30,0x78,0x34,0x32,0x65,0x38,0x62,0x30,0x62,0x64,0x55,0x2c,0x30,0x78,0x38,0x62,0x38,0x39,0x30,0x37,0x38,0x38,0x55,0x2c,0x30,0x78,0x35,0x62, - 0x31,0x39,0x65,0x37,0x33,0x38,0x55,0x2c,0x30,0x78,0x65,0x65,0x63,0x38,0x37,0x39,0x64,0x62,0x55,0x2c,0x0a,0x30,0x78,0x30,0x61,0x37,0x63,0x61,0x31,0x34,0x37,0x55, - 0x2c,0x30,0x78,0x30,0x66,0x34,0x32,0x37,0x63,0x65,0x39,0x55,0x2c,0x30,0x78,0x31,0x65,0x38,0x34,0x66,0x38,0x63,0x39,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x55,0x2c,0x0a,0x30,0x78,0x38,0x36,0x38,0x30,0x30,0x39,0x38,0x33,0x55,0x2c,0x30,0x78,0x65,0x64,0x32,0x62,0x33,0x32,0x34,0x38,0x55,0x2c,0x30,0x78, - 0x37,0x30,0x31,0x31,0x31,0x65,0x61,0x63,0x55,0x2c,0x30,0x78,0x37,0x32,0x35,0x61,0x36,0x63,0x34,0x65,0x55,0x2c,0x0a,0x30,0x78,0x66,0x66,0x30,0x65,0x66,0x64,0x66, - 0x62,0x55,0x2c,0x30,0x78,0x33,0x38,0x38,0x35,0x30,0x66,0x35,0x36,0x55,0x2c,0x30,0x78,0x64,0x35,0x61,0x65,0x33,0x64,0x31,0x65,0x55,0x2c,0x30,0x78,0x33,0x39,0x32, - 0x64,0x33,0x36,0x32,0x37,0x55,0x2c,0x0a,0x30,0x78,0x64,0x39,0x30,0x66,0x30,0x61,0x36,0x34,0x55,0x2c,0x30,0x78,0x61,0x36,0x35,0x63,0x36,0x38,0x32,0x31,0x55,0x2c, - 0x30,0x78,0x35,0x34,0x35,0x62,0x39,0x62,0x64,0x31,0x55,0x2c,0x30,0x78,0x32,0x65,0x33,0x36,0x32,0x34,0x33,0x61,0x55,0x2c,0x0a,0x30,0x78,0x36,0x37,0x30,0x61,0x30, - 0x63,0x62,0x31,0x55,0x2c,0x30,0x78,0x65,0x37,0x35,0x37,0x39,0x33,0x30,0x66,0x55,0x2c,0x30,0x78,0x39,0x36,0x65,0x65,0x62,0x34,0x64,0x32,0x55,0x2c,0x30,0x78,0x39, - 0x31,0x39,0x62,0x31,0x62,0x39,0x65,0x55,0x2c,0x0a,0x30,0x78,0x63,0x35,0x63,0x30,0x38,0x30,0x34,0x66,0x55,0x2c,0x30,0x78,0x32,0x30,0x64,0x63,0x36,0x31,0x61,0x32, - 0x55,0x2c,0x30,0x78,0x34,0x62,0x37,0x37,0x35,0x61,0x36,0x39,0x55,0x2c,0x30,0x78,0x31,0x61,0x31,0x32,0x31,0x63,0x31,0x36,0x55,0x2c,0x0a,0x30,0x78,0x62,0x61,0x39, - 0x33,0x65,0x32,0x30,0x61,0x55,0x2c,0x30,0x78,0x32,0x61,0x61,0x30,0x63,0x30,0x65,0x35,0x55,0x2c,0x30,0x78,0x65,0x30,0x32,0x32,0x33,0x63,0x34,0x33,0x55,0x2c,0x30, - 0x78,0x31,0x37,0x31,0x62,0x31,0x32,0x31,0x64,0x55,0x2c,0x0a,0x30,0x78,0x30,0x64,0x30,0x39,0x30,0x65,0x30,0x62,0x55,0x2c,0x30,0x78,0x63,0x37,0x38,0x62,0x66,0x32, - 0x61,0x64,0x55,0x2c,0x30,0x78,0x61,0x38,0x62,0x36,0x32,0x64,0x62,0x39,0x55,0x2c,0x30,0x78,0x61,0x39,0x31,0x65,0x31,0x34,0x63,0x38,0x55,0x2c,0x0a,0x30,0x78,0x31, - 0x39,0x66,0x31,0x35,0x37,0x38,0x35,0x55,0x2c,0x30,0x78,0x30,0x37,0x37,0x35,0x61,0x66,0x34,0x63,0x55,0x2c,0x30,0x78,0x64,0x64,0x39,0x39,0x65,0x65,0x62,0x62,0x55, - 0x2c,0x30,0x78,0x36,0x30,0x37,0x66,0x61,0x33,0x66,0x64,0x55,0x2c,0x0a,0x30,0x78,0x32,0x36,0x30,0x31,0x66,0x37,0x39,0x66,0x55,0x2c,0x30,0x78,0x66,0x35,0x37,0x32, - 0x35,0x63,0x62,0x63,0x55,0x2c,0x30,0x78,0x33,0x62,0x36,0x36,0x34,0x34,0x63,0x35,0x55,0x2c,0x30,0x78,0x37,0x65,0x66,0x62,0x35,0x62,0x33,0x34,0x55,0x2c,0x0a,0x30, - 0x78,0x32,0x39,0x34,0x33,0x38,0x62,0x37,0x36,0x55,0x2c,0x30,0x78,0x63,0x36,0x32,0x33,0x63,0x62,0x64,0x63,0x55,0x2c,0x30,0x78,0x66,0x63,0x65,0x64,0x62,0x36,0x36, - 0x38,0x55,0x2c,0x30,0x78,0x66,0x31,0x65,0x34,0x62,0x38,0x36,0x33,0x55,0x2c,0x0a,0x30,0x78,0x64,0x63,0x33,0x31,0x64,0x37,0x63,0x61,0x55,0x2c,0x30,0x78,0x38,0x35, - 0x36,0x33,0x34,0x32,0x31,0x30,0x55,0x2c,0x30,0x78,0x32,0x32,0x39,0x37,0x31,0x33,0x34,0x30,0x55,0x2c,0x30,0x78,0x31,0x31,0x63,0x36,0x38,0x34,0x32,0x30,0x55,0x2c, - 0x0a,0x30,0x78,0x32,0x34,0x34,0x61,0x38,0x35,0x37,0x64,0x55,0x2c,0x30,0x78,0x33,0x64,0x62,0x62,0x64,0x32,0x66,0x38,0x55,0x2c,0x30,0x78,0x33,0x32,0x66,0x39,0x61, - 0x65,0x31,0x31,0x55,0x2c,0x30,0x78,0x61,0x31,0x32,0x39,0x63,0x37,0x36,0x64,0x55,0x2c,0x0a,0x30,0x78,0x32,0x66,0x39,0x65,0x31,0x64,0x34,0x62,0x55,0x2c,0x30,0x78, - 0x33,0x30,0x62,0x32,0x64,0x63,0x66,0x33,0x55,0x2c,0x30,0x78,0x35,0x32,0x38,0x36,0x30,0x64,0x65,0x63,0x55,0x2c,0x30,0x78,0x65,0x33,0x63,0x31,0x37,0x37,0x64,0x30, - 0x55,0x2c,0x0a,0x30,0x78,0x31,0x36,0x62,0x33,0x32,0x62,0x36,0x63,0x55,0x2c,0x30,0x78,0x62,0x39,0x37,0x30,0x61,0x39,0x39,0x39,0x55,0x2c,0x30,0x78,0x34,0x38,0x39, - 0x34,0x31,0x31,0x66,0x61,0x55,0x2c,0x30,0x78,0x36,0x34,0x65,0x39,0x34,0x37,0x32,0x32,0x55,0x2c,0x0a,0x30,0x78,0x38,0x63,0x66,0x63,0x61,0x38,0x63,0x34,0x55,0x2c, - 0x30,0x78,0x33,0x66,0x66,0x30,0x61,0x30,0x31,0x61,0x55,0x2c,0x30,0x78,0x32,0x63,0x37,0x64,0x35,0x36,0x64,0x38,0x55,0x2c,0x30,0x78,0x39,0x30,0x33,0x33,0x32,0x32, - 0x65,0x66,0x55,0x2c,0x0a,0x30,0x78,0x34,0x65,0x34,0x39,0x38,0x37,0x63,0x37,0x55,0x2c,0x30,0x78,0x64,0x31,0x33,0x38,0x64,0x39,0x63,0x31,0x55,0x2c,0x30,0x78,0x61, - 0x32,0x63,0x61,0x38,0x63,0x66,0x65,0x55,0x2c,0x30,0x78,0x30,0x62,0x64,0x34,0x39,0x38,0x33,0x36,0x55,0x2c,0x0a,0x30,0x78,0x38,0x31,0x66,0x35,0x61,0x36,0x63,0x66, - 0x55,0x2c,0x30,0x78,0x64,0x65,0x37,0x61,0x61,0x35,0x32,0x38,0x55,0x2c,0x30,0x78,0x38,0x65,0x62,0x37,0x64,0x61,0x32,0x36,0x55,0x2c,0x30,0x78,0x62,0x66,0x61,0x64, - 0x33,0x66,0x61,0x34,0x55,0x2c,0x0a,0x30,0x78,0x39,0x64,0x33,0x61,0x32,0x63,0x65,0x34,0x55,0x2c,0x30,0x78,0x39,0x32,0x37,0x38,0x35,0x30,0x30,0x64,0x55,0x2c,0x30, - 0x78,0x63,0x63,0x35,0x66,0x36,0x61,0x39,0x62,0x55,0x2c,0x30,0x78,0x34,0x36,0x37,0x65,0x35,0x34,0x36,0x32,0x55,0x2c,0x0a,0x30,0x78,0x31,0x33,0x38,0x64,0x66,0x36, - 0x63,0x32,0x55,0x2c,0x30,0x78,0x62,0x38,0x64,0x38,0x39,0x30,0x65,0x38,0x55,0x2c,0x30,0x78,0x66,0x37,0x33,0x39,0x32,0x65,0x35,0x65,0x55,0x2c,0x30,0x78,0x61,0x66, - 0x63,0x33,0x38,0x32,0x66,0x35,0x55,0x2c,0x0a,0x30,0x78,0x38,0x30,0x35,0x64,0x39,0x66,0x62,0x65,0x55,0x2c,0x30,0x78,0x39,0x33,0x64,0x30,0x36,0x39,0x37,0x63,0x55, - 0x2c,0x30,0x78,0x32,0x64,0x64,0x35,0x36,0x66,0x61,0x39,0x55,0x2c,0x30,0x78,0x31,0x32,0x32,0x35,0x63,0x66,0x62,0x33,0x55,0x2c,0x0a,0x30,0x78,0x39,0x39,0x61,0x63, - 0x63,0x38,0x33,0x62,0x55,0x2c,0x30,0x78,0x37,0x64,0x31,0x38,0x31,0x30,0x61,0x37,0x55,0x2c,0x30,0x78,0x36,0x33,0x39,0x63,0x65,0x38,0x36,0x65,0x55,0x2c,0x30,0x78, - 0x62,0x62,0x33,0x62,0x64,0x62,0x37,0x62,0x55,0x2c,0x0a,0x30,0x78,0x37,0x38,0x32,0x36,0x63,0x64,0x30,0x39,0x55,0x2c,0x30,0x78,0x31,0x38,0x35,0x39,0x36,0x65,0x66, - 0x34,0x55,0x2c,0x30,0x78,0x62,0x37,0x39,0x61,0x65,0x63,0x30,0x31,0x55,0x2c,0x30,0x78,0x39,0x61,0x34,0x66,0x38,0x33,0x61,0x38,0x55,0x2c,0x0a,0x30,0x78,0x36,0x65, - 0x39,0x35,0x65,0x36,0x36,0x35,0x55,0x2c,0x30,0x78,0x65,0x36,0x66,0x66,0x61,0x61,0x37,0x65,0x55,0x2c,0x30,0x78,0x63,0x66,0x62,0x63,0x32,0x31,0x30,0x38,0x55,0x2c, - 0x30,0x78,0x65,0x38,0x31,0x35,0x65,0x66,0x65,0x36,0x55,0x2c,0x0a,0x30,0x78,0x39,0x62,0x65,0x37,0x62,0x61,0x64,0x39,0x55,0x2c,0x30,0x78,0x33,0x36,0x36,0x66,0x34, - 0x61,0x63,0x65,0x55,0x2c,0x30,0x78,0x30,0x39,0x39,0x66,0x65,0x61,0x64,0x34,0x55,0x2c,0x30,0x78,0x37,0x63,0x62,0x30,0x32,0x39,0x64,0x36,0x55,0x2c,0x0a,0x30,0x78, - 0x62,0x32,0x61,0x34,0x33,0x31,0x61,0x66,0x55,0x2c,0x30,0x78,0x32,0x33,0x33,0x66,0x32,0x61,0x33,0x31,0x55,0x2c,0x30,0x78,0x39,0x34,0x61,0x35,0x63,0x36,0x33,0x30, - 0x55,0x2c,0x30,0x78,0x36,0x36,0x61,0x32,0x33,0x35,0x63,0x30,0x55,0x2c,0x0a,0x30,0x78,0x62,0x63,0x34,0x65,0x37,0x34,0x33,0x37,0x55,0x2c,0x30,0x78,0x63,0x61,0x38, - 0x32,0x66,0x63,0x61,0x36,0x55,0x2c,0x30,0x78,0x64,0x30,0x39,0x30,0x65,0x30,0x62,0x30,0x55,0x2c,0x30,0x78,0x64,0x38,0x61,0x37,0x33,0x33,0x31,0x35,0x55,0x2c,0x0a, - 0x30,0x78,0x39,0x38,0x30,0x34,0x66,0x31,0x34,0x61,0x55,0x2c,0x30,0x78,0x64,0x61,0x65,0x63,0x34,0x31,0x66,0x37,0x55,0x2c,0x30,0x78,0x35,0x30,0x63,0x64,0x37,0x66, - 0x30,0x65,0x55,0x2c,0x30,0x78,0x66,0x36,0x39,0x31,0x31,0x37,0x32,0x66,0x55,0x2c,0x0a,0x30,0x78,0x64,0x36,0x34,0x64,0x37,0x36,0x38,0x64,0x55,0x2c,0x30,0x78,0x62, - 0x30,0x65,0x66,0x34,0x33,0x34,0x64,0x55,0x2c,0x30,0x78,0x34,0x64,0x61,0x61,0x63,0x63,0x35,0x34,0x55,0x2c,0x30,0x78,0x30,0x34,0x39,0x36,0x65,0x34,0x64,0x66,0x55, - 0x2c,0x0a,0x30,0x78,0x62,0x35,0x64,0x31,0x39,0x65,0x65,0x33,0x55,0x2c,0x30,0x78,0x38,0x38,0x36,0x61,0x34,0x63,0x31,0x62,0x55,0x2c,0x30,0x78,0x31,0x66,0x32,0x63, - 0x63,0x31,0x62,0x38,0x55,0x2c,0x30,0x78,0x35,0x31,0x36,0x35,0x34,0x36,0x37,0x66,0x55,0x2c,0x0a,0x30,0x78,0x65,0x61,0x35,0x65,0x39,0x64,0x30,0x34,0x55,0x2c,0x30, - 0x78,0x33,0x35,0x38,0x63,0x30,0x31,0x35,0x64,0x55,0x2c,0x30,0x78,0x37,0x34,0x38,0x37,0x66,0x61,0x37,0x33,0x55,0x2c,0x30,0x78,0x34,0x31,0x30,0x62,0x66,0x62,0x32, - 0x65,0x55,0x2c,0x0a,0x30,0x78,0x31,0x64,0x36,0x37,0x62,0x33,0x35,0x61,0x55,0x2c,0x30,0x78,0x64,0x32,0x64,0x62,0x39,0x32,0x35,0x32,0x55,0x2c,0x30,0x78,0x35,0x36, - 0x31,0x30,0x65,0x39,0x33,0x33,0x55,0x2c,0x30,0x78,0x34,0x37,0x64,0x36,0x36,0x64,0x31,0x33,0x55,0x2c,0x0a,0x30,0x78,0x36,0x31,0x64,0x37,0x39,0x61,0x38,0x63,0x55, - 0x2c,0x30,0x78,0x30,0x63,0x61,0x31,0x33,0x37,0x37,0x61,0x55,0x2c,0x30,0x78,0x31,0x34,0x66,0x38,0x35,0x39,0x38,0x65,0x55,0x2c,0x30,0x78,0x33,0x63,0x31,0x33,0x65, - 0x62,0x38,0x39,0x55,0x2c,0x0a,0x30,0x78,0x32,0x37,0x61,0x39,0x63,0x65,0x65,0x65,0x55,0x2c,0x30,0x78,0x63,0x39,0x36,0x31,0x62,0x37,0x33,0x35,0x55,0x2c,0x30,0x78, - 0x65,0x35,0x31,0x63,0x65,0x31,0x65,0x64,0x55,0x2c,0x30,0x78,0x62,0x31,0x34,0x37,0x37,0x61,0x33,0x63,0x55,0x2c,0x0a,0x30,0x78,0x64,0x66,0x64,0x32,0x39,0x63,0x35, - 0x39,0x55,0x2c,0x30,0x78,0x37,0x33,0x66,0x32,0x35,0x35,0x33,0x66,0x55,0x2c,0x30,0x78,0x63,0x65,0x31,0x34,0x31,0x38,0x37,0x39,0x55,0x2c,0x30,0x78,0x33,0x37,0x63, - 0x37,0x37,0x33,0x62,0x66,0x55,0x2c,0x0a,0x30,0x78,0x63,0x64,0x66,0x37,0x35,0x33,0x65,0x61,0x55,0x2c,0x30,0x78,0x61,0x61,0x66,0x64,0x35,0x66,0x35,0x62,0x55,0x2c, - 0x30,0x78,0x36,0x66,0x33,0x64,0x64,0x66,0x31,0x34,0x55,0x2c,0x30,0x78,0x64,0x62,0x34,0x34,0x37,0x38,0x38,0x36,0x55,0x2c,0x0a,0x30,0x78,0x66,0x33,0x61,0x66,0x63, - 0x61,0x38,0x31,0x55,0x2c,0x30,0x78,0x63,0x34,0x36,0x38,0x62,0x39,0x33,0x65,0x55,0x2c,0x30,0x78,0x33,0x34,0x32,0x34,0x33,0x38,0x32,0x63,0x55,0x2c,0x30,0x78,0x34, - 0x30,0x61,0x33,0x63,0x32,0x35,0x66,0x55,0x2c,0x0a,0x30,0x78,0x63,0x33,0x31,0x64,0x31,0x36,0x37,0x32,0x55,0x2c,0x30,0x78,0x32,0x35,0x65,0x32,0x62,0x63,0x30,0x63, - 0x55,0x2c,0x30,0x78,0x34,0x39,0x33,0x63,0x32,0x38,0x38,0x62,0x55,0x2c,0x30,0x78,0x39,0x35,0x30,0x64,0x66,0x66,0x34,0x31,0x55,0x2c,0x0a,0x30,0x78,0x30,0x31,0x61, - 0x38,0x33,0x39,0x37,0x31,0x55,0x2c,0x30,0x78,0x62,0x33,0x30,0x63,0x30,0x38,0x64,0x65,0x55,0x2c,0x30,0x78,0x65,0x34,0x62,0x34,0x64,0x38,0x39,0x63,0x55,0x2c,0x30, - 0x78,0x63,0x31,0x35,0x36,0x36,0x34,0x39,0x30,0x55,0x2c,0x0a,0x30,0x78,0x38,0x34,0x63,0x62,0x37,0x62,0x36,0x31,0x55,0x2c,0x30,0x78,0x62,0x36,0x33,0x32,0x64,0x35, - 0x37,0x30,0x55,0x2c,0x30,0x78,0x35,0x63,0x36,0x63,0x34,0x38,0x37,0x34,0x55,0x2c,0x30,0x78,0x35,0x37,0x62,0x38,0x64,0x30,0x34,0x32,0x55,0x2c,0x0a,0x30,0x78,0x66, - 0x34,0x35,0x31,0x35,0x30,0x61,0x37,0x55,0x2c,0x30,0x78,0x34,0x31,0x37,0x65,0x35,0x33,0x36,0x35,0x55,0x2c,0x30,0x78,0x31,0x37,0x31,0x61,0x63,0x33,0x61,0x34,0x55, - 0x2c,0x30,0x78,0x32,0x37,0x33,0x61,0x39,0x36,0x35,0x65,0x55,0x2c,0x0a,0x30,0x78,0x61,0x62,0x33,0x62,0x63,0x62,0x36,0x62,0x55,0x2c,0x30,0x78,0x39,0x64,0x31,0x66, - 0x66,0x31,0x34,0x35,0x55,0x2c,0x30,0x78,0x66,0x61,0x61,0x63,0x61,0x62,0x35,0x38,0x55,0x2c,0x30,0x78,0x65,0x33,0x34,0x62,0x39,0x33,0x30,0x33,0x55,0x2c,0x0a,0x30, - 0x78,0x33,0x30,0x32,0x30,0x35,0x35,0x66,0x61,0x55,0x2c,0x30,0x78,0x37,0x36,0x61,0x64,0x66,0x36,0x36,0x64,0x55,0x2c,0x30,0x78,0x63,0x63,0x38,0x38,0x39,0x31,0x37, - 0x36,0x55,0x2c,0x30,0x78,0x30,0x32,0x66,0x35,0x32,0x35,0x34,0x63,0x55,0x2c,0x0a,0x30,0x78,0x65,0x35,0x34,0x66,0x66,0x63,0x64,0x37,0x55,0x2c,0x30,0x78,0x32,0x61, - 0x63,0x35,0x64,0x37,0x63,0x62,0x55,0x2c,0x30,0x78,0x33,0x35,0x32,0x36,0x38,0x30,0x34,0x34,0x55,0x2c,0x30,0x78,0x36,0x32,0x62,0x35,0x38,0x66,0x61,0x33,0x55,0x2c, - 0x0a,0x30,0x78,0x62,0x31,0x64,0x65,0x34,0x39,0x35,0x61,0x55,0x2c,0x30,0x78,0x62,0x61,0x32,0x35,0x36,0x37,0x31,0x62,0x55,0x2c,0x30,0x78,0x65,0x61,0x34,0x35,0x39, - 0x38,0x30,0x65,0x55,0x2c,0x30,0x78,0x66,0x65,0x35,0x64,0x65,0x31,0x63,0x30,0x55,0x2c,0x0a,0x30,0x78,0x32,0x66,0x63,0x33,0x30,0x32,0x37,0x35,0x55,0x2c,0x30,0x78, - 0x34,0x63,0x38,0x31,0x31,0x32,0x66,0x30,0x55,0x2c,0x30,0x78,0x34,0x36,0x38,0x64,0x61,0x33,0x39,0x37,0x55,0x2c,0x30,0x78,0x64,0x33,0x36,0x62,0x63,0x36,0x66,0x39, - 0x55,0x2c,0x0a,0x30,0x78,0x38,0x66,0x30,0x33,0x65,0x37,0x35,0x66,0x55,0x2c,0x30,0x78,0x39,0x32,0x31,0x35,0x39,0x35,0x39,0x63,0x55,0x2c,0x30,0x78,0x36,0x64,0x62, - 0x66,0x65,0x62,0x37,0x61,0x55,0x2c,0x30,0x78,0x35,0x32,0x39,0x35,0x64,0x61,0x35,0x39,0x55,0x2c,0x0a,0x30,0x78,0x62,0x65,0x64,0x34,0x32,0x64,0x38,0x33,0x55,0x2c, - 0x30,0x78,0x37,0x34,0x35,0x38,0x64,0x33,0x32,0x31,0x55,0x2c,0x30,0x78,0x65,0x30,0x34,0x39,0x32,0x39,0x36,0x39,0x55,0x2c,0x30,0x78,0x63,0x39,0x38,0x65,0x34,0x34, - 0x63,0x38,0x55,0x2c,0x0a,0x30,0x78,0x63,0x32,0x37,0x35,0x36,0x61,0x38,0x39,0x55,0x2c,0x30,0x78,0x38,0x65,0x66,0x34,0x37,0x38,0x37,0x39,0x55,0x2c,0x30,0x78,0x35, - 0x38,0x39,0x39,0x36,0x62,0x33,0x65,0x55,0x2c,0x30,0x78,0x62,0x39,0x32,0x37,0x64,0x64,0x37,0x31,0x55,0x2c,0x0a,0x30,0x78,0x65,0x31,0x62,0x65,0x62,0x36,0x34,0x66, - 0x55,0x2c,0x30,0x78,0x38,0x38,0x66,0x30,0x31,0x37,0x61,0x64,0x55,0x2c,0x30,0x78,0x32,0x30,0x63,0x39,0x36,0x36,0x61,0x63,0x55,0x2c,0x30,0x78,0x63,0x65,0x37,0x64, - 0x62,0x34,0x33,0x61,0x55,0x2c,0x0a,0x30,0x78,0x64,0x66,0x36,0x33,0x31,0x38,0x34,0x61,0x55,0x2c,0x30,0x78,0x31,0x61,0x65,0x35,0x38,0x32,0x33,0x31,0x55,0x2c,0x30, - 0x78,0x35,0x31,0x39,0x37,0x36,0x30,0x33,0x33,0x55,0x2c,0x30,0x78,0x35,0x33,0x36,0x32,0x34,0x35,0x37,0x66,0x55,0x2c,0x0a,0x30,0x78,0x36,0x34,0x62,0x31,0x65,0x30, - 0x37,0x37,0x55,0x2c,0x30,0x78,0x36,0x62,0x62,0x62,0x38,0x34,0x61,0x65,0x55,0x2c,0x30,0x78,0x38,0x31,0x66,0x65,0x31,0x63,0x61,0x30,0x55,0x2c,0x30,0x78,0x30,0x38, - 0x66,0x39,0x39,0x34,0x32,0x62,0x55,0x2c,0x0a,0x30,0x78,0x34,0x38,0x37,0x30,0x35,0x38,0x36,0x38,0x55,0x2c,0x30,0x78,0x34,0x35,0x38,0x66,0x31,0x39,0x66,0x64,0x55, - 0x2c,0x30,0x78,0x64,0x65,0x39,0x34,0x38,0x37,0x36,0x63,0x55,0x2c,0x30,0x78,0x37,0x62,0x35,0x32,0x62,0x37,0x66,0x38,0x55,0x2c,0x0a,0x30,0x78,0x37,0x33,0x61,0x62, - 0x32,0x33,0x64,0x33,0x55,0x2c,0x30,0x78,0x34,0x62,0x37,0x32,0x65,0x32,0x30,0x32,0x55,0x2c,0x30,0x78,0x31,0x66,0x65,0x33,0x35,0x37,0x38,0x66,0x55,0x2c,0x30,0x78, - 0x35,0x35,0x36,0x36,0x32,0x61,0x61,0x62,0x55,0x2c,0x0a,0x30,0x78,0x65,0x62,0x62,0x32,0x30,0x37,0x32,0x38,0x55,0x2c,0x30,0x78,0x62,0x35,0x32,0x66,0x30,0x33,0x63, - 0x32,0x55,0x2c,0x30,0x78,0x63,0x35,0x38,0x36,0x39,0x61,0x37,0x62,0x55,0x2c,0x30,0x78,0x33,0x37,0x64,0x33,0x61,0x35,0x30,0x38,0x55,0x2c,0x0a,0x30,0x78,0x32,0x38, - 0x33,0x30,0x66,0x32,0x38,0x37,0x55,0x2c,0x30,0x78,0x62,0x66,0x32,0x33,0x62,0x32,0x61,0x35,0x55,0x2c,0x30,0x78,0x30,0x33,0x30,0x32,0x62,0x61,0x36,0x61,0x55,0x2c, - 0x30,0x78,0x31,0x36,0x65,0x64,0x35,0x63,0x38,0x32,0x55,0x2c,0x0a,0x30,0x78,0x63,0x66,0x38,0x61,0x32,0x62,0x31,0x63,0x55,0x2c,0x30,0x78,0x37,0x39,0x61,0x37,0x39, - 0x32,0x62,0x34,0x55,0x2c,0x30,0x78,0x30,0x37,0x66,0x33,0x66,0x30,0x66,0x32,0x55,0x2c,0x30,0x78,0x36,0x39,0x34,0x65,0x61,0x31,0x65,0x32,0x55,0x2c,0x0a,0x30,0x78, - 0x64,0x61,0x36,0x35,0x63,0x64,0x66,0x34,0x55,0x2c,0x30,0x78,0x30,0x35,0x30,0x36,0x64,0x35,0x62,0x65,0x55,0x2c,0x30,0x78,0x33,0x34,0x64,0x31,0x31,0x66,0x36,0x32, - 0x55,0x2c,0x30,0x78,0x61,0x36,0x63,0x34,0x38,0x61,0x66,0x65,0x55,0x2c,0x0a,0x30,0x78,0x32,0x65,0x33,0x34,0x39,0x64,0x35,0x33,0x55,0x2c,0x30,0x78,0x66,0x33,0x61, - 0x32,0x61,0x30,0x35,0x35,0x55,0x2c,0x30,0x78,0x38,0x61,0x30,0x35,0x33,0x32,0x65,0x31,0x55,0x2c,0x30,0x78,0x66,0x36,0x61,0x34,0x37,0x35,0x65,0x62,0x55,0x2c,0x0a, - 0x30,0x78,0x38,0x33,0x30,0x62,0x33,0x39,0x65,0x63,0x55,0x2c,0x30,0x78,0x36,0x30,0x34,0x30,0x61,0x61,0x65,0x66,0x55,0x2c,0x30,0x78,0x37,0x31,0x35,0x65,0x30,0x36, - 0x39,0x66,0x55,0x2c,0x30,0x78,0x36,0x65,0x62,0x64,0x35,0x31,0x31,0x30,0x55,0x2c,0x0a,0x30,0x78,0x32,0x31,0x33,0x65,0x66,0x39,0x38,0x61,0x55,0x2c,0x30,0x78,0x64, - 0x64,0x39,0x36,0x33,0x64,0x30,0x36,0x55,0x2c,0x30,0x78,0x33,0x65,0x64,0x64,0x61,0x65,0x30,0x35,0x55,0x2c,0x30,0x78,0x65,0x36,0x34,0x64,0x34,0x36,0x62,0x64,0x55, - 0x2c,0x0a,0x30,0x78,0x35,0x34,0x39,0x31,0x62,0x35,0x38,0x64,0x55,0x2c,0x30,0x78,0x63,0x34,0x37,0x31,0x30,0x35,0x35,0x64,0x55,0x2c,0x30,0x78,0x30,0x36,0x30,0x34, - 0x36,0x66,0x64,0x34,0x55,0x2c,0x30,0x78,0x35,0x30,0x36,0x30,0x66,0x66,0x31,0x35,0x55,0x2c,0x0a,0x30,0x78,0x39,0x38,0x31,0x39,0x32,0x34,0x66,0x62,0x55,0x2c,0x30, - 0x78,0x62,0x64,0x64,0x36,0x39,0x37,0x65,0x39,0x55,0x2c,0x30,0x78,0x34,0x30,0x38,0x39,0x63,0x63,0x34,0x33,0x55,0x2c,0x30,0x78,0x64,0x39,0x36,0x37,0x37,0x37,0x39, - 0x65,0x55,0x2c,0x0a,0x30,0x78,0x65,0x38,0x62,0x30,0x62,0x64,0x34,0x32,0x55,0x2c,0x30,0x78,0x38,0x39,0x30,0x37,0x38,0x38,0x38,0x62,0x55,0x2c,0x30,0x78,0x31,0x39, - 0x65,0x37,0x33,0x38,0x35,0x62,0x55,0x2c,0x30,0x78,0x63,0x38,0x37,0x39,0x64,0x62,0x65,0x65,0x55,0x2c,0x0a,0x30,0x78,0x37,0x63,0x61,0x31,0x34,0x37,0x30,0x61,0x55, - 0x2c,0x30,0x78,0x34,0x32,0x37,0x63,0x65,0x39,0x30,0x66,0x55,0x2c,0x30,0x78,0x38,0x34,0x66,0x38,0x63,0x39,0x31,0x65,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x55,0x2c,0x0a,0x30,0x78,0x38,0x30,0x30,0x39,0x38,0x33,0x38,0x36,0x55,0x2c,0x30,0x78,0x32,0x62,0x33,0x32,0x34,0x38,0x65,0x64,0x55,0x2c,0x30,0x78, - 0x31,0x31,0x31,0x65,0x61,0x63,0x37,0x30,0x55,0x2c,0x30,0x78,0x35,0x61,0x36,0x63,0x34,0x65,0x37,0x32,0x55,0x2c,0x0a,0x30,0x78,0x30,0x65,0x66,0x64,0x66,0x62,0x66, - 0x66,0x55,0x2c,0x30,0x78,0x38,0x35,0x30,0x66,0x35,0x36,0x33,0x38,0x55,0x2c,0x30,0x78,0x61,0x65,0x33,0x64,0x31,0x65,0x64,0x35,0x55,0x2c,0x30,0x78,0x32,0x64,0x33, - 0x36,0x32,0x37,0x33,0x39,0x55,0x2c,0x0a,0x30,0x78,0x30,0x66,0x30,0x61,0x36,0x34,0x64,0x39,0x55,0x2c,0x30,0x78,0x35,0x63,0x36,0x38,0x32,0x31,0x61,0x36,0x55,0x2c, - 0x30,0x78,0x35,0x62,0x39,0x62,0x64,0x31,0x35,0x34,0x55,0x2c,0x30,0x78,0x33,0x36,0x32,0x34,0x33,0x61,0x32,0x65,0x55,0x2c,0x0a,0x30,0x78,0x30,0x61,0x30,0x63,0x62, - 0x31,0x36,0x37,0x55,0x2c,0x30,0x78,0x35,0x37,0x39,0x33,0x30,0x66,0x65,0x37,0x55,0x2c,0x30,0x78,0x65,0x65,0x62,0x34,0x64,0x32,0x39,0x36,0x55,0x2c,0x30,0x78,0x39, - 0x62,0x31,0x62,0x39,0x65,0x39,0x31,0x55,0x2c,0x0a,0x30,0x78,0x63,0x30,0x38,0x30,0x34,0x66,0x63,0x35,0x55,0x2c,0x30,0x78,0x64,0x63,0x36,0x31,0x61,0x32,0x32,0x30, - 0x55,0x2c,0x30,0x78,0x37,0x37,0x35,0x61,0x36,0x39,0x34,0x62,0x55,0x2c,0x30,0x78,0x31,0x32,0x31,0x63,0x31,0x36,0x31,0x61,0x55,0x2c,0x0a,0x30,0x78,0x39,0x33,0x65, - 0x32,0x30,0x61,0x62,0x61,0x55,0x2c,0x30,0x78,0x61,0x30,0x63,0x30,0x65,0x35,0x32,0x61,0x55,0x2c,0x30,0x78,0x32,0x32,0x33,0x63,0x34,0x33,0x65,0x30,0x55,0x2c,0x30, - 0x78,0x31,0x62,0x31,0x32,0x31,0x64,0x31,0x37,0x55,0x2c,0x0a,0x30,0x78,0x30,0x39,0x30,0x65,0x30,0x62,0x30,0x64,0x55,0x2c,0x30,0x78,0x38,0x62,0x66,0x32,0x61,0x64, - 0x63,0x37,0x55,0x2c,0x30,0x78,0x62,0x36,0x32,0x64,0x62,0x39,0x61,0x38,0x55,0x2c,0x30,0x78,0x31,0x65,0x31,0x34,0x63,0x38,0x61,0x39,0x55,0x2c,0x0a,0x30,0x78,0x66, - 0x31,0x35,0x37,0x38,0x35,0x31,0x39,0x55,0x2c,0x30,0x78,0x37,0x35,0x61,0x66,0x34,0x63,0x30,0x37,0x55,0x2c,0x30,0x78,0x39,0x39,0x65,0x65,0x62,0x62,0x64,0x64,0x55, - 0x2c,0x30,0x78,0x37,0x66,0x61,0x33,0x66,0x64,0x36,0x30,0x55,0x2c,0x0a,0x30,0x78,0x30,0x31,0x66,0x37,0x39,0x66,0x32,0x36,0x55,0x2c,0x30,0x78,0x37,0x32,0x35,0x63, - 0x62,0x63,0x66,0x35,0x55,0x2c,0x30,0x78,0x36,0x36,0x34,0x34,0x63,0x35,0x33,0x62,0x55,0x2c,0x30,0x78,0x66,0x62,0x35,0x62,0x33,0x34,0x37,0x65,0x55,0x2c,0x0a,0x30, - 0x78,0x34,0x33,0x38,0x62,0x37,0x36,0x32,0x39,0x55,0x2c,0x30,0x78,0x32,0x33,0x63,0x62,0x64,0x63,0x63,0x36,0x55,0x2c,0x30,0x78,0x65,0x64,0x62,0x36,0x36,0x38,0x66, - 0x63,0x55,0x2c,0x30,0x78,0x65,0x34,0x62,0x38,0x36,0x33,0x66,0x31,0x55,0x2c,0x0a,0x30,0x78,0x33,0x31,0x64,0x37,0x63,0x61,0x64,0x63,0x55,0x2c,0x30,0x78,0x36,0x33, - 0x34,0x32,0x31,0x30,0x38,0x35,0x55,0x2c,0x30,0x78,0x39,0x37,0x31,0x33,0x34,0x30,0x32,0x32,0x55,0x2c,0x30,0x78,0x63,0x36,0x38,0x34,0x32,0x30,0x31,0x31,0x55,0x2c, - 0x0a,0x30,0x78,0x34,0x61,0x38,0x35,0x37,0x64,0x32,0x34,0x55,0x2c,0x30,0x78,0x62,0x62,0x64,0x32,0x66,0x38,0x33,0x64,0x55,0x2c,0x30,0x78,0x66,0x39,0x61,0x65,0x31, - 0x31,0x33,0x32,0x55,0x2c,0x30,0x78,0x32,0x39,0x63,0x37,0x36,0x64,0x61,0x31,0x55,0x2c,0x0a,0x30,0x78,0x39,0x65,0x31,0x64,0x34,0x62,0x32,0x66,0x55,0x2c,0x30,0x78, - 0x62,0x32,0x64,0x63,0x66,0x33,0x33,0x30,0x55,0x2c,0x30,0x78,0x38,0x36,0x30,0x64,0x65,0x63,0x35,0x32,0x55,0x2c,0x30,0x78,0x63,0x31,0x37,0x37,0x64,0x30,0x65,0x33, - 0x55,0x2c,0x0a,0x30,0x78,0x62,0x33,0x32,0x62,0x36,0x63,0x31,0x36,0x55,0x2c,0x30,0x78,0x37,0x30,0x61,0x39,0x39,0x39,0x62,0x39,0x55,0x2c,0x30,0x78,0x39,0x34,0x31, - 0x31,0x66,0x61,0x34,0x38,0x55,0x2c,0x30,0x78,0x65,0x39,0x34,0x37,0x32,0x32,0x36,0x34,0x55,0x2c,0x0a,0x30,0x78,0x66,0x63,0x61,0x38,0x63,0x34,0x38,0x63,0x55,0x2c, - 0x30,0x78,0x66,0x30,0x61,0x30,0x31,0x61,0x33,0x66,0x55,0x2c,0x30,0x78,0x37,0x64,0x35,0x36,0x64,0x38,0x32,0x63,0x55,0x2c,0x30,0x78,0x33,0x33,0x32,0x32,0x65,0x66, - 0x39,0x30,0x55,0x2c,0x0a,0x30,0x78,0x34,0x39,0x38,0x37,0x63,0x37,0x34,0x65,0x55,0x2c,0x30,0x78,0x33,0x38,0x64,0x39,0x63,0x31,0x64,0x31,0x55,0x2c,0x30,0x78,0x63, - 0x61,0x38,0x63,0x66,0x65,0x61,0x32,0x55,0x2c,0x30,0x78,0x64,0x34,0x39,0x38,0x33,0x36,0x30,0x62,0x55,0x2c,0x0a,0x30,0x78,0x66,0x35,0x61,0x36,0x63,0x66,0x38,0x31, - 0x55,0x2c,0x30,0x78,0x37,0x61,0x61,0x35,0x32,0x38,0x64,0x65,0x55,0x2c,0x30,0x78,0x62,0x37,0x64,0x61,0x32,0x36,0x38,0x65,0x55,0x2c,0x30,0x78,0x61,0x64,0x33,0x66, - 0x61,0x34,0x62,0x66,0x55,0x2c,0x0a,0x30,0x78,0x33,0x61,0x32,0x63,0x65,0x34,0x39,0x64,0x55,0x2c,0x30,0x78,0x37,0x38,0x35,0x30,0x30,0x64,0x39,0x32,0x55,0x2c,0x30, - 0x78,0x35,0x66,0x36,0x61,0x39,0x62,0x63,0x63,0x55,0x2c,0x30,0x78,0x37,0x65,0x35,0x34,0x36,0x32,0x34,0x36,0x55,0x2c,0x0a,0x30,0x78,0x38,0x64,0x66,0x36,0x63,0x32, - 0x31,0x33,0x55,0x2c,0x30,0x78,0x64,0x38,0x39,0x30,0x65,0x38,0x62,0x38,0x55,0x2c,0x30,0x78,0x33,0x39,0x32,0x65,0x35,0x65,0x66,0x37,0x55,0x2c,0x30,0x78,0x63,0x33, - 0x38,0x32,0x66,0x35,0x61,0x66,0x55,0x2c,0x0a,0x30,0x78,0x35,0x64,0x39,0x66,0x62,0x65,0x38,0x30,0x55,0x2c,0x30,0x78,0x64,0x30,0x36,0x39,0x37,0x63,0x39,0x33,0x55, - 0x2c,0x30,0x78,0x64,0x35,0x36,0x66,0x61,0x39,0x32,0x64,0x55,0x2c,0x30,0x78,0x32,0x35,0x63,0x66,0x62,0x33,0x31,0x32,0x55,0x2c,0x0a,0x30,0x78,0x61,0x63,0x63,0x38, - 0x33,0x62,0x39,0x39,0x55,0x2c,0x30,0x78,0x31,0x38,0x31,0x30,0x61,0x37,0x37,0x64,0x55,0x2c,0x30,0x78,0x39,0x63,0x65,0x38,0x36,0x65,0x36,0x33,0x55,0x2c,0x30,0x78, - 0x33,0x62,0x64,0x62,0x37,0x62,0x62,0x62,0x55,0x2c,0x0a,0x30,0x78,0x32,0x36,0x63,0x64,0x30,0x39,0x37,0x38,0x55,0x2c,0x30,0x78,0x35,0x39,0x36,0x65,0x66,0x34,0x31, - 0x38,0x55,0x2c,0x30,0x78,0x39,0x61,0x65,0x63,0x30,0x31,0x62,0x37,0x55,0x2c,0x30,0x78,0x34,0x66,0x38,0x33,0x61,0x38,0x39,0x61,0x55,0x2c,0x0a,0x30,0x78,0x39,0x35, - 0x65,0x36,0x36,0x35,0x36,0x65,0x55,0x2c,0x30,0x78,0x66,0x66,0x61,0x61,0x37,0x65,0x65,0x36,0x55,0x2c,0x30,0x78,0x62,0x63,0x32,0x31,0x30,0x38,0x63,0x66,0x55,0x2c, - 0x30,0x78,0x31,0x35,0x65,0x66,0x65,0x36,0x65,0x38,0x55,0x2c,0x0a,0x30,0x78,0x65,0x37,0x62,0x61,0x64,0x39,0x39,0x62,0x55,0x2c,0x30,0x78,0x36,0x66,0x34,0x61,0x63, - 0x65,0x33,0x36,0x55,0x2c,0x30,0x78,0x39,0x66,0x65,0x61,0x64,0x34,0x30,0x39,0x55,0x2c,0x30,0x78,0x62,0x30,0x32,0x39,0x64,0x36,0x37,0x63,0x55,0x2c,0x0a,0x30,0x78, - 0x61,0x34,0x33,0x31,0x61,0x66,0x62,0x32,0x55,0x2c,0x30,0x78,0x33,0x66,0x32,0x61,0x33,0x31,0x32,0x33,0x55,0x2c,0x30,0x78,0x61,0x35,0x63,0x36,0x33,0x30,0x39,0x34, - 0x55,0x2c,0x30,0x78,0x61,0x32,0x33,0x35,0x63,0x30,0x36,0x36,0x55,0x2c,0x0a,0x30,0x78,0x34,0x65,0x37,0x34,0x33,0x37,0x62,0x63,0x55,0x2c,0x30,0x78,0x38,0x32,0x66, - 0x63,0x61,0x36,0x63,0x61,0x55,0x2c,0x30,0x78,0x39,0x30,0x65,0x30,0x62,0x30,0x64,0x30,0x55,0x2c,0x30,0x78,0x61,0x37,0x33,0x33,0x31,0x35,0x64,0x38,0x55,0x2c,0x0a, - 0x30,0x78,0x30,0x34,0x66,0x31,0x34,0x61,0x39,0x38,0x55,0x2c,0x30,0x78,0x65,0x63,0x34,0x31,0x66,0x37,0x64,0x61,0x55,0x2c,0x30,0x78,0x63,0x64,0x37,0x66,0x30,0x65, - 0x35,0x30,0x55,0x2c,0x30,0x78,0x39,0x31,0x31,0x37,0x32,0x66,0x66,0x36,0x55,0x2c,0x0a,0x30,0x78,0x34,0x64,0x37,0x36,0x38,0x64,0x64,0x36,0x55,0x2c,0x30,0x78,0x65, - 0x66,0x34,0x33,0x34,0x64,0x62,0x30,0x55,0x2c,0x30,0x78,0x61,0x61,0x63,0x63,0x35,0x34,0x34,0x64,0x55,0x2c,0x30,0x78,0x39,0x36,0x65,0x34,0x64,0x66,0x30,0x34,0x55, - 0x2c,0x0a,0x30,0x78,0x64,0x31,0x39,0x65,0x65,0x33,0x62,0x35,0x55,0x2c,0x30,0x78,0x36,0x61,0x34,0x63,0x31,0x62,0x38,0x38,0x55,0x2c,0x30,0x78,0x32,0x63,0x63,0x31, - 0x62,0x38,0x31,0x66,0x55,0x2c,0x30,0x78,0x36,0x35,0x34,0x36,0x37,0x66,0x35,0x31,0x55,0x2c,0x0a,0x30,0x78,0x35,0x65,0x39,0x64,0x30,0x34,0x65,0x61,0x55,0x2c,0x30, - 0x78,0x38,0x63,0x30,0x31,0x35,0x64,0x33,0x35,0x55,0x2c,0x30,0x78,0x38,0x37,0x66,0x61,0x37,0x33,0x37,0x34,0x55,0x2c,0x30,0x78,0x30,0x62,0x66,0x62,0x32,0x65,0x34, - 0x31,0x55,0x2c,0x0a,0x30,0x78,0x36,0x37,0x62,0x33,0x35,0x61,0x31,0x64,0x55,0x2c,0x30,0x78,0x64,0x62,0x39,0x32,0x35,0x32,0x64,0x32,0x55,0x2c,0x30,0x78,0x31,0x30, - 0x65,0x39,0x33,0x33,0x35,0x36,0x55,0x2c,0x30,0x78,0x64,0x36,0x36,0x64,0x31,0x33,0x34,0x37,0x55,0x2c,0x0a,0x30,0x78,0x64,0x37,0x39,0x61,0x38,0x63,0x36,0x31,0x55, - 0x2c,0x30,0x78,0x61,0x31,0x33,0x37,0x37,0x61,0x30,0x63,0x55,0x2c,0x30,0x78,0x66,0x38,0x35,0x39,0x38,0x65,0x31,0x34,0x55,0x2c,0x30,0x78,0x31,0x33,0x65,0x62,0x38, - 0x39,0x33,0x63,0x55,0x2c,0x0a,0x30,0x78,0x61,0x39,0x63,0x65,0x65,0x65,0x32,0x37,0x55,0x2c,0x30,0x78,0x36,0x31,0x62,0x37,0x33,0x35,0x63,0x39,0x55,0x2c,0x30,0x78, - 0x31,0x63,0x65,0x31,0x65,0x64,0x65,0x35,0x55,0x2c,0x30,0x78,0x34,0x37,0x37,0x61,0x33,0x63,0x62,0x31,0x55,0x2c,0x0a,0x30,0x78,0x64,0x32,0x39,0x63,0x35,0x39,0x64, - 0x66,0x55,0x2c,0x30,0x78,0x66,0x32,0x35,0x35,0x33,0x66,0x37,0x33,0x55,0x2c,0x30,0x78,0x31,0x34,0x31,0x38,0x37,0x39,0x63,0x65,0x55,0x2c,0x30,0x78,0x63,0x37,0x37, - 0x33,0x62,0x66,0x33,0x37,0x55,0x2c,0x0a,0x30,0x78,0x66,0x37,0x35,0x33,0x65,0x61,0x63,0x64,0x55,0x2c,0x30,0x78,0x66,0x64,0x35,0x66,0x35,0x62,0x61,0x61,0x55,0x2c, - 0x30,0x78,0x33,0x64,0x64,0x66,0x31,0x34,0x36,0x66,0x55,0x2c,0x30,0x78,0x34,0x34,0x37,0x38,0x38,0x36,0x64,0x62,0x55,0x2c,0x0a,0x30,0x78,0x61,0x66,0x63,0x61,0x38, - 0x31,0x66,0x33,0x55,0x2c,0x30,0x78,0x36,0x38,0x62,0x39,0x33,0x65,0x63,0x34,0x55,0x2c,0x30,0x78,0x32,0x34,0x33,0x38,0x32,0x63,0x33,0x34,0x55,0x2c,0x30,0x78,0x61, - 0x33,0x63,0x32,0x35,0x66,0x34,0x30,0x55,0x2c,0x0a,0x30,0x78,0x31,0x64,0x31,0x36,0x37,0x32,0x63,0x33,0x55,0x2c,0x30,0x78,0x65,0x32,0x62,0x63,0x30,0x63,0x32,0x35, - 0x55,0x2c,0x30,0x78,0x33,0x63,0x32,0x38,0x38,0x62,0x34,0x39,0x55,0x2c,0x30,0x78,0x30,0x64,0x66,0x66,0x34,0x31,0x39,0x35,0x55,0x2c,0x0a,0x30,0x78,0x61,0x38,0x33, - 0x39,0x37,0x31,0x30,0x31,0x55,0x2c,0x30,0x78,0x30,0x63,0x30,0x38,0x64,0x65,0x62,0x33,0x55,0x2c,0x30,0x78,0x62,0x34,0x64,0x38,0x39,0x63,0x65,0x34,0x55,0x2c,0x30, - 0x78,0x35,0x36,0x36,0x34,0x39,0x30,0x63,0x31,0x55,0x2c,0x0a,0x30,0x78,0x63,0x62,0x37,0x62,0x36,0x31,0x38,0x34,0x55,0x2c,0x30,0x78,0x33,0x32,0x64,0x35,0x37,0x30, - 0x62,0x36,0x55,0x2c,0x30,0x78,0x36,0x63,0x34,0x38,0x37,0x34,0x35,0x63,0x55,0x2c,0x30,0x78,0x62,0x38,0x64,0x30,0x34,0x32,0x35,0x37,0x55,0x2c,0x0a,0x30,0x78,0x35, - 0x31,0x35,0x30,0x61,0x37,0x66,0x34,0x55,0x2c,0x30,0x78,0x37,0x65,0x35,0x33,0x36,0x35,0x34,0x31,0x55,0x2c,0x30,0x78,0x31,0x61,0x63,0x33,0x61,0x34,0x31,0x37,0x55, - 0x2c,0x30,0x78,0x33,0x61,0x39,0x36,0x35,0x65,0x32,0x37,0x55,0x2c,0x0a,0x30,0x78,0x33,0x62,0x63,0x62,0x36,0x62,0x61,0x62,0x55,0x2c,0x30,0x78,0x31,0x66,0x66,0x31, - 0x34,0x35,0x39,0x64,0x55,0x2c,0x30,0x78,0x61,0x63,0x61,0x62,0x35,0x38,0x66,0x61,0x55,0x2c,0x30,0x78,0x34,0x62,0x39,0x33,0x30,0x33,0x65,0x33,0x55,0x2c,0x0a,0x30, - 0x78,0x32,0x30,0x35,0x35,0x66,0x61,0x33,0x30,0x55,0x2c,0x30,0x78,0x61,0x64,0x66,0x36,0x36,0x64,0x37,0x36,0x55,0x2c,0x30,0x78,0x38,0x38,0x39,0x31,0x37,0x36,0x63, - 0x63,0x55,0x2c,0x30,0x78,0x66,0x35,0x32,0x35,0x34,0x63,0x30,0x32,0x55,0x2c,0x0a,0x30,0x78,0x34,0x66,0x66,0x63,0x64,0x37,0x65,0x35,0x55,0x2c,0x30,0x78,0x63,0x35, - 0x64,0x37,0x63,0x62,0x32,0x61,0x55,0x2c,0x30,0x78,0x32,0x36,0x38,0x30,0x34,0x34,0x33,0x35,0x55,0x2c,0x30,0x78,0x62,0x35,0x38,0x66,0x61,0x33,0x36,0x32,0x55,0x2c, - 0x0a,0x30,0x78,0x64,0x65,0x34,0x39,0x35,0x61,0x62,0x31,0x55,0x2c,0x30,0x78,0x32,0x35,0x36,0x37,0x31,0x62,0x62,0x61,0x55,0x2c,0x30,0x78,0x34,0x35,0x39,0x38,0x30, - 0x65,0x65,0x61,0x55,0x2c,0x30,0x78,0x35,0x64,0x65,0x31,0x63,0x30,0x66,0x65,0x55,0x2c,0x0a,0x30,0x78,0x63,0x33,0x30,0x32,0x37,0x35,0x32,0x66,0x55,0x2c,0x30,0x78, - 0x38,0x31,0x31,0x32,0x66,0x30,0x34,0x63,0x55,0x2c,0x30,0x78,0x38,0x64,0x61,0x33,0x39,0x37,0x34,0x36,0x55,0x2c,0x30,0x78,0x36,0x62,0x63,0x36,0x66,0x39,0x64,0x33, - 0x55,0x2c,0x0a,0x30,0x78,0x30,0x33,0x65,0x37,0x35,0x66,0x38,0x66,0x55,0x2c,0x30,0x78,0x31,0x35,0x39,0x35,0x39,0x63,0x39,0x32,0x55,0x2c,0x30,0x78,0x62,0x66,0x65, - 0x62,0x37,0x61,0x36,0x64,0x55,0x2c,0x30,0x78,0x39,0x35,0x64,0x61,0x35,0x39,0x35,0x32,0x55,0x2c,0x0a,0x30,0x78,0x64,0x34,0x32,0x64,0x38,0x33,0x62,0x65,0x55,0x2c, - 0x30,0x78,0x35,0x38,0x64,0x33,0x32,0x31,0x37,0x34,0x55,0x2c,0x30,0x78,0x34,0x39,0x32,0x39,0x36,0x39,0x65,0x30,0x55,0x2c,0x30,0x78,0x38,0x65,0x34,0x34,0x63,0x38, - 0x63,0x39,0x55,0x2c,0x0a,0x30,0x78,0x37,0x35,0x36,0x61,0x38,0x39,0x63,0x32,0x55,0x2c,0x30,0x78,0x66,0x34,0x37,0x38,0x37,0x39,0x38,0x65,0x55,0x2c,0x30,0x78,0x39, - 0x39,0x36,0x62,0x33,0x65,0x35,0x38,0x55,0x2c,0x30,0x78,0x32,0x37,0x64,0x64,0x37,0x31,0x62,0x39,0x55,0x2c,0x0a,0x30,0x78,0x62,0x65,0x62,0x36,0x34,0x66,0x65,0x31, - 0x55,0x2c,0x30,0x78,0x66,0x30,0x31,0x37,0x61,0x64,0x38,0x38,0x55,0x2c,0x30,0x78,0x63,0x39,0x36,0x36,0x61,0x63,0x32,0x30,0x55,0x2c,0x30,0x78,0x37,0x64,0x62,0x34, - 0x33,0x61,0x63,0x65,0x55,0x2c,0x0a,0x30,0x78,0x36,0x33,0x31,0x38,0x34,0x61,0x64,0x66,0x55,0x2c,0x30,0x78,0x65,0x35,0x38,0x32,0x33,0x31,0x31,0x61,0x55,0x2c,0x30, - 0x78,0x39,0x37,0x36,0x30,0x33,0x33,0x35,0x31,0x55,0x2c,0x30,0x78,0x36,0x32,0x34,0x35,0x37,0x66,0x35,0x33,0x55,0x2c,0x0a,0x30,0x78,0x62,0x31,0x65,0x30,0x37,0x37, - 0x36,0x34,0x55,0x2c,0x30,0x78,0x62,0x62,0x38,0x34,0x61,0x65,0x36,0x62,0x55,0x2c,0x30,0x78,0x66,0x65,0x31,0x63,0x61,0x30,0x38,0x31,0x55,0x2c,0x30,0x78,0x66,0x39, - 0x39,0x34,0x32,0x62,0x30,0x38,0x55,0x2c,0x0a,0x30,0x78,0x37,0x30,0x35,0x38,0x36,0x38,0x34,0x38,0x55,0x2c,0x30,0x78,0x38,0x66,0x31,0x39,0x66,0x64,0x34,0x35,0x55, - 0x2c,0x30,0x78,0x39,0x34,0x38,0x37,0x36,0x63,0x64,0x65,0x55,0x2c,0x30,0x78,0x35,0x32,0x62,0x37,0x66,0x38,0x37,0x62,0x55,0x2c,0x0a,0x30,0x78,0x61,0x62,0x32,0x33, - 0x64,0x33,0x37,0x33,0x55,0x2c,0x30,0x78,0x37,0x32,0x65,0x32,0x30,0x32,0x34,0x62,0x55,0x2c,0x30,0x78,0x65,0x33,0x35,0x37,0x38,0x66,0x31,0x66,0x55,0x2c,0x30,0x78, - 0x36,0x36,0x32,0x61,0x61,0x62,0x35,0x35,0x55,0x2c,0x0a,0x30,0x78,0x62,0x32,0x30,0x37,0x32,0x38,0x65,0x62,0x55,0x2c,0x30,0x78,0x32,0x66,0x30,0x33,0x63,0x32,0x62, - 0x35,0x55,0x2c,0x30,0x78,0x38,0x36,0x39,0x61,0x37,0x62,0x63,0x35,0x55,0x2c,0x30,0x78,0x64,0x33,0x61,0x35,0x30,0x38,0x33,0x37,0x55,0x2c,0x0a,0x30,0x78,0x33,0x30, - 0x66,0x32,0x38,0x37,0x32,0x38,0x55,0x2c,0x30,0x78,0x32,0x33,0x62,0x32,0x61,0x35,0x62,0x66,0x55,0x2c,0x30,0x78,0x30,0x32,0x62,0x61,0x36,0x61,0x30,0x33,0x55,0x2c, - 0x30,0x78,0x65,0x64,0x35,0x63,0x38,0x32,0x31,0x36,0x55,0x2c,0x0a,0x30,0x78,0x38,0x61,0x32,0x62,0x31,0x63,0x63,0x66,0x55,0x2c,0x30,0x78,0x61,0x37,0x39,0x32,0x62, - 0x34,0x37,0x39,0x55,0x2c,0x30,0x78,0x66,0x33,0x66,0x30,0x66,0x32,0x30,0x37,0x55,0x2c,0x30,0x78,0x34,0x65,0x61,0x31,0x65,0x32,0x36,0x39,0x55,0x2c,0x0a,0x30,0x78, - 0x36,0x35,0x63,0x64,0x66,0x34,0x64,0x61,0x55,0x2c,0x30,0x78,0x30,0x36,0x64,0x35,0x62,0x65,0x30,0x35,0x55,0x2c,0x30,0x78,0x64,0x31,0x31,0x66,0x36,0x32,0x33,0x34, - 0x55,0x2c,0x30,0x78,0x63,0x34,0x38,0x61,0x66,0x65,0x61,0x36,0x55,0x2c,0x0a,0x30,0x78,0x33,0x34,0x39,0x64,0x35,0x33,0x32,0x65,0x55,0x2c,0x30,0x78,0x61,0x32,0x61, - 0x30,0x35,0x35,0x66,0x33,0x55,0x2c,0x30,0x78,0x30,0x35,0x33,0x32,0x65,0x31,0x38,0x61,0x55,0x2c,0x30,0x78,0x61,0x34,0x37,0x35,0x65,0x62,0x66,0x36,0x55,0x2c,0x0a, - 0x30,0x78,0x30,0x62,0x33,0x39,0x65,0x63,0x38,0x33,0x55,0x2c,0x30,0x78,0x34,0x30,0x61,0x61,0x65,0x66,0x36,0x30,0x55,0x2c,0x30,0x78,0x35,0x65,0x30,0x36,0x39,0x66, - 0x37,0x31,0x55,0x2c,0x30,0x78,0x62,0x64,0x35,0x31,0x31,0x30,0x36,0x65,0x55,0x2c,0x0a,0x30,0x78,0x33,0x65,0x66,0x39,0x38,0x61,0x32,0x31,0x55,0x2c,0x30,0x78,0x39, - 0x36,0x33,0x64,0x30,0x36,0x64,0x64,0x55,0x2c,0x30,0x78,0x64,0x64,0x61,0x65,0x30,0x35,0x33,0x65,0x55,0x2c,0x30,0x78,0x34,0x64,0x34,0x36,0x62,0x64,0x65,0x36,0x55, - 0x2c,0x0a,0x30,0x78,0x39,0x31,0x62,0x35,0x38,0x64,0x35,0x34,0x55,0x2c,0x30,0x78,0x37,0x31,0x30,0x35,0x35,0x64,0x63,0x34,0x55,0x2c,0x30,0x78,0x30,0x34,0x36,0x66, - 0x64,0x34,0x30,0x36,0x55,0x2c,0x30,0x78,0x36,0x30,0x66,0x66,0x31,0x35,0x35,0x30,0x55,0x2c,0x0a,0x30,0x78,0x31,0x39,0x32,0x34,0x66,0x62,0x39,0x38,0x55,0x2c,0x30, - 0x78,0x64,0x36,0x39,0x37,0x65,0x39,0x62,0x64,0x55,0x2c,0x30,0x78,0x38,0x39,0x63,0x63,0x34,0x33,0x34,0x30,0x55,0x2c,0x30,0x78,0x36,0x37,0x37,0x37,0x39,0x65,0x64, - 0x39,0x55,0x2c,0x0a,0x30,0x78,0x62,0x30,0x62,0x64,0x34,0x32,0x65,0x38,0x55,0x2c,0x30,0x78,0x30,0x37,0x38,0x38,0x38,0x62,0x38,0x39,0x55,0x2c,0x30,0x78,0x65,0x37, - 0x33,0x38,0x35,0x62,0x31,0x39,0x55,0x2c,0x30,0x78,0x37,0x39,0x64,0x62,0x65,0x65,0x63,0x38,0x55,0x2c,0x0a,0x30,0x78,0x61,0x31,0x34,0x37,0x30,0x61,0x37,0x63,0x55, - 0x2c,0x30,0x78,0x37,0x63,0x65,0x39,0x30,0x66,0x34,0x32,0x55,0x2c,0x30,0x78,0x66,0x38,0x63,0x39,0x31,0x65,0x38,0x34,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30, - 0x30,0x30,0x30,0x55,0x2c,0x0a,0x30,0x78,0x30,0x39,0x38,0x33,0x38,0x36,0x38,0x30,0x55,0x2c,0x30,0x78,0x33,0x32,0x34,0x38,0x65,0x64,0x32,0x62,0x55,0x2c,0x30,0x78, - 0x31,0x65,0x61,0x63,0x37,0x30,0x31,0x31,0x55,0x2c,0x30,0x78,0x36,0x63,0x34,0x65,0x37,0x32,0x35,0x61,0x55,0x2c,0x0a,0x30,0x78,0x66,0x64,0x66,0x62,0x66,0x66,0x30, - 0x65,0x55,0x2c,0x30,0x78,0x30,0x66,0x35,0x36,0x33,0x38,0x38,0x35,0x55,0x2c,0x30,0x78,0x33,0x64,0x31,0x65,0x64,0x35,0x61,0x65,0x55,0x2c,0x30,0x78,0x33,0x36,0x32, - 0x37,0x33,0x39,0x32,0x64,0x55,0x2c,0x0a,0x30,0x78,0x30,0x61,0x36,0x34,0x64,0x39,0x30,0x66,0x55,0x2c,0x30,0x78,0x36,0x38,0x32,0x31,0x61,0x36,0x35,0x63,0x55,0x2c, - 0x30,0x78,0x39,0x62,0x64,0x31,0x35,0x34,0x35,0x62,0x55,0x2c,0x30,0x78,0x32,0x34,0x33,0x61,0x32,0x65,0x33,0x36,0x55,0x2c,0x0a,0x30,0x78,0x30,0x63,0x62,0x31,0x36, - 0x37,0x30,0x61,0x55,0x2c,0x30,0x78,0x39,0x33,0x30,0x66,0x65,0x37,0x35,0x37,0x55,0x2c,0x30,0x78,0x62,0x34,0x64,0x32,0x39,0x36,0x65,0x65,0x55,0x2c,0x30,0x78,0x31, - 0x62,0x39,0x65,0x39,0x31,0x39,0x62,0x55,0x2c,0x0a,0x30,0x78,0x38,0x30,0x34,0x66,0x63,0x35,0x63,0x30,0x55,0x2c,0x30,0x78,0x36,0x31,0x61,0x32,0x32,0x30,0x64,0x63, - 0x55,0x2c,0x30,0x78,0x35,0x61,0x36,0x39,0x34,0x62,0x37,0x37,0x55,0x2c,0x30,0x78,0x31,0x63,0x31,0x36,0x31,0x61,0x31,0x32,0x55,0x2c,0x0a,0x30,0x78,0x65,0x32,0x30, - 0x61,0x62,0x61,0x39,0x33,0x55,0x2c,0x30,0x78,0x63,0x30,0x65,0x35,0x32,0x61,0x61,0x30,0x55,0x2c,0x30,0x78,0x33,0x63,0x34,0x33,0x65,0x30,0x32,0x32,0x55,0x2c,0x30, - 0x78,0x31,0x32,0x31,0x64,0x31,0x37,0x31,0x62,0x55,0x2c,0x0a,0x30,0x78,0x30,0x65,0x30,0x62,0x30,0x64,0x30,0x39,0x55,0x2c,0x30,0x78,0x66,0x32,0x61,0x64,0x63,0x37, - 0x38,0x62,0x55,0x2c,0x30,0x78,0x32,0x64,0x62,0x39,0x61,0x38,0x62,0x36,0x55,0x2c,0x30,0x78,0x31,0x34,0x63,0x38,0x61,0x39,0x31,0x65,0x55,0x2c,0x0a,0x30,0x78,0x35, - 0x37,0x38,0x35,0x31,0x39,0x66,0x31,0x55,0x2c,0x30,0x78,0x61,0x66,0x34,0x63,0x30,0x37,0x37,0x35,0x55,0x2c,0x30,0x78,0x65,0x65,0x62,0x62,0x64,0x64,0x39,0x39,0x55, - 0x2c,0x30,0x78,0x61,0x33,0x66,0x64,0x36,0x30,0x37,0x66,0x55,0x2c,0x0a,0x30,0x78,0x66,0x37,0x39,0x66,0x32,0x36,0x30,0x31,0x55,0x2c,0x30,0x78,0x35,0x63,0x62,0x63, - 0x66,0x35,0x37,0x32,0x55,0x2c,0x30,0x78,0x34,0x34,0x63,0x35,0x33,0x62,0x36,0x36,0x55,0x2c,0x30,0x78,0x35,0x62,0x33,0x34,0x37,0x65,0x66,0x62,0x55,0x2c,0x0a,0x30, - 0x78,0x38,0x62,0x37,0x36,0x32,0x39,0x34,0x33,0x55,0x2c,0x30,0x78,0x63,0x62,0x64,0x63,0x63,0x36,0x32,0x33,0x55,0x2c,0x30,0x78,0x62,0x36,0x36,0x38,0x66,0x63,0x65, - 0x64,0x55,0x2c,0x30,0x78,0x62,0x38,0x36,0x33,0x66,0x31,0x65,0x34,0x55,0x2c,0x0a,0x30,0x78,0x64,0x37,0x63,0x61,0x64,0x63,0x33,0x31,0x55,0x2c,0x30,0x78,0x34,0x32, - 0x31,0x30,0x38,0x35,0x36,0x33,0x55,0x2c,0x30,0x78,0x31,0x33,0x34,0x30,0x32,0x32,0x39,0x37,0x55,0x2c,0x30,0x78,0x38,0x34,0x32,0x30,0x31,0x31,0x63,0x36,0x55,0x2c, - 0x0a,0x30,0x78,0x38,0x35,0x37,0x64,0x32,0x34,0x34,0x61,0x55,0x2c,0x30,0x78,0x64,0x32,0x66,0x38,0x33,0x64,0x62,0x62,0x55,0x2c,0x30,0x78,0x61,0x65,0x31,0x31,0x33, - 0x32,0x66,0x39,0x55,0x2c,0x30,0x78,0x63,0x37,0x36,0x64,0x61,0x31,0x32,0x39,0x55,0x2c,0x0a,0x30,0x78,0x31,0x64,0x34,0x62,0x32,0x66,0x39,0x65,0x55,0x2c,0x30,0x78, - 0x64,0x63,0x66,0x33,0x33,0x30,0x62,0x32,0x55,0x2c,0x30,0x78,0x30,0x64,0x65,0x63,0x35,0x32,0x38,0x36,0x55,0x2c,0x30,0x78,0x37,0x37,0x64,0x30,0x65,0x33,0x63,0x31, - 0x55,0x2c,0x0a,0x30,0x78,0x32,0x62,0x36,0x63,0x31,0x36,0x62,0x33,0x55,0x2c,0x30,0x78,0x61,0x39,0x39,0x39,0x62,0x39,0x37,0x30,0x55,0x2c,0x30,0x78,0x31,0x31,0x66, - 0x61,0x34,0x38,0x39,0x34,0x55,0x2c,0x30,0x78,0x34,0x37,0x32,0x32,0x36,0x34,0x65,0x39,0x55,0x2c,0x0a,0x30,0x78,0x61,0x38,0x63,0x34,0x38,0x63,0x66,0x63,0x55,0x2c, - 0x30,0x78,0x61,0x30,0x31,0x61,0x33,0x66,0x66,0x30,0x55,0x2c,0x30,0x78,0x35,0x36,0x64,0x38,0x32,0x63,0x37,0x64,0x55,0x2c,0x30,0x78,0x32,0x32,0x65,0x66,0x39,0x30, - 0x33,0x33,0x55,0x2c,0x0a,0x30,0x78,0x38,0x37,0x63,0x37,0x34,0x65,0x34,0x39,0x55,0x2c,0x30,0x78,0x64,0x39,0x63,0x31,0x64,0x31,0x33,0x38,0x55,0x2c,0x30,0x78,0x38, - 0x63,0x66,0x65,0x61,0x32,0x63,0x61,0x55,0x2c,0x30,0x78,0x39,0x38,0x33,0x36,0x30,0x62,0x64,0x34,0x55,0x2c,0x0a,0x30,0x78,0x61,0x36,0x63,0x66,0x38,0x31,0x66,0x35, - 0x55,0x2c,0x30,0x78,0x61,0x35,0x32,0x38,0x64,0x65,0x37,0x61,0x55,0x2c,0x30,0x78,0x64,0x61,0x32,0x36,0x38,0x65,0x62,0x37,0x55,0x2c,0x30,0x78,0x33,0x66,0x61,0x34, - 0x62,0x66,0x61,0x64,0x55,0x2c,0x0a,0x30,0x78,0x32,0x63,0x65,0x34,0x39,0x64,0x33,0x61,0x55,0x2c,0x30,0x78,0x35,0x30,0x30,0x64,0x39,0x32,0x37,0x38,0x55,0x2c,0x30, - 0x78,0x36,0x61,0x39,0x62,0x63,0x63,0x35,0x66,0x55,0x2c,0x30,0x78,0x35,0x34,0x36,0x32,0x34,0x36,0x37,0x65,0x55,0x2c,0x0a,0x30,0x78,0x66,0x36,0x63,0x32,0x31,0x33, - 0x38,0x64,0x55,0x2c,0x30,0x78,0x39,0x30,0x65,0x38,0x62,0x38,0x64,0x38,0x55,0x2c,0x30,0x78,0x32,0x65,0x35,0x65,0x66,0x37,0x33,0x39,0x55,0x2c,0x30,0x78,0x38,0x32, - 0x66,0x35,0x61,0x66,0x63,0x33,0x55,0x2c,0x0a,0x30,0x78,0x39,0x66,0x62,0x65,0x38,0x30,0x35,0x64,0x55,0x2c,0x30,0x78,0x36,0x39,0x37,0x63,0x39,0x33,0x64,0x30,0x55, - 0x2c,0x30,0x78,0x36,0x66,0x61,0x39,0x32,0x64,0x64,0x35,0x55,0x2c,0x30,0x78,0x63,0x66,0x62,0x33,0x31,0x32,0x32,0x35,0x55,0x2c,0x0a,0x30,0x78,0x63,0x38,0x33,0x62, - 0x39,0x39,0x61,0x63,0x55,0x2c,0x30,0x78,0x31,0x30,0x61,0x37,0x37,0x64,0x31,0x38,0x55,0x2c,0x30,0x78,0x65,0x38,0x36,0x65,0x36,0x33,0x39,0x63,0x55,0x2c,0x30,0x78, - 0x64,0x62,0x37,0x62,0x62,0x62,0x33,0x62,0x55,0x2c,0x0a,0x30,0x78,0x63,0x64,0x30,0x39,0x37,0x38,0x32,0x36,0x55,0x2c,0x30,0x78,0x36,0x65,0x66,0x34,0x31,0x38,0x35, - 0x39,0x55,0x2c,0x30,0x78,0x65,0x63,0x30,0x31,0x62,0x37,0x39,0x61,0x55,0x2c,0x30,0x78,0x38,0x33,0x61,0x38,0x39,0x61,0x34,0x66,0x55,0x2c,0x0a,0x30,0x78,0x65,0x36, - 0x36,0x35,0x36,0x65,0x39,0x35,0x55,0x2c,0x30,0x78,0x61,0x61,0x37,0x65,0x65,0x36,0x66,0x66,0x55,0x2c,0x30,0x78,0x32,0x31,0x30,0x38,0x63,0x66,0x62,0x63,0x55,0x2c, - 0x30,0x78,0x65,0x66,0x65,0x36,0x65,0x38,0x31,0x35,0x55,0x2c,0x0a,0x30,0x78,0x62,0x61,0x64,0x39,0x39,0x62,0x65,0x37,0x55,0x2c,0x30,0x78,0x34,0x61,0x63,0x65,0x33, - 0x36,0x36,0x66,0x55,0x2c,0x30,0x78,0x65,0x61,0x64,0x34,0x30,0x39,0x39,0x66,0x55,0x2c,0x30,0x78,0x32,0x39,0x64,0x36,0x37,0x63,0x62,0x30,0x55,0x2c,0x0a,0x30,0x78, - 0x33,0x31,0x61,0x66,0x62,0x32,0x61,0x34,0x55,0x2c,0x30,0x78,0x32,0x61,0x33,0x31,0x32,0x33,0x33,0x66,0x55,0x2c,0x30,0x78,0x63,0x36,0x33,0x30,0x39,0x34,0x61,0x35, - 0x55,0x2c,0x30,0x78,0x33,0x35,0x63,0x30,0x36,0x36,0x61,0x32,0x55,0x2c,0x0a,0x30,0x78,0x37,0x34,0x33,0x37,0x62,0x63,0x34,0x65,0x55,0x2c,0x30,0x78,0x66,0x63,0x61, - 0x36,0x63,0x61,0x38,0x32,0x55,0x2c,0x30,0x78,0x65,0x30,0x62,0x30,0x64,0x30,0x39,0x30,0x55,0x2c,0x30,0x78,0x33,0x33,0x31,0x35,0x64,0x38,0x61,0x37,0x55,0x2c,0x0a, - 0x30,0x78,0x66,0x31,0x34,0x61,0x39,0x38,0x30,0x34,0x55,0x2c,0x30,0x78,0x34,0x31,0x66,0x37,0x64,0x61,0x65,0x63,0x55,0x2c,0x30,0x78,0x37,0x66,0x30,0x65,0x35,0x30, - 0x63,0x64,0x55,0x2c,0x30,0x78,0x31,0x37,0x32,0x66,0x66,0x36,0x39,0x31,0x55,0x2c,0x0a,0x30,0x78,0x37,0x36,0x38,0x64,0x64,0x36,0x34,0x64,0x55,0x2c,0x30,0x78,0x34, - 0x33,0x34,0x64,0x62,0x30,0x65,0x66,0x55,0x2c,0x30,0x78,0x63,0x63,0x35,0x34,0x34,0x64,0x61,0x61,0x55,0x2c,0x30,0x78,0x65,0x34,0x64,0x66,0x30,0x34,0x39,0x36,0x55, - 0x2c,0x0a,0x30,0x78,0x39,0x65,0x65,0x33,0x62,0x35,0x64,0x31,0x55,0x2c,0x30,0x78,0x34,0x63,0x31,0x62,0x38,0x38,0x36,0x61,0x55,0x2c,0x30,0x78,0x63,0x31,0x62,0x38, - 0x31,0x66,0x32,0x63,0x55,0x2c,0x30,0x78,0x34,0x36,0x37,0x66,0x35,0x31,0x36,0x35,0x55,0x2c,0x0a,0x30,0x78,0x39,0x64,0x30,0x34,0x65,0x61,0x35,0x65,0x55,0x2c,0x30, - 0x78,0x30,0x31,0x35,0x64,0x33,0x35,0x38,0x63,0x55,0x2c,0x30,0x78,0x66,0x61,0x37,0x33,0x37,0x34,0x38,0x37,0x55,0x2c,0x30,0x78,0x66,0x62,0x32,0x65,0x34,0x31,0x30, - 0x62,0x55,0x2c,0x0a,0x30,0x78,0x62,0x33,0x35,0x61,0x31,0x64,0x36,0x37,0x55,0x2c,0x30,0x78,0x39,0x32,0x35,0x32,0x64,0x32,0x64,0x62,0x55,0x2c,0x30,0x78,0x65,0x39, - 0x33,0x33,0x35,0x36,0x31,0x30,0x55,0x2c,0x30,0x78,0x36,0x64,0x31,0x33,0x34,0x37,0x64,0x36,0x55,0x2c,0x0a,0x30,0x78,0x39,0x61,0x38,0x63,0x36,0x31,0x64,0x37,0x55, - 0x2c,0x30,0x78,0x33,0x37,0x37,0x61,0x30,0x63,0x61,0x31,0x55,0x2c,0x30,0x78,0x35,0x39,0x38,0x65,0x31,0x34,0x66,0x38,0x55,0x2c,0x30,0x78,0x65,0x62,0x38,0x39,0x33, - 0x63,0x31,0x33,0x55,0x2c,0x0a,0x30,0x78,0x63,0x65,0x65,0x65,0x32,0x37,0x61,0x39,0x55,0x2c,0x30,0x78,0x62,0x37,0x33,0x35,0x63,0x39,0x36,0x31,0x55,0x2c,0x30,0x78, - 0x65,0x31,0x65,0x64,0x65,0x35,0x31,0x63,0x55,0x2c,0x30,0x78,0x37,0x61,0x33,0x63,0x62,0x31,0x34,0x37,0x55,0x2c,0x0a,0x30,0x78,0x39,0x63,0x35,0x39,0x64,0x66,0x64, - 0x32,0x55,0x2c,0x30,0x78,0x35,0x35,0x33,0x66,0x37,0x33,0x66,0x32,0x55,0x2c,0x30,0x78,0x31,0x38,0x37,0x39,0x63,0x65,0x31,0x34,0x55,0x2c,0x30,0x78,0x37,0x33,0x62, - 0x66,0x33,0x37,0x63,0x37,0x55,0x2c,0x0a,0x30,0x78,0x35,0x33,0x65,0x61,0x63,0x64,0x66,0x37,0x55,0x2c,0x30,0x78,0x35,0x66,0x35,0x62,0x61,0x61,0x66,0x64,0x55,0x2c, - 0x30,0x78,0x64,0x66,0x31,0x34,0x36,0x66,0x33,0x64,0x55,0x2c,0x30,0x78,0x37,0x38,0x38,0x36,0x64,0x62,0x34,0x34,0x55,0x2c,0x0a,0x30,0x78,0x63,0x61,0x38,0x31,0x66, - 0x33,0x61,0x66,0x55,0x2c,0x30,0x78,0x62,0x39,0x33,0x65,0x63,0x34,0x36,0x38,0x55,0x2c,0x30,0x78,0x33,0x38,0x32,0x63,0x33,0x34,0x32,0x34,0x55,0x2c,0x30,0x78,0x63, - 0x32,0x35,0x66,0x34,0x30,0x61,0x33,0x55,0x2c,0x0a,0x30,0x78,0x31,0x36,0x37,0x32,0x63,0x33,0x31,0x64,0x55,0x2c,0x30,0x78,0x62,0x63,0x30,0x63,0x32,0x35,0x65,0x32, - 0x55,0x2c,0x30,0x78,0x32,0x38,0x38,0x62,0x34,0x39,0x33,0x63,0x55,0x2c,0x30,0x78,0x66,0x66,0x34,0x31,0x39,0x35,0x30,0x64,0x55,0x2c,0x0a,0x30,0x78,0x33,0x39,0x37, - 0x31,0x30,0x31,0x61,0x38,0x55,0x2c,0x30,0x78,0x30,0x38,0x64,0x65,0x62,0x33,0x30,0x63,0x55,0x2c,0x30,0x78,0x64,0x38,0x39,0x63,0x65,0x34,0x62,0x34,0x55,0x2c,0x30, - 0x78,0x36,0x34,0x39,0x30,0x63,0x31,0x35,0x36,0x55,0x2c,0x0a,0x30,0x78,0x37,0x62,0x36,0x31,0x38,0x34,0x63,0x62,0x55,0x2c,0x30,0x78,0x64,0x35,0x37,0x30,0x62,0x36, - 0x33,0x32,0x55,0x2c,0x30,0x78,0x34,0x38,0x37,0x34,0x35,0x63,0x36,0x63,0x55,0x2c,0x30,0x78,0x64,0x30,0x34,0x32,0x35,0x37,0x62,0x38,0x55,0x2c,0x0a,0x7d,0x3b,0x0a, - 0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53, - 0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49,0x4c,0x4c,0x5b,0x31,0x36,0x5d,0x3d,0x7b,0x0a,0x30,0x78,0x36,0x64,0x61,0x63,0x61,0x35,0x35,0x33,0x2c,0x30,0x78,0x36,0x32,0x37, - 0x31,0x36,0x36,0x30,0x39,0x2c,0x30,0x78,0x64,0x62,0x62,0x35,0x35,0x35,0x32,0x62,0x2c,0x30,0x78,0x62,0x34,0x66,0x34,0x34,0x39,0x31,0x37,0x2c,0x0a,0x30,0x78,0x36, - 0x64,0x37,0x63,0x61,0x66,0x30,0x37,0x2c,0x30,0x78,0x38,0x34,0x36,0x61,0x37,0x31,0x30,0x64,0x2c,0x30,0x78,0x31,0x37,0x32,0x35,0x64,0x33,0x37,0x38,0x2c,0x30,0x78, - 0x30,0x64,0x61,0x31,0x64,0x63,0x34,0x65,0x2c,0x0a,0x30,0x78,0x33,0x66,0x31,0x32,0x36,0x32,0x66,0x31,0x2c,0x30,0x78,0x39,0x66,0x39,0x34,0x37,0x65,0x63,0x36,0x2c, - 0x30,0x78,0x66,0x34,0x63,0x30,0x37,0x39,0x34,0x66,0x2c,0x30,0x78,0x33,0x65,0x32,0x30,0x65,0x33,0x34,0x35,0x2c,0x0a,0x30,0x78,0x36,0x61,0x65,0x66,0x38,0x31,0x33, - 0x35,0x2c,0x30,0x78,0x62,0x31,0x62,0x61,0x33,0x31,0x37,0x63,0x2c,0x30,0x78,0x31,0x36,0x33,0x31,0x34,0x63,0x38,0x38,0x2c,0x30,0x78,0x34,0x39,0x31,0x36,0x39,0x31, - 0x35,0x34,0x2c,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75, - 0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x48,0x41,0x53,0x48,0x5b,0x31,0x36,0x5d,0x3d,0x7b,0x0a,0x30,0x78,0x39,0x32,0x62,0x35,0x32, - 0x63,0x30,0x64,0x2c,0x30,0x78,0x39,0x66,0x61,0x38,0x35,0x36,0x64,0x65,0x2c,0x30,0x78,0x63,0x63,0x38,0x32,0x64,0x62,0x34,0x37,0x2c,0x30,0x78,0x64,0x37,0x39,0x38, - 0x33,0x61,0x61,0x64,0x2c,0x0a,0x30,0x78,0x33,0x33,0x38,0x64,0x39,0x39,0x36,0x65,0x2c,0x30,0x78,0x31,0x35,0x63,0x37,0x62,0x37,0x39,0x38,0x2c,0x30,0x78,0x66,0x35, - 0x39,0x65,0x31,0x32,0x35,0x61,0x2c,0x30,0x78,0x61,0x63,0x65,0x37,0x38,0x30,0x35,0x37,0x2c,0x0a,0x30,0x78,0x36,0x61,0x37,0x37,0x30,0x30,0x31,0x37,0x2c,0x30,0x78, - 0x61,0x65,0x36,0x32,0x63,0x37,0x64,0x30,0x2c,0x30,0x78,0x35,0x30,0x37,0x39,0x35,0x30,0x36,0x62,0x2c,0x30,0x78,0x65,0x38,0x61,0x30,0x37,0x63,0x65,0x34,0x2c,0x0a, - 0x30,0x78,0x36,0x33,0x30,0x61,0x32,0x34,0x30,0x63,0x2c,0x30,0x78,0x30,0x37,0x61,0x64,0x38,0x32,0x38,0x64,0x2c,0x30,0x78,0x37,0x39,0x61,0x31,0x30,0x30,0x30,0x35, - 0x2c,0x30,0x78,0x37,0x65,0x39,0x39,0x34,0x39,0x34,0x38,0x2c,0x0a,0x7d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, - 0x75,0x69,0x6e,0x74,0x20,0x61,0x2c,0x75,0x69,0x6e,0x74,0x20,0x73,0x74,0x61,0x72,0x74,0x5f,0x62,0x69,0x74,0x29,0x20,0x7b,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, - 0x28,0x61,0x3e,0x3e,0x73,0x74,0x61,0x72,0x74,0x5f,0x62,0x69,0x74,0x29,0x26,0x30,0x78,0x46,0x46,0x3b,0x20,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x66, - 0x69,0x6c,0x6c,0x41,0x65,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x20,0x66,0x69,0x6c,0x6c,0x41,0x65,0x73,0x31,0x52,0x78,0x34,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70, - 0x61,0x64,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43, - 0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x30,0x20, - 0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x20,0x2b,0x20,0x36,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c, - 0x5f,0x66,0x61,0x63,0x74,0x6f,0x72,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6e,0x75,0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x20,0x31,0x0a,0x5f, + 0x38,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x20,0x28,0x33,0x32,0x20,0x2d,0x20,0x32,0x31,0x29,0x0a,0x23,0x65,0x6e,0x64, + 0x69,0x66,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20, + 0x41,0x45,0x53,0x5f,0x54,0x41,0x42,0x4c,0x45,0x5b,0x32,0x30,0x34,0x38,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x30,0x78,0x61,0x35,0x36,0x33,0x36,0x33,0x63,0x36,0x55,0x2c, + 0x30,0x78,0x38,0x34,0x37,0x63,0x37,0x63,0x66,0x38,0x55,0x2c,0x30,0x78,0x39,0x39,0x37,0x37,0x37,0x37,0x65,0x65,0x55,0x2c,0x30,0x78,0x38,0x64,0x37,0x62,0x37,0x62, + 0x66,0x36,0x55,0x2c,0x0a,0x30,0x78,0x30,0x64,0x66,0x32,0x66,0x32,0x66,0x66,0x55,0x2c,0x30,0x78,0x62,0x64,0x36,0x62,0x36,0x62,0x64,0x36,0x55,0x2c,0x30,0x78,0x62, + 0x31,0x36,0x66,0x36,0x66,0x64,0x65,0x55,0x2c,0x30,0x78,0x35,0x34,0x63,0x35,0x63,0x35,0x39,0x31,0x55,0x2c,0x0a,0x30,0x78,0x35,0x30,0x33,0x30,0x33,0x30,0x36,0x30, + 0x55,0x2c,0x30,0x78,0x30,0x33,0x30,0x31,0x30,0x31,0x30,0x32,0x55,0x2c,0x30,0x78,0x61,0x39,0x36,0x37,0x36,0x37,0x63,0x65,0x55,0x2c,0x30,0x78,0x37,0x64,0x32,0x62, + 0x32,0x62,0x35,0x36,0x55,0x2c,0x0a,0x30,0x78,0x31,0x39,0x66,0x65,0x66,0x65,0x65,0x37,0x55,0x2c,0x30,0x78,0x36,0x32,0x64,0x37,0x64,0x37,0x62,0x35,0x55,0x2c,0x30, + 0x78,0x65,0x36,0x61,0x62,0x61,0x62,0x34,0x64,0x55,0x2c,0x30,0x78,0x39,0x61,0x37,0x36,0x37,0x36,0x65,0x63,0x55,0x2c,0x0a,0x30,0x78,0x34,0x35,0x63,0x61,0x63,0x61, + 0x38,0x66,0x55,0x2c,0x30,0x78,0x39,0x64,0x38,0x32,0x38,0x32,0x31,0x66,0x55,0x2c,0x30,0x78,0x34,0x30,0x63,0x39,0x63,0x39,0x38,0x39,0x55,0x2c,0x30,0x78,0x38,0x37, + 0x37,0x64,0x37,0x64,0x66,0x61,0x55,0x2c,0x0a,0x30,0x78,0x31,0x35,0x66,0x61,0x66,0x61,0x65,0x66,0x55,0x2c,0x30,0x78,0x65,0x62,0x35,0x39,0x35,0x39,0x62,0x32,0x55, + 0x2c,0x30,0x78,0x63,0x39,0x34,0x37,0x34,0x37,0x38,0x65,0x55,0x2c,0x30,0x78,0x30,0x62,0x66,0x30,0x66,0x30,0x66,0x62,0x55,0x2c,0x0a,0x30,0x78,0x65,0x63,0x61,0x64, + 0x61,0x64,0x34,0x31,0x55,0x2c,0x30,0x78,0x36,0x37,0x64,0x34,0x64,0x34,0x62,0x33,0x55,0x2c,0x30,0x78,0x66,0x64,0x61,0x32,0x61,0x32,0x35,0x66,0x55,0x2c,0x30,0x78, + 0x65,0x61,0x61,0x66,0x61,0x66,0x34,0x35,0x55,0x2c,0x0a,0x30,0x78,0x62,0x66,0x39,0x63,0x39,0x63,0x32,0x33,0x55,0x2c,0x30,0x78,0x66,0x37,0x61,0x34,0x61,0x34,0x35, + 0x33,0x55,0x2c,0x30,0x78,0x39,0x36,0x37,0x32,0x37,0x32,0x65,0x34,0x55,0x2c,0x30,0x78,0x35,0x62,0x63,0x30,0x63,0x30,0x39,0x62,0x55,0x2c,0x0a,0x30,0x78,0x63,0x32, + 0x62,0x37,0x62,0x37,0x37,0x35,0x55,0x2c,0x30,0x78,0x31,0x63,0x66,0x64,0x66,0x64,0x65,0x31,0x55,0x2c,0x30,0x78,0x61,0x65,0x39,0x33,0x39,0x33,0x33,0x64,0x55,0x2c, + 0x30,0x78,0x36,0x61,0x32,0x36,0x32,0x36,0x34,0x63,0x55,0x2c,0x0a,0x30,0x78,0x35,0x61,0x33,0x36,0x33,0x36,0x36,0x63,0x55,0x2c,0x30,0x78,0x34,0x31,0x33,0x66,0x33, + 0x66,0x37,0x65,0x55,0x2c,0x30,0x78,0x30,0x32,0x66,0x37,0x66,0x37,0x66,0x35,0x55,0x2c,0x30,0x78,0x34,0x66,0x63,0x63,0x63,0x63,0x38,0x33,0x55,0x2c,0x0a,0x30,0x78, + 0x35,0x63,0x33,0x34,0x33,0x34,0x36,0x38,0x55,0x2c,0x30,0x78,0x66,0x34,0x61,0x35,0x61,0x35,0x35,0x31,0x55,0x2c,0x30,0x78,0x33,0x34,0x65,0x35,0x65,0x35,0x64,0x31, + 0x55,0x2c,0x30,0x78,0x30,0x38,0x66,0x31,0x66,0x31,0x66,0x39,0x55,0x2c,0x0a,0x30,0x78,0x39,0x33,0x37,0x31,0x37,0x31,0x65,0x32,0x55,0x2c,0x30,0x78,0x37,0x33,0x64, + 0x38,0x64,0x38,0x61,0x62,0x55,0x2c,0x30,0x78,0x35,0x33,0x33,0x31,0x33,0x31,0x36,0x32,0x55,0x2c,0x30,0x78,0x33,0x66,0x31,0x35,0x31,0x35,0x32,0x61,0x55,0x2c,0x0a, + 0x30,0x78,0x30,0x63,0x30,0x34,0x30,0x34,0x30,0x38,0x55,0x2c,0x30,0x78,0x35,0x32,0x63,0x37,0x63,0x37,0x39,0x35,0x55,0x2c,0x30,0x78,0x36,0x35,0x32,0x33,0x32,0x33, + 0x34,0x36,0x55,0x2c,0x30,0x78,0x35,0x65,0x63,0x33,0x63,0x33,0x39,0x64,0x55,0x2c,0x0a,0x30,0x78,0x32,0x38,0x31,0x38,0x31,0x38,0x33,0x30,0x55,0x2c,0x30,0x78,0x61, + 0x31,0x39,0x36,0x39,0x36,0x33,0x37,0x55,0x2c,0x30,0x78,0x30,0x66,0x30,0x35,0x30,0x35,0x30,0x61,0x55,0x2c,0x30,0x78,0x62,0x35,0x39,0x61,0x39,0x61,0x32,0x66,0x55, + 0x2c,0x0a,0x30,0x78,0x30,0x39,0x30,0x37,0x30,0x37,0x30,0x65,0x55,0x2c,0x30,0x78,0x33,0x36,0x31,0x32,0x31,0x32,0x32,0x34,0x55,0x2c,0x30,0x78,0x39,0x62,0x38,0x30, + 0x38,0x30,0x31,0x62,0x55,0x2c,0x30,0x78,0x33,0x64,0x65,0x32,0x65,0x32,0x64,0x66,0x55,0x2c,0x0a,0x30,0x78,0x32,0x36,0x65,0x62,0x65,0x62,0x63,0x64,0x55,0x2c,0x30, + 0x78,0x36,0x39,0x32,0x37,0x32,0x37,0x34,0x65,0x55,0x2c,0x30,0x78,0x63,0x64,0x62,0x32,0x62,0x32,0x37,0x66,0x55,0x2c,0x30,0x78,0x39,0x66,0x37,0x35,0x37,0x35,0x65, + 0x61,0x55,0x2c,0x0a,0x30,0x78,0x31,0x62,0x30,0x39,0x30,0x39,0x31,0x32,0x55,0x2c,0x30,0x78,0x39,0x65,0x38,0x33,0x38,0x33,0x31,0x64,0x55,0x2c,0x30,0x78,0x37,0x34, + 0x32,0x63,0x32,0x63,0x35,0x38,0x55,0x2c,0x30,0x78,0x32,0x65,0x31,0x61,0x31,0x61,0x33,0x34,0x55,0x2c,0x0a,0x30,0x78,0x32,0x64,0x31,0x62,0x31,0x62,0x33,0x36,0x55, + 0x2c,0x30,0x78,0x62,0x32,0x36,0x65,0x36,0x65,0x64,0x63,0x55,0x2c,0x30,0x78,0x65,0x65,0x35,0x61,0x35,0x61,0x62,0x34,0x55,0x2c,0x30,0x78,0x66,0x62,0x61,0x30,0x61, + 0x30,0x35,0x62,0x55,0x2c,0x0a,0x30,0x78,0x66,0x36,0x35,0x32,0x35,0x32,0x61,0x34,0x55,0x2c,0x30,0x78,0x34,0x64,0x33,0x62,0x33,0x62,0x37,0x36,0x55,0x2c,0x30,0x78, + 0x36,0x31,0x64,0x36,0x64,0x36,0x62,0x37,0x55,0x2c,0x30,0x78,0x63,0x65,0x62,0x33,0x62,0x33,0x37,0x64,0x55,0x2c,0x0a,0x30,0x78,0x37,0x62,0x32,0x39,0x32,0x39,0x35, + 0x32,0x55,0x2c,0x30,0x78,0x33,0x65,0x65,0x33,0x65,0x33,0x64,0x64,0x55,0x2c,0x30,0x78,0x37,0x31,0x32,0x66,0x32,0x66,0x35,0x65,0x55,0x2c,0x30,0x78,0x39,0x37,0x38, + 0x34,0x38,0x34,0x31,0x33,0x55,0x2c,0x0a,0x30,0x78,0x66,0x35,0x35,0x33,0x35,0x33,0x61,0x36,0x55,0x2c,0x30,0x78,0x36,0x38,0x64,0x31,0x64,0x31,0x62,0x39,0x55,0x2c, + 0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x30,0x78,0x32,0x63,0x65,0x64,0x65,0x64,0x63,0x31,0x55,0x2c,0x0a,0x30,0x78,0x36,0x30,0x32,0x30,0x32, + 0x30,0x34,0x30,0x55,0x2c,0x30,0x78,0x31,0x66,0x66,0x63,0x66,0x63,0x65,0x33,0x55,0x2c,0x30,0x78,0x63,0x38,0x62,0x31,0x62,0x31,0x37,0x39,0x55,0x2c,0x30,0x78,0x65, + 0x64,0x35,0x62,0x35,0x62,0x62,0x36,0x55,0x2c,0x0a,0x30,0x78,0x62,0x65,0x36,0x61,0x36,0x61,0x64,0x34,0x55,0x2c,0x30,0x78,0x34,0x36,0x63,0x62,0x63,0x62,0x38,0x64, + 0x55,0x2c,0x30,0x78,0x64,0x39,0x62,0x65,0x62,0x65,0x36,0x37,0x55,0x2c,0x30,0x78,0x34,0x62,0x33,0x39,0x33,0x39,0x37,0x32,0x55,0x2c,0x0a,0x30,0x78,0x64,0x65,0x34, + 0x61,0x34,0x61,0x39,0x34,0x55,0x2c,0x30,0x78,0x64,0x34,0x34,0x63,0x34,0x63,0x39,0x38,0x55,0x2c,0x30,0x78,0x65,0x38,0x35,0x38,0x35,0x38,0x62,0x30,0x55,0x2c,0x30, + 0x78,0x34,0x61,0x63,0x66,0x63,0x66,0x38,0x35,0x55,0x2c,0x0a,0x30,0x78,0x36,0x62,0x64,0x30,0x64,0x30,0x62,0x62,0x55,0x2c,0x30,0x78,0x32,0x61,0x65,0x66,0x65,0x66, + 0x63,0x35,0x55,0x2c,0x30,0x78,0x65,0x35,0x61,0x61,0x61,0x61,0x34,0x66,0x55,0x2c,0x30,0x78,0x31,0x36,0x66,0x62,0x66,0x62,0x65,0x64,0x55,0x2c,0x0a,0x30,0x78,0x63, + 0x35,0x34,0x33,0x34,0x33,0x38,0x36,0x55,0x2c,0x30,0x78,0x64,0x37,0x34,0x64,0x34,0x64,0x39,0x61,0x55,0x2c,0x30,0x78,0x35,0x35,0x33,0x33,0x33,0x33,0x36,0x36,0x55, + 0x2c,0x30,0x78,0x39,0x34,0x38,0x35,0x38,0x35,0x31,0x31,0x55,0x2c,0x0a,0x30,0x78,0x63,0x66,0x34,0x35,0x34,0x35,0x38,0x61,0x55,0x2c,0x30,0x78,0x31,0x30,0x66,0x39, + 0x66,0x39,0x65,0x39,0x55,0x2c,0x30,0x78,0x30,0x36,0x30,0x32,0x30,0x32,0x30,0x34,0x55,0x2c,0x30,0x78,0x38,0x31,0x37,0x66,0x37,0x66,0x66,0x65,0x55,0x2c,0x0a,0x30, + 0x78,0x66,0x30,0x35,0x30,0x35,0x30,0x61,0x30,0x55,0x2c,0x30,0x78,0x34,0x34,0x33,0x63,0x33,0x63,0x37,0x38,0x55,0x2c,0x30,0x78,0x62,0x61,0x39,0x66,0x39,0x66,0x32, + 0x35,0x55,0x2c,0x30,0x78,0x65,0x33,0x61,0x38,0x61,0x38,0x34,0x62,0x55,0x2c,0x0a,0x30,0x78,0x66,0x33,0x35,0x31,0x35,0x31,0x61,0x32,0x55,0x2c,0x30,0x78,0x66,0x65, + 0x61,0x33,0x61,0x33,0x35,0x64,0x55,0x2c,0x30,0x78,0x63,0x30,0x34,0x30,0x34,0x30,0x38,0x30,0x55,0x2c,0x30,0x78,0x38,0x61,0x38,0x66,0x38,0x66,0x30,0x35,0x55,0x2c, + 0x0a,0x30,0x78,0x61,0x64,0x39,0x32,0x39,0x32,0x33,0x66,0x55,0x2c,0x30,0x78,0x62,0x63,0x39,0x64,0x39,0x64,0x32,0x31,0x55,0x2c,0x30,0x78,0x34,0x38,0x33,0x38,0x33, + 0x38,0x37,0x30,0x55,0x2c,0x30,0x78,0x30,0x34,0x66,0x35,0x66,0x35,0x66,0x31,0x55,0x2c,0x0a,0x30,0x78,0x64,0x66,0x62,0x63,0x62,0x63,0x36,0x33,0x55,0x2c,0x30,0x78, + 0x63,0x31,0x62,0x36,0x62,0x36,0x37,0x37,0x55,0x2c,0x30,0x78,0x37,0x35,0x64,0x61,0x64,0x61,0x61,0x66,0x55,0x2c,0x30,0x78,0x36,0x33,0x32,0x31,0x32,0x31,0x34,0x32, + 0x55,0x2c,0x0a,0x30,0x78,0x33,0x30,0x31,0x30,0x31,0x30,0x32,0x30,0x55,0x2c,0x30,0x78,0x31,0x61,0x66,0x66,0x66,0x66,0x65,0x35,0x55,0x2c,0x30,0x78,0x30,0x65,0x66, + 0x33,0x66,0x33,0x66,0x64,0x55,0x2c,0x30,0x78,0x36,0x64,0x64,0x32,0x64,0x32,0x62,0x66,0x55,0x2c,0x0a,0x30,0x78,0x34,0x63,0x63,0x64,0x63,0x64,0x38,0x31,0x55,0x2c, + 0x30,0x78,0x31,0x34,0x30,0x63,0x30,0x63,0x31,0x38,0x55,0x2c,0x30,0x78,0x33,0x35,0x31,0x33,0x31,0x33,0x32,0x36,0x55,0x2c,0x30,0x78,0x32,0x66,0x65,0x63,0x65,0x63, + 0x63,0x33,0x55,0x2c,0x0a,0x30,0x78,0x65,0x31,0x35,0x66,0x35,0x66,0x62,0x65,0x55,0x2c,0x30,0x78,0x61,0x32,0x39,0x37,0x39,0x37,0x33,0x35,0x55,0x2c,0x30,0x78,0x63, + 0x63,0x34,0x34,0x34,0x34,0x38,0x38,0x55,0x2c,0x30,0x78,0x33,0x39,0x31,0x37,0x31,0x37,0x32,0x65,0x55,0x2c,0x0a,0x30,0x78,0x35,0x37,0x63,0x34,0x63,0x34,0x39,0x33, + 0x55,0x2c,0x30,0x78,0x66,0x32,0x61,0x37,0x61,0x37,0x35,0x35,0x55,0x2c,0x30,0x78,0x38,0x32,0x37,0x65,0x37,0x65,0x66,0x63,0x55,0x2c,0x30,0x78,0x34,0x37,0x33,0x64, + 0x33,0x64,0x37,0x61,0x55,0x2c,0x0a,0x30,0x78,0x61,0x63,0x36,0x34,0x36,0x34,0x63,0x38,0x55,0x2c,0x30,0x78,0x65,0x37,0x35,0x64,0x35,0x64,0x62,0x61,0x55,0x2c,0x30, + 0x78,0x32,0x62,0x31,0x39,0x31,0x39,0x33,0x32,0x55,0x2c,0x30,0x78,0x39,0x35,0x37,0x33,0x37,0x33,0x65,0x36,0x55,0x2c,0x0a,0x30,0x78,0x61,0x30,0x36,0x30,0x36,0x30, + 0x63,0x30,0x55,0x2c,0x30,0x78,0x39,0x38,0x38,0x31,0x38,0x31,0x31,0x39,0x55,0x2c,0x30,0x78,0x64,0x31,0x34,0x66,0x34,0x66,0x39,0x65,0x55,0x2c,0x30,0x78,0x37,0x66, + 0x64,0x63,0x64,0x63,0x61,0x33,0x55,0x2c,0x0a,0x30,0x78,0x36,0x36,0x32,0x32,0x32,0x32,0x34,0x34,0x55,0x2c,0x30,0x78,0x37,0x65,0x32,0x61,0x32,0x61,0x35,0x34,0x55, + 0x2c,0x30,0x78,0x61,0x62,0x39,0x30,0x39,0x30,0x33,0x62,0x55,0x2c,0x30,0x78,0x38,0x33,0x38,0x38,0x38,0x38,0x30,0x62,0x55,0x2c,0x0a,0x30,0x78,0x63,0x61,0x34,0x36, + 0x34,0x36,0x38,0x63,0x55,0x2c,0x30,0x78,0x32,0x39,0x65,0x65,0x65,0x65,0x63,0x37,0x55,0x2c,0x30,0x78,0x64,0x33,0x62,0x38,0x62,0x38,0x36,0x62,0x55,0x2c,0x30,0x78, + 0x33,0x63,0x31,0x34,0x31,0x34,0x32,0x38,0x55,0x2c,0x0a,0x30,0x78,0x37,0x39,0x64,0x65,0x64,0x65,0x61,0x37,0x55,0x2c,0x30,0x78,0x65,0x32,0x35,0x65,0x35,0x65,0x62, + 0x63,0x55,0x2c,0x30,0x78,0x31,0x64,0x30,0x62,0x30,0x62,0x31,0x36,0x55,0x2c,0x30,0x78,0x37,0x36,0x64,0x62,0x64,0x62,0x61,0x64,0x55,0x2c,0x0a,0x30,0x78,0x33,0x62, + 0x65,0x30,0x65,0x30,0x64,0x62,0x55,0x2c,0x30,0x78,0x35,0x36,0x33,0x32,0x33,0x32,0x36,0x34,0x55,0x2c,0x30,0x78,0x34,0x65,0x33,0x61,0x33,0x61,0x37,0x34,0x55,0x2c, + 0x30,0x78,0x31,0x65,0x30,0x61,0x30,0x61,0x31,0x34,0x55,0x2c,0x0a,0x30,0x78,0x64,0x62,0x34,0x39,0x34,0x39,0x39,0x32,0x55,0x2c,0x30,0x78,0x30,0x61,0x30,0x36,0x30, + 0x36,0x30,0x63,0x55,0x2c,0x30,0x78,0x36,0x63,0x32,0x34,0x32,0x34,0x34,0x38,0x55,0x2c,0x30,0x78,0x65,0x34,0x35,0x63,0x35,0x63,0x62,0x38,0x55,0x2c,0x0a,0x30,0x78, + 0x35,0x64,0x63,0x32,0x63,0x32,0x39,0x66,0x55,0x2c,0x30,0x78,0x36,0x65,0x64,0x33,0x64,0x33,0x62,0x64,0x55,0x2c,0x30,0x78,0x65,0x66,0x61,0x63,0x61,0x63,0x34,0x33, + 0x55,0x2c,0x30,0x78,0x61,0x36,0x36,0x32,0x36,0x32,0x63,0x34,0x55,0x2c,0x0a,0x30,0x78,0x61,0x38,0x39,0x31,0x39,0x31,0x33,0x39,0x55,0x2c,0x30,0x78,0x61,0x34,0x39, + 0x35,0x39,0x35,0x33,0x31,0x55,0x2c,0x30,0x78,0x33,0x37,0x65,0x34,0x65,0x34,0x64,0x33,0x55,0x2c,0x30,0x78,0x38,0x62,0x37,0x39,0x37,0x39,0x66,0x32,0x55,0x2c,0x0a, + 0x30,0x78,0x33,0x32,0x65,0x37,0x65,0x37,0x64,0x35,0x55,0x2c,0x30,0x78,0x34,0x33,0x63,0x38,0x63,0x38,0x38,0x62,0x55,0x2c,0x30,0x78,0x35,0x39,0x33,0x37,0x33,0x37, + 0x36,0x65,0x55,0x2c,0x30,0x78,0x62,0x37,0x36,0x64,0x36,0x64,0x64,0x61,0x55,0x2c,0x0a,0x30,0x78,0x38,0x63,0x38,0x64,0x38,0x64,0x30,0x31,0x55,0x2c,0x30,0x78,0x36, + 0x34,0x64,0x35,0x64,0x35,0x62,0x31,0x55,0x2c,0x30,0x78,0x64,0x32,0x34,0x65,0x34,0x65,0x39,0x63,0x55,0x2c,0x30,0x78,0x65,0x30,0x61,0x39,0x61,0x39,0x34,0x39,0x55, + 0x2c,0x0a,0x30,0x78,0x62,0x34,0x36,0x63,0x36,0x63,0x64,0x38,0x55,0x2c,0x30,0x78,0x66,0x61,0x35,0x36,0x35,0x36,0x61,0x63,0x55,0x2c,0x30,0x78,0x30,0x37,0x66,0x34, + 0x66,0x34,0x66,0x33,0x55,0x2c,0x30,0x78,0x32,0x35,0x65,0x61,0x65,0x61,0x63,0x66,0x55,0x2c,0x0a,0x30,0x78,0x61,0x66,0x36,0x35,0x36,0x35,0x63,0x61,0x55,0x2c,0x30, + 0x78,0x38,0x65,0x37,0x61,0x37,0x61,0x66,0x34,0x55,0x2c,0x30,0x78,0x65,0x39,0x61,0x65,0x61,0x65,0x34,0x37,0x55,0x2c,0x30,0x78,0x31,0x38,0x30,0x38,0x30,0x38,0x31, + 0x30,0x55,0x2c,0x0a,0x30,0x78,0x64,0x35,0x62,0x61,0x62,0x61,0x36,0x66,0x55,0x2c,0x30,0x78,0x38,0x38,0x37,0x38,0x37,0x38,0x66,0x30,0x55,0x2c,0x30,0x78,0x36,0x66, + 0x32,0x35,0x32,0x35,0x34,0x61,0x55,0x2c,0x30,0x78,0x37,0x32,0x32,0x65,0x32,0x65,0x35,0x63,0x55,0x2c,0x0a,0x30,0x78,0x32,0x34,0x31,0x63,0x31,0x63,0x33,0x38,0x55, + 0x2c,0x30,0x78,0x66,0x31,0x61,0x36,0x61,0x36,0x35,0x37,0x55,0x2c,0x30,0x78,0x63,0x37,0x62,0x34,0x62,0x34,0x37,0x33,0x55,0x2c,0x30,0x78,0x35,0x31,0x63,0x36,0x63, + 0x36,0x39,0x37,0x55,0x2c,0x0a,0x30,0x78,0x32,0x33,0x65,0x38,0x65,0x38,0x63,0x62,0x55,0x2c,0x30,0x78,0x37,0x63,0x64,0x64,0x64,0x64,0x61,0x31,0x55,0x2c,0x30,0x78, + 0x39,0x63,0x37,0x34,0x37,0x34,0x65,0x38,0x55,0x2c,0x30,0x78,0x32,0x31,0x31,0x66,0x31,0x66,0x33,0x65,0x55,0x2c,0x0a,0x30,0x78,0x64,0x64,0x34,0x62,0x34,0x62,0x39, + 0x36,0x55,0x2c,0x30,0x78,0x64,0x63,0x62,0x64,0x62,0x64,0x36,0x31,0x55,0x2c,0x30,0x78,0x38,0x36,0x38,0x62,0x38,0x62,0x30,0x64,0x55,0x2c,0x30,0x78,0x38,0x35,0x38, + 0x61,0x38,0x61,0x30,0x66,0x55,0x2c,0x0a,0x30,0x78,0x39,0x30,0x37,0x30,0x37,0x30,0x65,0x30,0x55,0x2c,0x30,0x78,0x34,0x32,0x33,0x65,0x33,0x65,0x37,0x63,0x55,0x2c, + 0x30,0x78,0x63,0x34,0x62,0x35,0x62,0x35,0x37,0x31,0x55,0x2c,0x30,0x78,0x61,0x61,0x36,0x36,0x36,0x36,0x63,0x63,0x55,0x2c,0x0a,0x30,0x78,0x64,0x38,0x34,0x38,0x34, + 0x38,0x39,0x30,0x55,0x2c,0x30,0x78,0x30,0x35,0x30,0x33,0x30,0x33,0x30,0x36,0x55,0x2c,0x30,0x78,0x30,0x31,0x66,0x36,0x66,0x36,0x66,0x37,0x55,0x2c,0x30,0x78,0x31, + 0x32,0x30,0x65,0x30,0x65,0x31,0x63,0x55,0x2c,0x0a,0x30,0x78,0x61,0x33,0x36,0x31,0x36,0x31,0x63,0x32,0x55,0x2c,0x30,0x78,0x35,0x66,0x33,0x35,0x33,0x35,0x36,0x61, + 0x55,0x2c,0x30,0x78,0x66,0x39,0x35,0x37,0x35,0x37,0x61,0x65,0x55,0x2c,0x30,0x78,0x64,0x30,0x62,0x39,0x62,0x39,0x36,0x39,0x55,0x2c,0x0a,0x30,0x78,0x39,0x31,0x38, + 0x36,0x38,0x36,0x31,0x37,0x55,0x2c,0x30,0x78,0x35,0x38,0x63,0x31,0x63,0x31,0x39,0x39,0x55,0x2c,0x30,0x78,0x32,0x37,0x31,0x64,0x31,0x64,0x33,0x61,0x55,0x2c,0x30, + 0x78,0x62,0x39,0x39,0x65,0x39,0x65,0x32,0x37,0x55,0x2c,0x0a,0x30,0x78,0x33,0x38,0x65,0x31,0x65,0x31,0x64,0x39,0x55,0x2c,0x30,0x78,0x31,0x33,0x66,0x38,0x66,0x38, + 0x65,0x62,0x55,0x2c,0x30,0x78,0x62,0x33,0x39,0x38,0x39,0x38,0x32,0x62,0x55,0x2c,0x30,0x78,0x33,0x33,0x31,0x31,0x31,0x31,0x32,0x32,0x55,0x2c,0x0a,0x30,0x78,0x62, + 0x62,0x36,0x39,0x36,0x39,0x64,0x32,0x55,0x2c,0x30,0x78,0x37,0x30,0x64,0x39,0x64,0x39,0x61,0x39,0x55,0x2c,0x30,0x78,0x38,0x39,0x38,0x65,0x38,0x65,0x30,0x37,0x55, + 0x2c,0x30,0x78,0x61,0x37,0x39,0x34,0x39,0x34,0x33,0x33,0x55,0x2c,0x0a,0x30,0x78,0x62,0x36,0x39,0x62,0x39,0x62,0x32,0x64,0x55,0x2c,0x30,0x78,0x32,0x32,0x31,0x65, + 0x31,0x65,0x33,0x63,0x55,0x2c,0x30,0x78,0x39,0x32,0x38,0x37,0x38,0x37,0x31,0x35,0x55,0x2c,0x30,0x78,0x32,0x30,0x65,0x39,0x65,0x39,0x63,0x39,0x55,0x2c,0x0a,0x30, + 0x78,0x34,0x39,0x63,0x65,0x63,0x65,0x38,0x37,0x55,0x2c,0x30,0x78,0x66,0x66,0x35,0x35,0x35,0x35,0x61,0x61,0x55,0x2c,0x30,0x78,0x37,0x38,0x32,0x38,0x32,0x38,0x35, + 0x30,0x55,0x2c,0x30,0x78,0x37,0x61,0x64,0x66,0x64,0x66,0x61,0x35,0x55,0x2c,0x0a,0x30,0x78,0x38,0x66,0x38,0x63,0x38,0x63,0x30,0x33,0x55,0x2c,0x30,0x78,0x66,0x38, + 0x61,0x31,0x61,0x31,0x35,0x39,0x55,0x2c,0x30,0x78,0x38,0x30,0x38,0x39,0x38,0x39,0x30,0x39,0x55,0x2c,0x30,0x78,0x31,0x37,0x30,0x64,0x30,0x64,0x31,0x61,0x55,0x2c, + 0x0a,0x30,0x78,0x64,0x61,0x62,0x66,0x62,0x66,0x36,0x35,0x55,0x2c,0x30,0x78,0x33,0x31,0x65,0x36,0x65,0x36,0x64,0x37,0x55,0x2c,0x30,0x78,0x63,0x36,0x34,0x32,0x34, + 0x32,0x38,0x34,0x55,0x2c,0x30,0x78,0x62,0x38,0x36,0x38,0x36,0x38,0x64,0x30,0x55,0x2c,0x0a,0x30,0x78,0x63,0x33,0x34,0x31,0x34,0x31,0x38,0x32,0x55,0x2c,0x30,0x78, + 0x62,0x30,0x39,0x39,0x39,0x39,0x32,0x39,0x55,0x2c,0x30,0x78,0x37,0x37,0x32,0x64,0x32,0x64,0x35,0x61,0x55,0x2c,0x30,0x78,0x31,0x31,0x30,0x66,0x30,0x66,0x31,0x65, + 0x55,0x2c,0x0a,0x30,0x78,0x63,0x62,0x62,0x30,0x62,0x30,0x37,0x62,0x55,0x2c,0x30,0x78,0x66,0x63,0x35,0x34,0x35,0x34,0x61,0x38,0x55,0x2c,0x30,0x78,0x64,0x36,0x62, + 0x62,0x62,0x62,0x36,0x64,0x55,0x2c,0x30,0x78,0x33,0x61,0x31,0x36,0x31,0x36,0x32,0x63,0x55,0x2c,0x0a,0x30,0x78,0x36,0x33,0x36,0x33,0x63,0x36,0x61,0x35,0x55,0x2c, + 0x30,0x78,0x37,0x63,0x37,0x63,0x66,0x38,0x38,0x34,0x55,0x2c,0x30,0x78,0x37,0x37,0x37,0x37,0x65,0x65,0x39,0x39,0x55,0x2c,0x30,0x78,0x37,0x62,0x37,0x62,0x66,0x36, + 0x38,0x64,0x55,0x2c,0x0a,0x30,0x78,0x66,0x32,0x66,0x32,0x66,0x66,0x30,0x64,0x55,0x2c,0x30,0x78,0x36,0x62,0x36,0x62,0x64,0x36,0x62,0x64,0x55,0x2c,0x30,0x78,0x36, + 0x66,0x36,0x66,0x64,0x65,0x62,0x31,0x55,0x2c,0x30,0x78,0x63,0x35,0x63,0x35,0x39,0x31,0x35,0x34,0x55,0x2c,0x0a,0x30,0x78,0x33,0x30,0x33,0x30,0x36,0x30,0x35,0x30, + 0x55,0x2c,0x30,0x78,0x30,0x31,0x30,0x31,0x30,0x32,0x30,0x33,0x55,0x2c,0x30,0x78,0x36,0x37,0x36,0x37,0x63,0x65,0x61,0x39,0x55,0x2c,0x30,0x78,0x32,0x62,0x32,0x62, + 0x35,0x36,0x37,0x64,0x55,0x2c,0x0a,0x30,0x78,0x66,0x65,0x66,0x65,0x65,0x37,0x31,0x39,0x55,0x2c,0x30,0x78,0x64,0x37,0x64,0x37,0x62,0x35,0x36,0x32,0x55,0x2c,0x30, + 0x78,0x61,0x62,0x61,0x62,0x34,0x64,0x65,0x36,0x55,0x2c,0x30,0x78,0x37,0x36,0x37,0x36,0x65,0x63,0x39,0x61,0x55,0x2c,0x0a,0x30,0x78,0x63,0x61,0x63,0x61,0x38,0x66, + 0x34,0x35,0x55,0x2c,0x30,0x78,0x38,0x32,0x38,0x32,0x31,0x66,0x39,0x64,0x55,0x2c,0x30,0x78,0x63,0x39,0x63,0x39,0x38,0x39,0x34,0x30,0x55,0x2c,0x30,0x78,0x37,0x64, + 0x37,0x64,0x66,0x61,0x38,0x37,0x55,0x2c,0x0a,0x30,0x78,0x66,0x61,0x66,0x61,0x65,0x66,0x31,0x35,0x55,0x2c,0x30,0x78,0x35,0x39,0x35,0x39,0x62,0x32,0x65,0x62,0x55, + 0x2c,0x30,0x78,0x34,0x37,0x34,0x37,0x38,0x65,0x63,0x39,0x55,0x2c,0x30,0x78,0x66,0x30,0x66,0x30,0x66,0x62,0x30,0x62,0x55,0x2c,0x0a,0x30,0x78,0x61,0x64,0x61,0x64, + 0x34,0x31,0x65,0x63,0x55,0x2c,0x30,0x78,0x64,0x34,0x64,0x34,0x62,0x33,0x36,0x37,0x55,0x2c,0x30,0x78,0x61,0x32,0x61,0x32,0x35,0x66,0x66,0x64,0x55,0x2c,0x30,0x78, + 0x61,0x66,0x61,0x66,0x34,0x35,0x65,0x61,0x55,0x2c,0x0a,0x30,0x78,0x39,0x63,0x39,0x63,0x32,0x33,0x62,0x66,0x55,0x2c,0x30,0x78,0x61,0x34,0x61,0x34,0x35,0x33,0x66, + 0x37,0x55,0x2c,0x30,0x78,0x37,0x32,0x37,0x32,0x65,0x34,0x39,0x36,0x55,0x2c,0x30,0x78,0x63,0x30,0x63,0x30,0x39,0x62,0x35,0x62,0x55,0x2c,0x0a,0x30,0x78,0x62,0x37, + 0x62,0x37,0x37,0x35,0x63,0x32,0x55,0x2c,0x30,0x78,0x66,0x64,0x66,0x64,0x65,0x31,0x31,0x63,0x55,0x2c,0x30,0x78,0x39,0x33,0x39,0x33,0x33,0x64,0x61,0x65,0x55,0x2c, + 0x30,0x78,0x32,0x36,0x32,0x36,0x34,0x63,0x36,0x61,0x55,0x2c,0x0a,0x30,0x78,0x33,0x36,0x33,0x36,0x36,0x63,0x35,0x61,0x55,0x2c,0x30,0x78,0x33,0x66,0x33,0x66,0x37, + 0x65,0x34,0x31,0x55,0x2c,0x30,0x78,0x66,0x37,0x66,0x37,0x66,0x35,0x30,0x32,0x55,0x2c,0x30,0x78,0x63,0x63,0x63,0x63,0x38,0x33,0x34,0x66,0x55,0x2c,0x0a,0x30,0x78, + 0x33,0x34,0x33,0x34,0x36,0x38,0x35,0x63,0x55,0x2c,0x30,0x78,0x61,0x35,0x61,0x35,0x35,0x31,0x66,0x34,0x55,0x2c,0x30,0x78,0x65,0x35,0x65,0x35,0x64,0x31,0x33,0x34, + 0x55,0x2c,0x30,0x78,0x66,0x31,0x66,0x31,0x66,0x39,0x30,0x38,0x55,0x2c,0x0a,0x30,0x78,0x37,0x31,0x37,0x31,0x65,0x32,0x39,0x33,0x55,0x2c,0x30,0x78,0x64,0x38,0x64, + 0x38,0x61,0x62,0x37,0x33,0x55,0x2c,0x30,0x78,0x33,0x31,0x33,0x31,0x36,0x32,0x35,0x33,0x55,0x2c,0x30,0x78,0x31,0x35,0x31,0x35,0x32,0x61,0x33,0x66,0x55,0x2c,0x0a, + 0x30,0x78,0x30,0x34,0x30,0x34,0x30,0x38,0x30,0x63,0x55,0x2c,0x30,0x78,0x63,0x37,0x63,0x37,0x39,0x35,0x35,0x32,0x55,0x2c,0x30,0x78,0x32,0x33,0x32,0x33,0x34,0x36, + 0x36,0x35,0x55,0x2c,0x30,0x78,0x63,0x33,0x63,0x33,0x39,0x64,0x35,0x65,0x55,0x2c,0x0a,0x30,0x78,0x31,0x38,0x31,0x38,0x33,0x30,0x32,0x38,0x55,0x2c,0x30,0x78,0x39, + 0x36,0x39,0x36,0x33,0x37,0x61,0x31,0x55,0x2c,0x30,0x78,0x30,0x35,0x30,0x35,0x30,0x61,0x30,0x66,0x55,0x2c,0x30,0x78,0x39,0x61,0x39,0x61,0x32,0x66,0x62,0x35,0x55, + 0x2c,0x0a,0x30,0x78,0x30,0x37,0x30,0x37,0x30,0x65,0x30,0x39,0x55,0x2c,0x30,0x78,0x31,0x32,0x31,0x32,0x32,0x34,0x33,0x36,0x55,0x2c,0x30,0x78,0x38,0x30,0x38,0x30, + 0x31,0x62,0x39,0x62,0x55,0x2c,0x30,0x78,0x65,0x32,0x65,0x32,0x64,0x66,0x33,0x64,0x55,0x2c,0x0a,0x30,0x78,0x65,0x62,0x65,0x62,0x63,0x64,0x32,0x36,0x55,0x2c,0x30, + 0x78,0x32,0x37,0x32,0x37,0x34,0x65,0x36,0x39,0x55,0x2c,0x30,0x78,0x62,0x32,0x62,0x32,0x37,0x66,0x63,0x64,0x55,0x2c,0x30,0x78,0x37,0x35,0x37,0x35,0x65,0x61,0x39, + 0x66,0x55,0x2c,0x0a,0x30,0x78,0x30,0x39,0x30,0x39,0x31,0x32,0x31,0x62,0x55,0x2c,0x30,0x78,0x38,0x33,0x38,0x33,0x31,0x64,0x39,0x65,0x55,0x2c,0x30,0x78,0x32,0x63, + 0x32,0x63,0x35,0x38,0x37,0x34,0x55,0x2c,0x30,0x78,0x31,0x61,0x31,0x61,0x33,0x34,0x32,0x65,0x55,0x2c,0x0a,0x30,0x78,0x31,0x62,0x31,0x62,0x33,0x36,0x32,0x64,0x55, + 0x2c,0x30,0x78,0x36,0x65,0x36,0x65,0x64,0x63,0x62,0x32,0x55,0x2c,0x30,0x78,0x35,0x61,0x35,0x61,0x62,0x34,0x65,0x65,0x55,0x2c,0x30,0x78,0x61,0x30,0x61,0x30,0x35, + 0x62,0x66,0x62,0x55,0x2c,0x0a,0x30,0x78,0x35,0x32,0x35,0x32,0x61,0x34,0x66,0x36,0x55,0x2c,0x30,0x78,0x33,0x62,0x33,0x62,0x37,0x36,0x34,0x64,0x55,0x2c,0x30,0x78, + 0x64,0x36,0x64,0x36,0x62,0x37,0x36,0x31,0x55,0x2c,0x30,0x78,0x62,0x33,0x62,0x33,0x37,0x64,0x63,0x65,0x55,0x2c,0x0a,0x30,0x78,0x32,0x39,0x32,0x39,0x35,0x32,0x37, + 0x62,0x55,0x2c,0x30,0x78,0x65,0x33,0x65,0x33,0x64,0x64,0x33,0x65,0x55,0x2c,0x30,0x78,0x32,0x66,0x32,0x66,0x35,0x65,0x37,0x31,0x55,0x2c,0x30,0x78,0x38,0x34,0x38, + 0x34,0x31,0x33,0x39,0x37,0x55,0x2c,0x0a,0x30,0x78,0x35,0x33,0x35,0x33,0x61,0x36,0x66,0x35,0x55,0x2c,0x30,0x78,0x64,0x31,0x64,0x31,0x62,0x39,0x36,0x38,0x55,0x2c, + 0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x30,0x78,0x65,0x64,0x65,0x64,0x63,0x31,0x32,0x63,0x55,0x2c,0x0a,0x30,0x78,0x32,0x30,0x32,0x30,0x34, + 0x30,0x36,0x30,0x55,0x2c,0x30,0x78,0x66,0x63,0x66,0x63,0x65,0x33,0x31,0x66,0x55,0x2c,0x30,0x78,0x62,0x31,0x62,0x31,0x37,0x39,0x63,0x38,0x55,0x2c,0x30,0x78,0x35, + 0x62,0x35,0x62,0x62,0x36,0x65,0x64,0x55,0x2c,0x0a,0x30,0x78,0x36,0x61,0x36,0x61,0x64,0x34,0x62,0x65,0x55,0x2c,0x30,0x78,0x63,0x62,0x63,0x62,0x38,0x64,0x34,0x36, + 0x55,0x2c,0x30,0x78,0x62,0x65,0x62,0x65,0x36,0x37,0x64,0x39,0x55,0x2c,0x30,0x78,0x33,0x39,0x33,0x39,0x37,0x32,0x34,0x62,0x55,0x2c,0x0a,0x30,0x78,0x34,0x61,0x34, + 0x61,0x39,0x34,0x64,0x65,0x55,0x2c,0x30,0x78,0x34,0x63,0x34,0x63,0x39,0x38,0x64,0x34,0x55,0x2c,0x30,0x78,0x35,0x38,0x35,0x38,0x62,0x30,0x65,0x38,0x55,0x2c,0x30, + 0x78,0x63,0x66,0x63,0x66,0x38,0x35,0x34,0x61,0x55,0x2c,0x0a,0x30,0x78,0x64,0x30,0x64,0x30,0x62,0x62,0x36,0x62,0x55,0x2c,0x30,0x78,0x65,0x66,0x65,0x66,0x63,0x35, + 0x32,0x61,0x55,0x2c,0x30,0x78,0x61,0x61,0x61,0x61,0x34,0x66,0x65,0x35,0x55,0x2c,0x30,0x78,0x66,0x62,0x66,0x62,0x65,0x64,0x31,0x36,0x55,0x2c,0x0a,0x30,0x78,0x34, + 0x33,0x34,0x33,0x38,0x36,0x63,0x35,0x55,0x2c,0x30,0x78,0x34,0x64,0x34,0x64,0x39,0x61,0x64,0x37,0x55,0x2c,0x30,0x78,0x33,0x33,0x33,0x33,0x36,0x36,0x35,0x35,0x55, + 0x2c,0x30,0x78,0x38,0x35,0x38,0x35,0x31,0x31,0x39,0x34,0x55,0x2c,0x0a,0x30,0x78,0x34,0x35,0x34,0x35,0x38,0x61,0x63,0x66,0x55,0x2c,0x30,0x78,0x66,0x39,0x66,0x39, + 0x65,0x39,0x31,0x30,0x55,0x2c,0x30,0x78,0x30,0x32,0x30,0x32,0x30,0x34,0x30,0x36,0x55,0x2c,0x30,0x78,0x37,0x66,0x37,0x66,0x66,0x65,0x38,0x31,0x55,0x2c,0x0a,0x30, + 0x78,0x35,0x30,0x35,0x30,0x61,0x30,0x66,0x30,0x55,0x2c,0x30,0x78,0x33,0x63,0x33,0x63,0x37,0x38,0x34,0x34,0x55,0x2c,0x30,0x78,0x39,0x66,0x39,0x66,0x32,0x35,0x62, + 0x61,0x55,0x2c,0x30,0x78,0x61,0x38,0x61,0x38,0x34,0x62,0x65,0x33,0x55,0x2c,0x0a,0x30,0x78,0x35,0x31,0x35,0x31,0x61,0x32,0x66,0x33,0x55,0x2c,0x30,0x78,0x61,0x33, + 0x61,0x33,0x35,0x64,0x66,0x65,0x55,0x2c,0x30,0x78,0x34,0x30,0x34,0x30,0x38,0x30,0x63,0x30,0x55,0x2c,0x30,0x78,0x38,0x66,0x38,0x66,0x30,0x35,0x38,0x61,0x55,0x2c, + 0x0a,0x30,0x78,0x39,0x32,0x39,0x32,0x33,0x66,0x61,0x64,0x55,0x2c,0x30,0x78,0x39,0x64,0x39,0x64,0x32,0x31,0x62,0x63,0x55,0x2c,0x30,0x78,0x33,0x38,0x33,0x38,0x37, + 0x30,0x34,0x38,0x55,0x2c,0x30,0x78,0x66,0x35,0x66,0x35,0x66,0x31,0x30,0x34,0x55,0x2c,0x0a,0x30,0x78,0x62,0x63,0x62,0x63,0x36,0x33,0x64,0x66,0x55,0x2c,0x30,0x78, + 0x62,0x36,0x62,0x36,0x37,0x37,0x63,0x31,0x55,0x2c,0x30,0x78,0x64,0x61,0x64,0x61,0x61,0x66,0x37,0x35,0x55,0x2c,0x30,0x78,0x32,0x31,0x32,0x31,0x34,0x32,0x36,0x33, + 0x55,0x2c,0x0a,0x30,0x78,0x31,0x30,0x31,0x30,0x32,0x30,0x33,0x30,0x55,0x2c,0x30,0x78,0x66,0x66,0x66,0x66,0x65,0x35,0x31,0x61,0x55,0x2c,0x30,0x78,0x66,0x33,0x66, + 0x33,0x66,0x64,0x30,0x65,0x55,0x2c,0x30,0x78,0x64,0x32,0x64,0x32,0x62,0x66,0x36,0x64,0x55,0x2c,0x0a,0x30,0x78,0x63,0x64,0x63,0x64,0x38,0x31,0x34,0x63,0x55,0x2c, + 0x30,0x78,0x30,0x63,0x30,0x63,0x31,0x38,0x31,0x34,0x55,0x2c,0x30,0x78,0x31,0x33,0x31,0x33,0x32,0x36,0x33,0x35,0x55,0x2c,0x30,0x78,0x65,0x63,0x65,0x63,0x63,0x33, + 0x32,0x66,0x55,0x2c,0x0a,0x30,0x78,0x35,0x66,0x35,0x66,0x62,0x65,0x65,0x31,0x55,0x2c,0x30,0x78,0x39,0x37,0x39,0x37,0x33,0x35,0x61,0x32,0x55,0x2c,0x30,0x78,0x34, + 0x34,0x34,0x34,0x38,0x38,0x63,0x63,0x55,0x2c,0x30,0x78,0x31,0x37,0x31,0x37,0x32,0x65,0x33,0x39,0x55,0x2c,0x0a,0x30,0x78,0x63,0x34,0x63,0x34,0x39,0x33,0x35,0x37, + 0x55,0x2c,0x30,0x78,0x61,0x37,0x61,0x37,0x35,0x35,0x66,0x32,0x55,0x2c,0x30,0x78,0x37,0x65,0x37,0x65,0x66,0x63,0x38,0x32,0x55,0x2c,0x30,0x78,0x33,0x64,0x33,0x64, + 0x37,0x61,0x34,0x37,0x55,0x2c,0x0a,0x30,0x78,0x36,0x34,0x36,0x34,0x63,0x38,0x61,0x63,0x55,0x2c,0x30,0x78,0x35,0x64,0x35,0x64,0x62,0x61,0x65,0x37,0x55,0x2c,0x30, + 0x78,0x31,0x39,0x31,0x39,0x33,0x32,0x32,0x62,0x55,0x2c,0x30,0x78,0x37,0x33,0x37,0x33,0x65,0x36,0x39,0x35,0x55,0x2c,0x0a,0x30,0x78,0x36,0x30,0x36,0x30,0x63,0x30, + 0x61,0x30,0x55,0x2c,0x30,0x78,0x38,0x31,0x38,0x31,0x31,0x39,0x39,0x38,0x55,0x2c,0x30,0x78,0x34,0x66,0x34,0x66,0x39,0x65,0x64,0x31,0x55,0x2c,0x30,0x78,0x64,0x63, + 0x64,0x63,0x61,0x33,0x37,0x66,0x55,0x2c,0x0a,0x30,0x78,0x32,0x32,0x32,0x32,0x34,0x34,0x36,0x36,0x55,0x2c,0x30,0x78,0x32,0x61,0x32,0x61,0x35,0x34,0x37,0x65,0x55, + 0x2c,0x30,0x78,0x39,0x30,0x39,0x30,0x33,0x62,0x61,0x62,0x55,0x2c,0x30,0x78,0x38,0x38,0x38,0x38,0x30,0x62,0x38,0x33,0x55,0x2c,0x0a,0x30,0x78,0x34,0x36,0x34,0x36, + 0x38,0x63,0x63,0x61,0x55,0x2c,0x30,0x78,0x65,0x65,0x65,0x65,0x63,0x37,0x32,0x39,0x55,0x2c,0x30,0x78,0x62,0x38,0x62,0x38,0x36,0x62,0x64,0x33,0x55,0x2c,0x30,0x78, + 0x31,0x34,0x31,0x34,0x32,0x38,0x33,0x63,0x55,0x2c,0x0a,0x30,0x78,0x64,0x65,0x64,0x65,0x61,0x37,0x37,0x39,0x55,0x2c,0x30,0x78,0x35,0x65,0x35,0x65,0x62,0x63,0x65, + 0x32,0x55,0x2c,0x30,0x78,0x30,0x62,0x30,0x62,0x31,0x36,0x31,0x64,0x55,0x2c,0x30,0x78,0x64,0x62,0x64,0x62,0x61,0x64,0x37,0x36,0x55,0x2c,0x0a,0x30,0x78,0x65,0x30, + 0x65,0x30,0x64,0x62,0x33,0x62,0x55,0x2c,0x30,0x78,0x33,0x32,0x33,0x32,0x36,0x34,0x35,0x36,0x55,0x2c,0x30,0x78,0x33,0x61,0x33,0x61,0x37,0x34,0x34,0x65,0x55,0x2c, + 0x30,0x78,0x30,0x61,0x30,0x61,0x31,0x34,0x31,0x65,0x55,0x2c,0x0a,0x30,0x78,0x34,0x39,0x34,0x39,0x39,0x32,0x64,0x62,0x55,0x2c,0x30,0x78,0x30,0x36,0x30,0x36,0x30, + 0x63,0x30,0x61,0x55,0x2c,0x30,0x78,0x32,0x34,0x32,0x34,0x34,0x38,0x36,0x63,0x55,0x2c,0x30,0x78,0x35,0x63,0x35,0x63,0x62,0x38,0x65,0x34,0x55,0x2c,0x0a,0x30,0x78, + 0x63,0x32,0x63,0x32,0x39,0x66,0x35,0x64,0x55,0x2c,0x30,0x78,0x64,0x33,0x64,0x33,0x62,0x64,0x36,0x65,0x55,0x2c,0x30,0x78,0x61,0x63,0x61,0x63,0x34,0x33,0x65,0x66, + 0x55,0x2c,0x30,0x78,0x36,0x32,0x36,0x32,0x63,0x34,0x61,0x36,0x55,0x2c,0x0a,0x30,0x78,0x39,0x31,0x39,0x31,0x33,0x39,0x61,0x38,0x55,0x2c,0x30,0x78,0x39,0x35,0x39, + 0x35,0x33,0x31,0x61,0x34,0x55,0x2c,0x30,0x78,0x65,0x34,0x65,0x34,0x64,0x33,0x33,0x37,0x55,0x2c,0x30,0x78,0x37,0x39,0x37,0x39,0x66,0x32,0x38,0x62,0x55,0x2c,0x0a, + 0x30,0x78,0x65,0x37,0x65,0x37,0x64,0x35,0x33,0x32,0x55,0x2c,0x30,0x78,0x63,0x38,0x63,0x38,0x38,0x62,0x34,0x33,0x55,0x2c,0x30,0x78,0x33,0x37,0x33,0x37,0x36,0x65, + 0x35,0x39,0x55,0x2c,0x30,0x78,0x36,0x64,0x36,0x64,0x64,0x61,0x62,0x37,0x55,0x2c,0x0a,0x30,0x78,0x38,0x64,0x38,0x64,0x30,0x31,0x38,0x63,0x55,0x2c,0x30,0x78,0x64, + 0x35,0x64,0x35,0x62,0x31,0x36,0x34,0x55,0x2c,0x30,0x78,0x34,0x65,0x34,0x65,0x39,0x63,0x64,0x32,0x55,0x2c,0x30,0x78,0x61,0x39,0x61,0x39,0x34,0x39,0x65,0x30,0x55, + 0x2c,0x0a,0x30,0x78,0x36,0x63,0x36,0x63,0x64,0x38,0x62,0x34,0x55,0x2c,0x30,0x78,0x35,0x36,0x35,0x36,0x61,0x63,0x66,0x61,0x55,0x2c,0x30,0x78,0x66,0x34,0x66,0x34, + 0x66,0x33,0x30,0x37,0x55,0x2c,0x30,0x78,0x65,0x61,0x65,0x61,0x63,0x66,0x32,0x35,0x55,0x2c,0x0a,0x30,0x78,0x36,0x35,0x36,0x35,0x63,0x61,0x61,0x66,0x55,0x2c,0x30, + 0x78,0x37,0x61,0x37,0x61,0x66,0x34,0x38,0x65,0x55,0x2c,0x30,0x78,0x61,0x65,0x61,0x65,0x34,0x37,0x65,0x39,0x55,0x2c,0x30,0x78,0x30,0x38,0x30,0x38,0x31,0x30,0x31, + 0x38,0x55,0x2c,0x0a,0x30,0x78,0x62,0x61,0x62,0x61,0x36,0x66,0x64,0x35,0x55,0x2c,0x30,0x78,0x37,0x38,0x37,0x38,0x66,0x30,0x38,0x38,0x55,0x2c,0x30,0x78,0x32,0x35, + 0x32,0x35,0x34,0x61,0x36,0x66,0x55,0x2c,0x30,0x78,0x32,0x65,0x32,0x65,0x35,0x63,0x37,0x32,0x55,0x2c,0x0a,0x30,0x78,0x31,0x63,0x31,0x63,0x33,0x38,0x32,0x34,0x55, + 0x2c,0x30,0x78,0x61,0x36,0x61,0x36,0x35,0x37,0x66,0x31,0x55,0x2c,0x30,0x78,0x62,0x34,0x62,0x34,0x37,0x33,0x63,0x37,0x55,0x2c,0x30,0x78,0x63,0x36,0x63,0x36,0x39, + 0x37,0x35,0x31,0x55,0x2c,0x0a,0x30,0x78,0x65,0x38,0x65,0x38,0x63,0x62,0x32,0x33,0x55,0x2c,0x30,0x78,0x64,0x64,0x64,0x64,0x61,0x31,0x37,0x63,0x55,0x2c,0x30,0x78, + 0x37,0x34,0x37,0x34,0x65,0x38,0x39,0x63,0x55,0x2c,0x30,0x78,0x31,0x66,0x31,0x66,0x33,0x65,0x32,0x31,0x55,0x2c,0x0a,0x30,0x78,0x34,0x62,0x34,0x62,0x39,0x36,0x64, + 0x64,0x55,0x2c,0x30,0x78,0x62,0x64,0x62,0x64,0x36,0x31,0x64,0x63,0x55,0x2c,0x30,0x78,0x38,0x62,0x38,0x62,0x30,0x64,0x38,0x36,0x55,0x2c,0x30,0x78,0x38,0x61,0x38, + 0x61,0x30,0x66,0x38,0x35,0x55,0x2c,0x0a,0x30,0x78,0x37,0x30,0x37,0x30,0x65,0x30,0x39,0x30,0x55,0x2c,0x30,0x78,0x33,0x65,0x33,0x65,0x37,0x63,0x34,0x32,0x55,0x2c, + 0x30,0x78,0x62,0x35,0x62,0x35,0x37,0x31,0x63,0x34,0x55,0x2c,0x30,0x78,0x36,0x36,0x36,0x36,0x63,0x63,0x61,0x61,0x55,0x2c,0x0a,0x30,0x78,0x34,0x38,0x34,0x38,0x39, + 0x30,0x64,0x38,0x55,0x2c,0x30,0x78,0x30,0x33,0x30,0x33,0x30,0x36,0x30,0x35,0x55,0x2c,0x30,0x78,0x66,0x36,0x66,0x36,0x66,0x37,0x30,0x31,0x55,0x2c,0x30,0x78,0x30, + 0x65,0x30,0x65,0x31,0x63,0x31,0x32,0x55,0x2c,0x0a,0x30,0x78,0x36,0x31,0x36,0x31,0x63,0x32,0x61,0x33,0x55,0x2c,0x30,0x78,0x33,0x35,0x33,0x35,0x36,0x61,0x35,0x66, + 0x55,0x2c,0x30,0x78,0x35,0x37,0x35,0x37,0x61,0x65,0x66,0x39,0x55,0x2c,0x30,0x78,0x62,0x39,0x62,0x39,0x36,0x39,0x64,0x30,0x55,0x2c,0x0a,0x30,0x78,0x38,0x36,0x38, + 0x36,0x31,0x37,0x39,0x31,0x55,0x2c,0x30,0x78,0x63,0x31,0x63,0x31,0x39,0x39,0x35,0x38,0x55,0x2c,0x30,0x78,0x31,0x64,0x31,0x64,0x33,0x61,0x32,0x37,0x55,0x2c,0x30, + 0x78,0x39,0x65,0x39,0x65,0x32,0x37,0x62,0x39,0x55,0x2c,0x0a,0x30,0x78,0x65,0x31,0x65,0x31,0x64,0x39,0x33,0x38,0x55,0x2c,0x30,0x78,0x66,0x38,0x66,0x38,0x65,0x62, + 0x31,0x33,0x55,0x2c,0x30,0x78,0x39,0x38,0x39,0x38,0x32,0x62,0x62,0x33,0x55,0x2c,0x30,0x78,0x31,0x31,0x31,0x31,0x32,0x32,0x33,0x33,0x55,0x2c,0x0a,0x30,0x78,0x36, + 0x39,0x36,0x39,0x64,0x32,0x62,0x62,0x55,0x2c,0x30,0x78,0x64,0x39,0x64,0x39,0x61,0x39,0x37,0x30,0x55,0x2c,0x30,0x78,0x38,0x65,0x38,0x65,0x30,0x37,0x38,0x39,0x55, + 0x2c,0x30,0x78,0x39,0x34,0x39,0x34,0x33,0x33,0x61,0x37,0x55,0x2c,0x0a,0x30,0x78,0x39,0x62,0x39,0x62,0x32,0x64,0x62,0x36,0x55,0x2c,0x30,0x78,0x31,0x65,0x31,0x65, + 0x33,0x63,0x32,0x32,0x55,0x2c,0x30,0x78,0x38,0x37,0x38,0x37,0x31,0x35,0x39,0x32,0x55,0x2c,0x30,0x78,0x65,0x39,0x65,0x39,0x63,0x39,0x32,0x30,0x55,0x2c,0x0a,0x30, + 0x78,0x63,0x65,0x63,0x65,0x38,0x37,0x34,0x39,0x55,0x2c,0x30,0x78,0x35,0x35,0x35,0x35,0x61,0x61,0x66,0x66,0x55,0x2c,0x30,0x78,0x32,0x38,0x32,0x38,0x35,0x30,0x37, + 0x38,0x55,0x2c,0x30,0x78,0x64,0x66,0x64,0x66,0x61,0x35,0x37,0x61,0x55,0x2c,0x0a,0x30,0x78,0x38,0x63,0x38,0x63,0x30,0x33,0x38,0x66,0x55,0x2c,0x30,0x78,0x61,0x31, + 0x61,0x31,0x35,0x39,0x66,0x38,0x55,0x2c,0x30,0x78,0x38,0x39,0x38,0x39,0x30,0x39,0x38,0x30,0x55,0x2c,0x30,0x78,0x30,0x64,0x30,0x64,0x31,0x61,0x31,0x37,0x55,0x2c, + 0x0a,0x30,0x78,0x62,0x66,0x62,0x66,0x36,0x35,0x64,0x61,0x55,0x2c,0x30,0x78,0x65,0x36,0x65,0x36,0x64,0x37,0x33,0x31,0x55,0x2c,0x30,0x78,0x34,0x32,0x34,0x32,0x38, + 0x34,0x63,0x36,0x55,0x2c,0x30,0x78,0x36,0x38,0x36,0x38,0x64,0x30,0x62,0x38,0x55,0x2c,0x0a,0x30,0x78,0x34,0x31,0x34,0x31,0x38,0x32,0x63,0x33,0x55,0x2c,0x30,0x78, + 0x39,0x39,0x39,0x39,0x32,0x39,0x62,0x30,0x55,0x2c,0x30,0x78,0x32,0x64,0x32,0x64,0x35,0x61,0x37,0x37,0x55,0x2c,0x30,0x78,0x30,0x66,0x30,0x66,0x31,0x65,0x31,0x31, + 0x55,0x2c,0x0a,0x30,0x78,0x62,0x30,0x62,0x30,0x37,0x62,0x63,0x62,0x55,0x2c,0x30,0x78,0x35,0x34,0x35,0x34,0x61,0x38,0x66,0x63,0x55,0x2c,0x30,0x78,0x62,0x62,0x62, + 0x62,0x36,0x64,0x64,0x36,0x55,0x2c,0x30,0x78,0x31,0x36,0x31,0x36,0x32,0x63,0x33,0x61,0x55,0x2c,0x0a,0x30,0x78,0x36,0x33,0x63,0x36,0x61,0x35,0x36,0x33,0x55,0x2c, + 0x30,0x78,0x37,0x63,0x66,0x38,0x38,0x34,0x37,0x63,0x55,0x2c,0x30,0x78,0x37,0x37,0x65,0x65,0x39,0x39,0x37,0x37,0x55,0x2c,0x30,0x78,0x37,0x62,0x66,0x36,0x38,0x64, + 0x37,0x62,0x55,0x2c,0x0a,0x30,0x78,0x66,0x32,0x66,0x66,0x30,0x64,0x66,0x32,0x55,0x2c,0x30,0x78,0x36,0x62,0x64,0x36,0x62,0x64,0x36,0x62,0x55,0x2c,0x30,0x78,0x36, + 0x66,0x64,0x65,0x62,0x31,0x36,0x66,0x55,0x2c,0x30,0x78,0x63,0x35,0x39,0x31,0x35,0x34,0x63,0x35,0x55,0x2c,0x0a,0x30,0x78,0x33,0x30,0x36,0x30,0x35,0x30,0x33,0x30, + 0x55,0x2c,0x30,0x78,0x30,0x31,0x30,0x32,0x30,0x33,0x30,0x31,0x55,0x2c,0x30,0x78,0x36,0x37,0x63,0x65,0x61,0x39,0x36,0x37,0x55,0x2c,0x30,0x78,0x32,0x62,0x35,0x36, + 0x37,0x64,0x32,0x62,0x55,0x2c,0x0a,0x30,0x78,0x66,0x65,0x65,0x37,0x31,0x39,0x66,0x65,0x55,0x2c,0x30,0x78,0x64,0x37,0x62,0x35,0x36,0x32,0x64,0x37,0x55,0x2c,0x30, + 0x78,0x61,0x62,0x34,0x64,0x65,0x36,0x61,0x62,0x55,0x2c,0x30,0x78,0x37,0x36,0x65,0x63,0x39,0x61,0x37,0x36,0x55,0x2c,0x0a,0x30,0x78,0x63,0x61,0x38,0x66,0x34,0x35, + 0x63,0x61,0x55,0x2c,0x30,0x78,0x38,0x32,0x31,0x66,0x39,0x64,0x38,0x32,0x55,0x2c,0x30,0x78,0x63,0x39,0x38,0x39,0x34,0x30,0x63,0x39,0x55,0x2c,0x30,0x78,0x37,0x64, + 0x66,0x61,0x38,0x37,0x37,0x64,0x55,0x2c,0x0a,0x30,0x78,0x66,0x61,0x65,0x66,0x31,0x35,0x66,0x61,0x55,0x2c,0x30,0x78,0x35,0x39,0x62,0x32,0x65,0x62,0x35,0x39,0x55, + 0x2c,0x30,0x78,0x34,0x37,0x38,0x65,0x63,0x39,0x34,0x37,0x55,0x2c,0x30,0x78,0x66,0x30,0x66,0x62,0x30,0x62,0x66,0x30,0x55,0x2c,0x0a,0x30,0x78,0x61,0x64,0x34,0x31, + 0x65,0x63,0x61,0x64,0x55,0x2c,0x30,0x78,0x64,0x34,0x62,0x33,0x36,0x37,0x64,0x34,0x55,0x2c,0x30,0x78,0x61,0x32,0x35,0x66,0x66,0x64,0x61,0x32,0x55,0x2c,0x30,0x78, + 0x61,0x66,0x34,0x35,0x65,0x61,0x61,0x66,0x55,0x2c,0x0a,0x30,0x78,0x39,0x63,0x32,0x33,0x62,0x66,0x39,0x63,0x55,0x2c,0x30,0x78,0x61,0x34,0x35,0x33,0x66,0x37,0x61, + 0x34,0x55,0x2c,0x30,0x78,0x37,0x32,0x65,0x34,0x39,0x36,0x37,0x32,0x55,0x2c,0x30,0x78,0x63,0x30,0x39,0x62,0x35,0x62,0x63,0x30,0x55,0x2c,0x0a,0x30,0x78,0x62,0x37, + 0x37,0x35,0x63,0x32,0x62,0x37,0x55,0x2c,0x30,0x78,0x66,0x64,0x65,0x31,0x31,0x63,0x66,0x64,0x55,0x2c,0x30,0x78,0x39,0x33,0x33,0x64,0x61,0x65,0x39,0x33,0x55,0x2c, + 0x30,0x78,0x32,0x36,0x34,0x63,0x36,0x61,0x32,0x36,0x55,0x2c,0x0a,0x30,0x78,0x33,0x36,0x36,0x63,0x35,0x61,0x33,0x36,0x55,0x2c,0x30,0x78,0x33,0x66,0x37,0x65,0x34, + 0x31,0x33,0x66,0x55,0x2c,0x30,0x78,0x66,0x37,0x66,0x35,0x30,0x32,0x66,0x37,0x55,0x2c,0x30,0x78,0x63,0x63,0x38,0x33,0x34,0x66,0x63,0x63,0x55,0x2c,0x0a,0x30,0x78, + 0x33,0x34,0x36,0x38,0x35,0x63,0x33,0x34,0x55,0x2c,0x30,0x78,0x61,0x35,0x35,0x31,0x66,0x34,0x61,0x35,0x55,0x2c,0x30,0x78,0x65,0x35,0x64,0x31,0x33,0x34,0x65,0x35, + 0x55,0x2c,0x30,0x78,0x66,0x31,0x66,0x39,0x30,0x38,0x66,0x31,0x55,0x2c,0x0a,0x30,0x78,0x37,0x31,0x65,0x32,0x39,0x33,0x37,0x31,0x55,0x2c,0x30,0x78,0x64,0x38,0x61, + 0x62,0x37,0x33,0x64,0x38,0x55,0x2c,0x30,0x78,0x33,0x31,0x36,0x32,0x35,0x33,0x33,0x31,0x55,0x2c,0x30,0x78,0x31,0x35,0x32,0x61,0x33,0x66,0x31,0x35,0x55,0x2c,0x0a, + 0x30,0x78,0x30,0x34,0x30,0x38,0x30,0x63,0x30,0x34,0x55,0x2c,0x30,0x78,0x63,0x37,0x39,0x35,0x35,0x32,0x63,0x37,0x55,0x2c,0x30,0x78,0x32,0x33,0x34,0x36,0x36,0x35, + 0x32,0x33,0x55,0x2c,0x30,0x78,0x63,0x33,0x39,0x64,0x35,0x65,0x63,0x33,0x55,0x2c,0x0a,0x30,0x78,0x31,0x38,0x33,0x30,0x32,0x38,0x31,0x38,0x55,0x2c,0x30,0x78,0x39, + 0x36,0x33,0x37,0x61,0x31,0x39,0x36,0x55,0x2c,0x30,0x78,0x30,0x35,0x30,0x61,0x30,0x66,0x30,0x35,0x55,0x2c,0x30,0x78,0x39,0x61,0x32,0x66,0x62,0x35,0x39,0x61,0x55, + 0x2c,0x0a,0x30,0x78,0x30,0x37,0x30,0x65,0x30,0x39,0x30,0x37,0x55,0x2c,0x30,0x78,0x31,0x32,0x32,0x34,0x33,0x36,0x31,0x32,0x55,0x2c,0x30,0x78,0x38,0x30,0x31,0x62, + 0x39,0x62,0x38,0x30,0x55,0x2c,0x30,0x78,0x65,0x32,0x64,0x66,0x33,0x64,0x65,0x32,0x55,0x2c,0x0a,0x30,0x78,0x65,0x62,0x63,0x64,0x32,0x36,0x65,0x62,0x55,0x2c,0x30, + 0x78,0x32,0x37,0x34,0x65,0x36,0x39,0x32,0x37,0x55,0x2c,0x30,0x78,0x62,0x32,0x37,0x66,0x63,0x64,0x62,0x32,0x55,0x2c,0x30,0x78,0x37,0x35,0x65,0x61,0x39,0x66,0x37, + 0x35,0x55,0x2c,0x0a,0x30,0x78,0x30,0x39,0x31,0x32,0x31,0x62,0x30,0x39,0x55,0x2c,0x30,0x78,0x38,0x33,0x31,0x64,0x39,0x65,0x38,0x33,0x55,0x2c,0x30,0x78,0x32,0x63, + 0x35,0x38,0x37,0x34,0x32,0x63,0x55,0x2c,0x30,0x78,0x31,0x61,0x33,0x34,0x32,0x65,0x31,0x61,0x55,0x2c,0x0a,0x30,0x78,0x31,0x62,0x33,0x36,0x32,0x64,0x31,0x62,0x55, + 0x2c,0x30,0x78,0x36,0x65,0x64,0x63,0x62,0x32,0x36,0x65,0x55,0x2c,0x30,0x78,0x35,0x61,0x62,0x34,0x65,0x65,0x35,0x61,0x55,0x2c,0x30,0x78,0x61,0x30,0x35,0x62,0x66, + 0x62,0x61,0x30,0x55,0x2c,0x0a,0x30,0x78,0x35,0x32,0x61,0x34,0x66,0x36,0x35,0x32,0x55,0x2c,0x30,0x78,0x33,0x62,0x37,0x36,0x34,0x64,0x33,0x62,0x55,0x2c,0x30,0x78, + 0x64,0x36,0x62,0x37,0x36,0x31,0x64,0x36,0x55,0x2c,0x30,0x78,0x62,0x33,0x37,0x64,0x63,0x65,0x62,0x33,0x55,0x2c,0x0a,0x30,0x78,0x32,0x39,0x35,0x32,0x37,0x62,0x32, + 0x39,0x55,0x2c,0x30,0x78,0x65,0x33,0x64,0x64,0x33,0x65,0x65,0x33,0x55,0x2c,0x30,0x78,0x32,0x66,0x35,0x65,0x37,0x31,0x32,0x66,0x55,0x2c,0x30,0x78,0x38,0x34,0x31, + 0x33,0x39,0x37,0x38,0x34,0x55,0x2c,0x0a,0x30,0x78,0x35,0x33,0x61,0x36,0x66,0x35,0x35,0x33,0x55,0x2c,0x30,0x78,0x64,0x31,0x62,0x39,0x36,0x38,0x64,0x31,0x55,0x2c, + 0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x30,0x78,0x65,0x64,0x63,0x31,0x32,0x63,0x65,0x64,0x55,0x2c,0x0a,0x30,0x78,0x32,0x30,0x34,0x30,0x36, + 0x30,0x32,0x30,0x55,0x2c,0x30,0x78,0x66,0x63,0x65,0x33,0x31,0x66,0x66,0x63,0x55,0x2c,0x30,0x78,0x62,0x31,0x37,0x39,0x63,0x38,0x62,0x31,0x55,0x2c,0x30,0x78,0x35, + 0x62,0x62,0x36,0x65,0x64,0x35,0x62,0x55,0x2c,0x0a,0x30,0x78,0x36,0x61,0x64,0x34,0x62,0x65,0x36,0x61,0x55,0x2c,0x30,0x78,0x63,0x62,0x38,0x64,0x34,0x36,0x63,0x62, + 0x55,0x2c,0x30,0x78,0x62,0x65,0x36,0x37,0x64,0x39,0x62,0x65,0x55,0x2c,0x30,0x78,0x33,0x39,0x37,0x32,0x34,0x62,0x33,0x39,0x55,0x2c,0x0a,0x30,0x78,0x34,0x61,0x39, + 0x34,0x64,0x65,0x34,0x61,0x55,0x2c,0x30,0x78,0x34,0x63,0x39,0x38,0x64,0x34,0x34,0x63,0x55,0x2c,0x30,0x78,0x35,0x38,0x62,0x30,0x65,0x38,0x35,0x38,0x55,0x2c,0x30, + 0x78,0x63,0x66,0x38,0x35,0x34,0x61,0x63,0x66,0x55,0x2c,0x0a,0x30,0x78,0x64,0x30,0x62,0x62,0x36,0x62,0x64,0x30,0x55,0x2c,0x30,0x78,0x65,0x66,0x63,0x35,0x32,0x61, + 0x65,0x66,0x55,0x2c,0x30,0x78,0x61,0x61,0x34,0x66,0x65,0x35,0x61,0x61,0x55,0x2c,0x30,0x78,0x66,0x62,0x65,0x64,0x31,0x36,0x66,0x62,0x55,0x2c,0x0a,0x30,0x78,0x34, + 0x33,0x38,0x36,0x63,0x35,0x34,0x33,0x55,0x2c,0x30,0x78,0x34,0x64,0x39,0x61,0x64,0x37,0x34,0x64,0x55,0x2c,0x30,0x78,0x33,0x33,0x36,0x36,0x35,0x35,0x33,0x33,0x55, + 0x2c,0x30,0x78,0x38,0x35,0x31,0x31,0x39,0x34,0x38,0x35,0x55,0x2c,0x0a,0x30,0x78,0x34,0x35,0x38,0x61,0x63,0x66,0x34,0x35,0x55,0x2c,0x30,0x78,0x66,0x39,0x65,0x39, + 0x31,0x30,0x66,0x39,0x55,0x2c,0x30,0x78,0x30,0x32,0x30,0x34,0x30,0x36,0x30,0x32,0x55,0x2c,0x30,0x78,0x37,0x66,0x66,0x65,0x38,0x31,0x37,0x66,0x55,0x2c,0x0a,0x30, + 0x78,0x35,0x30,0x61,0x30,0x66,0x30,0x35,0x30,0x55,0x2c,0x30,0x78,0x33,0x63,0x37,0x38,0x34,0x34,0x33,0x63,0x55,0x2c,0x30,0x78,0x39,0x66,0x32,0x35,0x62,0x61,0x39, + 0x66,0x55,0x2c,0x30,0x78,0x61,0x38,0x34,0x62,0x65,0x33,0x61,0x38,0x55,0x2c,0x0a,0x30,0x78,0x35,0x31,0x61,0x32,0x66,0x33,0x35,0x31,0x55,0x2c,0x30,0x78,0x61,0x33, + 0x35,0x64,0x66,0x65,0x61,0x33,0x55,0x2c,0x30,0x78,0x34,0x30,0x38,0x30,0x63,0x30,0x34,0x30,0x55,0x2c,0x30,0x78,0x38,0x66,0x30,0x35,0x38,0x61,0x38,0x66,0x55,0x2c, + 0x0a,0x30,0x78,0x39,0x32,0x33,0x66,0x61,0x64,0x39,0x32,0x55,0x2c,0x30,0x78,0x39,0x64,0x32,0x31,0x62,0x63,0x39,0x64,0x55,0x2c,0x30,0x78,0x33,0x38,0x37,0x30,0x34, + 0x38,0x33,0x38,0x55,0x2c,0x30,0x78,0x66,0x35,0x66,0x31,0x30,0x34,0x66,0x35,0x55,0x2c,0x0a,0x30,0x78,0x62,0x63,0x36,0x33,0x64,0x66,0x62,0x63,0x55,0x2c,0x30,0x78, + 0x62,0x36,0x37,0x37,0x63,0x31,0x62,0x36,0x55,0x2c,0x30,0x78,0x64,0x61,0x61,0x66,0x37,0x35,0x64,0x61,0x55,0x2c,0x30,0x78,0x32,0x31,0x34,0x32,0x36,0x33,0x32,0x31, + 0x55,0x2c,0x0a,0x30,0x78,0x31,0x30,0x32,0x30,0x33,0x30,0x31,0x30,0x55,0x2c,0x30,0x78,0x66,0x66,0x65,0x35,0x31,0x61,0x66,0x66,0x55,0x2c,0x30,0x78,0x66,0x33,0x66, + 0x64,0x30,0x65,0x66,0x33,0x55,0x2c,0x30,0x78,0x64,0x32,0x62,0x66,0x36,0x64,0x64,0x32,0x55,0x2c,0x0a,0x30,0x78,0x63,0x64,0x38,0x31,0x34,0x63,0x63,0x64,0x55,0x2c, + 0x30,0x78,0x30,0x63,0x31,0x38,0x31,0x34,0x30,0x63,0x55,0x2c,0x30,0x78,0x31,0x33,0x32,0x36,0x33,0x35,0x31,0x33,0x55,0x2c,0x30,0x78,0x65,0x63,0x63,0x33,0x32,0x66, + 0x65,0x63,0x55,0x2c,0x0a,0x30,0x78,0x35,0x66,0x62,0x65,0x65,0x31,0x35,0x66,0x55,0x2c,0x30,0x78,0x39,0x37,0x33,0x35,0x61,0x32,0x39,0x37,0x55,0x2c,0x30,0x78,0x34, + 0x34,0x38,0x38,0x63,0x63,0x34,0x34,0x55,0x2c,0x30,0x78,0x31,0x37,0x32,0x65,0x33,0x39,0x31,0x37,0x55,0x2c,0x0a,0x30,0x78,0x63,0x34,0x39,0x33,0x35,0x37,0x63,0x34, + 0x55,0x2c,0x30,0x78,0x61,0x37,0x35,0x35,0x66,0x32,0x61,0x37,0x55,0x2c,0x30,0x78,0x37,0x65,0x66,0x63,0x38,0x32,0x37,0x65,0x55,0x2c,0x30,0x78,0x33,0x64,0x37,0x61, + 0x34,0x37,0x33,0x64,0x55,0x2c,0x0a,0x30,0x78,0x36,0x34,0x63,0x38,0x61,0x63,0x36,0x34,0x55,0x2c,0x30,0x78,0x35,0x64,0x62,0x61,0x65,0x37,0x35,0x64,0x55,0x2c,0x30, + 0x78,0x31,0x39,0x33,0x32,0x32,0x62,0x31,0x39,0x55,0x2c,0x30,0x78,0x37,0x33,0x65,0x36,0x39,0x35,0x37,0x33,0x55,0x2c,0x0a,0x30,0x78,0x36,0x30,0x63,0x30,0x61,0x30, + 0x36,0x30,0x55,0x2c,0x30,0x78,0x38,0x31,0x31,0x39,0x39,0x38,0x38,0x31,0x55,0x2c,0x30,0x78,0x34,0x66,0x39,0x65,0x64,0x31,0x34,0x66,0x55,0x2c,0x30,0x78,0x64,0x63, + 0x61,0x33,0x37,0x66,0x64,0x63,0x55,0x2c,0x0a,0x30,0x78,0x32,0x32,0x34,0x34,0x36,0x36,0x32,0x32,0x55,0x2c,0x30,0x78,0x32,0x61,0x35,0x34,0x37,0x65,0x32,0x61,0x55, + 0x2c,0x30,0x78,0x39,0x30,0x33,0x62,0x61,0x62,0x39,0x30,0x55,0x2c,0x30,0x78,0x38,0x38,0x30,0x62,0x38,0x33,0x38,0x38,0x55,0x2c,0x0a,0x30,0x78,0x34,0x36,0x38,0x63, + 0x63,0x61,0x34,0x36,0x55,0x2c,0x30,0x78,0x65,0x65,0x63,0x37,0x32,0x39,0x65,0x65,0x55,0x2c,0x30,0x78,0x62,0x38,0x36,0x62,0x64,0x33,0x62,0x38,0x55,0x2c,0x30,0x78, + 0x31,0x34,0x32,0x38,0x33,0x63,0x31,0x34,0x55,0x2c,0x0a,0x30,0x78,0x64,0x65,0x61,0x37,0x37,0x39,0x64,0x65,0x55,0x2c,0x30,0x78,0x35,0x65,0x62,0x63,0x65,0x32,0x35, + 0x65,0x55,0x2c,0x30,0x78,0x30,0x62,0x31,0x36,0x31,0x64,0x30,0x62,0x55,0x2c,0x30,0x78,0x64,0x62,0x61,0x64,0x37,0x36,0x64,0x62,0x55,0x2c,0x0a,0x30,0x78,0x65,0x30, + 0x64,0x62,0x33,0x62,0x65,0x30,0x55,0x2c,0x30,0x78,0x33,0x32,0x36,0x34,0x35,0x36,0x33,0x32,0x55,0x2c,0x30,0x78,0x33,0x61,0x37,0x34,0x34,0x65,0x33,0x61,0x55,0x2c, + 0x30,0x78,0x30,0x61,0x31,0x34,0x31,0x65,0x30,0x61,0x55,0x2c,0x0a,0x30,0x78,0x34,0x39,0x39,0x32,0x64,0x62,0x34,0x39,0x55,0x2c,0x30,0x78,0x30,0x36,0x30,0x63,0x30, + 0x61,0x30,0x36,0x55,0x2c,0x30,0x78,0x32,0x34,0x34,0x38,0x36,0x63,0x32,0x34,0x55,0x2c,0x30,0x78,0x35,0x63,0x62,0x38,0x65,0x34,0x35,0x63,0x55,0x2c,0x0a,0x30,0x78, + 0x63,0x32,0x39,0x66,0x35,0x64,0x63,0x32,0x55,0x2c,0x30,0x78,0x64,0x33,0x62,0x64,0x36,0x65,0x64,0x33,0x55,0x2c,0x30,0x78,0x61,0x63,0x34,0x33,0x65,0x66,0x61,0x63, + 0x55,0x2c,0x30,0x78,0x36,0x32,0x63,0x34,0x61,0x36,0x36,0x32,0x55,0x2c,0x0a,0x30,0x78,0x39,0x31,0x33,0x39,0x61,0x38,0x39,0x31,0x55,0x2c,0x30,0x78,0x39,0x35,0x33, + 0x31,0x61,0x34,0x39,0x35,0x55,0x2c,0x30,0x78,0x65,0x34,0x64,0x33,0x33,0x37,0x65,0x34,0x55,0x2c,0x30,0x78,0x37,0x39,0x66,0x32,0x38,0x62,0x37,0x39,0x55,0x2c,0x0a, + 0x30,0x78,0x65,0x37,0x64,0x35,0x33,0x32,0x65,0x37,0x55,0x2c,0x30,0x78,0x63,0x38,0x38,0x62,0x34,0x33,0x63,0x38,0x55,0x2c,0x30,0x78,0x33,0x37,0x36,0x65,0x35,0x39, + 0x33,0x37,0x55,0x2c,0x30,0x78,0x36,0x64,0x64,0x61,0x62,0x37,0x36,0x64,0x55,0x2c,0x0a,0x30,0x78,0x38,0x64,0x30,0x31,0x38,0x63,0x38,0x64,0x55,0x2c,0x30,0x78,0x64, + 0x35,0x62,0x31,0x36,0x34,0x64,0x35,0x55,0x2c,0x30,0x78,0x34,0x65,0x39,0x63,0x64,0x32,0x34,0x65,0x55,0x2c,0x30,0x78,0x61,0x39,0x34,0x39,0x65,0x30,0x61,0x39,0x55, + 0x2c,0x0a,0x30,0x78,0x36,0x63,0x64,0x38,0x62,0x34,0x36,0x63,0x55,0x2c,0x30,0x78,0x35,0x36,0x61,0x63,0x66,0x61,0x35,0x36,0x55,0x2c,0x30,0x78,0x66,0x34,0x66,0x33, + 0x30,0x37,0x66,0x34,0x55,0x2c,0x30,0x78,0x65,0x61,0x63,0x66,0x32,0x35,0x65,0x61,0x55,0x2c,0x0a,0x30,0x78,0x36,0x35,0x63,0x61,0x61,0x66,0x36,0x35,0x55,0x2c,0x30, + 0x78,0x37,0x61,0x66,0x34,0x38,0x65,0x37,0x61,0x55,0x2c,0x30,0x78,0x61,0x65,0x34,0x37,0x65,0x39,0x61,0x65,0x55,0x2c,0x30,0x78,0x30,0x38,0x31,0x30,0x31,0x38,0x30, + 0x38,0x55,0x2c,0x0a,0x30,0x78,0x62,0x61,0x36,0x66,0x64,0x35,0x62,0x61,0x55,0x2c,0x30,0x78,0x37,0x38,0x66,0x30,0x38,0x38,0x37,0x38,0x55,0x2c,0x30,0x78,0x32,0x35, + 0x34,0x61,0x36,0x66,0x32,0x35,0x55,0x2c,0x30,0x78,0x32,0x65,0x35,0x63,0x37,0x32,0x32,0x65,0x55,0x2c,0x0a,0x30,0x78,0x31,0x63,0x33,0x38,0x32,0x34,0x31,0x63,0x55, + 0x2c,0x30,0x78,0x61,0x36,0x35,0x37,0x66,0x31,0x61,0x36,0x55,0x2c,0x30,0x78,0x62,0x34,0x37,0x33,0x63,0x37,0x62,0x34,0x55,0x2c,0x30,0x78,0x63,0x36,0x39,0x37,0x35, + 0x31,0x63,0x36,0x55,0x2c,0x0a,0x30,0x78,0x65,0x38,0x63,0x62,0x32,0x33,0x65,0x38,0x55,0x2c,0x30,0x78,0x64,0x64,0x61,0x31,0x37,0x63,0x64,0x64,0x55,0x2c,0x30,0x78, + 0x37,0x34,0x65,0x38,0x39,0x63,0x37,0x34,0x55,0x2c,0x30,0x78,0x31,0x66,0x33,0x65,0x32,0x31,0x31,0x66,0x55,0x2c,0x0a,0x30,0x78,0x34,0x62,0x39,0x36,0x64,0x64,0x34, + 0x62,0x55,0x2c,0x30,0x78,0x62,0x64,0x36,0x31,0x64,0x63,0x62,0x64,0x55,0x2c,0x30,0x78,0x38,0x62,0x30,0x64,0x38,0x36,0x38,0x62,0x55,0x2c,0x30,0x78,0x38,0x61,0x30, + 0x66,0x38,0x35,0x38,0x61,0x55,0x2c,0x0a,0x30,0x78,0x37,0x30,0x65,0x30,0x39,0x30,0x37,0x30,0x55,0x2c,0x30,0x78,0x33,0x65,0x37,0x63,0x34,0x32,0x33,0x65,0x55,0x2c, + 0x30,0x78,0x62,0x35,0x37,0x31,0x63,0x34,0x62,0x35,0x55,0x2c,0x30,0x78,0x36,0x36,0x63,0x63,0x61,0x61,0x36,0x36,0x55,0x2c,0x0a,0x30,0x78,0x34,0x38,0x39,0x30,0x64, + 0x38,0x34,0x38,0x55,0x2c,0x30,0x78,0x30,0x33,0x30,0x36,0x30,0x35,0x30,0x33,0x55,0x2c,0x30,0x78,0x66,0x36,0x66,0x37,0x30,0x31,0x66,0x36,0x55,0x2c,0x30,0x78,0x30, + 0x65,0x31,0x63,0x31,0x32,0x30,0x65,0x55,0x2c,0x0a,0x30,0x78,0x36,0x31,0x63,0x32,0x61,0x33,0x36,0x31,0x55,0x2c,0x30,0x78,0x33,0x35,0x36,0x61,0x35,0x66,0x33,0x35, + 0x55,0x2c,0x30,0x78,0x35,0x37,0x61,0x65,0x66,0x39,0x35,0x37,0x55,0x2c,0x30,0x78,0x62,0x39,0x36,0x39,0x64,0x30,0x62,0x39,0x55,0x2c,0x0a,0x30,0x78,0x38,0x36,0x31, + 0x37,0x39,0x31,0x38,0x36,0x55,0x2c,0x30,0x78,0x63,0x31,0x39,0x39,0x35,0x38,0x63,0x31,0x55,0x2c,0x30,0x78,0x31,0x64,0x33,0x61,0x32,0x37,0x31,0x64,0x55,0x2c,0x30, + 0x78,0x39,0x65,0x32,0x37,0x62,0x39,0x39,0x65,0x55,0x2c,0x0a,0x30,0x78,0x65,0x31,0x64,0x39,0x33,0x38,0x65,0x31,0x55,0x2c,0x30,0x78,0x66,0x38,0x65,0x62,0x31,0x33, + 0x66,0x38,0x55,0x2c,0x30,0x78,0x39,0x38,0x32,0x62,0x62,0x33,0x39,0x38,0x55,0x2c,0x30,0x78,0x31,0x31,0x32,0x32,0x33,0x33,0x31,0x31,0x55,0x2c,0x0a,0x30,0x78,0x36, + 0x39,0x64,0x32,0x62,0x62,0x36,0x39,0x55,0x2c,0x30,0x78,0x64,0x39,0x61,0x39,0x37,0x30,0x64,0x39,0x55,0x2c,0x30,0x78,0x38,0x65,0x30,0x37,0x38,0x39,0x38,0x65,0x55, + 0x2c,0x30,0x78,0x39,0x34,0x33,0x33,0x61,0x37,0x39,0x34,0x55,0x2c,0x0a,0x30,0x78,0x39,0x62,0x32,0x64,0x62,0x36,0x39,0x62,0x55,0x2c,0x30,0x78,0x31,0x65,0x33,0x63, + 0x32,0x32,0x31,0x65,0x55,0x2c,0x30,0x78,0x38,0x37,0x31,0x35,0x39,0x32,0x38,0x37,0x55,0x2c,0x30,0x78,0x65,0x39,0x63,0x39,0x32,0x30,0x65,0x39,0x55,0x2c,0x0a,0x30, + 0x78,0x63,0x65,0x38,0x37,0x34,0x39,0x63,0x65,0x55,0x2c,0x30,0x78,0x35,0x35,0x61,0x61,0x66,0x66,0x35,0x35,0x55,0x2c,0x30,0x78,0x32,0x38,0x35,0x30,0x37,0x38,0x32, + 0x38,0x55,0x2c,0x30,0x78,0x64,0x66,0x61,0x35,0x37,0x61,0x64,0x66,0x55,0x2c,0x0a,0x30,0x78,0x38,0x63,0x30,0x33,0x38,0x66,0x38,0x63,0x55,0x2c,0x30,0x78,0x61,0x31, + 0x35,0x39,0x66,0x38,0x61,0x31,0x55,0x2c,0x30,0x78,0x38,0x39,0x30,0x39,0x38,0x30,0x38,0x39,0x55,0x2c,0x30,0x78,0x30,0x64,0x31,0x61,0x31,0x37,0x30,0x64,0x55,0x2c, + 0x0a,0x30,0x78,0x62,0x66,0x36,0x35,0x64,0x61,0x62,0x66,0x55,0x2c,0x30,0x78,0x65,0x36,0x64,0x37,0x33,0x31,0x65,0x36,0x55,0x2c,0x30,0x78,0x34,0x32,0x38,0x34,0x63, + 0x36,0x34,0x32,0x55,0x2c,0x30,0x78,0x36,0x38,0x64,0x30,0x62,0x38,0x36,0x38,0x55,0x2c,0x0a,0x30,0x78,0x34,0x31,0x38,0x32,0x63,0x33,0x34,0x31,0x55,0x2c,0x30,0x78, + 0x39,0x39,0x32,0x39,0x62,0x30,0x39,0x39,0x55,0x2c,0x30,0x78,0x32,0x64,0x35,0x61,0x37,0x37,0x32,0x64,0x55,0x2c,0x30,0x78,0x30,0x66,0x31,0x65,0x31,0x31,0x30,0x66, + 0x55,0x2c,0x0a,0x30,0x78,0x62,0x30,0x37,0x62,0x63,0x62,0x62,0x30,0x55,0x2c,0x30,0x78,0x35,0x34,0x61,0x38,0x66,0x63,0x35,0x34,0x55,0x2c,0x30,0x78,0x62,0x62,0x36, + 0x64,0x64,0x36,0x62,0x62,0x55,0x2c,0x30,0x78,0x31,0x36,0x32,0x63,0x33,0x61,0x31,0x36,0x55,0x2c,0x0a,0x30,0x78,0x63,0x36,0x61,0x35,0x36,0x33,0x36,0x33,0x55,0x2c, + 0x30,0x78,0x66,0x38,0x38,0x34,0x37,0x63,0x37,0x63,0x55,0x2c,0x30,0x78,0x65,0x65,0x39,0x39,0x37,0x37,0x37,0x37,0x55,0x2c,0x30,0x78,0x66,0x36,0x38,0x64,0x37,0x62, + 0x37,0x62,0x55,0x2c,0x0a,0x30,0x78,0x66,0x66,0x30,0x64,0x66,0x32,0x66,0x32,0x55,0x2c,0x30,0x78,0x64,0x36,0x62,0x64,0x36,0x62,0x36,0x62,0x55,0x2c,0x30,0x78,0x64, + 0x65,0x62,0x31,0x36,0x66,0x36,0x66,0x55,0x2c,0x30,0x78,0x39,0x31,0x35,0x34,0x63,0x35,0x63,0x35,0x55,0x2c,0x0a,0x30,0x78,0x36,0x30,0x35,0x30,0x33,0x30,0x33,0x30, + 0x55,0x2c,0x30,0x78,0x30,0x32,0x30,0x33,0x30,0x31,0x30,0x31,0x55,0x2c,0x30,0x78,0x63,0x65,0x61,0x39,0x36,0x37,0x36,0x37,0x55,0x2c,0x30,0x78,0x35,0x36,0x37,0x64, + 0x32,0x62,0x32,0x62,0x55,0x2c,0x0a,0x30,0x78,0x65,0x37,0x31,0x39,0x66,0x65,0x66,0x65,0x55,0x2c,0x30,0x78,0x62,0x35,0x36,0x32,0x64,0x37,0x64,0x37,0x55,0x2c,0x30, + 0x78,0x34,0x64,0x65,0x36,0x61,0x62,0x61,0x62,0x55,0x2c,0x30,0x78,0x65,0x63,0x39,0x61,0x37,0x36,0x37,0x36,0x55,0x2c,0x0a,0x30,0x78,0x38,0x66,0x34,0x35,0x63,0x61, + 0x63,0x61,0x55,0x2c,0x30,0x78,0x31,0x66,0x39,0x64,0x38,0x32,0x38,0x32,0x55,0x2c,0x30,0x78,0x38,0x39,0x34,0x30,0x63,0x39,0x63,0x39,0x55,0x2c,0x30,0x78,0x66,0x61, + 0x38,0x37,0x37,0x64,0x37,0x64,0x55,0x2c,0x0a,0x30,0x78,0x65,0x66,0x31,0x35,0x66,0x61,0x66,0x61,0x55,0x2c,0x30,0x78,0x62,0x32,0x65,0x62,0x35,0x39,0x35,0x39,0x55, + 0x2c,0x30,0x78,0x38,0x65,0x63,0x39,0x34,0x37,0x34,0x37,0x55,0x2c,0x30,0x78,0x66,0x62,0x30,0x62,0x66,0x30,0x66,0x30,0x55,0x2c,0x0a,0x30,0x78,0x34,0x31,0x65,0x63, + 0x61,0x64,0x61,0x64,0x55,0x2c,0x30,0x78,0x62,0x33,0x36,0x37,0x64,0x34,0x64,0x34,0x55,0x2c,0x30,0x78,0x35,0x66,0x66,0x64,0x61,0x32,0x61,0x32,0x55,0x2c,0x30,0x78, + 0x34,0x35,0x65,0x61,0x61,0x66,0x61,0x66,0x55,0x2c,0x0a,0x30,0x78,0x32,0x33,0x62,0x66,0x39,0x63,0x39,0x63,0x55,0x2c,0x30,0x78,0x35,0x33,0x66,0x37,0x61,0x34,0x61, + 0x34,0x55,0x2c,0x30,0x78,0x65,0x34,0x39,0x36,0x37,0x32,0x37,0x32,0x55,0x2c,0x30,0x78,0x39,0x62,0x35,0x62,0x63,0x30,0x63,0x30,0x55,0x2c,0x0a,0x30,0x78,0x37,0x35, + 0x63,0x32,0x62,0x37,0x62,0x37,0x55,0x2c,0x30,0x78,0x65,0x31,0x31,0x63,0x66,0x64,0x66,0x64,0x55,0x2c,0x30,0x78,0x33,0x64,0x61,0x65,0x39,0x33,0x39,0x33,0x55,0x2c, + 0x30,0x78,0x34,0x63,0x36,0x61,0x32,0x36,0x32,0x36,0x55,0x2c,0x0a,0x30,0x78,0x36,0x63,0x35,0x61,0x33,0x36,0x33,0x36,0x55,0x2c,0x30,0x78,0x37,0x65,0x34,0x31,0x33, + 0x66,0x33,0x66,0x55,0x2c,0x30,0x78,0x66,0x35,0x30,0x32,0x66,0x37,0x66,0x37,0x55,0x2c,0x30,0x78,0x38,0x33,0x34,0x66,0x63,0x63,0x63,0x63,0x55,0x2c,0x0a,0x30,0x78, + 0x36,0x38,0x35,0x63,0x33,0x34,0x33,0x34,0x55,0x2c,0x30,0x78,0x35,0x31,0x66,0x34,0x61,0x35,0x61,0x35,0x55,0x2c,0x30,0x78,0x64,0x31,0x33,0x34,0x65,0x35,0x65,0x35, + 0x55,0x2c,0x30,0x78,0x66,0x39,0x30,0x38,0x66,0x31,0x66,0x31,0x55,0x2c,0x0a,0x30,0x78,0x65,0x32,0x39,0x33,0x37,0x31,0x37,0x31,0x55,0x2c,0x30,0x78,0x61,0x62,0x37, + 0x33,0x64,0x38,0x64,0x38,0x55,0x2c,0x30,0x78,0x36,0x32,0x35,0x33,0x33,0x31,0x33,0x31,0x55,0x2c,0x30,0x78,0x32,0x61,0x33,0x66,0x31,0x35,0x31,0x35,0x55,0x2c,0x0a, + 0x30,0x78,0x30,0x38,0x30,0x63,0x30,0x34,0x30,0x34,0x55,0x2c,0x30,0x78,0x39,0x35,0x35,0x32,0x63,0x37,0x63,0x37,0x55,0x2c,0x30,0x78,0x34,0x36,0x36,0x35,0x32,0x33, + 0x32,0x33,0x55,0x2c,0x30,0x78,0x39,0x64,0x35,0x65,0x63,0x33,0x63,0x33,0x55,0x2c,0x0a,0x30,0x78,0x33,0x30,0x32,0x38,0x31,0x38,0x31,0x38,0x55,0x2c,0x30,0x78,0x33, + 0x37,0x61,0x31,0x39,0x36,0x39,0x36,0x55,0x2c,0x30,0x78,0x30,0x61,0x30,0x66,0x30,0x35,0x30,0x35,0x55,0x2c,0x30,0x78,0x32,0x66,0x62,0x35,0x39,0x61,0x39,0x61,0x55, + 0x2c,0x0a,0x30,0x78,0x30,0x65,0x30,0x39,0x30,0x37,0x30,0x37,0x55,0x2c,0x30,0x78,0x32,0x34,0x33,0x36,0x31,0x32,0x31,0x32,0x55,0x2c,0x30,0x78,0x31,0x62,0x39,0x62, + 0x38,0x30,0x38,0x30,0x55,0x2c,0x30,0x78,0x64,0x66,0x33,0x64,0x65,0x32,0x65,0x32,0x55,0x2c,0x0a,0x30,0x78,0x63,0x64,0x32,0x36,0x65,0x62,0x65,0x62,0x55,0x2c,0x30, + 0x78,0x34,0x65,0x36,0x39,0x32,0x37,0x32,0x37,0x55,0x2c,0x30,0x78,0x37,0x66,0x63,0x64,0x62,0x32,0x62,0x32,0x55,0x2c,0x30,0x78,0x65,0x61,0x39,0x66,0x37,0x35,0x37, + 0x35,0x55,0x2c,0x0a,0x30,0x78,0x31,0x32,0x31,0x62,0x30,0x39,0x30,0x39,0x55,0x2c,0x30,0x78,0x31,0x64,0x39,0x65,0x38,0x33,0x38,0x33,0x55,0x2c,0x30,0x78,0x35,0x38, + 0x37,0x34,0x32,0x63,0x32,0x63,0x55,0x2c,0x30,0x78,0x33,0x34,0x32,0x65,0x31,0x61,0x31,0x61,0x55,0x2c,0x0a,0x30,0x78,0x33,0x36,0x32,0x64,0x31,0x62,0x31,0x62,0x55, + 0x2c,0x30,0x78,0x64,0x63,0x62,0x32,0x36,0x65,0x36,0x65,0x55,0x2c,0x30,0x78,0x62,0x34,0x65,0x65,0x35,0x61,0x35,0x61,0x55,0x2c,0x30,0x78,0x35,0x62,0x66,0x62,0x61, + 0x30,0x61,0x30,0x55,0x2c,0x0a,0x30,0x78,0x61,0x34,0x66,0x36,0x35,0x32,0x35,0x32,0x55,0x2c,0x30,0x78,0x37,0x36,0x34,0x64,0x33,0x62,0x33,0x62,0x55,0x2c,0x30,0x78, + 0x62,0x37,0x36,0x31,0x64,0x36,0x64,0x36,0x55,0x2c,0x30,0x78,0x37,0x64,0x63,0x65,0x62,0x33,0x62,0x33,0x55,0x2c,0x0a,0x30,0x78,0x35,0x32,0x37,0x62,0x32,0x39,0x32, + 0x39,0x55,0x2c,0x30,0x78,0x64,0x64,0x33,0x65,0x65,0x33,0x65,0x33,0x55,0x2c,0x30,0x78,0x35,0x65,0x37,0x31,0x32,0x66,0x32,0x66,0x55,0x2c,0x30,0x78,0x31,0x33,0x39, + 0x37,0x38,0x34,0x38,0x34,0x55,0x2c,0x0a,0x30,0x78,0x61,0x36,0x66,0x35,0x35,0x33,0x35,0x33,0x55,0x2c,0x30,0x78,0x62,0x39,0x36,0x38,0x64,0x31,0x64,0x31,0x55,0x2c, + 0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x30,0x78,0x63,0x31,0x32,0x63,0x65,0x64,0x65,0x64,0x55,0x2c,0x0a,0x30,0x78,0x34,0x30,0x36,0x30,0x32, + 0x30,0x32,0x30,0x55,0x2c,0x30,0x78,0x65,0x33,0x31,0x66,0x66,0x63,0x66,0x63,0x55,0x2c,0x30,0x78,0x37,0x39,0x63,0x38,0x62,0x31,0x62,0x31,0x55,0x2c,0x30,0x78,0x62, + 0x36,0x65,0x64,0x35,0x62,0x35,0x62,0x55,0x2c,0x0a,0x30,0x78,0x64,0x34,0x62,0x65,0x36,0x61,0x36,0x61,0x55,0x2c,0x30,0x78,0x38,0x64,0x34,0x36,0x63,0x62,0x63,0x62, + 0x55,0x2c,0x30,0x78,0x36,0x37,0x64,0x39,0x62,0x65,0x62,0x65,0x55,0x2c,0x30,0x78,0x37,0x32,0x34,0x62,0x33,0x39,0x33,0x39,0x55,0x2c,0x0a,0x30,0x78,0x39,0x34,0x64, + 0x65,0x34,0x61,0x34,0x61,0x55,0x2c,0x30,0x78,0x39,0x38,0x64,0x34,0x34,0x63,0x34,0x63,0x55,0x2c,0x30,0x78,0x62,0x30,0x65,0x38,0x35,0x38,0x35,0x38,0x55,0x2c,0x30, + 0x78,0x38,0x35,0x34,0x61,0x63,0x66,0x63,0x66,0x55,0x2c,0x0a,0x30,0x78,0x62,0x62,0x36,0x62,0x64,0x30,0x64,0x30,0x55,0x2c,0x30,0x78,0x63,0x35,0x32,0x61,0x65,0x66, + 0x65,0x66,0x55,0x2c,0x30,0x78,0x34,0x66,0x65,0x35,0x61,0x61,0x61,0x61,0x55,0x2c,0x30,0x78,0x65,0x64,0x31,0x36,0x66,0x62,0x66,0x62,0x55,0x2c,0x0a,0x30,0x78,0x38, + 0x36,0x63,0x35,0x34,0x33,0x34,0x33,0x55,0x2c,0x30,0x78,0x39,0x61,0x64,0x37,0x34,0x64,0x34,0x64,0x55,0x2c,0x30,0x78,0x36,0x36,0x35,0x35,0x33,0x33,0x33,0x33,0x55, + 0x2c,0x30,0x78,0x31,0x31,0x39,0x34,0x38,0x35,0x38,0x35,0x55,0x2c,0x0a,0x30,0x78,0x38,0x61,0x63,0x66,0x34,0x35,0x34,0x35,0x55,0x2c,0x30,0x78,0x65,0x39,0x31,0x30, + 0x66,0x39,0x66,0x39,0x55,0x2c,0x30,0x78,0x30,0x34,0x30,0x36,0x30,0x32,0x30,0x32,0x55,0x2c,0x30,0x78,0x66,0x65,0x38,0x31,0x37,0x66,0x37,0x66,0x55,0x2c,0x0a,0x30, + 0x78,0x61,0x30,0x66,0x30,0x35,0x30,0x35,0x30,0x55,0x2c,0x30,0x78,0x37,0x38,0x34,0x34,0x33,0x63,0x33,0x63,0x55,0x2c,0x30,0x78,0x32,0x35,0x62,0x61,0x39,0x66,0x39, + 0x66,0x55,0x2c,0x30,0x78,0x34,0x62,0x65,0x33,0x61,0x38,0x61,0x38,0x55,0x2c,0x0a,0x30,0x78,0x61,0x32,0x66,0x33,0x35,0x31,0x35,0x31,0x55,0x2c,0x30,0x78,0x35,0x64, + 0x66,0x65,0x61,0x33,0x61,0x33,0x55,0x2c,0x30,0x78,0x38,0x30,0x63,0x30,0x34,0x30,0x34,0x30,0x55,0x2c,0x30,0x78,0x30,0x35,0x38,0x61,0x38,0x66,0x38,0x66,0x55,0x2c, + 0x0a,0x30,0x78,0x33,0x66,0x61,0x64,0x39,0x32,0x39,0x32,0x55,0x2c,0x30,0x78,0x32,0x31,0x62,0x63,0x39,0x64,0x39,0x64,0x55,0x2c,0x30,0x78,0x37,0x30,0x34,0x38,0x33, + 0x38,0x33,0x38,0x55,0x2c,0x30,0x78,0x66,0x31,0x30,0x34,0x66,0x35,0x66,0x35,0x55,0x2c,0x0a,0x30,0x78,0x36,0x33,0x64,0x66,0x62,0x63,0x62,0x63,0x55,0x2c,0x30,0x78, + 0x37,0x37,0x63,0x31,0x62,0x36,0x62,0x36,0x55,0x2c,0x30,0x78,0x61,0x66,0x37,0x35,0x64,0x61,0x64,0x61,0x55,0x2c,0x30,0x78,0x34,0x32,0x36,0x33,0x32,0x31,0x32,0x31, + 0x55,0x2c,0x0a,0x30,0x78,0x32,0x30,0x33,0x30,0x31,0x30,0x31,0x30,0x55,0x2c,0x30,0x78,0x65,0x35,0x31,0x61,0x66,0x66,0x66,0x66,0x55,0x2c,0x30,0x78,0x66,0x64,0x30, + 0x65,0x66,0x33,0x66,0x33,0x55,0x2c,0x30,0x78,0x62,0x66,0x36,0x64,0x64,0x32,0x64,0x32,0x55,0x2c,0x0a,0x30,0x78,0x38,0x31,0x34,0x63,0x63,0x64,0x63,0x64,0x55,0x2c, + 0x30,0x78,0x31,0x38,0x31,0x34,0x30,0x63,0x30,0x63,0x55,0x2c,0x30,0x78,0x32,0x36,0x33,0x35,0x31,0x33,0x31,0x33,0x55,0x2c,0x30,0x78,0x63,0x33,0x32,0x66,0x65,0x63, + 0x65,0x63,0x55,0x2c,0x0a,0x30,0x78,0x62,0x65,0x65,0x31,0x35,0x66,0x35,0x66,0x55,0x2c,0x30,0x78,0x33,0x35,0x61,0x32,0x39,0x37,0x39,0x37,0x55,0x2c,0x30,0x78,0x38, + 0x38,0x63,0x63,0x34,0x34,0x34,0x34,0x55,0x2c,0x30,0x78,0x32,0x65,0x33,0x39,0x31,0x37,0x31,0x37,0x55,0x2c,0x0a,0x30,0x78,0x39,0x33,0x35,0x37,0x63,0x34,0x63,0x34, + 0x55,0x2c,0x30,0x78,0x35,0x35,0x66,0x32,0x61,0x37,0x61,0x37,0x55,0x2c,0x30,0x78,0x66,0x63,0x38,0x32,0x37,0x65,0x37,0x65,0x55,0x2c,0x30,0x78,0x37,0x61,0x34,0x37, + 0x33,0x64,0x33,0x64,0x55,0x2c,0x0a,0x30,0x78,0x63,0x38,0x61,0x63,0x36,0x34,0x36,0x34,0x55,0x2c,0x30,0x78,0x62,0x61,0x65,0x37,0x35,0x64,0x35,0x64,0x55,0x2c,0x30, + 0x78,0x33,0x32,0x32,0x62,0x31,0x39,0x31,0x39,0x55,0x2c,0x30,0x78,0x65,0x36,0x39,0x35,0x37,0x33,0x37,0x33,0x55,0x2c,0x0a,0x30,0x78,0x63,0x30,0x61,0x30,0x36,0x30, + 0x36,0x30,0x55,0x2c,0x30,0x78,0x31,0x39,0x39,0x38,0x38,0x31,0x38,0x31,0x55,0x2c,0x30,0x78,0x39,0x65,0x64,0x31,0x34,0x66,0x34,0x66,0x55,0x2c,0x30,0x78,0x61,0x33, + 0x37,0x66,0x64,0x63,0x64,0x63,0x55,0x2c,0x0a,0x30,0x78,0x34,0x34,0x36,0x36,0x32,0x32,0x32,0x32,0x55,0x2c,0x30,0x78,0x35,0x34,0x37,0x65,0x32,0x61,0x32,0x61,0x55, + 0x2c,0x30,0x78,0x33,0x62,0x61,0x62,0x39,0x30,0x39,0x30,0x55,0x2c,0x30,0x78,0x30,0x62,0x38,0x33,0x38,0x38,0x38,0x38,0x55,0x2c,0x0a,0x30,0x78,0x38,0x63,0x63,0x61, + 0x34,0x36,0x34,0x36,0x55,0x2c,0x30,0x78,0x63,0x37,0x32,0x39,0x65,0x65,0x65,0x65,0x55,0x2c,0x30,0x78,0x36,0x62,0x64,0x33,0x62,0x38,0x62,0x38,0x55,0x2c,0x30,0x78, + 0x32,0x38,0x33,0x63,0x31,0x34,0x31,0x34,0x55,0x2c,0x0a,0x30,0x78,0x61,0x37,0x37,0x39,0x64,0x65,0x64,0x65,0x55,0x2c,0x30,0x78,0x62,0x63,0x65,0x32,0x35,0x65,0x35, + 0x65,0x55,0x2c,0x30,0x78,0x31,0x36,0x31,0x64,0x30,0x62,0x30,0x62,0x55,0x2c,0x30,0x78,0x61,0x64,0x37,0x36,0x64,0x62,0x64,0x62,0x55,0x2c,0x0a,0x30,0x78,0x64,0x62, + 0x33,0x62,0x65,0x30,0x65,0x30,0x55,0x2c,0x30,0x78,0x36,0x34,0x35,0x36,0x33,0x32,0x33,0x32,0x55,0x2c,0x30,0x78,0x37,0x34,0x34,0x65,0x33,0x61,0x33,0x61,0x55,0x2c, + 0x30,0x78,0x31,0x34,0x31,0x65,0x30,0x61,0x30,0x61,0x55,0x2c,0x0a,0x30,0x78,0x39,0x32,0x64,0x62,0x34,0x39,0x34,0x39,0x55,0x2c,0x30,0x78,0x30,0x63,0x30,0x61,0x30, + 0x36,0x30,0x36,0x55,0x2c,0x30,0x78,0x34,0x38,0x36,0x63,0x32,0x34,0x32,0x34,0x55,0x2c,0x30,0x78,0x62,0x38,0x65,0x34,0x35,0x63,0x35,0x63,0x55,0x2c,0x0a,0x30,0x78, + 0x39,0x66,0x35,0x64,0x63,0x32,0x63,0x32,0x55,0x2c,0x30,0x78,0x62,0x64,0x36,0x65,0x64,0x33,0x64,0x33,0x55,0x2c,0x30,0x78,0x34,0x33,0x65,0x66,0x61,0x63,0x61,0x63, + 0x55,0x2c,0x30,0x78,0x63,0x34,0x61,0x36,0x36,0x32,0x36,0x32,0x55,0x2c,0x0a,0x30,0x78,0x33,0x39,0x61,0x38,0x39,0x31,0x39,0x31,0x55,0x2c,0x30,0x78,0x33,0x31,0x61, + 0x34,0x39,0x35,0x39,0x35,0x55,0x2c,0x30,0x78,0x64,0x33,0x33,0x37,0x65,0x34,0x65,0x34,0x55,0x2c,0x30,0x78,0x66,0x32,0x38,0x62,0x37,0x39,0x37,0x39,0x55,0x2c,0x0a, + 0x30,0x78,0x64,0x35,0x33,0x32,0x65,0x37,0x65,0x37,0x55,0x2c,0x30,0x78,0x38,0x62,0x34,0x33,0x63,0x38,0x63,0x38,0x55,0x2c,0x30,0x78,0x36,0x65,0x35,0x39,0x33,0x37, + 0x33,0x37,0x55,0x2c,0x30,0x78,0x64,0x61,0x62,0x37,0x36,0x64,0x36,0x64,0x55,0x2c,0x0a,0x30,0x78,0x30,0x31,0x38,0x63,0x38,0x64,0x38,0x64,0x55,0x2c,0x30,0x78,0x62, + 0x31,0x36,0x34,0x64,0x35,0x64,0x35,0x55,0x2c,0x30,0x78,0x39,0x63,0x64,0x32,0x34,0x65,0x34,0x65,0x55,0x2c,0x30,0x78,0x34,0x39,0x65,0x30,0x61,0x39,0x61,0x39,0x55, + 0x2c,0x0a,0x30,0x78,0x64,0x38,0x62,0x34,0x36,0x63,0x36,0x63,0x55,0x2c,0x30,0x78,0x61,0x63,0x66,0x61,0x35,0x36,0x35,0x36,0x55,0x2c,0x30,0x78,0x66,0x33,0x30,0x37, + 0x66,0x34,0x66,0x34,0x55,0x2c,0x30,0x78,0x63,0x66,0x32,0x35,0x65,0x61,0x65,0x61,0x55,0x2c,0x0a,0x30,0x78,0x63,0x61,0x61,0x66,0x36,0x35,0x36,0x35,0x55,0x2c,0x30, + 0x78,0x66,0x34,0x38,0x65,0x37,0x61,0x37,0x61,0x55,0x2c,0x30,0x78,0x34,0x37,0x65,0x39,0x61,0x65,0x61,0x65,0x55,0x2c,0x30,0x78,0x31,0x30,0x31,0x38,0x30,0x38,0x30, + 0x38,0x55,0x2c,0x0a,0x30,0x78,0x36,0x66,0x64,0x35,0x62,0x61,0x62,0x61,0x55,0x2c,0x30,0x78,0x66,0x30,0x38,0x38,0x37,0x38,0x37,0x38,0x55,0x2c,0x30,0x78,0x34,0x61, + 0x36,0x66,0x32,0x35,0x32,0x35,0x55,0x2c,0x30,0x78,0x35,0x63,0x37,0x32,0x32,0x65,0x32,0x65,0x55,0x2c,0x0a,0x30,0x78,0x33,0x38,0x32,0x34,0x31,0x63,0x31,0x63,0x55, + 0x2c,0x30,0x78,0x35,0x37,0x66,0x31,0x61,0x36,0x61,0x36,0x55,0x2c,0x30,0x78,0x37,0x33,0x63,0x37,0x62,0x34,0x62,0x34,0x55,0x2c,0x30,0x78,0x39,0x37,0x35,0x31,0x63, + 0x36,0x63,0x36,0x55,0x2c,0x0a,0x30,0x78,0x63,0x62,0x32,0x33,0x65,0x38,0x65,0x38,0x55,0x2c,0x30,0x78,0x61,0x31,0x37,0x63,0x64,0x64,0x64,0x64,0x55,0x2c,0x30,0x78, + 0x65,0x38,0x39,0x63,0x37,0x34,0x37,0x34,0x55,0x2c,0x30,0x78,0x33,0x65,0x32,0x31,0x31,0x66,0x31,0x66,0x55,0x2c,0x0a,0x30,0x78,0x39,0x36,0x64,0x64,0x34,0x62,0x34, + 0x62,0x55,0x2c,0x30,0x78,0x36,0x31,0x64,0x63,0x62,0x64,0x62,0x64,0x55,0x2c,0x30,0x78,0x30,0x64,0x38,0x36,0x38,0x62,0x38,0x62,0x55,0x2c,0x30,0x78,0x30,0x66,0x38, + 0x35,0x38,0x61,0x38,0x61,0x55,0x2c,0x0a,0x30,0x78,0x65,0x30,0x39,0x30,0x37,0x30,0x37,0x30,0x55,0x2c,0x30,0x78,0x37,0x63,0x34,0x32,0x33,0x65,0x33,0x65,0x55,0x2c, + 0x30,0x78,0x37,0x31,0x63,0x34,0x62,0x35,0x62,0x35,0x55,0x2c,0x30,0x78,0x63,0x63,0x61,0x61,0x36,0x36,0x36,0x36,0x55,0x2c,0x0a,0x30,0x78,0x39,0x30,0x64,0x38,0x34, + 0x38,0x34,0x38,0x55,0x2c,0x30,0x78,0x30,0x36,0x30,0x35,0x30,0x33,0x30,0x33,0x55,0x2c,0x30,0x78,0x66,0x37,0x30,0x31,0x66,0x36,0x66,0x36,0x55,0x2c,0x30,0x78,0x31, + 0x63,0x31,0x32,0x30,0x65,0x30,0x65,0x55,0x2c,0x0a,0x30,0x78,0x63,0x32,0x61,0x33,0x36,0x31,0x36,0x31,0x55,0x2c,0x30,0x78,0x36,0x61,0x35,0x66,0x33,0x35,0x33,0x35, + 0x55,0x2c,0x30,0x78,0x61,0x65,0x66,0x39,0x35,0x37,0x35,0x37,0x55,0x2c,0x30,0x78,0x36,0x39,0x64,0x30,0x62,0x39,0x62,0x39,0x55,0x2c,0x0a,0x30,0x78,0x31,0x37,0x39, + 0x31,0x38,0x36,0x38,0x36,0x55,0x2c,0x30,0x78,0x39,0x39,0x35,0x38,0x63,0x31,0x63,0x31,0x55,0x2c,0x30,0x78,0x33,0x61,0x32,0x37,0x31,0x64,0x31,0x64,0x55,0x2c,0x30, + 0x78,0x32,0x37,0x62,0x39,0x39,0x65,0x39,0x65,0x55,0x2c,0x0a,0x30,0x78,0x64,0x39,0x33,0x38,0x65,0x31,0x65,0x31,0x55,0x2c,0x30,0x78,0x65,0x62,0x31,0x33,0x66,0x38, + 0x66,0x38,0x55,0x2c,0x30,0x78,0x32,0x62,0x62,0x33,0x39,0x38,0x39,0x38,0x55,0x2c,0x30,0x78,0x32,0x32,0x33,0x33,0x31,0x31,0x31,0x31,0x55,0x2c,0x0a,0x30,0x78,0x64, + 0x32,0x62,0x62,0x36,0x39,0x36,0x39,0x55,0x2c,0x30,0x78,0x61,0x39,0x37,0x30,0x64,0x39,0x64,0x39,0x55,0x2c,0x30,0x78,0x30,0x37,0x38,0x39,0x38,0x65,0x38,0x65,0x55, + 0x2c,0x30,0x78,0x33,0x33,0x61,0x37,0x39,0x34,0x39,0x34,0x55,0x2c,0x0a,0x30,0x78,0x32,0x64,0x62,0x36,0x39,0x62,0x39,0x62,0x55,0x2c,0x30,0x78,0x33,0x63,0x32,0x32, + 0x31,0x65,0x31,0x65,0x55,0x2c,0x30,0x78,0x31,0x35,0x39,0x32,0x38,0x37,0x38,0x37,0x55,0x2c,0x30,0x78,0x63,0x39,0x32,0x30,0x65,0x39,0x65,0x39,0x55,0x2c,0x0a,0x30, + 0x78,0x38,0x37,0x34,0x39,0x63,0x65,0x63,0x65,0x55,0x2c,0x30,0x78,0x61,0x61,0x66,0x66,0x35,0x35,0x35,0x35,0x55,0x2c,0x30,0x78,0x35,0x30,0x37,0x38,0x32,0x38,0x32, + 0x38,0x55,0x2c,0x30,0x78,0x61,0x35,0x37,0x61,0x64,0x66,0x64,0x66,0x55,0x2c,0x0a,0x30,0x78,0x30,0x33,0x38,0x66,0x38,0x63,0x38,0x63,0x55,0x2c,0x30,0x78,0x35,0x39, + 0x66,0x38,0x61,0x31,0x61,0x31,0x55,0x2c,0x30,0x78,0x30,0x39,0x38,0x30,0x38,0x39,0x38,0x39,0x55,0x2c,0x30,0x78,0x31,0x61,0x31,0x37,0x30,0x64,0x30,0x64,0x55,0x2c, + 0x0a,0x30,0x78,0x36,0x35,0x64,0x61,0x62,0x66,0x62,0x66,0x55,0x2c,0x30,0x78,0x64,0x37,0x33,0x31,0x65,0x36,0x65,0x36,0x55,0x2c,0x30,0x78,0x38,0x34,0x63,0x36,0x34, + 0x32,0x34,0x32,0x55,0x2c,0x30,0x78,0x64,0x30,0x62,0x38,0x36,0x38,0x36,0x38,0x55,0x2c,0x0a,0x30,0x78,0x38,0x32,0x63,0x33,0x34,0x31,0x34,0x31,0x55,0x2c,0x30,0x78, + 0x32,0x39,0x62,0x30,0x39,0x39,0x39,0x39,0x55,0x2c,0x30,0x78,0x35,0x61,0x37,0x37,0x32,0x64,0x32,0x64,0x55,0x2c,0x30,0x78,0x31,0x65,0x31,0x31,0x30,0x66,0x30,0x66, + 0x55,0x2c,0x0a,0x30,0x78,0x37,0x62,0x63,0x62,0x62,0x30,0x62,0x30,0x55,0x2c,0x30,0x78,0x61,0x38,0x66,0x63,0x35,0x34,0x35,0x34,0x55,0x2c,0x30,0x78,0x36,0x64,0x64, + 0x36,0x62,0x62,0x62,0x62,0x55,0x2c,0x30,0x78,0x32,0x63,0x33,0x61,0x31,0x36,0x31,0x36,0x55,0x2c,0x0a,0x30,0x78,0x35,0x30,0x61,0x37,0x66,0x34,0x35,0x31,0x55,0x2c, + 0x30,0x78,0x35,0x33,0x36,0x35,0x34,0x31,0x37,0x65,0x55,0x2c,0x30,0x78,0x63,0x33,0x61,0x34,0x31,0x37,0x31,0x61,0x55,0x2c,0x30,0x78,0x39,0x36,0x35,0x65,0x32,0x37, + 0x33,0x61,0x55,0x2c,0x0a,0x30,0x78,0x63,0x62,0x36,0x62,0x61,0x62,0x33,0x62,0x55,0x2c,0x30,0x78,0x66,0x31,0x34,0x35,0x39,0x64,0x31,0x66,0x55,0x2c,0x30,0x78,0x61, + 0x62,0x35,0x38,0x66,0x61,0x61,0x63,0x55,0x2c,0x30,0x78,0x39,0x33,0x30,0x33,0x65,0x33,0x34,0x62,0x55,0x2c,0x0a,0x30,0x78,0x35,0x35,0x66,0x61,0x33,0x30,0x32,0x30, + 0x55,0x2c,0x30,0x78,0x66,0x36,0x36,0x64,0x37,0x36,0x61,0x64,0x55,0x2c,0x30,0x78,0x39,0x31,0x37,0x36,0x63,0x63,0x38,0x38,0x55,0x2c,0x30,0x78,0x32,0x35,0x34,0x63, + 0x30,0x32,0x66,0x35,0x55,0x2c,0x0a,0x30,0x78,0x66,0x63,0x64,0x37,0x65,0x35,0x34,0x66,0x55,0x2c,0x30,0x78,0x64,0x37,0x63,0x62,0x32,0x61,0x63,0x35,0x55,0x2c,0x30, + 0x78,0x38,0x30,0x34,0x34,0x33,0x35,0x32,0x36,0x55,0x2c,0x30,0x78,0x38,0x66,0x61,0x33,0x36,0x32,0x62,0x35,0x55,0x2c,0x0a,0x30,0x78,0x34,0x39,0x35,0x61,0x62,0x31, + 0x64,0x65,0x55,0x2c,0x30,0x78,0x36,0x37,0x31,0x62,0x62,0x61,0x32,0x35,0x55,0x2c,0x30,0x78,0x39,0x38,0x30,0x65,0x65,0x61,0x34,0x35,0x55,0x2c,0x30,0x78,0x65,0x31, + 0x63,0x30,0x66,0x65,0x35,0x64,0x55,0x2c,0x0a,0x30,0x78,0x30,0x32,0x37,0x35,0x32,0x66,0x63,0x33,0x55,0x2c,0x30,0x78,0x31,0x32,0x66,0x30,0x34,0x63,0x38,0x31,0x55, + 0x2c,0x30,0x78,0x61,0x33,0x39,0x37,0x34,0x36,0x38,0x64,0x55,0x2c,0x30,0x78,0x63,0x36,0x66,0x39,0x64,0x33,0x36,0x62,0x55,0x2c,0x0a,0x30,0x78,0x65,0x37,0x35,0x66, + 0x38,0x66,0x30,0x33,0x55,0x2c,0x30,0x78,0x39,0x35,0x39,0x63,0x39,0x32,0x31,0x35,0x55,0x2c,0x30,0x78,0x65,0x62,0x37,0x61,0x36,0x64,0x62,0x66,0x55,0x2c,0x30,0x78, + 0x64,0x61,0x35,0x39,0x35,0x32,0x39,0x35,0x55,0x2c,0x0a,0x30,0x78,0x32,0x64,0x38,0x33,0x62,0x65,0x64,0x34,0x55,0x2c,0x30,0x78,0x64,0x33,0x32,0x31,0x37,0x34,0x35, + 0x38,0x55,0x2c,0x30,0x78,0x32,0x39,0x36,0x39,0x65,0x30,0x34,0x39,0x55,0x2c,0x30,0x78,0x34,0x34,0x63,0x38,0x63,0x39,0x38,0x65,0x55,0x2c,0x0a,0x30,0x78,0x36,0x61, + 0x38,0x39,0x63,0x32,0x37,0x35,0x55,0x2c,0x30,0x78,0x37,0x38,0x37,0x39,0x38,0x65,0x66,0x34,0x55,0x2c,0x30,0x78,0x36,0x62,0x33,0x65,0x35,0x38,0x39,0x39,0x55,0x2c, + 0x30,0x78,0x64,0x64,0x37,0x31,0x62,0x39,0x32,0x37,0x55,0x2c,0x0a,0x30,0x78,0x62,0x36,0x34,0x66,0x65,0x31,0x62,0x65,0x55,0x2c,0x30,0x78,0x31,0x37,0x61,0x64,0x38, + 0x38,0x66,0x30,0x55,0x2c,0x30,0x78,0x36,0x36,0x61,0x63,0x32,0x30,0x63,0x39,0x55,0x2c,0x30,0x78,0x62,0x34,0x33,0x61,0x63,0x65,0x37,0x64,0x55,0x2c,0x0a,0x30,0x78, + 0x31,0x38,0x34,0x61,0x64,0x66,0x36,0x33,0x55,0x2c,0x30,0x78,0x38,0x32,0x33,0x31,0x31,0x61,0x65,0x35,0x55,0x2c,0x30,0x78,0x36,0x30,0x33,0x33,0x35,0x31,0x39,0x37, + 0x55,0x2c,0x30,0x78,0x34,0x35,0x37,0x66,0x35,0x33,0x36,0x32,0x55,0x2c,0x0a,0x30,0x78,0x65,0x30,0x37,0x37,0x36,0x34,0x62,0x31,0x55,0x2c,0x30,0x78,0x38,0x34,0x61, + 0x65,0x36,0x62,0x62,0x62,0x55,0x2c,0x30,0x78,0x31,0x63,0x61,0x30,0x38,0x31,0x66,0x65,0x55,0x2c,0x30,0x78,0x39,0x34,0x32,0x62,0x30,0x38,0x66,0x39,0x55,0x2c,0x0a, + 0x30,0x78,0x35,0x38,0x36,0x38,0x34,0x38,0x37,0x30,0x55,0x2c,0x30,0x78,0x31,0x39,0x66,0x64,0x34,0x35,0x38,0x66,0x55,0x2c,0x30,0x78,0x38,0x37,0x36,0x63,0x64,0x65, + 0x39,0x34,0x55,0x2c,0x30,0x78,0x62,0x37,0x66,0x38,0x37,0x62,0x35,0x32,0x55,0x2c,0x0a,0x30,0x78,0x32,0x33,0x64,0x33,0x37,0x33,0x61,0x62,0x55,0x2c,0x30,0x78,0x65, + 0x32,0x30,0x32,0x34,0x62,0x37,0x32,0x55,0x2c,0x30,0x78,0x35,0x37,0x38,0x66,0x31,0x66,0x65,0x33,0x55,0x2c,0x30,0x78,0x32,0x61,0x61,0x62,0x35,0x35,0x36,0x36,0x55, + 0x2c,0x0a,0x30,0x78,0x30,0x37,0x32,0x38,0x65,0x62,0x62,0x32,0x55,0x2c,0x30,0x78,0x30,0x33,0x63,0x32,0x62,0x35,0x32,0x66,0x55,0x2c,0x30,0x78,0x39,0x61,0x37,0x62, + 0x63,0x35,0x38,0x36,0x55,0x2c,0x30,0x78,0x61,0x35,0x30,0x38,0x33,0x37,0x64,0x33,0x55,0x2c,0x0a,0x30,0x78,0x66,0x32,0x38,0x37,0x32,0x38,0x33,0x30,0x55,0x2c,0x30, + 0x78,0x62,0x32,0x61,0x35,0x62,0x66,0x32,0x33,0x55,0x2c,0x30,0x78,0x62,0x61,0x36,0x61,0x30,0x33,0x30,0x32,0x55,0x2c,0x30,0x78,0x35,0x63,0x38,0x32,0x31,0x36,0x65, + 0x64,0x55,0x2c,0x0a,0x30,0x78,0x32,0x62,0x31,0x63,0x63,0x66,0x38,0x61,0x55,0x2c,0x30,0x78,0x39,0x32,0x62,0x34,0x37,0x39,0x61,0x37,0x55,0x2c,0x30,0x78,0x66,0x30, + 0x66,0x32,0x30,0x37,0x66,0x33,0x55,0x2c,0x30,0x78,0x61,0x31,0x65,0x32,0x36,0x39,0x34,0x65,0x55,0x2c,0x0a,0x30,0x78,0x63,0x64,0x66,0x34,0x64,0x61,0x36,0x35,0x55, + 0x2c,0x30,0x78,0x64,0x35,0x62,0x65,0x30,0x35,0x30,0x36,0x55,0x2c,0x30,0x78,0x31,0x66,0x36,0x32,0x33,0x34,0x64,0x31,0x55,0x2c,0x30,0x78,0x38,0x61,0x66,0x65,0x61, + 0x36,0x63,0x34,0x55,0x2c,0x0a,0x30,0x78,0x39,0x64,0x35,0x33,0x32,0x65,0x33,0x34,0x55,0x2c,0x30,0x78,0x61,0x30,0x35,0x35,0x66,0x33,0x61,0x32,0x55,0x2c,0x30,0x78, + 0x33,0x32,0x65,0x31,0x38,0x61,0x30,0x35,0x55,0x2c,0x30,0x78,0x37,0x35,0x65,0x62,0x66,0x36,0x61,0x34,0x55,0x2c,0x0a,0x30,0x78,0x33,0x39,0x65,0x63,0x38,0x33,0x30, + 0x62,0x55,0x2c,0x30,0x78,0x61,0x61,0x65,0x66,0x36,0x30,0x34,0x30,0x55,0x2c,0x30,0x78,0x30,0x36,0x39,0x66,0x37,0x31,0x35,0x65,0x55,0x2c,0x30,0x78,0x35,0x31,0x31, + 0x30,0x36,0x65,0x62,0x64,0x55,0x2c,0x0a,0x30,0x78,0x66,0x39,0x38,0x61,0x32,0x31,0x33,0x65,0x55,0x2c,0x30,0x78,0x33,0x64,0x30,0x36,0x64,0x64,0x39,0x36,0x55,0x2c, + 0x30,0x78,0x61,0x65,0x30,0x35,0x33,0x65,0x64,0x64,0x55,0x2c,0x30,0x78,0x34,0x36,0x62,0x64,0x65,0x36,0x34,0x64,0x55,0x2c,0x0a,0x30,0x78,0x62,0x35,0x38,0x64,0x35, + 0x34,0x39,0x31,0x55,0x2c,0x30,0x78,0x30,0x35,0x35,0x64,0x63,0x34,0x37,0x31,0x55,0x2c,0x30,0x78,0x36,0x66,0x64,0x34,0x30,0x36,0x30,0x34,0x55,0x2c,0x30,0x78,0x66, + 0x66,0x31,0x35,0x35,0x30,0x36,0x30,0x55,0x2c,0x0a,0x30,0x78,0x32,0x34,0x66,0x62,0x39,0x38,0x31,0x39,0x55,0x2c,0x30,0x78,0x39,0x37,0x65,0x39,0x62,0x64,0x64,0x36, + 0x55,0x2c,0x30,0x78,0x63,0x63,0x34,0x33,0x34,0x30,0x38,0x39,0x55,0x2c,0x30,0x78,0x37,0x37,0x39,0x65,0x64,0x39,0x36,0x37,0x55,0x2c,0x0a,0x30,0x78,0x62,0x64,0x34, + 0x32,0x65,0x38,0x62,0x30,0x55,0x2c,0x30,0x78,0x38,0x38,0x38,0x62,0x38,0x39,0x30,0x37,0x55,0x2c,0x30,0x78,0x33,0x38,0x35,0x62,0x31,0x39,0x65,0x37,0x55,0x2c,0x30, + 0x78,0x64,0x62,0x65,0x65,0x63,0x38,0x37,0x39,0x55,0x2c,0x0a,0x30,0x78,0x34,0x37,0x30,0x61,0x37,0x63,0x61,0x31,0x55,0x2c,0x30,0x78,0x65,0x39,0x30,0x66,0x34,0x32, + 0x37,0x63,0x55,0x2c,0x30,0x78,0x63,0x39,0x31,0x65,0x38,0x34,0x66,0x38,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x0a,0x30,0x78,0x38, + 0x33,0x38,0x36,0x38,0x30,0x30,0x39,0x55,0x2c,0x30,0x78,0x34,0x38,0x65,0x64,0x32,0x62,0x33,0x32,0x55,0x2c,0x30,0x78,0x61,0x63,0x37,0x30,0x31,0x31,0x31,0x65,0x55, + 0x2c,0x30,0x78,0x34,0x65,0x37,0x32,0x35,0x61,0x36,0x63,0x55,0x2c,0x0a,0x30,0x78,0x66,0x62,0x66,0x66,0x30,0x65,0x66,0x64,0x55,0x2c,0x30,0x78,0x35,0x36,0x33,0x38, + 0x38,0x35,0x30,0x66,0x55,0x2c,0x30,0x78,0x31,0x65,0x64,0x35,0x61,0x65,0x33,0x64,0x55,0x2c,0x30,0x78,0x32,0x37,0x33,0x39,0x32,0x64,0x33,0x36,0x55,0x2c,0x0a,0x30, + 0x78,0x36,0x34,0x64,0x39,0x30,0x66,0x30,0x61,0x55,0x2c,0x30,0x78,0x32,0x31,0x61,0x36,0x35,0x63,0x36,0x38,0x55,0x2c,0x30,0x78,0x64,0x31,0x35,0x34,0x35,0x62,0x39, + 0x62,0x55,0x2c,0x30,0x78,0x33,0x61,0x32,0x65,0x33,0x36,0x32,0x34,0x55,0x2c,0x0a,0x30,0x78,0x62,0x31,0x36,0x37,0x30,0x61,0x30,0x63,0x55,0x2c,0x30,0x78,0x30,0x66, + 0x65,0x37,0x35,0x37,0x39,0x33,0x55,0x2c,0x30,0x78,0x64,0x32,0x39,0x36,0x65,0x65,0x62,0x34,0x55,0x2c,0x30,0x78,0x39,0x65,0x39,0x31,0x39,0x62,0x31,0x62,0x55,0x2c, + 0x0a,0x30,0x78,0x34,0x66,0x63,0x35,0x63,0x30,0x38,0x30,0x55,0x2c,0x30,0x78,0x61,0x32,0x32,0x30,0x64,0x63,0x36,0x31,0x55,0x2c,0x30,0x78,0x36,0x39,0x34,0x62,0x37, + 0x37,0x35,0x61,0x55,0x2c,0x30,0x78,0x31,0x36,0x31,0x61,0x31,0x32,0x31,0x63,0x55,0x2c,0x0a,0x30,0x78,0x30,0x61,0x62,0x61,0x39,0x33,0x65,0x32,0x55,0x2c,0x30,0x78, + 0x65,0x35,0x32,0x61,0x61,0x30,0x63,0x30,0x55,0x2c,0x30,0x78,0x34,0x33,0x65,0x30,0x32,0x32,0x33,0x63,0x55,0x2c,0x30,0x78,0x31,0x64,0x31,0x37,0x31,0x62,0x31,0x32, + 0x55,0x2c,0x0a,0x30,0x78,0x30,0x62,0x30,0x64,0x30,0x39,0x30,0x65,0x55,0x2c,0x30,0x78,0x61,0x64,0x63,0x37,0x38,0x62,0x66,0x32,0x55,0x2c,0x30,0x78,0x62,0x39,0x61, + 0x38,0x62,0x36,0x32,0x64,0x55,0x2c,0x30,0x78,0x63,0x38,0x61,0x39,0x31,0x65,0x31,0x34,0x55,0x2c,0x0a,0x30,0x78,0x38,0x35,0x31,0x39,0x66,0x31,0x35,0x37,0x55,0x2c, + 0x30,0x78,0x34,0x63,0x30,0x37,0x37,0x35,0x61,0x66,0x55,0x2c,0x30,0x78,0x62,0x62,0x64,0x64,0x39,0x39,0x65,0x65,0x55,0x2c,0x30,0x78,0x66,0x64,0x36,0x30,0x37,0x66, + 0x61,0x33,0x55,0x2c,0x0a,0x30,0x78,0x39,0x66,0x32,0x36,0x30,0x31,0x66,0x37,0x55,0x2c,0x30,0x78,0x62,0x63,0x66,0x35,0x37,0x32,0x35,0x63,0x55,0x2c,0x30,0x78,0x63, + 0x35,0x33,0x62,0x36,0x36,0x34,0x34,0x55,0x2c,0x30,0x78,0x33,0x34,0x37,0x65,0x66,0x62,0x35,0x62,0x55,0x2c,0x0a,0x30,0x78,0x37,0x36,0x32,0x39,0x34,0x33,0x38,0x62, + 0x55,0x2c,0x30,0x78,0x64,0x63,0x63,0x36,0x32,0x33,0x63,0x62,0x55,0x2c,0x30,0x78,0x36,0x38,0x66,0x63,0x65,0x64,0x62,0x36,0x55,0x2c,0x30,0x78,0x36,0x33,0x66,0x31, + 0x65,0x34,0x62,0x38,0x55,0x2c,0x0a,0x30,0x78,0x63,0x61,0x64,0x63,0x33,0x31,0x64,0x37,0x55,0x2c,0x30,0x78,0x31,0x30,0x38,0x35,0x36,0x33,0x34,0x32,0x55,0x2c,0x30, + 0x78,0x34,0x30,0x32,0x32,0x39,0x37,0x31,0x33,0x55,0x2c,0x30,0x78,0x32,0x30,0x31,0x31,0x63,0x36,0x38,0x34,0x55,0x2c,0x0a,0x30,0x78,0x37,0x64,0x32,0x34,0x34,0x61, + 0x38,0x35,0x55,0x2c,0x30,0x78,0x66,0x38,0x33,0x64,0x62,0x62,0x64,0x32,0x55,0x2c,0x30,0x78,0x31,0x31,0x33,0x32,0x66,0x39,0x61,0x65,0x55,0x2c,0x30,0x78,0x36,0x64, + 0x61,0x31,0x32,0x39,0x63,0x37,0x55,0x2c,0x0a,0x30,0x78,0x34,0x62,0x32,0x66,0x39,0x65,0x31,0x64,0x55,0x2c,0x30,0x78,0x66,0x33,0x33,0x30,0x62,0x32,0x64,0x63,0x55, + 0x2c,0x30,0x78,0x65,0x63,0x35,0x32,0x38,0x36,0x30,0x64,0x55,0x2c,0x30,0x78,0x64,0x30,0x65,0x33,0x63,0x31,0x37,0x37,0x55,0x2c,0x0a,0x30,0x78,0x36,0x63,0x31,0x36, + 0x62,0x33,0x32,0x62,0x55,0x2c,0x30,0x78,0x39,0x39,0x62,0x39,0x37,0x30,0x61,0x39,0x55,0x2c,0x30,0x78,0x66,0x61,0x34,0x38,0x39,0x34,0x31,0x31,0x55,0x2c,0x30,0x78, + 0x32,0x32,0x36,0x34,0x65,0x39,0x34,0x37,0x55,0x2c,0x0a,0x30,0x78,0x63,0x34,0x38,0x63,0x66,0x63,0x61,0x38,0x55,0x2c,0x30,0x78,0x31,0x61,0x33,0x66,0x66,0x30,0x61, + 0x30,0x55,0x2c,0x30,0x78,0x64,0x38,0x32,0x63,0x37,0x64,0x35,0x36,0x55,0x2c,0x30,0x78,0x65,0x66,0x39,0x30,0x33,0x33,0x32,0x32,0x55,0x2c,0x0a,0x30,0x78,0x63,0x37, + 0x34,0x65,0x34,0x39,0x38,0x37,0x55,0x2c,0x30,0x78,0x63,0x31,0x64,0x31,0x33,0x38,0x64,0x39,0x55,0x2c,0x30,0x78,0x66,0x65,0x61,0x32,0x63,0x61,0x38,0x63,0x55,0x2c, + 0x30,0x78,0x33,0x36,0x30,0x62,0x64,0x34,0x39,0x38,0x55,0x2c,0x0a,0x30,0x78,0x63,0x66,0x38,0x31,0x66,0x35,0x61,0x36,0x55,0x2c,0x30,0x78,0x32,0x38,0x64,0x65,0x37, + 0x61,0x61,0x35,0x55,0x2c,0x30,0x78,0x32,0x36,0x38,0x65,0x62,0x37,0x64,0x61,0x55,0x2c,0x30,0x78,0x61,0x34,0x62,0x66,0x61,0x64,0x33,0x66,0x55,0x2c,0x0a,0x30,0x78, + 0x65,0x34,0x39,0x64,0x33,0x61,0x32,0x63,0x55,0x2c,0x30,0x78,0x30,0x64,0x39,0x32,0x37,0x38,0x35,0x30,0x55,0x2c,0x30,0x78,0x39,0x62,0x63,0x63,0x35,0x66,0x36,0x61, + 0x55,0x2c,0x30,0x78,0x36,0x32,0x34,0x36,0x37,0x65,0x35,0x34,0x55,0x2c,0x0a,0x30,0x78,0x63,0x32,0x31,0x33,0x38,0x64,0x66,0x36,0x55,0x2c,0x30,0x78,0x65,0x38,0x62, + 0x38,0x64,0x38,0x39,0x30,0x55,0x2c,0x30,0x78,0x35,0x65,0x66,0x37,0x33,0x39,0x32,0x65,0x55,0x2c,0x30,0x78,0x66,0x35,0x61,0x66,0x63,0x33,0x38,0x32,0x55,0x2c,0x0a, + 0x30,0x78,0x62,0x65,0x38,0x30,0x35,0x64,0x39,0x66,0x55,0x2c,0x30,0x78,0x37,0x63,0x39,0x33,0x64,0x30,0x36,0x39,0x55,0x2c,0x30,0x78,0x61,0x39,0x32,0x64,0x64,0x35, + 0x36,0x66,0x55,0x2c,0x30,0x78,0x62,0x33,0x31,0x32,0x32,0x35,0x63,0x66,0x55,0x2c,0x0a,0x30,0x78,0x33,0x62,0x39,0x39,0x61,0x63,0x63,0x38,0x55,0x2c,0x30,0x78,0x61, + 0x37,0x37,0x64,0x31,0x38,0x31,0x30,0x55,0x2c,0x30,0x78,0x36,0x65,0x36,0x33,0x39,0x63,0x65,0x38,0x55,0x2c,0x30,0x78,0x37,0x62,0x62,0x62,0x33,0x62,0x64,0x62,0x55, + 0x2c,0x0a,0x30,0x78,0x30,0x39,0x37,0x38,0x32,0x36,0x63,0x64,0x55,0x2c,0x30,0x78,0x66,0x34,0x31,0x38,0x35,0x39,0x36,0x65,0x55,0x2c,0x30,0x78,0x30,0x31,0x62,0x37, + 0x39,0x61,0x65,0x63,0x55,0x2c,0x30,0x78,0x61,0x38,0x39,0x61,0x34,0x66,0x38,0x33,0x55,0x2c,0x0a,0x30,0x78,0x36,0x35,0x36,0x65,0x39,0x35,0x65,0x36,0x55,0x2c,0x30, + 0x78,0x37,0x65,0x65,0x36,0x66,0x66,0x61,0x61,0x55,0x2c,0x30,0x78,0x30,0x38,0x63,0x66,0x62,0x63,0x32,0x31,0x55,0x2c,0x30,0x78,0x65,0x36,0x65,0x38,0x31,0x35,0x65, + 0x66,0x55,0x2c,0x0a,0x30,0x78,0x64,0x39,0x39,0x62,0x65,0x37,0x62,0x61,0x55,0x2c,0x30,0x78,0x63,0x65,0x33,0x36,0x36,0x66,0x34,0x61,0x55,0x2c,0x30,0x78,0x64,0x34, + 0x30,0x39,0x39,0x66,0x65,0x61,0x55,0x2c,0x30,0x78,0x64,0x36,0x37,0x63,0x62,0x30,0x32,0x39,0x55,0x2c,0x0a,0x30,0x78,0x61,0x66,0x62,0x32,0x61,0x34,0x33,0x31,0x55, + 0x2c,0x30,0x78,0x33,0x31,0x32,0x33,0x33,0x66,0x32,0x61,0x55,0x2c,0x30,0x78,0x33,0x30,0x39,0x34,0x61,0x35,0x63,0x36,0x55,0x2c,0x30,0x78,0x63,0x30,0x36,0x36,0x61, + 0x32,0x33,0x35,0x55,0x2c,0x0a,0x30,0x78,0x33,0x37,0x62,0x63,0x34,0x65,0x37,0x34,0x55,0x2c,0x30,0x78,0x61,0x36,0x63,0x61,0x38,0x32,0x66,0x63,0x55,0x2c,0x30,0x78, + 0x62,0x30,0x64,0x30,0x39,0x30,0x65,0x30,0x55,0x2c,0x30,0x78,0x31,0x35,0x64,0x38,0x61,0x37,0x33,0x33,0x55,0x2c,0x0a,0x30,0x78,0x34,0x61,0x39,0x38,0x30,0x34,0x66, + 0x31,0x55,0x2c,0x30,0x78,0x66,0x37,0x64,0x61,0x65,0x63,0x34,0x31,0x55,0x2c,0x30,0x78,0x30,0x65,0x35,0x30,0x63,0x64,0x37,0x66,0x55,0x2c,0x30,0x78,0x32,0x66,0x66, + 0x36,0x39,0x31,0x31,0x37,0x55,0x2c,0x0a,0x30,0x78,0x38,0x64,0x64,0x36,0x34,0x64,0x37,0x36,0x55,0x2c,0x30,0x78,0x34,0x64,0x62,0x30,0x65,0x66,0x34,0x33,0x55,0x2c, + 0x30,0x78,0x35,0x34,0x34,0x64,0x61,0x61,0x63,0x63,0x55,0x2c,0x30,0x78,0x64,0x66,0x30,0x34,0x39,0x36,0x65,0x34,0x55,0x2c,0x0a,0x30,0x78,0x65,0x33,0x62,0x35,0x64, + 0x31,0x39,0x65,0x55,0x2c,0x30,0x78,0x31,0x62,0x38,0x38,0x36,0x61,0x34,0x63,0x55,0x2c,0x30,0x78,0x62,0x38,0x31,0x66,0x32,0x63,0x63,0x31,0x55,0x2c,0x30,0x78,0x37, + 0x66,0x35,0x31,0x36,0x35,0x34,0x36,0x55,0x2c,0x0a,0x30,0x78,0x30,0x34,0x65,0x61,0x35,0x65,0x39,0x64,0x55,0x2c,0x30,0x78,0x35,0x64,0x33,0x35,0x38,0x63,0x30,0x31, + 0x55,0x2c,0x30,0x78,0x37,0x33,0x37,0x34,0x38,0x37,0x66,0x61,0x55,0x2c,0x30,0x78,0x32,0x65,0x34,0x31,0x30,0x62,0x66,0x62,0x55,0x2c,0x0a,0x30,0x78,0x35,0x61,0x31, + 0x64,0x36,0x37,0x62,0x33,0x55,0x2c,0x30,0x78,0x35,0x32,0x64,0x32,0x64,0x62,0x39,0x32,0x55,0x2c,0x30,0x78,0x33,0x33,0x35,0x36,0x31,0x30,0x65,0x39,0x55,0x2c,0x30, + 0x78,0x31,0x33,0x34,0x37,0x64,0x36,0x36,0x64,0x55,0x2c,0x0a,0x30,0x78,0x38,0x63,0x36,0x31,0x64,0x37,0x39,0x61,0x55,0x2c,0x30,0x78,0x37,0x61,0x30,0x63,0x61,0x31, + 0x33,0x37,0x55,0x2c,0x30,0x78,0x38,0x65,0x31,0x34,0x66,0x38,0x35,0x39,0x55,0x2c,0x30,0x78,0x38,0x39,0x33,0x63,0x31,0x33,0x65,0x62,0x55,0x2c,0x0a,0x30,0x78,0x65, + 0x65,0x32,0x37,0x61,0x39,0x63,0x65,0x55,0x2c,0x30,0x78,0x33,0x35,0x63,0x39,0x36,0x31,0x62,0x37,0x55,0x2c,0x30,0x78,0x65,0x64,0x65,0x35,0x31,0x63,0x65,0x31,0x55, + 0x2c,0x30,0x78,0x33,0x63,0x62,0x31,0x34,0x37,0x37,0x61,0x55,0x2c,0x0a,0x30,0x78,0x35,0x39,0x64,0x66,0x64,0x32,0x39,0x63,0x55,0x2c,0x30,0x78,0x33,0x66,0x37,0x33, + 0x66,0x32,0x35,0x35,0x55,0x2c,0x30,0x78,0x37,0x39,0x63,0x65,0x31,0x34,0x31,0x38,0x55,0x2c,0x30,0x78,0x62,0x66,0x33,0x37,0x63,0x37,0x37,0x33,0x55,0x2c,0x0a,0x30, + 0x78,0x65,0x61,0x63,0x64,0x66,0x37,0x35,0x33,0x55,0x2c,0x30,0x78,0x35,0x62,0x61,0x61,0x66,0x64,0x35,0x66,0x55,0x2c,0x30,0x78,0x31,0x34,0x36,0x66,0x33,0x64,0x64, + 0x66,0x55,0x2c,0x30,0x78,0x38,0x36,0x64,0x62,0x34,0x34,0x37,0x38,0x55,0x2c,0x0a,0x30,0x78,0x38,0x31,0x66,0x33,0x61,0x66,0x63,0x61,0x55,0x2c,0x30,0x78,0x33,0x65, + 0x63,0x34,0x36,0x38,0x62,0x39,0x55,0x2c,0x30,0x78,0x32,0x63,0x33,0x34,0x32,0x34,0x33,0x38,0x55,0x2c,0x30,0x78,0x35,0x66,0x34,0x30,0x61,0x33,0x63,0x32,0x55,0x2c, + 0x0a,0x30,0x78,0x37,0x32,0x63,0x33,0x31,0x64,0x31,0x36,0x55,0x2c,0x30,0x78,0x30,0x63,0x32,0x35,0x65,0x32,0x62,0x63,0x55,0x2c,0x30,0x78,0x38,0x62,0x34,0x39,0x33, + 0x63,0x32,0x38,0x55,0x2c,0x30,0x78,0x34,0x31,0x39,0x35,0x30,0x64,0x66,0x66,0x55,0x2c,0x0a,0x30,0x78,0x37,0x31,0x30,0x31,0x61,0x38,0x33,0x39,0x55,0x2c,0x30,0x78, + 0x64,0x65,0x62,0x33,0x30,0x63,0x30,0x38,0x55,0x2c,0x30,0x78,0x39,0x63,0x65,0x34,0x62,0x34,0x64,0x38,0x55,0x2c,0x30,0x78,0x39,0x30,0x63,0x31,0x35,0x36,0x36,0x34, + 0x55,0x2c,0x0a,0x30,0x78,0x36,0x31,0x38,0x34,0x63,0x62,0x37,0x62,0x55,0x2c,0x30,0x78,0x37,0x30,0x62,0x36,0x33,0x32,0x64,0x35,0x55,0x2c,0x30,0x78,0x37,0x34,0x35, + 0x63,0x36,0x63,0x34,0x38,0x55,0x2c,0x30,0x78,0x34,0x32,0x35,0x37,0x62,0x38,0x64,0x30,0x55,0x2c,0x0a,0x30,0x78,0x61,0x37,0x66,0x34,0x35,0x31,0x35,0x30,0x55,0x2c, + 0x30,0x78,0x36,0x35,0x34,0x31,0x37,0x65,0x35,0x33,0x55,0x2c,0x30,0x78,0x61,0x34,0x31,0x37,0x31,0x61,0x63,0x33,0x55,0x2c,0x30,0x78,0x35,0x65,0x32,0x37,0x33,0x61, + 0x39,0x36,0x55,0x2c,0x0a,0x30,0x78,0x36,0x62,0x61,0x62,0x33,0x62,0x63,0x62,0x55,0x2c,0x30,0x78,0x34,0x35,0x39,0x64,0x31,0x66,0x66,0x31,0x55,0x2c,0x30,0x78,0x35, + 0x38,0x66,0x61,0x61,0x63,0x61,0x62,0x55,0x2c,0x30,0x78,0x30,0x33,0x65,0x33,0x34,0x62,0x39,0x33,0x55,0x2c,0x0a,0x30,0x78,0x66,0x61,0x33,0x30,0x32,0x30,0x35,0x35, + 0x55,0x2c,0x30,0x78,0x36,0x64,0x37,0x36,0x61,0x64,0x66,0x36,0x55,0x2c,0x30,0x78,0x37,0x36,0x63,0x63,0x38,0x38,0x39,0x31,0x55,0x2c,0x30,0x78,0x34,0x63,0x30,0x32, + 0x66,0x35,0x32,0x35,0x55,0x2c,0x0a,0x30,0x78,0x64,0x37,0x65,0x35,0x34,0x66,0x66,0x63,0x55,0x2c,0x30,0x78,0x63,0x62,0x32,0x61,0x63,0x35,0x64,0x37,0x55,0x2c,0x30, + 0x78,0x34,0x34,0x33,0x35,0x32,0x36,0x38,0x30,0x55,0x2c,0x30,0x78,0x61,0x33,0x36,0x32,0x62,0x35,0x38,0x66,0x55,0x2c,0x0a,0x30,0x78,0x35,0x61,0x62,0x31,0x64,0x65, + 0x34,0x39,0x55,0x2c,0x30,0x78,0x31,0x62,0x62,0x61,0x32,0x35,0x36,0x37,0x55,0x2c,0x30,0x78,0x30,0x65,0x65,0x61,0x34,0x35,0x39,0x38,0x55,0x2c,0x30,0x78,0x63,0x30, + 0x66,0x65,0x35,0x64,0x65,0x31,0x55,0x2c,0x0a,0x30,0x78,0x37,0x35,0x32,0x66,0x63,0x33,0x30,0x32,0x55,0x2c,0x30,0x78,0x66,0x30,0x34,0x63,0x38,0x31,0x31,0x32,0x55, + 0x2c,0x30,0x78,0x39,0x37,0x34,0x36,0x38,0x64,0x61,0x33,0x55,0x2c,0x30,0x78,0x66,0x39,0x64,0x33,0x36,0x62,0x63,0x36,0x55,0x2c,0x0a,0x30,0x78,0x35,0x66,0x38,0x66, + 0x30,0x33,0x65,0x37,0x55,0x2c,0x30,0x78,0x39,0x63,0x39,0x32,0x31,0x35,0x39,0x35,0x55,0x2c,0x30,0x78,0x37,0x61,0x36,0x64,0x62,0x66,0x65,0x62,0x55,0x2c,0x30,0x78, + 0x35,0x39,0x35,0x32,0x39,0x35,0x64,0x61,0x55,0x2c,0x0a,0x30,0x78,0x38,0x33,0x62,0x65,0x64,0x34,0x32,0x64,0x55,0x2c,0x30,0x78,0x32,0x31,0x37,0x34,0x35,0x38,0x64, + 0x33,0x55,0x2c,0x30,0x78,0x36,0x39,0x65,0x30,0x34,0x39,0x32,0x39,0x55,0x2c,0x30,0x78,0x63,0x38,0x63,0x39,0x38,0x65,0x34,0x34,0x55,0x2c,0x0a,0x30,0x78,0x38,0x39, + 0x63,0x32,0x37,0x35,0x36,0x61,0x55,0x2c,0x30,0x78,0x37,0x39,0x38,0x65,0x66,0x34,0x37,0x38,0x55,0x2c,0x30,0x78,0x33,0x65,0x35,0x38,0x39,0x39,0x36,0x62,0x55,0x2c, + 0x30,0x78,0x37,0x31,0x62,0x39,0x32,0x37,0x64,0x64,0x55,0x2c,0x0a,0x30,0x78,0x34,0x66,0x65,0x31,0x62,0x65,0x62,0x36,0x55,0x2c,0x30,0x78,0x61,0x64,0x38,0x38,0x66, + 0x30,0x31,0x37,0x55,0x2c,0x30,0x78,0x61,0x63,0x32,0x30,0x63,0x39,0x36,0x36,0x55,0x2c,0x30,0x78,0x33,0x61,0x63,0x65,0x37,0x64,0x62,0x34,0x55,0x2c,0x0a,0x30,0x78, + 0x34,0x61,0x64,0x66,0x36,0x33,0x31,0x38,0x55,0x2c,0x30,0x78,0x33,0x31,0x31,0x61,0x65,0x35,0x38,0x32,0x55,0x2c,0x30,0x78,0x33,0x33,0x35,0x31,0x39,0x37,0x36,0x30, + 0x55,0x2c,0x30,0x78,0x37,0x66,0x35,0x33,0x36,0x32,0x34,0x35,0x55,0x2c,0x0a,0x30,0x78,0x37,0x37,0x36,0x34,0x62,0x31,0x65,0x30,0x55,0x2c,0x30,0x78,0x61,0x65,0x36, + 0x62,0x62,0x62,0x38,0x34,0x55,0x2c,0x30,0x78,0x61,0x30,0x38,0x31,0x66,0x65,0x31,0x63,0x55,0x2c,0x30,0x78,0x32,0x62,0x30,0x38,0x66,0x39,0x39,0x34,0x55,0x2c,0x0a, + 0x30,0x78,0x36,0x38,0x34,0x38,0x37,0x30,0x35,0x38,0x55,0x2c,0x30,0x78,0x66,0x64,0x34,0x35,0x38,0x66,0x31,0x39,0x55,0x2c,0x30,0x78,0x36,0x63,0x64,0x65,0x39,0x34, + 0x38,0x37,0x55,0x2c,0x30,0x78,0x66,0x38,0x37,0x62,0x35,0x32,0x62,0x37,0x55,0x2c,0x0a,0x30,0x78,0x64,0x33,0x37,0x33,0x61,0x62,0x32,0x33,0x55,0x2c,0x30,0x78,0x30, + 0x32,0x34,0x62,0x37,0x32,0x65,0x32,0x55,0x2c,0x30,0x78,0x38,0x66,0x31,0x66,0x65,0x33,0x35,0x37,0x55,0x2c,0x30,0x78,0x61,0x62,0x35,0x35,0x36,0x36,0x32,0x61,0x55, + 0x2c,0x0a,0x30,0x78,0x32,0x38,0x65,0x62,0x62,0x32,0x30,0x37,0x55,0x2c,0x30,0x78,0x63,0x32,0x62,0x35,0x32,0x66,0x30,0x33,0x55,0x2c,0x30,0x78,0x37,0x62,0x63,0x35, + 0x38,0x36,0x39,0x61,0x55,0x2c,0x30,0x78,0x30,0x38,0x33,0x37,0x64,0x33,0x61,0x35,0x55,0x2c,0x0a,0x30,0x78,0x38,0x37,0x32,0x38,0x33,0x30,0x66,0x32,0x55,0x2c,0x30, + 0x78,0x61,0x35,0x62,0x66,0x32,0x33,0x62,0x32,0x55,0x2c,0x30,0x78,0x36,0x61,0x30,0x33,0x30,0x32,0x62,0x61,0x55,0x2c,0x30,0x78,0x38,0x32,0x31,0x36,0x65,0x64,0x35, + 0x63,0x55,0x2c,0x0a,0x30,0x78,0x31,0x63,0x63,0x66,0x38,0x61,0x32,0x62,0x55,0x2c,0x30,0x78,0x62,0x34,0x37,0x39,0x61,0x37,0x39,0x32,0x55,0x2c,0x30,0x78,0x66,0x32, + 0x30,0x37,0x66,0x33,0x66,0x30,0x55,0x2c,0x30,0x78,0x65,0x32,0x36,0x39,0x34,0x65,0x61,0x31,0x55,0x2c,0x0a,0x30,0x78,0x66,0x34,0x64,0x61,0x36,0x35,0x63,0x64,0x55, + 0x2c,0x30,0x78,0x62,0x65,0x30,0x35,0x30,0x36,0x64,0x35,0x55,0x2c,0x30,0x78,0x36,0x32,0x33,0x34,0x64,0x31,0x31,0x66,0x55,0x2c,0x30,0x78,0x66,0x65,0x61,0x36,0x63, + 0x34,0x38,0x61,0x55,0x2c,0x0a,0x30,0x78,0x35,0x33,0x32,0x65,0x33,0x34,0x39,0x64,0x55,0x2c,0x30,0x78,0x35,0x35,0x66,0x33,0x61,0x32,0x61,0x30,0x55,0x2c,0x30,0x78, + 0x65,0x31,0x38,0x61,0x30,0x35,0x33,0x32,0x55,0x2c,0x30,0x78,0x65,0x62,0x66,0x36,0x61,0x34,0x37,0x35,0x55,0x2c,0x0a,0x30,0x78,0x65,0x63,0x38,0x33,0x30,0x62,0x33, + 0x39,0x55,0x2c,0x30,0x78,0x65,0x66,0x36,0x30,0x34,0x30,0x61,0x61,0x55,0x2c,0x30,0x78,0x39,0x66,0x37,0x31,0x35,0x65,0x30,0x36,0x55,0x2c,0x30,0x78,0x31,0x30,0x36, + 0x65,0x62,0x64,0x35,0x31,0x55,0x2c,0x0a,0x30,0x78,0x38,0x61,0x32,0x31,0x33,0x65,0x66,0x39,0x55,0x2c,0x30,0x78,0x30,0x36,0x64,0x64,0x39,0x36,0x33,0x64,0x55,0x2c, + 0x30,0x78,0x30,0x35,0x33,0x65,0x64,0x64,0x61,0x65,0x55,0x2c,0x30,0x78,0x62,0x64,0x65,0x36,0x34,0x64,0x34,0x36,0x55,0x2c,0x0a,0x30,0x78,0x38,0x64,0x35,0x34,0x39, + 0x31,0x62,0x35,0x55,0x2c,0x30,0x78,0x35,0x64,0x63,0x34,0x37,0x31,0x30,0x35,0x55,0x2c,0x30,0x78,0x64,0x34,0x30,0x36,0x30,0x34,0x36,0x66,0x55,0x2c,0x30,0x78,0x31, + 0x35,0x35,0x30,0x36,0x30,0x66,0x66,0x55,0x2c,0x0a,0x30,0x78,0x66,0x62,0x39,0x38,0x31,0x39,0x32,0x34,0x55,0x2c,0x30,0x78,0x65,0x39,0x62,0x64,0x64,0x36,0x39,0x37, + 0x55,0x2c,0x30,0x78,0x34,0x33,0x34,0x30,0x38,0x39,0x63,0x63,0x55,0x2c,0x30,0x78,0x39,0x65,0x64,0x39,0x36,0x37,0x37,0x37,0x55,0x2c,0x0a,0x30,0x78,0x34,0x32,0x65, + 0x38,0x62,0x30,0x62,0x64,0x55,0x2c,0x30,0x78,0x38,0x62,0x38,0x39,0x30,0x37,0x38,0x38,0x55,0x2c,0x30,0x78,0x35,0x62,0x31,0x39,0x65,0x37,0x33,0x38,0x55,0x2c,0x30, + 0x78,0x65,0x65,0x63,0x38,0x37,0x39,0x64,0x62,0x55,0x2c,0x0a,0x30,0x78,0x30,0x61,0x37,0x63,0x61,0x31,0x34,0x37,0x55,0x2c,0x30,0x78,0x30,0x66,0x34,0x32,0x37,0x63, + 0x65,0x39,0x55,0x2c,0x30,0x78,0x31,0x65,0x38,0x34,0x66,0x38,0x63,0x39,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x0a,0x30,0x78,0x38, + 0x36,0x38,0x30,0x30,0x39,0x38,0x33,0x55,0x2c,0x30,0x78,0x65,0x64,0x32,0x62,0x33,0x32,0x34,0x38,0x55,0x2c,0x30,0x78,0x37,0x30,0x31,0x31,0x31,0x65,0x61,0x63,0x55, + 0x2c,0x30,0x78,0x37,0x32,0x35,0x61,0x36,0x63,0x34,0x65,0x55,0x2c,0x0a,0x30,0x78,0x66,0x66,0x30,0x65,0x66,0x64,0x66,0x62,0x55,0x2c,0x30,0x78,0x33,0x38,0x38,0x35, + 0x30,0x66,0x35,0x36,0x55,0x2c,0x30,0x78,0x64,0x35,0x61,0x65,0x33,0x64,0x31,0x65,0x55,0x2c,0x30,0x78,0x33,0x39,0x32,0x64,0x33,0x36,0x32,0x37,0x55,0x2c,0x0a,0x30, + 0x78,0x64,0x39,0x30,0x66,0x30,0x61,0x36,0x34,0x55,0x2c,0x30,0x78,0x61,0x36,0x35,0x63,0x36,0x38,0x32,0x31,0x55,0x2c,0x30,0x78,0x35,0x34,0x35,0x62,0x39,0x62,0x64, + 0x31,0x55,0x2c,0x30,0x78,0x32,0x65,0x33,0x36,0x32,0x34,0x33,0x61,0x55,0x2c,0x0a,0x30,0x78,0x36,0x37,0x30,0x61,0x30,0x63,0x62,0x31,0x55,0x2c,0x30,0x78,0x65,0x37, + 0x35,0x37,0x39,0x33,0x30,0x66,0x55,0x2c,0x30,0x78,0x39,0x36,0x65,0x65,0x62,0x34,0x64,0x32,0x55,0x2c,0x30,0x78,0x39,0x31,0x39,0x62,0x31,0x62,0x39,0x65,0x55,0x2c, + 0x0a,0x30,0x78,0x63,0x35,0x63,0x30,0x38,0x30,0x34,0x66,0x55,0x2c,0x30,0x78,0x32,0x30,0x64,0x63,0x36,0x31,0x61,0x32,0x55,0x2c,0x30,0x78,0x34,0x62,0x37,0x37,0x35, + 0x61,0x36,0x39,0x55,0x2c,0x30,0x78,0x31,0x61,0x31,0x32,0x31,0x63,0x31,0x36,0x55,0x2c,0x0a,0x30,0x78,0x62,0x61,0x39,0x33,0x65,0x32,0x30,0x61,0x55,0x2c,0x30,0x78, + 0x32,0x61,0x61,0x30,0x63,0x30,0x65,0x35,0x55,0x2c,0x30,0x78,0x65,0x30,0x32,0x32,0x33,0x63,0x34,0x33,0x55,0x2c,0x30,0x78,0x31,0x37,0x31,0x62,0x31,0x32,0x31,0x64, + 0x55,0x2c,0x0a,0x30,0x78,0x30,0x64,0x30,0x39,0x30,0x65,0x30,0x62,0x55,0x2c,0x30,0x78,0x63,0x37,0x38,0x62,0x66,0x32,0x61,0x64,0x55,0x2c,0x30,0x78,0x61,0x38,0x62, + 0x36,0x32,0x64,0x62,0x39,0x55,0x2c,0x30,0x78,0x61,0x39,0x31,0x65,0x31,0x34,0x63,0x38,0x55,0x2c,0x0a,0x30,0x78,0x31,0x39,0x66,0x31,0x35,0x37,0x38,0x35,0x55,0x2c, + 0x30,0x78,0x30,0x37,0x37,0x35,0x61,0x66,0x34,0x63,0x55,0x2c,0x30,0x78,0x64,0x64,0x39,0x39,0x65,0x65,0x62,0x62,0x55,0x2c,0x30,0x78,0x36,0x30,0x37,0x66,0x61,0x33, + 0x66,0x64,0x55,0x2c,0x0a,0x30,0x78,0x32,0x36,0x30,0x31,0x66,0x37,0x39,0x66,0x55,0x2c,0x30,0x78,0x66,0x35,0x37,0x32,0x35,0x63,0x62,0x63,0x55,0x2c,0x30,0x78,0x33, + 0x62,0x36,0x36,0x34,0x34,0x63,0x35,0x55,0x2c,0x30,0x78,0x37,0x65,0x66,0x62,0x35,0x62,0x33,0x34,0x55,0x2c,0x0a,0x30,0x78,0x32,0x39,0x34,0x33,0x38,0x62,0x37,0x36, + 0x55,0x2c,0x30,0x78,0x63,0x36,0x32,0x33,0x63,0x62,0x64,0x63,0x55,0x2c,0x30,0x78,0x66,0x63,0x65,0x64,0x62,0x36,0x36,0x38,0x55,0x2c,0x30,0x78,0x66,0x31,0x65,0x34, + 0x62,0x38,0x36,0x33,0x55,0x2c,0x0a,0x30,0x78,0x64,0x63,0x33,0x31,0x64,0x37,0x63,0x61,0x55,0x2c,0x30,0x78,0x38,0x35,0x36,0x33,0x34,0x32,0x31,0x30,0x55,0x2c,0x30, + 0x78,0x32,0x32,0x39,0x37,0x31,0x33,0x34,0x30,0x55,0x2c,0x30,0x78,0x31,0x31,0x63,0x36,0x38,0x34,0x32,0x30,0x55,0x2c,0x0a,0x30,0x78,0x32,0x34,0x34,0x61,0x38,0x35, + 0x37,0x64,0x55,0x2c,0x30,0x78,0x33,0x64,0x62,0x62,0x64,0x32,0x66,0x38,0x55,0x2c,0x30,0x78,0x33,0x32,0x66,0x39,0x61,0x65,0x31,0x31,0x55,0x2c,0x30,0x78,0x61,0x31, + 0x32,0x39,0x63,0x37,0x36,0x64,0x55,0x2c,0x0a,0x30,0x78,0x32,0x66,0x39,0x65,0x31,0x64,0x34,0x62,0x55,0x2c,0x30,0x78,0x33,0x30,0x62,0x32,0x64,0x63,0x66,0x33,0x55, + 0x2c,0x30,0x78,0x35,0x32,0x38,0x36,0x30,0x64,0x65,0x63,0x55,0x2c,0x30,0x78,0x65,0x33,0x63,0x31,0x37,0x37,0x64,0x30,0x55,0x2c,0x0a,0x30,0x78,0x31,0x36,0x62,0x33, + 0x32,0x62,0x36,0x63,0x55,0x2c,0x30,0x78,0x62,0x39,0x37,0x30,0x61,0x39,0x39,0x39,0x55,0x2c,0x30,0x78,0x34,0x38,0x39,0x34,0x31,0x31,0x66,0x61,0x55,0x2c,0x30,0x78, + 0x36,0x34,0x65,0x39,0x34,0x37,0x32,0x32,0x55,0x2c,0x0a,0x30,0x78,0x38,0x63,0x66,0x63,0x61,0x38,0x63,0x34,0x55,0x2c,0x30,0x78,0x33,0x66,0x66,0x30,0x61,0x30,0x31, + 0x61,0x55,0x2c,0x30,0x78,0x32,0x63,0x37,0x64,0x35,0x36,0x64,0x38,0x55,0x2c,0x30,0x78,0x39,0x30,0x33,0x33,0x32,0x32,0x65,0x66,0x55,0x2c,0x0a,0x30,0x78,0x34,0x65, + 0x34,0x39,0x38,0x37,0x63,0x37,0x55,0x2c,0x30,0x78,0x64,0x31,0x33,0x38,0x64,0x39,0x63,0x31,0x55,0x2c,0x30,0x78,0x61,0x32,0x63,0x61,0x38,0x63,0x66,0x65,0x55,0x2c, + 0x30,0x78,0x30,0x62,0x64,0x34,0x39,0x38,0x33,0x36,0x55,0x2c,0x0a,0x30,0x78,0x38,0x31,0x66,0x35,0x61,0x36,0x63,0x66,0x55,0x2c,0x30,0x78,0x64,0x65,0x37,0x61,0x61, + 0x35,0x32,0x38,0x55,0x2c,0x30,0x78,0x38,0x65,0x62,0x37,0x64,0x61,0x32,0x36,0x55,0x2c,0x30,0x78,0x62,0x66,0x61,0x64,0x33,0x66,0x61,0x34,0x55,0x2c,0x0a,0x30,0x78, + 0x39,0x64,0x33,0x61,0x32,0x63,0x65,0x34,0x55,0x2c,0x30,0x78,0x39,0x32,0x37,0x38,0x35,0x30,0x30,0x64,0x55,0x2c,0x30,0x78,0x63,0x63,0x35,0x66,0x36,0x61,0x39,0x62, + 0x55,0x2c,0x30,0x78,0x34,0x36,0x37,0x65,0x35,0x34,0x36,0x32,0x55,0x2c,0x0a,0x30,0x78,0x31,0x33,0x38,0x64,0x66,0x36,0x63,0x32,0x55,0x2c,0x30,0x78,0x62,0x38,0x64, + 0x38,0x39,0x30,0x65,0x38,0x55,0x2c,0x30,0x78,0x66,0x37,0x33,0x39,0x32,0x65,0x35,0x65,0x55,0x2c,0x30,0x78,0x61,0x66,0x63,0x33,0x38,0x32,0x66,0x35,0x55,0x2c,0x0a, + 0x30,0x78,0x38,0x30,0x35,0x64,0x39,0x66,0x62,0x65,0x55,0x2c,0x30,0x78,0x39,0x33,0x64,0x30,0x36,0x39,0x37,0x63,0x55,0x2c,0x30,0x78,0x32,0x64,0x64,0x35,0x36,0x66, + 0x61,0x39,0x55,0x2c,0x30,0x78,0x31,0x32,0x32,0x35,0x63,0x66,0x62,0x33,0x55,0x2c,0x0a,0x30,0x78,0x39,0x39,0x61,0x63,0x63,0x38,0x33,0x62,0x55,0x2c,0x30,0x78,0x37, + 0x64,0x31,0x38,0x31,0x30,0x61,0x37,0x55,0x2c,0x30,0x78,0x36,0x33,0x39,0x63,0x65,0x38,0x36,0x65,0x55,0x2c,0x30,0x78,0x62,0x62,0x33,0x62,0x64,0x62,0x37,0x62,0x55, + 0x2c,0x0a,0x30,0x78,0x37,0x38,0x32,0x36,0x63,0x64,0x30,0x39,0x55,0x2c,0x30,0x78,0x31,0x38,0x35,0x39,0x36,0x65,0x66,0x34,0x55,0x2c,0x30,0x78,0x62,0x37,0x39,0x61, + 0x65,0x63,0x30,0x31,0x55,0x2c,0x30,0x78,0x39,0x61,0x34,0x66,0x38,0x33,0x61,0x38,0x55,0x2c,0x0a,0x30,0x78,0x36,0x65,0x39,0x35,0x65,0x36,0x36,0x35,0x55,0x2c,0x30, + 0x78,0x65,0x36,0x66,0x66,0x61,0x61,0x37,0x65,0x55,0x2c,0x30,0x78,0x63,0x66,0x62,0x63,0x32,0x31,0x30,0x38,0x55,0x2c,0x30,0x78,0x65,0x38,0x31,0x35,0x65,0x66,0x65, + 0x36,0x55,0x2c,0x0a,0x30,0x78,0x39,0x62,0x65,0x37,0x62,0x61,0x64,0x39,0x55,0x2c,0x30,0x78,0x33,0x36,0x36,0x66,0x34,0x61,0x63,0x65,0x55,0x2c,0x30,0x78,0x30,0x39, + 0x39,0x66,0x65,0x61,0x64,0x34,0x55,0x2c,0x30,0x78,0x37,0x63,0x62,0x30,0x32,0x39,0x64,0x36,0x55,0x2c,0x0a,0x30,0x78,0x62,0x32,0x61,0x34,0x33,0x31,0x61,0x66,0x55, + 0x2c,0x30,0x78,0x32,0x33,0x33,0x66,0x32,0x61,0x33,0x31,0x55,0x2c,0x30,0x78,0x39,0x34,0x61,0x35,0x63,0x36,0x33,0x30,0x55,0x2c,0x30,0x78,0x36,0x36,0x61,0x32,0x33, + 0x35,0x63,0x30,0x55,0x2c,0x0a,0x30,0x78,0x62,0x63,0x34,0x65,0x37,0x34,0x33,0x37,0x55,0x2c,0x30,0x78,0x63,0x61,0x38,0x32,0x66,0x63,0x61,0x36,0x55,0x2c,0x30,0x78, + 0x64,0x30,0x39,0x30,0x65,0x30,0x62,0x30,0x55,0x2c,0x30,0x78,0x64,0x38,0x61,0x37,0x33,0x33,0x31,0x35,0x55,0x2c,0x0a,0x30,0x78,0x39,0x38,0x30,0x34,0x66,0x31,0x34, + 0x61,0x55,0x2c,0x30,0x78,0x64,0x61,0x65,0x63,0x34,0x31,0x66,0x37,0x55,0x2c,0x30,0x78,0x35,0x30,0x63,0x64,0x37,0x66,0x30,0x65,0x55,0x2c,0x30,0x78,0x66,0x36,0x39, + 0x31,0x31,0x37,0x32,0x66,0x55,0x2c,0x0a,0x30,0x78,0x64,0x36,0x34,0x64,0x37,0x36,0x38,0x64,0x55,0x2c,0x30,0x78,0x62,0x30,0x65,0x66,0x34,0x33,0x34,0x64,0x55,0x2c, + 0x30,0x78,0x34,0x64,0x61,0x61,0x63,0x63,0x35,0x34,0x55,0x2c,0x30,0x78,0x30,0x34,0x39,0x36,0x65,0x34,0x64,0x66,0x55,0x2c,0x0a,0x30,0x78,0x62,0x35,0x64,0x31,0x39, + 0x65,0x65,0x33,0x55,0x2c,0x30,0x78,0x38,0x38,0x36,0x61,0x34,0x63,0x31,0x62,0x55,0x2c,0x30,0x78,0x31,0x66,0x32,0x63,0x63,0x31,0x62,0x38,0x55,0x2c,0x30,0x78,0x35, + 0x31,0x36,0x35,0x34,0x36,0x37,0x66,0x55,0x2c,0x0a,0x30,0x78,0x65,0x61,0x35,0x65,0x39,0x64,0x30,0x34,0x55,0x2c,0x30,0x78,0x33,0x35,0x38,0x63,0x30,0x31,0x35,0x64, + 0x55,0x2c,0x30,0x78,0x37,0x34,0x38,0x37,0x66,0x61,0x37,0x33,0x55,0x2c,0x30,0x78,0x34,0x31,0x30,0x62,0x66,0x62,0x32,0x65,0x55,0x2c,0x0a,0x30,0x78,0x31,0x64,0x36, + 0x37,0x62,0x33,0x35,0x61,0x55,0x2c,0x30,0x78,0x64,0x32,0x64,0x62,0x39,0x32,0x35,0x32,0x55,0x2c,0x30,0x78,0x35,0x36,0x31,0x30,0x65,0x39,0x33,0x33,0x55,0x2c,0x30, + 0x78,0x34,0x37,0x64,0x36,0x36,0x64,0x31,0x33,0x55,0x2c,0x0a,0x30,0x78,0x36,0x31,0x64,0x37,0x39,0x61,0x38,0x63,0x55,0x2c,0x30,0x78,0x30,0x63,0x61,0x31,0x33,0x37, + 0x37,0x61,0x55,0x2c,0x30,0x78,0x31,0x34,0x66,0x38,0x35,0x39,0x38,0x65,0x55,0x2c,0x30,0x78,0x33,0x63,0x31,0x33,0x65,0x62,0x38,0x39,0x55,0x2c,0x0a,0x30,0x78,0x32, + 0x37,0x61,0x39,0x63,0x65,0x65,0x65,0x55,0x2c,0x30,0x78,0x63,0x39,0x36,0x31,0x62,0x37,0x33,0x35,0x55,0x2c,0x30,0x78,0x65,0x35,0x31,0x63,0x65,0x31,0x65,0x64,0x55, + 0x2c,0x30,0x78,0x62,0x31,0x34,0x37,0x37,0x61,0x33,0x63,0x55,0x2c,0x0a,0x30,0x78,0x64,0x66,0x64,0x32,0x39,0x63,0x35,0x39,0x55,0x2c,0x30,0x78,0x37,0x33,0x66,0x32, + 0x35,0x35,0x33,0x66,0x55,0x2c,0x30,0x78,0x63,0x65,0x31,0x34,0x31,0x38,0x37,0x39,0x55,0x2c,0x30,0x78,0x33,0x37,0x63,0x37,0x37,0x33,0x62,0x66,0x55,0x2c,0x0a,0x30, + 0x78,0x63,0x64,0x66,0x37,0x35,0x33,0x65,0x61,0x55,0x2c,0x30,0x78,0x61,0x61,0x66,0x64,0x35,0x66,0x35,0x62,0x55,0x2c,0x30,0x78,0x36,0x66,0x33,0x64,0x64,0x66,0x31, + 0x34,0x55,0x2c,0x30,0x78,0x64,0x62,0x34,0x34,0x37,0x38,0x38,0x36,0x55,0x2c,0x0a,0x30,0x78,0x66,0x33,0x61,0x66,0x63,0x61,0x38,0x31,0x55,0x2c,0x30,0x78,0x63,0x34, + 0x36,0x38,0x62,0x39,0x33,0x65,0x55,0x2c,0x30,0x78,0x33,0x34,0x32,0x34,0x33,0x38,0x32,0x63,0x55,0x2c,0x30,0x78,0x34,0x30,0x61,0x33,0x63,0x32,0x35,0x66,0x55,0x2c, + 0x0a,0x30,0x78,0x63,0x33,0x31,0x64,0x31,0x36,0x37,0x32,0x55,0x2c,0x30,0x78,0x32,0x35,0x65,0x32,0x62,0x63,0x30,0x63,0x55,0x2c,0x30,0x78,0x34,0x39,0x33,0x63,0x32, + 0x38,0x38,0x62,0x55,0x2c,0x30,0x78,0x39,0x35,0x30,0x64,0x66,0x66,0x34,0x31,0x55,0x2c,0x0a,0x30,0x78,0x30,0x31,0x61,0x38,0x33,0x39,0x37,0x31,0x55,0x2c,0x30,0x78, + 0x62,0x33,0x30,0x63,0x30,0x38,0x64,0x65,0x55,0x2c,0x30,0x78,0x65,0x34,0x62,0x34,0x64,0x38,0x39,0x63,0x55,0x2c,0x30,0x78,0x63,0x31,0x35,0x36,0x36,0x34,0x39,0x30, + 0x55,0x2c,0x0a,0x30,0x78,0x38,0x34,0x63,0x62,0x37,0x62,0x36,0x31,0x55,0x2c,0x30,0x78,0x62,0x36,0x33,0x32,0x64,0x35,0x37,0x30,0x55,0x2c,0x30,0x78,0x35,0x63,0x36, + 0x63,0x34,0x38,0x37,0x34,0x55,0x2c,0x30,0x78,0x35,0x37,0x62,0x38,0x64,0x30,0x34,0x32,0x55,0x2c,0x0a,0x30,0x78,0x66,0x34,0x35,0x31,0x35,0x30,0x61,0x37,0x55,0x2c, + 0x30,0x78,0x34,0x31,0x37,0x65,0x35,0x33,0x36,0x35,0x55,0x2c,0x30,0x78,0x31,0x37,0x31,0x61,0x63,0x33,0x61,0x34,0x55,0x2c,0x30,0x78,0x32,0x37,0x33,0x61,0x39,0x36, + 0x35,0x65,0x55,0x2c,0x0a,0x30,0x78,0x61,0x62,0x33,0x62,0x63,0x62,0x36,0x62,0x55,0x2c,0x30,0x78,0x39,0x64,0x31,0x66,0x66,0x31,0x34,0x35,0x55,0x2c,0x30,0x78,0x66, + 0x61,0x61,0x63,0x61,0x62,0x35,0x38,0x55,0x2c,0x30,0x78,0x65,0x33,0x34,0x62,0x39,0x33,0x30,0x33,0x55,0x2c,0x0a,0x30,0x78,0x33,0x30,0x32,0x30,0x35,0x35,0x66,0x61, + 0x55,0x2c,0x30,0x78,0x37,0x36,0x61,0x64,0x66,0x36,0x36,0x64,0x55,0x2c,0x30,0x78,0x63,0x63,0x38,0x38,0x39,0x31,0x37,0x36,0x55,0x2c,0x30,0x78,0x30,0x32,0x66,0x35, + 0x32,0x35,0x34,0x63,0x55,0x2c,0x0a,0x30,0x78,0x65,0x35,0x34,0x66,0x66,0x63,0x64,0x37,0x55,0x2c,0x30,0x78,0x32,0x61,0x63,0x35,0x64,0x37,0x63,0x62,0x55,0x2c,0x30, + 0x78,0x33,0x35,0x32,0x36,0x38,0x30,0x34,0x34,0x55,0x2c,0x30,0x78,0x36,0x32,0x62,0x35,0x38,0x66,0x61,0x33,0x55,0x2c,0x0a,0x30,0x78,0x62,0x31,0x64,0x65,0x34,0x39, + 0x35,0x61,0x55,0x2c,0x30,0x78,0x62,0x61,0x32,0x35,0x36,0x37,0x31,0x62,0x55,0x2c,0x30,0x78,0x65,0x61,0x34,0x35,0x39,0x38,0x30,0x65,0x55,0x2c,0x30,0x78,0x66,0x65, + 0x35,0x64,0x65,0x31,0x63,0x30,0x55,0x2c,0x0a,0x30,0x78,0x32,0x66,0x63,0x33,0x30,0x32,0x37,0x35,0x55,0x2c,0x30,0x78,0x34,0x63,0x38,0x31,0x31,0x32,0x66,0x30,0x55, + 0x2c,0x30,0x78,0x34,0x36,0x38,0x64,0x61,0x33,0x39,0x37,0x55,0x2c,0x30,0x78,0x64,0x33,0x36,0x62,0x63,0x36,0x66,0x39,0x55,0x2c,0x0a,0x30,0x78,0x38,0x66,0x30,0x33, + 0x65,0x37,0x35,0x66,0x55,0x2c,0x30,0x78,0x39,0x32,0x31,0x35,0x39,0x35,0x39,0x63,0x55,0x2c,0x30,0x78,0x36,0x64,0x62,0x66,0x65,0x62,0x37,0x61,0x55,0x2c,0x30,0x78, + 0x35,0x32,0x39,0x35,0x64,0x61,0x35,0x39,0x55,0x2c,0x0a,0x30,0x78,0x62,0x65,0x64,0x34,0x32,0x64,0x38,0x33,0x55,0x2c,0x30,0x78,0x37,0x34,0x35,0x38,0x64,0x33,0x32, + 0x31,0x55,0x2c,0x30,0x78,0x65,0x30,0x34,0x39,0x32,0x39,0x36,0x39,0x55,0x2c,0x30,0x78,0x63,0x39,0x38,0x65,0x34,0x34,0x63,0x38,0x55,0x2c,0x0a,0x30,0x78,0x63,0x32, + 0x37,0x35,0x36,0x61,0x38,0x39,0x55,0x2c,0x30,0x78,0x38,0x65,0x66,0x34,0x37,0x38,0x37,0x39,0x55,0x2c,0x30,0x78,0x35,0x38,0x39,0x39,0x36,0x62,0x33,0x65,0x55,0x2c, + 0x30,0x78,0x62,0x39,0x32,0x37,0x64,0x64,0x37,0x31,0x55,0x2c,0x0a,0x30,0x78,0x65,0x31,0x62,0x65,0x62,0x36,0x34,0x66,0x55,0x2c,0x30,0x78,0x38,0x38,0x66,0x30,0x31, + 0x37,0x61,0x64,0x55,0x2c,0x30,0x78,0x32,0x30,0x63,0x39,0x36,0x36,0x61,0x63,0x55,0x2c,0x30,0x78,0x63,0x65,0x37,0x64,0x62,0x34,0x33,0x61,0x55,0x2c,0x0a,0x30,0x78, + 0x64,0x66,0x36,0x33,0x31,0x38,0x34,0x61,0x55,0x2c,0x30,0x78,0x31,0x61,0x65,0x35,0x38,0x32,0x33,0x31,0x55,0x2c,0x30,0x78,0x35,0x31,0x39,0x37,0x36,0x30,0x33,0x33, + 0x55,0x2c,0x30,0x78,0x35,0x33,0x36,0x32,0x34,0x35,0x37,0x66,0x55,0x2c,0x0a,0x30,0x78,0x36,0x34,0x62,0x31,0x65,0x30,0x37,0x37,0x55,0x2c,0x30,0x78,0x36,0x62,0x62, + 0x62,0x38,0x34,0x61,0x65,0x55,0x2c,0x30,0x78,0x38,0x31,0x66,0x65,0x31,0x63,0x61,0x30,0x55,0x2c,0x30,0x78,0x30,0x38,0x66,0x39,0x39,0x34,0x32,0x62,0x55,0x2c,0x0a, + 0x30,0x78,0x34,0x38,0x37,0x30,0x35,0x38,0x36,0x38,0x55,0x2c,0x30,0x78,0x34,0x35,0x38,0x66,0x31,0x39,0x66,0x64,0x55,0x2c,0x30,0x78,0x64,0x65,0x39,0x34,0x38,0x37, + 0x36,0x63,0x55,0x2c,0x30,0x78,0x37,0x62,0x35,0x32,0x62,0x37,0x66,0x38,0x55,0x2c,0x0a,0x30,0x78,0x37,0x33,0x61,0x62,0x32,0x33,0x64,0x33,0x55,0x2c,0x30,0x78,0x34, + 0x62,0x37,0x32,0x65,0x32,0x30,0x32,0x55,0x2c,0x30,0x78,0x31,0x66,0x65,0x33,0x35,0x37,0x38,0x66,0x55,0x2c,0x30,0x78,0x35,0x35,0x36,0x36,0x32,0x61,0x61,0x62,0x55, + 0x2c,0x0a,0x30,0x78,0x65,0x62,0x62,0x32,0x30,0x37,0x32,0x38,0x55,0x2c,0x30,0x78,0x62,0x35,0x32,0x66,0x30,0x33,0x63,0x32,0x55,0x2c,0x30,0x78,0x63,0x35,0x38,0x36, + 0x39,0x61,0x37,0x62,0x55,0x2c,0x30,0x78,0x33,0x37,0x64,0x33,0x61,0x35,0x30,0x38,0x55,0x2c,0x0a,0x30,0x78,0x32,0x38,0x33,0x30,0x66,0x32,0x38,0x37,0x55,0x2c,0x30, + 0x78,0x62,0x66,0x32,0x33,0x62,0x32,0x61,0x35,0x55,0x2c,0x30,0x78,0x30,0x33,0x30,0x32,0x62,0x61,0x36,0x61,0x55,0x2c,0x30,0x78,0x31,0x36,0x65,0x64,0x35,0x63,0x38, + 0x32,0x55,0x2c,0x0a,0x30,0x78,0x63,0x66,0x38,0x61,0x32,0x62,0x31,0x63,0x55,0x2c,0x30,0x78,0x37,0x39,0x61,0x37,0x39,0x32,0x62,0x34,0x55,0x2c,0x30,0x78,0x30,0x37, + 0x66,0x33,0x66,0x30,0x66,0x32,0x55,0x2c,0x30,0x78,0x36,0x39,0x34,0x65,0x61,0x31,0x65,0x32,0x55,0x2c,0x0a,0x30,0x78,0x64,0x61,0x36,0x35,0x63,0x64,0x66,0x34,0x55, + 0x2c,0x30,0x78,0x30,0x35,0x30,0x36,0x64,0x35,0x62,0x65,0x55,0x2c,0x30,0x78,0x33,0x34,0x64,0x31,0x31,0x66,0x36,0x32,0x55,0x2c,0x30,0x78,0x61,0x36,0x63,0x34,0x38, + 0x61,0x66,0x65,0x55,0x2c,0x0a,0x30,0x78,0x32,0x65,0x33,0x34,0x39,0x64,0x35,0x33,0x55,0x2c,0x30,0x78,0x66,0x33,0x61,0x32,0x61,0x30,0x35,0x35,0x55,0x2c,0x30,0x78, + 0x38,0x61,0x30,0x35,0x33,0x32,0x65,0x31,0x55,0x2c,0x30,0x78,0x66,0x36,0x61,0x34,0x37,0x35,0x65,0x62,0x55,0x2c,0x0a,0x30,0x78,0x38,0x33,0x30,0x62,0x33,0x39,0x65, + 0x63,0x55,0x2c,0x30,0x78,0x36,0x30,0x34,0x30,0x61,0x61,0x65,0x66,0x55,0x2c,0x30,0x78,0x37,0x31,0x35,0x65,0x30,0x36,0x39,0x66,0x55,0x2c,0x30,0x78,0x36,0x65,0x62, + 0x64,0x35,0x31,0x31,0x30,0x55,0x2c,0x0a,0x30,0x78,0x32,0x31,0x33,0x65,0x66,0x39,0x38,0x61,0x55,0x2c,0x30,0x78,0x64,0x64,0x39,0x36,0x33,0x64,0x30,0x36,0x55,0x2c, + 0x30,0x78,0x33,0x65,0x64,0x64,0x61,0x65,0x30,0x35,0x55,0x2c,0x30,0x78,0x65,0x36,0x34,0x64,0x34,0x36,0x62,0x64,0x55,0x2c,0x0a,0x30,0x78,0x35,0x34,0x39,0x31,0x62, + 0x35,0x38,0x64,0x55,0x2c,0x30,0x78,0x63,0x34,0x37,0x31,0x30,0x35,0x35,0x64,0x55,0x2c,0x30,0x78,0x30,0x36,0x30,0x34,0x36,0x66,0x64,0x34,0x55,0x2c,0x30,0x78,0x35, + 0x30,0x36,0x30,0x66,0x66,0x31,0x35,0x55,0x2c,0x0a,0x30,0x78,0x39,0x38,0x31,0x39,0x32,0x34,0x66,0x62,0x55,0x2c,0x30,0x78,0x62,0x64,0x64,0x36,0x39,0x37,0x65,0x39, + 0x55,0x2c,0x30,0x78,0x34,0x30,0x38,0x39,0x63,0x63,0x34,0x33,0x55,0x2c,0x30,0x78,0x64,0x39,0x36,0x37,0x37,0x37,0x39,0x65,0x55,0x2c,0x0a,0x30,0x78,0x65,0x38,0x62, + 0x30,0x62,0x64,0x34,0x32,0x55,0x2c,0x30,0x78,0x38,0x39,0x30,0x37,0x38,0x38,0x38,0x62,0x55,0x2c,0x30,0x78,0x31,0x39,0x65,0x37,0x33,0x38,0x35,0x62,0x55,0x2c,0x30, + 0x78,0x63,0x38,0x37,0x39,0x64,0x62,0x65,0x65,0x55,0x2c,0x0a,0x30,0x78,0x37,0x63,0x61,0x31,0x34,0x37,0x30,0x61,0x55,0x2c,0x30,0x78,0x34,0x32,0x37,0x63,0x65,0x39, + 0x30,0x66,0x55,0x2c,0x30,0x78,0x38,0x34,0x66,0x38,0x63,0x39,0x31,0x65,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x0a,0x30,0x78,0x38, + 0x30,0x30,0x39,0x38,0x33,0x38,0x36,0x55,0x2c,0x30,0x78,0x32,0x62,0x33,0x32,0x34,0x38,0x65,0x64,0x55,0x2c,0x30,0x78,0x31,0x31,0x31,0x65,0x61,0x63,0x37,0x30,0x55, + 0x2c,0x30,0x78,0x35,0x61,0x36,0x63,0x34,0x65,0x37,0x32,0x55,0x2c,0x0a,0x30,0x78,0x30,0x65,0x66,0x64,0x66,0x62,0x66,0x66,0x55,0x2c,0x30,0x78,0x38,0x35,0x30,0x66, + 0x35,0x36,0x33,0x38,0x55,0x2c,0x30,0x78,0x61,0x65,0x33,0x64,0x31,0x65,0x64,0x35,0x55,0x2c,0x30,0x78,0x32,0x64,0x33,0x36,0x32,0x37,0x33,0x39,0x55,0x2c,0x0a,0x30, + 0x78,0x30,0x66,0x30,0x61,0x36,0x34,0x64,0x39,0x55,0x2c,0x30,0x78,0x35,0x63,0x36,0x38,0x32,0x31,0x61,0x36,0x55,0x2c,0x30,0x78,0x35,0x62,0x39,0x62,0x64,0x31,0x35, + 0x34,0x55,0x2c,0x30,0x78,0x33,0x36,0x32,0x34,0x33,0x61,0x32,0x65,0x55,0x2c,0x0a,0x30,0x78,0x30,0x61,0x30,0x63,0x62,0x31,0x36,0x37,0x55,0x2c,0x30,0x78,0x35,0x37, + 0x39,0x33,0x30,0x66,0x65,0x37,0x55,0x2c,0x30,0x78,0x65,0x65,0x62,0x34,0x64,0x32,0x39,0x36,0x55,0x2c,0x30,0x78,0x39,0x62,0x31,0x62,0x39,0x65,0x39,0x31,0x55,0x2c, + 0x0a,0x30,0x78,0x63,0x30,0x38,0x30,0x34,0x66,0x63,0x35,0x55,0x2c,0x30,0x78,0x64,0x63,0x36,0x31,0x61,0x32,0x32,0x30,0x55,0x2c,0x30,0x78,0x37,0x37,0x35,0x61,0x36, + 0x39,0x34,0x62,0x55,0x2c,0x30,0x78,0x31,0x32,0x31,0x63,0x31,0x36,0x31,0x61,0x55,0x2c,0x0a,0x30,0x78,0x39,0x33,0x65,0x32,0x30,0x61,0x62,0x61,0x55,0x2c,0x30,0x78, + 0x61,0x30,0x63,0x30,0x65,0x35,0x32,0x61,0x55,0x2c,0x30,0x78,0x32,0x32,0x33,0x63,0x34,0x33,0x65,0x30,0x55,0x2c,0x30,0x78,0x31,0x62,0x31,0x32,0x31,0x64,0x31,0x37, + 0x55,0x2c,0x0a,0x30,0x78,0x30,0x39,0x30,0x65,0x30,0x62,0x30,0x64,0x55,0x2c,0x30,0x78,0x38,0x62,0x66,0x32,0x61,0x64,0x63,0x37,0x55,0x2c,0x30,0x78,0x62,0x36,0x32, + 0x64,0x62,0x39,0x61,0x38,0x55,0x2c,0x30,0x78,0x31,0x65,0x31,0x34,0x63,0x38,0x61,0x39,0x55,0x2c,0x0a,0x30,0x78,0x66,0x31,0x35,0x37,0x38,0x35,0x31,0x39,0x55,0x2c, + 0x30,0x78,0x37,0x35,0x61,0x66,0x34,0x63,0x30,0x37,0x55,0x2c,0x30,0x78,0x39,0x39,0x65,0x65,0x62,0x62,0x64,0x64,0x55,0x2c,0x30,0x78,0x37,0x66,0x61,0x33,0x66,0x64, + 0x36,0x30,0x55,0x2c,0x0a,0x30,0x78,0x30,0x31,0x66,0x37,0x39,0x66,0x32,0x36,0x55,0x2c,0x30,0x78,0x37,0x32,0x35,0x63,0x62,0x63,0x66,0x35,0x55,0x2c,0x30,0x78,0x36, + 0x36,0x34,0x34,0x63,0x35,0x33,0x62,0x55,0x2c,0x30,0x78,0x66,0x62,0x35,0x62,0x33,0x34,0x37,0x65,0x55,0x2c,0x0a,0x30,0x78,0x34,0x33,0x38,0x62,0x37,0x36,0x32,0x39, + 0x55,0x2c,0x30,0x78,0x32,0x33,0x63,0x62,0x64,0x63,0x63,0x36,0x55,0x2c,0x30,0x78,0x65,0x64,0x62,0x36,0x36,0x38,0x66,0x63,0x55,0x2c,0x30,0x78,0x65,0x34,0x62,0x38, + 0x36,0x33,0x66,0x31,0x55,0x2c,0x0a,0x30,0x78,0x33,0x31,0x64,0x37,0x63,0x61,0x64,0x63,0x55,0x2c,0x30,0x78,0x36,0x33,0x34,0x32,0x31,0x30,0x38,0x35,0x55,0x2c,0x30, + 0x78,0x39,0x37,0x31,0x33,0x34,0x30,0x32,0x32,0x55,0x2c,0x30,0x78,0x63,0x36,0x38,0x34,0x32,0x30,0x31,0x31,0x55,0x2c,0x0a,0x30,0x78,0x34,0x61,0x38,0x35,0x37,0x64, + 0x32,0x34,0x55,0x2c,0x30,0x78,0x62,0x62,0x64,0x32,0x66,0x38,0x33,0x64,0x55,0x2c,0x30,0x78,0x66,0x39,0x61,0x65,0x31,0x31,0x33,0x32,0x55,0x2c,0x30,0x78,0x32,0x39, + 0x63,0x37,0x36,0x64,0x61,0x31,0x55,0x2c,0x0a,0x30,0x78,0x39,0x65,0x31,0x64,0x34,0x62,0x32,0x66,0x55,0x2c,0x30,0x78,0x62,0x32,0x64,0x63,0x66,0x33,0x33,0x30,0x55, + 0x2c,0x30,0x78,0x38,0x36,0x30,0x64,0x65,0x63,0x35,0x32,0x55,0x2c,0x30,0x78,0x63,0x31,0x37,0x37,0x64,0x30,0x65,0x33,0x55,0x2c,0x0a,0x30,0x78,0x62,0x33,0x32,0x62, + 0x36,0x63,0x31,0x36,0x55,0x2c,0x30,0x78,0x37,0x30,0x61,0x39,0x39,0x39,0x62,0x39,0x55,0x2c,0x30,0x78,0x39,0x34,0x31,0x31,0x66,0x61,0x34,0x38,0x55,0x2c,0x30,0x78, + 0x65,0x39,0x34,0x37,0x32,0x32,0x36,0x34,0x55,0x2c,0x0a,0x30,0x78,0x66,0x63,0x61,0x38,0x63,0x34,0x38,0x63,0x55,0x2c,0x30,0x78,0x66,0x30,0x61,0x30,0x31,0x61,0x33, + 0x66,0x55,0x2c,0x30,0x78,0x37,0x64,0x35,0x36,0x64,0x38,0x32,0x63,0x55,0x2c,0x30,0x78,0x33,0x33,0x32,0x32,0x65,0x66,0x39,0x30,0x55,0x2c,0x0a,0x30,0x78,0x34,0x39, + 0x38,0x37,0x63,0x37,0x34,0x65,0x55,0x2c,0x30,0x78,0x33,0x38,0x64,0x39,0x63,0x31,0x64,0x31,0x55,0x2c,0x30,0x78,0x63,0x61,0x38,0x63,0x66,0x65,0x61,0x32,0x55,0x2c, + 0x30,0x78,0x64,0x34,0x39,0x38,0x33,0x36,0x30,0x62,0x55,0x2c,0x0a,0x30,0x78,0x66,0x35,0x61,0x36,0x63,0x66,0x38,0x31,0x55,0x2c,0x30,0x78,0x37,0x61,0x61,0x35,0x32, + 0x38,0x64,0x65,0x55,0x2c,0x30,0x78,0x62,0x37,0x64,0x61,0x32,0x36,0x38,0x65,0x55,0x2c,0x30,0x78,0x61,0x64,0x33,0x66,0x61,0x34,0x62,0x66,0x55,0x2c,0x0a,0x30,0x78, + 0x33,0x61,0x32,0x63,0x65,0x34,0x39,0x64,0x55,0x2c,0x30,0x78,0x37,0x38,0x35,0x30,0x30,0x64,0x39,0x32,0x55,0x2c,0x30,0x78,0x35,0x66,0x36,0x61,0x39,0x62,0x63,0x63, + 0x55,0x2c,0x30,0x78,0x37,0x65,0x35,0x34,0x36,0x32,0x34,0x36,0x55,0x2c,0x0a,0x30,0x78,0x38,0x64,0x66,0x36,0x63,0x32,0x31,0x33,0x55,0x2c,0x30,0x78,0x64,0x38,0x39, + 0x30,0x65,0x38,0x62,0x38,0x55,0x2c,0x30,0x78,0x33,0x39,0x32,0x65,0x35,0x65,0x66,0x37,0x55,0x2c,0x30,0x78,0x63,0x33,0x38,0x32,0x66,0x35,0x61,0x66,0x55,0x2c,0x0a, + 0x30,0x78,0x35,0x64,0x39,0x66,0x62,0x65,0x38,0x30,0x55,0x2c,0x30,0x78,0x64,0x30,0x36,0x39,0x37,0x63,0x39,0x33,0x55,0x2c,0x30,0x78,0x64,0x35,0x36,0x66,0x61,0x39, + 0x32,0x64,0x55,0x2c,0x30,0x78,0x32,0x35,0x63,0x66,0x62,0x33,0x31,0x32,0x55,0x2c,0x0a,0x30,0x78,0x61,0x63,0x63,0x38,0x33,0x62,0x39,0x39,0x55,0x2c,0x30,0x78,0x31, + 0x38,0x31,0x30,0x61,0x37,0x37,0x64,0x55,0x2c,0x30,0x78,0x39,0x63,0x65,0x38,0x36,0x65,0x36,0x33,0x55,0x2c,0x30,0x78,0x33,0x62,0x64,0x62,0x37,0x62,0x62,0x62,0x55, + 0x2c,0x0a,0x30,0x78,0x32,0x36,0x63,0x64,0x30,0x39,0x37,0x38,0x55,0x2c,0x30,0x78,0x35,0x39,0x36,0x65,0x66,0x34,0x31,0x38,0x55,0x2c,0x30,0x78,0x39,0x61,0x65,0x63, + 0x30,0x31,0x62,0x37,0x55,0x2c,0x30,0x78,0x34,0x66,0x38,0x33,0x61,0x38,0x39,0x61,0x55,0x2c,0x0a,0x30,0x78,0x39,0x35,0x65,0x36,0x36,0x35,0x36,0x65,0x55,0x2c,0x30, + 0x78,0x66,0x66,0x61,0x61,0x37,0x65,0x65,0x36,0x55,0x2c,0x30,0x78,0x62,0x63,0x32,0x31,0x30,0x38,0x63,0x66,0x55,0x2c,0x30,0x78,0x31,0x35,0x65,0x66,0x65,0x36,0x65, + 0x38,0x55,0x2c,0x0a,0x30,0x78,0x65,0x37,0x62,0x61,0x64,0x39,0x39,0x62,0x55,0x2c,0x30,0x78,0x36,0x66,0x34,0x61,0x63,0x65,0x33,0x36,0x55,0x2c,0x30,0x78,0x39,0x66, + 0x65,0x61,0x64,0x34,0x30,0x39,0x55,0x2c,0x30,0x78,0x62,0x30,0x32,0x39,0x64,0x36,0x37,0x63,0x55,0x2c,0x0a,0x30,0x78,0x61,0x34,0x33,0x31,0x61,0x66,0x62,0x32,0x55, + 0x2c,0x30,0x78,0x33,0x66,0x32,0x61,0x33,0x31,0x32,0x33,0x55,0x2c,0x30,0x78,0x61,0x35,0x63,0x36,0x33,0x30,0x39,0x34,0x55,0x2c,0x30,0x78,0x61,0x32,0x33,0x35,0x63, + 0x30,0x36,0x36,0x55,0x2c,0x0a,0x30,0x78,0x34,0x65,0x37,0x34,0x33,0x37,0x62,0x63,0x55,0x2c,0x30,0x78,0x38,0x32,0x66,0x63,0x61,0x36,0x63,0x61,0x55,0x2c,0x30,0x78, + 0x39,0x30,0x65,0x30,0x62,0x30,0x64,0x30,0x55,0x2c,0x30,0x78,0x61,0x37,0x33,0x33,0x31,0x35,0x64,0x38,0x55,0x2c,0x0a,0x30,0x78,0x30,0x34,0x66,0x31,0x34,0x61,0x39, + 0x38,0x55,0x2c,0x30,0x78,0x65,0x63,0x34,0x31,0x66,0x37,0x64,0x61,0x55,0x2c,0x30,0x78,0x63,0x64,0x37,0x66,0x30,0x65,0x35,0x30,0x55,0x2c,0x30,0x78,0x39,0x31,0x31, + 0x37,0x32,0x66,0x66,0x36,0x55,0x2c,0x0a,0x30,0x78,0x34,0x64,0x37,0x36,0x38,0x64,0x64,0x36,0x55,0x2c,0x30,0x78,0x65,0x66,0x34,0x33,0x34,0x64,0x62,0x30,0x55,0x2c, + 0x30,0x78,0x61,0x61,0x63,0x63,0x35,0x34,0x34,0x64,0x55,0x2c,0x30,0x78,0x39,0x36,0x65,0x34,0x64,0x66,0x30,0x34,0x55,0x2c,0x0a,0x30,0x78,0x64,0x31,0x39,0x65,0x65, + 0x33,0x62,0x35,0x55,0x2c,0x30,0x78,0x36,0x61,0x34,0x63,0x31,0x62,0x38,0x38,0x55,0x2c,0x30,0x78,0x32,0x63,0x63,0x31,0x62,0x38,0x31,0x66,0x55,0x2c,0x30,0x78,0x36, + 0x35,0x34,0x36,0x37,0x66,0x35,0x31,0x55,0x2c,0x0a,0x30,0x78,0x35,0x65,0x39,0x64,0x30,0x34,0x65,0x61,0x55,0x2c,0x30,0x78,0x38,0x63,0x30,0x31,0x35,0x64,0x33,0x35, + 0x55,0x2c,0x30,0x78,0x38,0x37,0x66,0x61,0x37,0x33,0x37,0x34,0x55,0x2c,0x30,0x78,0x30,0x62,0x66,0x62,0x32,0x65,0x34,0x31,0x55,0x2c,0x0a,0x30,0x78,0x36,0x37,0x62, + 0x33,0x35,0x61,0x31,0x64,0x55,0x2c,0x30,0x78,0x64,0x62,0x39,0x32,0x35,0x32,0x64,0x32,0x55,0x2c,0x30,0x78,0x31,0x30,0x65,0x39,0x33,0x33,0x35,0x36,0x55,0x2c,0x30, + 0x78,0x64,0x36,0x36,0x64,0x31,0x33,0x34,0x37,0x55,0x2c,0x0a,0x30,0x78,0x64,0x37,0x39,0x61,0x38,0x63,0x36,0x31,0x55,0x2c,0x30,0x78,0x61,0x31,0x33,0x37,0x37,0x61, + 0x30,0x63,0x55,0x2c,0x30,0x78,0x66,0x38,0x35,0x39,0x38,0x65,0x31,0x34,0x55,0x2c,0x30,0x78,0x31,0x33,0x65,0x62,0x38,0x39,0x33,0x63,0x55,0x2c,0x0a,0x30,0x78,0x61, + 0x39,0x63,0x65,0x65,0x65,0x32,0x37,0x55,0x2c,0x30,0x78,0x36,0x31,0x62,0x37,0x33,0x35,0x63,0x39,0x55,0x2c,0x30,0x78,0x31,0x63,0x65,0x31,0x65,0x64,0x65,0x35,0x55, + 0x2c,0x30,0x78,0x34,0x37,0x37,0x61,0x33,0x63,0x62,0x31,0x55,0x2c,0x0a,0x30,0x78,0x64,0x32,0x39,0x63,0x35,0x39,0x64,0x66,0x55,0x2c,0x30,0x78,0x66,0x32,0x35,0x35, + 0x33,0x66,0x37,0x33,0x55,0x2c,0x30,0x78,0x31,0x34,0x31,0x38,0x37,0x39,0x63,0x65,0x55,0x2c,0x30,0x78,0x63,0x37,0x37,0x33,0x62,0x66,0x33,0x37,0x55,0x2c,0x0a,0x30, + 0x78,0x66,0x37,0x35,0x33,0x65,0x61,0x63,0x64,0x55,0x2c,0x30,0x78,0x66,0x64,0x35,0x66,0x35,0x62,0x61,0x61,0x55,0x2c,0x30,0x78,0x33,0x64,0x64,0x66,0x31,0x34,0x36, + 0x66,0x55,0x2c,0x30,0x78,0x34,0x34,0x37,0x38,0x38,0x36,0x64,0x62,0x55,0x2c,0x0a,0x30,0x78,0x61,0x66,0x63,0x61,0x38,0x31,0x66,0x33,0x55,0x2c,0x30,0x78,0x36,0x38, + 0x62,0x39,0x33,0x65,0x63,0x34,0x55,0x2c,0x30,0x78,0x32,0x34,0x33,0x38,0x32,0x63,0x33,0x34,0x55,0x2c,0x30,0x78,0x61,0x33,0x63,0x32,0x35,0x66,0x34,0x30,0x55,0x2c, + 0x0a,0x30,0x78,0x31,0x64,0x31,0x36,0x37,0x32,0x63,0x33,0x55,0x2c,0x30,0x78,0x65,0x32,0x62,0x63,0x30,0x63,0x32,0x35,0x55,0x2c,0x30,0x78,0x33,0x63,0x32,0x38,0x38, + 0x62,0x34,0x39,0x55,0x2c,0x30,0x78,0x30,0x64,0x66,0x66,0x34,0x31,0x39,0x35,0x55,0x2c,0x0a,0x30,0x78,0x61,0x38,0x33,0x39,0x37,0x31,0x30,0x31,0x55,0x2c,0x30,0x78, + 0x30,0x63,0x30,0x38,0x64,0x65,0x62,0x33,0x55,0x2c,0x30,0x78,0x62,0x34,0x64,0x38,0x39,0x63,0x65,0x34,0x55,0x2c,0x30,0x78,0x35,0x36,0x36,0x34,0x39,0x30,0x63,0x31, + 0x55,0x2c,0x0a,0x30,0x78,0x63,0x62,0x37,0x62,0x36,0x31,0x38,0x34,0x55,0x2c,0x30,0x78,0x33,0x32,0x64,0x35,0x37,0x30,0x62,0x36,0x55,0x2c,0x30,0x78,0x36,0x63,0x34, + 0x38,0x37,0x34,0x35,0x63,0x55,0x2c,0x30,0x78,0x62,0x38,0x64,0x30,0x34,0x32,0x35,0x37,0x55,0x2c,0x0a,0x30,0x78,0x35,0x31,0x35,0x30,0x61,0x37,0x66,0x34,0x55,0x2c, + 0x30,0x78,0x37,0x65,0x35,0x33,0x36,0x35,0x34,0x31,0x55,0x2c,0x30,0x78,0x31,0x61,0x63,0x33,0x61,0x34,0x31,0x37,0x55,0x2c,0x30,0x78,0x33,0x61,0x39,0x36,0x35,0x65, + 0x32,0x37,0x55,0x2c,0x0a,0x30,0x78,0x33,0x62,0x63,0x62,0x36,0x62,0x61,0x62,0x55,0x2c,0x30,0x78,0x31,0x66,0x66,0x31,0x34,0x35,0x39,0x64,0x55,0x2c,0x30,0x78,0x61, + 0x63,0x61,0x62,0x35,0x38,0x66,0x61,0x55,0x2c,0x30,0x78,0x34,0x62,0x39,0x33,0x30,0x33,0x65,0x33,0x55,0x2c,0x0a,0x30,0x78,0x32,0x30,0x35,0x35,0x66,0x61,0x33,0x30, + 0x55,0x2c,0x30,0x78,0x61,0x64,0x66,0x36,0x36,0x64,0x37,0x36,0x55,0x2c,0x30,0x78,0x38,0x38,0x39,0x31,0x37,0x36,0x63,0x63,0x55,0x2c,0x30,0x78,0x66,0x35,0x32,0x35, + 0x34,0x63,0x30,0x32,0x55,0x2c,0x0a,0x30,0x78,0x34,0x66,0x66,0x63,0x64,0x37,0x65,0x35,0x55,0x2c,0x30,0x78,0x63,0x35,0x64,0x37,0x63,0x62,0x32,0x61,0x55,0x2c,0x30, + 0x78,0x32,0x36,0x38,0x30,0x34,0x34,0x33,0x35,0x55,0x2c,0x30,0x78,0x62,0x35,0x38,0x66,0x61,0x33,0x36,0x32,0x55,0x2c,0x0a,0x30,0x78,0x64,0x65,0x34,0x39,0x35,0x61, + 0x62,0x31,0x55,0x2c,0x30,0x78,0x32,0x35,0x36,0x37,0x31,0x62,0x62,0x61,0x55,0x2c,0x30,0x78,0x34,0x35,0x39,0x38,0x30,0x65,0x65,0x61,0x55,0x2c,0x30,0x78,0x35,0x64, + 0x65,0x31,0x63,0x30,0x66,0x65,0x55,0x2c,0x0a,0x30,0x78,0x63,0x33,0x30,0x32,0x37,0x35,0x32,0x66,0x55,0x2c,0x30,0x78,0x38,0x31,0x31,0x32,0x66,0x30,0x34,0x63,0x55, + 0x2c,0x30,0x78,0x38,0x64,0x61,0x33,0x39,0x37,0x34,0x36,0x55,0x2c,0x30,0x78,0x36,0x62,0x63,0x36,0x66,0x39,0x64,0x33,0x55,0x2c,0x0a,0x30,0x78,0x30,0x33,0x65,0x37, + 0x35,0x66,0x38,0x66,0x55,0x2c,0x30,0x78,0x31,0x35,0x39,0x35,0x39,0x63,0x39,0x32,0x55,0x2c,0x30,0x78,0x62,0x66,0x65,0x62,0x37,0x61,0x36,0x64,0x55,0x2c,0x30,0x78, + 0x39,0x35,0x64,0x61,0x35,0x39,0x35,0x32,0x55,0x2c,0x0a,0x30,0x78,0x64,0x34,0x32,0x64,0x38,0x33,0x62,0x65,0x55,0x2c,0x30,0x78,0x35,0x38,0x64,0x33,0x32,0x31,0x37, + 0x34,0x55,0x2c,0x30,0x78,0x34,0x39,0x32,0x39,0x36,0x39,0x65,0x30,0x55,0x2c,0x30,0x78,0x38,0x65,0x34,0x34,0x63,0x38,0x63,0x39,0x55,0x2c,0x0a,0x30,0x78,0x37,0x35, + 0x36,0x61,0x38,0x39,0x63,0x32,0x55,0x2c,0x30,0x78,0x66,0x34,0x37,0x38,0x37,0x39,0x38,0x65,0x55,0x2c,0x30,0x78,0x39,0x39,0x36,0x62,0x33,0x65,0x35,0x38,0x55,0x2c, + 0x30,0x78,0x32,0x37,0x64,0x64,0x37,0x31,0x62,0x39,0x55,0x2c,0x0a,0x30,0x78,0x62,0x65,0x62,0x36,0x34,0x66,0x65,0x31,0x55,0x2c,0x30,0x78,0x66,0x30,0x31,0x37,0x61, + 0x64,0x38,0x38,0x55,0x2c,0x30,0x78,0x63,0x39,0x36,0x36,0x61,0x63,0x32,0x30,0x55,0x2c,0x30,0x78,0x37,0x64,0x62,0x34,0x33,0x61,0x63,0x65,0x55,0x2c,0x0a,0x30,0x78, + 0x36,0x33,0x31,0x38,0x34,0x61,0x64,0x66,0x55,0x2c,0x30,0x78,0x65,0x35,0x38,0x32,0x33,0x31,0x31,0x61,0x55,0x2c,0x30,0x78,0x39,0x37,0x36,0x30,0x33,0x33,0x35,0x31, + 0x55,0x2c,0x30,0x78,0x36,0x32,0x34,0x35,0x37,0x66,0x35,0x33,0x55,0x2c,0x0a,0x30,0x78,0x62,0x31,0x65,0x30,0x37,0x37,0x36,0x34,0x55,0x2c,0x30,0x78,0x62,0x62,0x38, + 0x34,0x61,0x65,0x36,0x62,0x55,0x2c,0x30,0x78,0x66,0x65,0x31,0x63,0x61,0x30,0x38,0x31,0x55,0x2c,0x30,0x78,0x66,0x39,0x39,0x34,0x32,0x62,0x30,0x38,0x55,0x2c,0x0a, + 0x30,0x78,0x37,0x30,0x35,0x38,0x36,0x38,0x34,0x38,0x55,0x2c,0x30,0x78,0x38,0x66,0x31,0x39,0x66,0x64,0x34,0x35,0x55,0x2c,0x30,0x78,0x39,0x34,0x38,0x37,0x36,0x63, + 0x64,0x65,0x55,0x2c,0x30,0x78,0x35,0x32,0x62,0x37,0x66,0x38,0x37,0x62,0x55,0x2c,0x0a,0x30,0x78,0x61,0x62,0x32,0x33,0x64,0x33,0x37,0x33,0x55,0x2c,0x30,0x78,0x37, + 0x32,0x65,0x32,0x30,0x32,0x34,0x62,0x55,0x2c,0x30,0x78,0x65,0x33,0x35,0x37,0x38,0x66,0x31,0x66,0x55,0x2c,0x30,0x78,0x36,0x36,0x32,0x61,0x61,0x62,0x35,0x35,0x55, + 0x2c,0x0a,0x30,0x78,0x62,0x32,0x30,0x37,0x32,0x38,0x65,0x62,0x55,0x2c,0x30,0x78,0x32,0x66,0x30,0x33,0x63,0x32,0x62,0x35,0x55,0x2c,0x30,0x78,0x38,0x36,0x39,0x61, + 0x37,0x62,0x63,0x35,0x55,0x2c,0x30,0x78,0x64,0x33,0x61,0x35,0x30,0x38,0x33,0x37,0x55,0x2c,0x0a,0x30,0x78,0x33,0x30,0x66,0x32,0x38,0x37,0x32,0x38,0x55,0x2c,0x30, + 0x78,0x32,0x33,0x62,0x32,0x61,0x35,0x62,0x66,0x55,0x2c,0x30,0x78,0x30,0x32,0x62,0x61,0x36,0x61,0x30,0x33,0x55,0x2c,0x30,0x78,0x65,0x64,0x35,0x63,0x38,0x32,0x31, + 0x36,0x55,0x2c,0x0a,0x30,0x78,0x38,0x61,0x32,0x62,0x31,0x63,0x63,0x66,0x55,0x2c,0x30,0x78,0x61,0x37,0x39,0x32,0x62,0x34,0x37,0x39,0x55,0x2c,0x30,0x78,0x66,0x33, + 0x66,0x30,0x66,0x32,0x30,0x37,0x55,0x2c,0x30,0x78,0x34,0x65,0x61,0x31,0x65,0x32,0x36,0x39,0x55,0x2c,0x0a,0x30,0x78,0x36,0x35,0x63,0x64,0x66,0x34,0x64,0x61,0x55, + 0x2c,0x30,0x78,0x30,0x36,0x64,0x35,0x62,0x65,0x30,0x35,0x55,0x2c,0x30,0x78,0x64,0x31,0x31,0x66,0x36,0x32,0x33,0x34,0x55,0x2c,0x30,0x78,0x63,0x34,0x38,0x61,0x66, + 0x65,0x61,0x36,0x55,0x2c,0x0a,0x30,0x78,0x33,0x34,0x39,0x64,0x35,0x33,0x32,0x65,0x55,0x2c,0x30,0x78,0x61,0x32,0x61,0x30,0x35,0x35,0x66,0x33,0x55,0x2c,0x30,0x78, + 0x30,0x35,0x33,0x32,0x65,0x31,0x38,0x61,0x55,0x2c,0x30,0x78,0x61,0x34,0x37,0x35,0x65,0x62,0x66,0x36,0x55,0x2c,0x0a,0x30,0x78,0x30,0x62,0x33,0x39,0x65,0x63,0x38, + 0x33,0x55,0x2c,0x30,0x78,0x34,0x30,0x61,0x61,0x65,0x66,0x36,0x30,0x55,0x2c,0x30,0x78,0x35,0x65,0x30,0x36,0x39,0x66,0x37,0x31,0x55,0x2c,0x30,0x78,0x62,0x64,0x35, + 0x31,0x31,0x30,0x36,0x65,0x55,0x2c,0x0a,0x30,0x78,0x33,0x65,0x66,0x39,0x38,0x61,0x32,0x31,0x55,0x2c,0x30,0x78,0x39,0x36,0x33,0x64,0x30,0x36,0x64,0x64,0x55,0x2c, + 0x30,0x78,0x64,0x64,0x61,0x65,0x30,0x35,0x33,0x65,0x55,0x2c,0x30,0x78,0x34,0x64,0x34,0x36,0x62,0x64,0x65,0x36,0x55,0x2c,0x0a,0x30,0x78,0x39,0x31,0x62,0x35,0x38, + 0x64,0x35,0x34,0x55,0x2c,0x30,0x78,0x37,0x31,0x30,0x35,0x35,0x64,0x63,0x34,0x55,0x2c,0x30,0x78,0x30,0x34,0x36,0x66,0x64,0x34,0x30,0x36,0x55,0x2c,0x30,0x78,0x36, + 0x30,0x66,0x66,0x31,0x35,0x35,0x30,0x55,0x2c,0x0a,0x30,0x78,0x31,0x39,0x32,0x34,0x66,0x62,0x39,0x38,0x55,0x2c,0x30,0x78,0x64,0x36,0x39,0x37,0x65,0x39,0x62,0x64, + 0x55,0x2c,0x30,0x78,0x38,0x39,0x63,0x63,0x34,0x33,0x34,0x30,0x55,0x2c,0x30,0x78,0x36,0x37,0x37,0x37,0x39,0x65,0x64,0x39,0x55,0x2c,0x0a,0x30,0x78,0x62,0x30,0x62, + 0x64,0x34,0x32,0x65,0x38,0x55,0x2c,0x30,0x78,0x30,0x37,0x38,0x38,0x38,0x62,0x38,0x39,0x55,0x2c,0x30,0x78,0x65,0x37,0x33,0x38,0x35,0x62,0x31,0x39,0x55,0x2c,0x30, + 0x78,0x37,0x39,0x64,0x62,0x65,0x65,0x63,0x38,0x55,0x2c,0x0a,0x30,0x78,0x61,0x31,0x34,0x37,0x30,0x61,0x37,0x63,0x55,0x2c,0x30,0x78,0x37,0x63,0x65,0x39,0x30,0x66, + 0x34,0x32,0x55,0x2c,0x30,0x78,0x66,0x38,0x63,0x39,0x31,0x65,0x38,0x34,0x55,0x2c,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x2c,0x0a,0x30,0x78,0x30, + 0x39,0x38,0x33,0x38,0x36,0x38,0x30,0x55,0x2c,0x30,0x78,0x33,0x32,0x34,0x38,0x65,0x64,0x32,0x62,0x55,0x2c,0x30,0x78,0x31,0x65,0x61,0x63,0x37,0x30,0x31,0x31,0x55, + 0x2c,0x30,0x78,0x36,0x63,0x34,0x65,0x37,0x32,0x35,0x61,0x55,0x2c,0x0a,0x30,0x78,0x66,0x64,0x66,0x62,0x66,0x66,0x30,0x65,0x55,0x2c,0x30,0x78,0x30,0x66,0x35,0x36, + 0x33,0x38,0x38,0x35,0x55,0x2c,0x30,0x78,0x33,0x64,0x31,0x65,0x64,0x35,0x61,0x65,0x55,0x2c,0x30,0x78,0x33,0x36,0x32,0x37,0x33,0x39,0x32,0x64,0x55,0x2c,0x0a,0x30, + 0x78,0x30,0x61,0x36,0x34,0x64,0x39,0x30,0x66,0x55,0x2c,0x30,0x78,0x36,0x38,0x32,0x31,0x61,0x36,0x35,0x63,0x55,0x2c,0x30,0x78,0x39,0x62,0x64,0x31,0x35,0x34,0x35, + 0x62,0x55,0x2c,0x30,0x78,0x32,0x34,0x33,0x61,0x32,0x65,0x33,0x36,0x55,0x2c,0x0a,0x30,0x78,0x30,0x63,0x62,0x31,0x36,0x37,0x30,0x61,0x55,0x2c,0x30,0x78,0x39,0x33, + 0x30,0x66,0x65,0x37,0x35,0x37,0x55,0x2c,0x30,0x78,0x62,0x34,0x64,0x32,0x39,0x36,0x65,0x65,0x55,0x2c,0x30,0x78,0x31,0x62,0x39,0x65,0x39,0x31,0x39,0x62,0x55,0x2c, + 0x0a,0x30,0x78,0x38,0x30,0x34,0x66,0x63,0x35,0x63,0x30,0x55,0x2c,0x30,0x78,0x36,0x31,0x61,0x32,0x32,0x30,0x64,0x63,0x55,0x2c,0x30,0x78,0x35,0x61,0x36,0x39,0x34, + 0x62,0x37,0x37,0x55,0x2c,0x30,0x78,0x31,0x63,0x31,0x36,0x31,0x61,0x31,0x32,0x55,0x2c,0x0a,0x30,0x78,0x65,0x32,0x30,0x61,0x62,0x61,0x39,0x33,0x55,0x2c,0x30,0x78, + 0x63,0x30,0x65,0x35,0x32,0x61,0x61,0x30,0x55,0x2c,0x30,0x78,0x33,0x63,0x34,0x33,0x65,0x30,0x32,0x32,0x55,0x2c,0x30,0x78,0x31,0x32,0x31,0x64,0x31,0x37,0x31,0x62, + 0x55,0x2c,0x0a,0x30,0x78,0x30,0x65,0x30,0x62,0x30,0x64,0x30,0x39,0x55,0x2c,0x30,0x78,0x66,0x32,0x61,0x64,0x63,0x37,0x38,0x62,0x55,0x2c,0x30,0x78,0x32,0x64,0x62, + 0x39,0x61,0x38,0x62,0x36,0x55,0x2c,0x30,0x78,0x31,0x34,0x63,0x38,0x61,0x39,0x31,0x65,0x55,0x2c,0x0a,0x30,0x78,0x35,0x37,0x38,0x35,0x31,0x39,0x66,0x31,0x55,0x2c, + 0x30,0x78,0x61,0x66,0x34,0x63,0x30,0x37,0x37,0x35,0x55,0x2c,0x30,0x78,0x65,0x65,0x62,0x62,0x64,0x64,0x39,0x39,0x55,0x2c,0x30,0x78,0x61,0x33,0x66,0x64,0x36,0x30, + 0x37,0x66,0x55,0x2c,0x0a,0x30,0x78,0x66,0x37,0x39,0x66,0x32,0x36,0x30,0x31,0x55,0x2c,0x30,0x78,0x35,0x63,0x62,0x63,0x66,0x35,0x37,0x32,0x55,0x2c,0x30,0x78,0x34, + 0x34,0x63,0x35,0x33,0x62,0x36,0x36,0x55,0x2c,0x30,0x78,0x35,0x62,0x33,0x34,0x37,0x65,0x66,0x62,0x55,0x2c,0x0a,0x30,0x78,0x38,0x62,0x37,0x36,0x32,0x39,0x34,0x33, + 0x55,0x2c,0x30,0x78,0x63,0x62,0x64,0x63,0x63,0x36,0x32,0x33,0x55,0x2c,0x30,0x78,0x62,0x36,0x36,0x38,0x66,0x63,0x65,0x64,0x55,0x2c,0x30,0x78,0x62,0x38,0x36,0x33, + 0x66,0x31,0x65,0x34,0x55,0x2c,0x0a,0x30,0x78,0x64,0x37,0x63,0x61,0x64,0x63,0x33,0x31,0x55,0x2c,0x30,0x78,0x34,0x32,0x31,0x30,0x38,0x35,0x36,0x33,0x55,0x2c,0x30, + 0x78,0x31,0x33,0x34,0x30,0x32,0x32,0x39,0x37,0x55,0x2c,0x30,0x78,0x38,0x34,0x32,0x30,0x31,0x31,0x63,0x36,0x55,0x2c,0x0a,0x30,0x78,0x38,0x35,0x37,0x64,0x32,0x34, + 0x34,0x61,0x55,0x2c,0x30,0x78,0x64,0x32,0x66,0x38,0x33,0x64,0x62,0x62,0x55,0x2c,0x30,0x78,0x61,0x65,0x31,0x31,0x33,0x32,0x66,0x39,0x55,0x2c,0x30,0x78,0x63,0x37, + 0x36,0x64,0x61,0x31,0x32,0x39,0x55,0x2c,0x0a,0x30,0x78,0x31,0x64,0x34,0x62,0x32,0x66,0x39,0x65,0x55,0x2c,0x30,0x78,0x64,0x63,0x66,0x33,0x33,0x30,0x62,0x32,0x55, + 0x2c,0x30,0x78,0x30,0x64,0x65,0x63,0x35,0x32,0x38,0x36,0x55,0x2c,0x30,0x78,0x37,0x37,0x64,0x30,0x65,0x33,0x63,0x31,0x55,0x2c,0x0a,0x30,0x78,0x32,0x62,0x36,0x63, + 0x31,0x36,0x62,0x33,0x55,0x2c,0x30,0x78,0x61,0x39,0x39,0x39,0x62,0x39,0x37,0x30,0x55,0x2c,0x30,0x78,0x31,0x31,0x66,0x61,0x34,0x38,0x39,0x34,0x55,0x2c,0x30,0x78, + 0x34,0x37,0x32,0x32,0x36,0x34,0x65,0x39,0x55,0x2c,0x0a,0x30,0x78,0x61,0x38,0x63,0x34,0x38,0x63,0x66,0x63,0x55,0x2c,0x30,0x78,0x61,0x30,0x31,0x61,0x33,0x66,0x66, + 0x30,0x55,0x2c,0x30,0x78,0x35,0x36,0x64,0x38,0x32,0x63,0x37,0x64,0x55,0x2c,0x30,0x78,0x32,0x32,0x65,0x66,0x39,0x30,0x33,0x33,0x55,0x2c,0x0a,0x30,0x78,0x38,0x37, + 0x63,0x37,0x34,0x65,0x34,0x39,0x55,0x2c,0x30,0x78,0x64,0x39,0x63,0x31,0x64,0x31,0x33,0x38,0x55,0x2c,0x30,0x78,0x38,0x63,0x66,0x65,0x61,0x32,0x63,0x61,0x55,0x2c, + 0x30,0x78,0x39,0x38,0x33,0x36,0x30,0x62,0x64,0x34,0x55,0x2c,0x0a,0x30,0x78,0x61,0x36,0x63,0x66,0x38,0x31,0x66,0x35,0x55,0x2c,0x30,0x78,0x61,0x35,0x32,0x38,0x64, + 0x65,0x37,0x61,0x55,0x2c,0x30,0x78,0x64,0x61,0x32,0x36,0x38,0x65,0x62,0x37,0x55,0x2c,0x30,0x78,0x33,0x66,0x61,0x34,0x62,0x66,0x61,0x64,0x55,0x2c,0x0a,0x30,0x78, + 0x32,0x63,0x65,0x34,0x39,0x64,0x33,0x61,0x55,0x2c,0x30,0x78,0x35,0x30,0x30,0x64,0x39,0x32,0x37,0x38,0x55,0x2c,0x30,0x78,0x36,0x61,0x39,0x62,0x63,0x63,0x35,0x66, + 0x55,0x2c,0x30,0x78,0x35,0x34,0x36,0x32,0x34,0x36,0x37,0x65,0x55,0x2c,0x0a,0x30,0x78,0x66,0x36,0x63,0x32,0x31,0x33,0x38,0x64,0x55,0x2c,0x30,0x78,0x39,0x30,0x65, + 0x38,0x62,0x38,0x64,0x38,0x55,0x2c,0x30,0x78,0x32,0x65,0x35,0x65,0x66,0x37,0x33,0x39,0x55,0x2c,0x30,0x78,0x38,0x32,0x66,0x35,0x61,0x66,0x63,0x33,0x55,0x2c,0x0a, + 0x30,0x78,0x39,0x66,0x62,0x65,0x38,0x30,0x35,0x64,0x55,0x2c,0x30,0x78,0x36,0x39,0x37,0x63,0x39,0x33,0x64,0x30,0x55,0x2c,0x30,0x78,0x36,0x66,0x61,0x39,0x32,0x64, + 0x64,0x35,0x55,0x2c,0x30,0x78,0x63,0x66,0x62,0x33,0x31,0x32,0x32,0x35,0x55,0x2c,0x0a,0x30,0x78,0x63,0x38,0x33,0x62,0x39,0x39,0x61,0x63,0x55,0x2c,0x30,0x78,0x31, + 0x30,0x61,0x37,0x37,0x64,0x31,0x38,0x55,0x2c,0x30,0x78,0x65,0x38,0x36,0x65,0x36,0x33,0x39,0x63,0x55,0x2c,0x30,0x78,0x64,0x62,0x37,0x62,0x62,0x62,0x33,0x62,0x55, + 0x2c,0x0a,0x30,0x78,0x63,0x64,0x30,0x39,0x37,0x38,0x32,0x36,0x55,0x2c,0x30,0x78,0x36,0x65,0x66,0x34,0x31,0x38,0x35,0x39,0x55,0x2c,0x30,0x78,0x65,0x63,0x30,0x31, + 0x62,0x37,0x39,0x61,0x55,0x2c,0x30,0x78,0x38,0x33,0x61,0x38,0x39,0x61,0x34,0x66,0x55,0x2c,0x0a,0x30,0x78,0x65,0x36,0x36,0x35,0x36,0x65,0x39,0x35,0x55,0x2c,0x30, + 0x78,0x61,0x61,0x37,0x65,0x65,0x36,0x66,0x66,0x55,0x2c,0x30,0x78,0x32,0x31,0x30,0x38,0x63,0x66,0x62,0x63,0x55,0x2c,0x30,0x78,0x65,0x66,0x65,0x36,0x65,0x38,0x31, + 0x35,0x55,0x2c,0x0a,0x30,0x78,0x62,0x61,0x64,0x39,0x39,0x62,0x65,0x37,0x55,0x2c,0x30,0x78,0x34,0x61,0x63,0x65,0x33,0x36,0x36,0x66,0x55,0x2c,0x30,0x78,0x65,0x61, + 0x64,0x34,0x30,0x39,0x39,0x66,0x55,0x2c,0x30,0x78,0x32,0x39,0x64,0x36,0x37,0x63,0x62,0x30,0x55,0x2c,0x0a,0x30,0x78,0x33,0x31,0x61,0x66,0x62,0x32,0x61,0x34,0x55, + 0x2c,0x30,0x78,0x32,0x61,0x33,0x31,0x32,0x33,0x33,0x66,0x55,0x2c,0x30,0x78,0x63,0x36,0x33,0x30,0x39,0x34,0x61,0x35,0x55,0x2c,0x30,0x78,0x33,0x35,0x63,0x30,0x36, + 0x36,0x61,0x32,0x55,0x2c,0x0a,0x30,0x78,0x37,0x34,0x33,0x37,0x62,0x63,0x34,0x65,0x55,0x2c,0x30,0x78,0x66,0x63,0x61,0x36,0x63,0x61,0x38,0x32,0x55,0x2c,0x30,0x78, + 0x65,0x30,0x62,0x30,0x64,0x30,0x39,0x30,0x55,0x2c,0x30,0x78,0x33,0x33,0x31,0x35,0x64,0x38,0x61,0x37,0x55,0x2c,0x0a,0x30,0x78,0x66,0x31,0x34,0x61,0x39,0x38,0x30, + 0x34,0x55,0x2c,0x30,0x78,0x34,0x31,0x66,0x37,0x64,0x61,0x65,0x63,0x55,0x2c,0x30,0x78,0x37,0x66,0x30,0x65,0x35,0x30,0x63,0x64,0x55,0x2c,0x30,0x78,0x31,0x37,0x32, + 0x66,0x66,0x36,0x39,0x31,0x55,0x2c,0x0a,0x30,0x78,0x37,0x36,0x38,0x64,0x64,0x36,0x34,0x64,0x55,0x2c,0x30,0x78,0x34,0x33,0x34,0x64,0x62,0x30,0x65,0x66,0x55,0x2c, + 0x30,0x78,0x63,0x63,0x35,0x34,0x34,0x64,0x61,0x61,0x55,0x2c,0x30,0x78,0x65,0x34,0x64,0x66,0x30,0x34,0x39,0x36,0x55,0x2c,0x0a,0x30,0x78,0x39,0x65,0x65,0x33,0x62, + 0x35,0x64,0x31,0x55,0x2c,0x30,0x78,0x34,0x63,0x31,0x62,0x38,0x38,0x36,0x61,0x55,0x2c,0x30,0x78,0x63,0x31,0x62,0x38,0x31,0x66,0x32,0x63,0x55,0x2c,0x30,0x78,0x34, + 0x36,0x37,0x66,0x35,0x31,0x36,0x35,0x55,0x2c,0x0a,0x30,0x78,0x39,0x64,0x30,0x34,0x65,0x61,0x35,0x65,0x55,0x2c,0x30,0x78,0x30,0x31,0x35,0x64,0x33,0x35,0x38,0x63, + 0x55,0x2c,0x30,0x78,0x66,0x61,0x37,0x33,0x37,0x34,0x38,0x37,0x55,0x2c,0x30,0x78,0x66,0x62,0x32,0x65,0x34,0x31,0x30,0x62,0x55,0x2c,0x0a,0x30,0x78,0x62,0x33,0x35, + 0x61,0x31,0x64,0x36,0x37,0x55,0x2c,0x30,0x78,0x39,0x32,0x35,0x32,0x64,0x32,0x64,0x62,0x55,0x2c,0x30,0x78,0x65,0x39,0x33,0x33,0x35,0x36,0x31,0x30,0x55,0x2c,0x30, + 0x78,0x36,0x64,0x31,0x33,0x34,0x37,0x64,0x36,0x55,0x2c,0x0a,0x30,0x78,0x39,0x61,0x38,0x63,0x36,0x31,0x64,0x37,0x55,0x2c,0x30,0x78,0x33,0x37,0x37,0x61,0x30,0x63, + 0x61,0x31,0x55,0x2c,0x30,0x78,0x35,0x39,0x38,0x65,0x31,0x34,0x66,0x38,0x55,0x2c,0x30,0x78,0x65,0x62,0x38,0x39,0x33,0x63,0x31,0x33,0x55,0x2c,0x0a,0x30,0x78,0x63, + 0x65,0x65,0x65,0x32,0x37,0x61,0x39,0x55,0x2c,0x30,0x78,0x62,0x37,0x33,0x35,0x63,0x39,0x36,0x31,0x55,0x2c,0x30,0x78,0x65,0x31,0x65,0x64,0x65,0x35,0x31,0x63,0x55, + 0x2c,0x30,0x78,0x37,0x61,0x33,0x63,0x62,0x31,0x34,0x37,0x55,0x2c,0x0a,0x30,0x78,0x39,0x63,0x35,0x39,0x64,0x66,0x64,0x32,0x55,0x2c,0x30,0x78,0x35,0x35,0x33,0x66, + 0x37,0x33,0x66,0x32,0x55,0x2c,0x30,0x78,0x31,0x38,0x37,0x39,0x63,0x65,0x31,0x34,0x55,0x2c,0x30,0x78,0x37,0x33,0x62,0x66,0x33,0x37,0x63,0x37,0x55,0x2c,0x0a,0x30, + 0x78,0x35,0x33,0x65,0x61,0x63,0x64,0x66,0x37,0x55,0x2c,0x30,0x78,0x35,0x66,0x35,0x62,0x61,0x61,0x66,0x64,0x55,0x2c,0x30,0x78,0x64,0x66,0x31,0x34,0x36,0x66,0x33, + 0x64,0x55,0x2c,0x30,0x78,0x37,0x38,0x38,0x36,0x64,0x62,0x34,0x34,0x55,0x2c,0x0a,0x30,0x78,0x63,0x61,0x38,0x31,0x66,0x33,0x61,0x66,0x55,0x2c,0x30,0x78,0x62,0x39, + 0x33,0x65,0x63,0x34,0x36,0x38,0x55,0x2c,0x30,0x78,0x33,0x38,0x32,0x63,0x33,0x34,0x32,0x34,0x55,0x2c,0x30,0x78,0x63,0x32,0x35,0x66,0x34,0x30,0x61,0x33,0x55,0x2c, + 0x0a,0x30,0x78,0x31,0x36,0x37,0x32,0x63,0x33,0x31,0x64,0x55,0x2c,0x30,0x78,0x62,0x63,0x30,0x63,0x32,0x35,0x65,0x32,0x55,0x2c,0x30,0x78,0x32,0x38,0x38,0x62,0x34, + 0x39,0x33,0x63,0x55,0x2c,0x30,0x78,0x66,0x66,0x34,0x31,0x39,0x35,0x30,0x64,0x55,0x2c,0x0a,0x30,0x78,0x33,0x39,0x37,0x31,0x30,0x31,0x61,0x38,0x55,0x2c,0x30,0x78, + 0x30,0x38,0x64,0x65,0x62,0x33,0x30,0x63,0x55,0x2c,0x30,0x78,0x64,0x38,0x39,0x63,0x65,0x34,0x62,0x34,0x55,0x2c,0x30,0x78,0x36,0x34,0x39,0x30,0x63,0x31,0x35,0x36, + 0x55,0x2c,0x0a,0x30,0x78,0x37,0x62,0x36,0x31,0x38,0x34,0x63,0x62,0x55,0x2c,0x30,0x78,0x64,0x35,0x37,0x30,0x62,0x36,0x33,0x32,0x55,0x2c,0x30,0x78,0x34,0x38,0x37, + 0x34,0x35,0x63,0x36,0x63,0x55,0x2c,0x30,0x78,0x64,0x30,0x34,0x32,0x35,0x37,0x62,0x38,0x55,0x2c,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e, + 0x74,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49,0x4c,0x4c, + 0x5b,0x31,0x36,0x5d,0x3d,0x7b,0x0a,0x30,0x78,0x36,0x64,0x61,0x63,0x61,0x35,0x35,0x33,0x2c,0x30,0x78,0x36,0x32,0x37,0x31,0x36,0x36,0x30,0x39,0x2c,0x30,0x78,0x64, + 0x62,0x62,0x35,0x35,0x35,0x32,0x62,0x2c,0x30,0x78,0x62,0x34,0x66,0x34,0x34,0x39,0x31,0x37,0x2c,0x0a,0x30,0x78,0x36,0x64,0x37,0x63,0x61,0x66,0x30,0x37,0x2c,0x30, + 0x78,0x38,0x34,0x36,0x61,0x37,0x31,0x30,0x64,0x2c,0x30,0x78,0x31,0x37,0x32,0x35,0x64,0x33,0x37,0x38,0x2c,0x30,0x78,0x30,0x64,0x61,0x31,0x64,0x63,0x34,0x65,0x2c, + 0x0a,0x30,0x78,0x33,0x66,0x31,0x32,0x36,0x32,0x66,0x31,0x2c,0x30,0x78,0x39,0x66,0x39,0x34,0x37,0x65,0x63,0x36,0x2c,0x30,0x78,0x66,0x34,0x63,0x30,0x37,0x39,0x34, + 0x66,0x2c,0x30,0x78,0x33,0x65,0x32,0x30,0x65,0x33,0x34,0x35,0x2c,0x0a,0x30,0x78,0x36,0x61,0x65,0x66,0x38,0x31,0x33,0x35,0x2c,0x30,0x78,0x62,0x31,0x62,0x61,0x33, + 0x31,0x37,0x63,0x2c,0x30,0x78,0x31,0x36,0x33,0x31,0x34,0x63,0x38,0x38,0x2c,0x30,0x78,0x34,0x39,0x31,0x36,0x39,0x31,0x35,0x34,0x2c,0x0a,0x7d,0x3b,0x0a,0x5f,0x5f, + 0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x41,0x45,0x53,0x5f,0x53, + 0x54,0x41,0x54,0x45,0x5f,0x48,0x41,0x53,0x48,0x5b,0x31,0x36,0x5d,0x3d,0x7b,0x0a,0x30,0x78,0x39,0x32,0x62,0x35,0x32,0x63,0x30,0x64,0x2c,0x30,0x78,0x39,0x66,0x61, + 0x38,0x35,0x36,0x64,0x65,0x2c,0x30,0x78,0x63,0x63,0x38,0x32,0x64,0x62,0x34,0x37,0x2c,0x30,0x78,0x64,0x37,0x39,0x38,0x33,0x61,0x61,0x64,0x2c,0x0a,0x30,0x78,0x33, + 0x33,0x38,0x64,0x39,0x39,0x36,0x65,0x2c,0x30,0x78,0x31,0x35,0x63,0x37,0x62,0x37,0x39,0x38,0x2c,0x30,0x78,0x66,0x35,0x39,0x65,0x31,0x32,0x35,0x61,0x2c,0x30,0x78, + 0x61,0x63,0x65,0x37,0x38,0x30,0x35,0x37,0x2c,0x0a,0x30,0x78,0x36,0x61,0x37,0x37,0x30,0x30,0x31,0x37,0x2c,0x30,0x78,0x61,0x65,0x36,0x32,0x63,0x37,0x64,0x30,0x2c, + 0x30,0x78,0x35,0x30,0x37,0x39,0x35,0x30,0x36,0x62,0x2c,0x30,0x78,0x65,0x38,0x61,0x30,0x37,0x63,0x65,0x34,0x2c,0x0a,0x30,0x78,0x36,0x33,0x30,0x61,0x32,0x34,0x30, + 0x63,0x2c,0x30,0x78,0x30,0x37,0x61,0x64,0x38,0x32,0x38,0x64,0x2c,0x30,0x78,0x37,0x39,0x61,0x31,0x30,0x30,0x30,0x35,0x2c,0x30,0x78,0x37,0x65,0x39,0x39,0x34,0x39, + 0x34,0x38,0x2c,0x0a,0x7d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x75,0x69,0x6e,0x74,0x20,0x61,0x2c,0x75,0x69, + 0x6e,0x74,0x20,0x73,0x74,0x61,0x72,0x74,0x5f,0x62,0x69,0x74,0x29,0x20,0x7b,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x61,0x3e,0x3e,0x73,0x74,0x61,0x72,0x74, + 0x5f,0x62,0x69,0x74,0x29,0x26,0x30,0x78,0x46,0x46,0x3b,0x20,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x66,0x69,0x6c,0x6c,0x41,0x65,0x73,0x5f,0x6e,0x61, + 0x6d,0x65,0x20,0x66,0x69,0x6c,0x6c,0x41,0x65,0x73,0x31,0x52,0x78,0x34,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, + 0x65,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f, + 0x4c,0x33,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x30,0x20,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69, + 0x7a,0x65,0x20,0x2b,0x20,0x36,0x34,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x5f,0x66,0x61,0x63,0x74,0x6f,0x72,0x20,0x38, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6e,0x75,0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x20,0x31,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74, + 0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x36,0x34,0x2c,0x31,0x2c,0x31, + 0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x66,0x69,0x6c,0x6c,0x41,0x65,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x5f, + 0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x73,0x74,0x61,0x74,0x65,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69, + 0x64,0x2a,0x20,0x6f,0x75,0x74,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2c,0x75,0x69,0x6e,0x74,0x20,0x72,0x78,0x5f,0x76, + 0x65,0x72,0x73,0x69,0x6f,0x6e,0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x54,0x5b,0x32,0x30,0x34,0x38,0x5d,0x3b,0x0a, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62, + 0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x69,0x66,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x62,0x61,0x74,0x63,0x68, + 0x5f,0x73,0x69,0x7a,0x65,0x2a,0x34,0x29,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3d, + 0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2f,0x34,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x75,0x62,0x3d,0x67, + 0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x25,0x20,0x34,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74, + 0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2c,0x73,0x74,0x65,0x70,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x73,0x69,0x7a,0x65, + 0x28,0x30,0x29,0x3b,0x20,0x69,0x3c,0x32,0x30,0x34,0x38,0x3b,0x20,0x69,0x2b,0x3d,0x73,0x74,0x65,0x70,0x29,0x0a,0x54,0x5b,0x69,0x5d,0x3d,0x41,0x45,0x53,0x5f,0x54, + 0x41,0x42,0x4c,0x45,0x5b,0x69,0x5d,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46, + 0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x6e,0x75,0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x20,0x21,0x3d,0x20,0x34,0x0a,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x75,0x69,0x6e,0x74,0x20,0x6b,0x5b,0x34,0x5d,0x3d,0x7b,0x20,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49,0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x5d, + 0x2c,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49,0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x31,0x5d,0x2c,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46, + 0x49,0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x32,0x5d,0x2c,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49,0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b, + 0x33,0x5d,0x20,0x7d,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x62,0x31,0x3d,0x28,0x72,0x78,0x5f,0x76,0x65, + 0x72,0x73,0x69,0x6f,0x6e,0x3c,0x31,0x30,0x34,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x62,0x32,0x3d,0x28,0x73,0x75,0x62,0x3c,0x32, + 0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x6b,0x5b,0x31,0x36,0x5d,0x3b,0x0a,0x6b,0x5b,0x20,0x30,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x66,0x38,0x39,0x30,0x34,0x36, + 0x35,0x64,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x36,0x34,0x32,0x31,0x61,0x61,0x64,0x64,0x75,0x3a,0x30,0x78,0x62,0x35,0x38,0x32,0x36,0x66,0x37,0x33,0x75,0x29, + 0x3b,0x0a,0x6b,0x5b,0x20,0x31,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x37,0x66,0x66,0x62,0x65,0x34,0x61,0x36,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x64,0x31,0x38, + 0x33,0x33,0x64,0x64,0x62,0x75,0x3a,0x30,0x78,0x65,0x33,0x64,0x36,0x61,0x37,0x61,0x36,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x32,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78, + 0x31,0x34,0x31,0x66,0x38,0x32,0x62,0x37,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x32,0x66,0x35,0x34,0x36,0x64,0x32,0x62,0x75,0x3a,0x30,0x78,0x33,0x64,0x35,0x31, + 0x38,0x62,0x36,0x64,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x33,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x63,0x66,0x33,0x35,0x39,0x65,0x39,0x35,0x75,0x3a,0x28,0x62,0x32, + 0x3f,0x30,0x78,0x39,0x39,0x65,0x35,0x64,0x32,0x33,0x66,0x75,0x3a,0x30,0x78,0x32,0x32,0x39,0x65,0x66,0x66,0x62,0x34,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x34,0x5d, + 0x3d,0x62,0x31,0x3f,0x30,0x78,0x36,0x61,0x35,0x35,0x63,0x34,0x35,0x30,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x62,0x32,0x30,0x65,0x33,0x34,0x35,0x30,0x75,0x3a, + 0x30,0x78,0x63,0x37,0x35,0x36,0x36,0x62,0x66,0x33,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x35,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x66,0x65,0x65,0x38,0x32,0x37,0x38, + 0x61,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x62,0x36,0x39,0x31,0x33,0x66,0x35,0x35,0x75,0x3a,0x30,0x78,0x39,0x63,0x31,0x30,0x62,0x33,0x64,0x39,0x75,0x29,0x3b, + 0x0a,0x6b,0x5b,0x20,0x36,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x62,0x64,0x35,0x63,0x35,0x61,0x63,0x33,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x30,0x36,0x66,0x37, + 0x39,0x64,0x35,0x33,0x75,0x3a,0x30,0x78,0x65,0x39,0x30,0x32,0x34,0x64,0x34,0x65,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x37,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x36, + 0x37,0x34,0x31,0x66,0x66,0x64,0x63,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x61,0x35,0x64,0x66,0x63,0x64,0x65,0x35,0x75,0x3a,0x30,0x78,0x62,0x32,0x37,0x32,0x62, + 0x37,0x64,0x32,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x38,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x31,0x31,0x34,0x63,0x34,0x37,0x61,0x34,0x75,0x3a,0x28,0x62,0x32,0x3f, + 0x30,0x78,0x35,0x63,0x33,0x65,0x64,0x39,0x30,0x34,0x75,0x3a,0x30,0x78,0x66,0x32,0x37,0x33,0x63,0x39,0x65,0x37,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x39,0x5d,0x3d, + 0x62,0x31,0x3f,0x30,0x78,0x64,0x35,0x32,0x34,0x66,0x64,0x65,0x34,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x35,0x31,0x35,0x65,0x37,0x62,0x61,0x66,0x75,0x3a,0x30, + 0x78,0x66,0x37,0x36,0x35,0x61,0x33,0x38,0x62,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x30,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x61,0x37,0x32,0x37,0x39,0x61,0x64,0x32, + 0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x30,0x61,0x61,0x34,0x36,0x37,0x39,0x66,0x75,0x3a,0x30,0x78,0x32,0x62,0x61,0x39,0x36,0x36,0x30,0x61,0x75,0x29,0x3b,0x0a, + 0x6b,0x5b,0x31,0x31,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x33,0x64,0x33,0x32,0x34,0x61,0x61,0x63,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x31,0x37,0x31,0x63,0x30, + 0x32,0x62,0x66,0x75,0x3a,0x30,0x78,0x66,0x36,0x33,0x62,0x65,0x66,0x61,0x37,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x32,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x38,0x31, + 0x30,0x63,0x33,0x61,0x32,0x61,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x38,0x35,0x36,0x32,0x33,0x37,0x36,0x33,0x75,0x3a,0x30,0x78,0x37,0x61,0x37,0x63,0x64,0x36, + 0x30,0x39,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x33,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x39,0x39,0x61,0x39,0x61,0x65,0x66,0x66,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30, + 0x78,0x65,0x37,0x38,0x66,0x35,0x64,0x30,0x38,0x75,0x3a,0x30,0x78,0x39,0x31,0x35,0x38,0x33,0x39,0x64,0x65,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x34,0x5d,0x3d,0x62, + 0x31,0x3f,0x30,0x78,0x34,0x32,0x64,0x33,0x64,0x62,0x64,0x39,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x63,0x64,0x36,0x37,0x33,0x37,0x38,0x35,0x75,0x3a,0x30,0x78, + 0x30,0x63,0x30,0x36,0x64,0x31,0x66,0x64,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x35,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x37,0x36,0x66,0x36,0x64,0x62,0x30,0x38,0x75, + 0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x64,0x38,0x64,0x65,0x64,0x32,0x39,0x31,0x75,0x3a,0x30,0x78,0x63,0x30,0x62,0x30,0x37,0x36,0x32,0x64,0x75,0x29,0x3b,0x0a,0x23, + 0x65,0x6e,0x64,0x69,0x66,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x73,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, + 0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x20,0x73,0x74,0x61,0x74,0x65,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x36,0x34,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75, + 0x69,0x6e,0x74,0x29,0x29,0x2b,0x73,0x75,0x62,0x2a,0x28,0x31,0x36,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x29,0x29,0x3b,0x0a,0x75,0x69,0x6e, + 0x74,0x20,0x78,0x5b,0x34,0x5d,0x3d,0x7b,0x20,0x73,0x5b,0x30,0x5d,0x2c,0x73,0x5b,0x31,0x5d,0x2c,0x73,0x5b,0x32,0x5d,0x2c,0x73,0x5b,0x33,0x5d,0x20,0x7d,0x3b,0x0a, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x31,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x38,0x3a,0x32,0x34,0x3b,0x0a,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x33,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x32,0x34,0x3a,0x38,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, + 0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x20,0x70,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x20,0x6f,0x75,0x74, + 0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x30,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29, + 0x29,0x2b,0x73,0x75,0x62,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x74,0x30,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x54,0x3a,0x28,0x54,0x2b,0x31,0x30,0x32,0x34,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f, + 0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x31,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x28,0x54,0x2b, + 0x32,0x35,0x36,0x29,0x3a,0x28,0x54,0x2b,0x31,0x37,0x39,0x32,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, + 0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x32,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x28,0x54,0x2b,0x35,0x31,0x32,0x29,0x3a,0x28,0x54,0x2b,0x31, + 0x35,0x33,0x36,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x74,0x33,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x28,0x54,0x2b,0x37,0x36,0x38,0x29,0x3a,0x28,0x54,0x2b,0x31,0x32,0x38,0x30,0x29,0x3b,0x0a,0x23,0x70,0x72, + 0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x5f,0x66,0x61,0x63,0x74,0x6f,0x72,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75, + 0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e, + 0x74,0x34,0x29,0x3b,0x20,0x69,0x2b,0x3d,0x34,0x2c,0x70,0x2b,0x3d,0x34,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x79,0x5b,0x34,0x5d,0x3b,0x0a,0x23,0x69,0x66, + 0x20,0x6e,0x75,0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x20,0x21,0x3d,0x20,0x34,0x0a,0x79,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74, + 0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c, + 0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b, + 0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x30,0x5d,0x3b,0x0a,0x79,0x5b,0x31,0x5d,0x3d, + 0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79, + 0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33, + 0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b, + 0x5b,0x31,0x5d,0x3b,0x0a,0x79,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d, + 0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f, + 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78, + 0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x32,0x5d,0x3b,0x0a,0x79,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33, + 0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x31, + 0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65, + 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x33,0x5d,0x3b,0x0a,0x2a,0x70,0x3d,0x2a,0x28,0x75,0x69, + 0x6e,0x74,0x34,0x2a,0x29,0x28,0x79,0x29,0x3b,0x0a,0x78,0x5b,0x30,0x5d,0x3d,0x79,0x5b,0x30,0x5d,0x3b,0x0a,0x78,0x5b,0x31,0x5d,0x3d,0x79,0x5b,0x31,0x5d,0x3b,0x0a, + 0x78,0x5b,0x32,0x5d,0x3d,0x79,0x5b,0x32,0x5d,0x3b,0x0a,0x78,0x5b,0x33,0x5d,0x3d,0x79,0x5b,0x33,0x5d,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x79,0x5b,0x30,0x5d, + 0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62, + 0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b, + 0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e, + 0x6b,0x5b,0x20,0x30,0x5d,0x3b,0x0a,0x79,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30, + 0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65, + 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32, + 0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x31,0x5d,0x3b,0x0a,0x79,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79, + 0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d, + 0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33, + 0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x32,0x5d,0x3b,0x0a,0x79,0x5b,0x33, + 0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f, + 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78, + 0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d, + 0x5e,0x6b,0x5b,0x20,0x33,0x5d,0x3b,0x0a,0x78,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c, + 0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67, + 0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33, + 0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x34,0x5d,0x3b,0x0a,0x78,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62, + 0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32, + 0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74, + 0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x35,0x5d,0x3b,0x0a,0x78,0x5b, + 0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74, + 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, + 0x79,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29, + 0x5d,0x5e,0x6b,0x5b,0x20,0x36,0x5d,0x3b,0x0a,0x78,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d, + 0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b, + 0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65, + 0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x37,0x5d,0x3b,0x0a,0x79,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f, + 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b, + 0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e, + 0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x38,0x5d,0x3b,0x0a,0x79, + 0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65, + 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32, + 0x28,0x78,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33, + 0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x39,0x5d,0x3b,0x0a,0x79,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32, + 0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32, + 0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74, + 0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x30,0x5d,0x3b,0x0a,0x79,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74, + 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78, + 0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d, + 0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x31,0x5d,0x3b,0x0a, + 0x78,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67, + 0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33, + 0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73, + 0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x32,0x5d,0x3b,0x0a,0x78,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b, + 0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74, + 0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79, + 0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x78,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65, + 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, + 0x79,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29, + 0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x34,0x5d,0x3b, + 0x0a,0x78,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b, + 0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65, + 0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c, + 0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x35,0x5d,0x3b,0x0a,0x2a,0x70,0x3d,0x2a,0x28,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x78,0x29,0x3b,0x0a,0x23,0x65,0x6e, + 0x64,0x69,0x66,0x0a,0x7d,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x73,0x29,0x3d,0x2a,0x28,0x75,0x69, + 0x6e,0x74,0x34,0x2a,0x29,0x28,0x78,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x6e,0x75,0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x0a,0x23,0x75, + 0x6e,0x64,0x65,0x66,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x5f,0x66,0x61,0x63,0x74,0x6f,0x72,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x6f,0x75,0x74,0x70,0x75,0x74, + 0x53,0x69,0x7a,0x65,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x30,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x66, + 0x69,0x6c,0x6c,0x41,0x65,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x66,0x69,0x6c,0x6c,0x41,0x65,0x73,0x5f,0x6e,0x61,0x6d,0x65, + 0x20,0x66,0x69,0x6c,0x6c,0x41,0x65,0x73,0x34,0x52,0x78,0x34,0x5f,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6f,0x75,0x74, + 0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x20,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f,0x53,0x49,0x5a,0x45,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6f,0x75,0x74, + 0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x30,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x75,0x6e,0x72,0x6f, + 0x6c,0x6c,0x5f,0x66,0x61,0x63,0x74,0x6f,0x72,0x20,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6e,0x75,0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x20,0x34, + 0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f, + 0x73,0x69,0x7a,0x65,0x28,0x36,0x34,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x66,0x69,0x6c, + 0x6c,0x41,0x65,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x73,0x74,0x61,0x74,0x65,0x2c,0x5f, + 0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x6f,0x75,0x74,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a, + 0x65,0x2c,0x75,0x69,0x6e,0x74,0x20,0x72,0x78,0x5f,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, + 0x74,0x20,0x54,0x5b,0x32,0x30,0x34,0x38,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64, + 0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x69,0x66,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69, + 0x6e,0x64,0x65,0x78,0x3e,0x3d,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2a,0x34,0x29,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2f,0x34,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x75,0x62,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x25,0x20,0x34,0x3b,0x0a,0x66,0x6f,0x72,0x20, + 0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2c,0x73,0x74,0x65,0x70,0x3d,0x67,0x65,0x74, + 0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x28,0x30,0x29,0x3b,0x20,0x69,0x3c,0x32,0x30,0x34,0x38,0x3b,0x20,0x69,0x2b,0x3d,0x73,0x74,0x65,0x70,0x29, + 0x0a,0x54,0x5b,0x69,0x5d,0x3d,0x41,0x45,0x53,0x5f,0x54,0x41,0x42,0x4c,0x45,0x5b,0x69,0x5d,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f, + 0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x6e,0x75,0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73, + 0x20,0x21,0x3d,0x20,0x34,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6b,0x5b,0x34,0x5d,0x3d,0x7b,0x20,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f, + 0x46,0x49,0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x5d,0x2c,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49,0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x31, + 0x5d,0x2c,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49,0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x32,0x5d,0x2c,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f, + 0x46,0x49,0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x33,0x5d,0x20,0x7d,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f, + 0x6c,0x20,0x62,0x31,0x3d,0x28,0x72,0x78,0x5f,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3c,0x31,0x30,0x34,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f, + 0x6c,0x20,0x62,0x32,0x3d,0x28,0x73,0x75,0x62,0x3c,0x32,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x6b,0x5b,0x31,0x36,0x5d,0x3b,0x0a,0x6b,0x5b,0x20,0x30,0x5d,0x3d, + 0x62,0x31,0x3f,0x30,0x78,0x66,0x38,0x39,0x30,0x34,0x36,0x35,0x64,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x36,0x34,0x32,0x31,0x61,0x61,0x64,0x64,0x75,0x3a,0x30, + 0x78,0x62,0x35,0x38,0x32,0x36,0x66,0x37,0x33,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x31,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x37,0x66,0x66,0x62,0x65,0x34,0x61,0x36, + 0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x64,0x31,0x38,0x33,0x33,0x64,0x64,0x62,0x75,0x3a,0x30,0x78,0x65,0x33,0x64,0x36,0x61,0x37,0x61,0x36,0x75,0x29,0x3b,0x0a, + 0x6b,0x5b,0x20,0x32,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x31,0x34,0x31,0x66,0x38,0x32,0x62,0x37,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x32,0x66,0x35,0x34,0x36, + 0x64,0x32,0x62,0x75,0x3a,0x30,0x78,0x33,0x64,0x35,0x31,0x38,0x62,0x36,0x64,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x33,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x63,0x66, + 0x33,0x35,0x39,0x65,0x39,0x35,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x39,0x39,0x65,0x35,0x64,0x32,0x33,0x66,0x75,0x3a,0x30,0x78,0x32,0x32,0x39,0x65,0x66,0x66, + 0x62,0x34,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x34,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x36,0x61,0x35,0x35,0x63,0x34,0x35,0x30,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30, + 0x78,0x62,0x32,0x30,0x65,0x33,0x34,0x35,0x30,0x75,0x3a,0x30,0x78,0x63,0x37,0x35,0x36,0x36,0x62,0x66,0x33,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x35,0x5d,0x3d,0x62, + 0x31,0x3f,0x30,0x78,0x66,0x65,0x65,0x38,0x32,0x37,0x38,0x61,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x62,0x36,0x39,0x31,0x33,0x66,0x35,0x35,0x75,0x3a,0x30,0x78, + 0x39,0x63,0x31,0x30,0x62,0x33,0x64,0x39,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x36,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x62,0x64,0x35,0x63,0x35,0x61,0x63,0x33,0x75, + 0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x30,0x36,0x66,0x37,0x39,0x64,0x35,0x33,0x75,0x3a,0x30,0x78,0x65,0x39,0x30,0x32,0x34,0x64,0x34,0x65,0x75,0x29,0x3b,0x0a,0x6b, + 0x5b,0x20,0x37,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x36,0x37,0x34,0x31,0x66,0x66,0x64,0x63,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x61,0x35,0x64,0x66,0x63,0x64, + 0x65,0x35,0x75,0x3a,0x30,0x78,0x62,0x32,0x37,0x32,0x62,0x37,0x64,0x32,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x38,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x31,0x31,0x34, + 0x63,0x34,0x37,0x61,0x34,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x35,0x63,0x33,0x65,0x64,0x39,0x30,0x34,0x75,0x3a,0x30,0x78,0x66,0x32,0x37,0x33,0x63,0x39,0x65, + 0x37,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x39,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x64,0x35,0x32,0x34,0x66,0x64,0x65,0x34,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78, + 0x35,0x31,0x35,0x65,0x37,0x62,0x61,0x66,0x75,0x3a,0x30,0x78,0x66,0x37,0x36,0x35,0x61,0x33,0x38,0x62,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x30,0x5d,0x3d,0x62,0x31, + 0x3f,0x30,0x78,0x61,0x37,0x32,0x37,0x39,0x61,0x64,0x32,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x30,0x61,0x61,0x34,0x36,0x37,0x39,0x66,0x75,0x3a,0x30,0x78,0x32, + 0x62,0x61,0x39,0x36,0x36,0x30,0x61,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x31,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x33,0x64,0x33,0x32,0x34,0x61,0x61,0x63,0x75,0x3a, + 0x28,0x62,0x32,0x3f,0x30,0x78,0x31,0x37,0x31,0x63,0x30,0x32,0x62,0x66,0x75,0x3a,0x30,0x78,0x66,0x36,0x33,0x62,0x65,0x66,0x61,0x37,0x75,0x29,0x3b,0x0a,0x6b,0x5b, + 0x31,0x32,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x38,0x31,0x30,0x63,0x33,0x61,0x32,0x61,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x38,0x35,0x36,0x32,0x33,0x37,0x36, + 0x33,0x75,0x3a,0x30,0x78,0x37,0x61,0x37,0x63,0x64,0x36,0x30,0x39,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x33,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x39,0x39,0x61,0x39, + 0x61,0x65,0x66,0x66,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x65,0x37,0x38,0x66,0x35,0x64,0x30,0x38,0x75,0x3a,0x30,0x78,0x39,0x31,0x35,0x38,0x33,0x39,0x64,0x65, + 0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x34,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x34,0x32,0x64,0x33,0x64,0x62,0x64,0x39,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x63, + 0x64,0x36,0x37,0x33,0x37,0x38,0x35,0x75,0x3a,0x30,0x78,0x30,0x63,0x30,0x36,0x64,0x31,0x66,0x64,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x35,0x5d,0x3d,0x62,0x31,0x3f, + 0x30,0x78,0x37,0x36,0x66,0x36,0x64,0x62,0x30,0x38,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x64,0x38,0x64,0x65,0x64,0x32,0x39,0x31,0x75,0x3a,0x30,0x78,0x63,0x30, + 0x62,0x30,0x37,0x36,0x32,0x64,0x75,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20, + 0x73,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x20,0x73,0x74,0x61,0x74,0x65,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28, + 0x36,0x34,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x29,0x29,0x2b,0x73,0x75,0x62,0x2a,0x28,0x31,0x36,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28, + 0x75,0x69,0x6e,0x74,0x29,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x78,0x5b,0x34,0x5d,0x3d,0x7b,0x20,0x73,0x5b,0x30,0x5d,0x2c,0x73,0x5b,0x31,0x5d,0x2c,0x73,0x5b, + 0x32,0x5d,0x2c,0x73,0x5b,0x33,0x5d,0x20,0x7d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x31,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29, + 0x3f,0x38,0x3a,0x32,0x34,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x33,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x32,0x34,0x3a, + 0x38,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x20,0x70,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, + 0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x20,0x6f,0x75,0x74,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x30,0x2f,0x73,0x69, + 0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x29,0x2b,0x73,0x75,0x62,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20, + 0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x30,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x54,0x3a,0x28,0x54,0x2b,0x31,0x30,0x32,0x34, + 0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x31,0x3d, + 0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x28,0x54,0x2b,0x32,0x35,0x36,0x29,0x3a,0x28,0x54,0x2b,0x31,0x37,0x39,0x32,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x32,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x28, + 0x54,0x2b,0x35,0x31,0x32,0x29,0x3a,0x28,0x54,0x2b,0x31,0x35,0x33,0x36,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75, + 0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x33,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x28,0x54,0x2b,0x37,0x36,0x38,0x29,0x3a,0x28,0x54, + 0x2b,0x31,0x32,0x38,0x30,0x29,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x5f,0x66,0x61, + 0x63,0x74,0x6f,0x72,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65, + 0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x3b,0x20,0x69,0x2b,0x3d,0x34,0x2c,0x70,0x2b,0x3d,0x34,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e, + 0x74,0x20,0x79,0x5b,0x34,0x5d,0x3b,0x0a,0x23,0x69,0x66,0x20,0x6e,0x75,0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x20,0x21,0x3d,0x20,0x34,0x0a,0x79,0x5b,0x30,0x5d, + 0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62, + 0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b, + 0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e, + 0x6b,0x5b,0x30,0x5d,0x3b,0x0a,0x79,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30,0x29, + 0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74, + 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, + 0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x5d,0x3b,0x0a,0x79,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65, + 0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73, + 0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67, + 0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x32,0x5d,0x3b,0x0a,0x79,0x5b,0x33,0x5d,0x3d,0x74, + 0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74, + 0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d, + 0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b, + 0x33,0x5d,0x3b,0x0a,0x2a,0x70,0x3d,0x2a,0x28,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x79,0x29,0x3b,0x0a,0x78,0x5b,0x30,0x5d,0x3d,0x79,0x5b,0x30,0x5d,0x3b,0x0a, + 0x78,0x5b,0x31,0x5d,0x3d,0x79,0x5b,0x31,0x5d,0x3b,0x0a,0x78,0x5b,0x32,0x5d,0x3d,0x79,0x5b,0x32,0x5d,0x3b,0x0a,0x78,0x5b,0x33,0x5d,0x3d,0x79,0x5b,0x33,0x5d,0x3b, + 0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x79,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x30, + 0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65, + 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32, + 0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x30,0x5d,0x3b,0x0a,0x79,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79, + 0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d, + 0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33, + 0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x31,0x5d,0x3b,0x0a,0x79,0x5b,0x32, + 0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f, + 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78, + 0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d, + 0x5e,0x6b,0x5b,0x20,0x32,0x5d,0x3b,0x0a,0x79,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c, + 0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67, + 0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33, + 0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x33,0x5d,0x3b,0x0a,0x78,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62, + 0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31, + 0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74, + 0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x34,0x5d,0x3b,0x0a,0x78,0x5b, + 0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74, + 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, + 0x79,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29, + 0x5d,0x5e,0x6b,0x5b,0x20,0x35,0x5d,0x3b,0x0a,0x78,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d, + 0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b, + 0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65, + 0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x36,0x5d,0x3b,0x0a,0x78,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f, + 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b, + 0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e, + 0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x37,0x5d,0x3b,0x0a,0x79, + 0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65, + 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32, + 0x28,0x78,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33, + 0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x38,0x5d,0x3b,0x0a,0x79,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31, + 0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32, + 0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74, + 0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x39,0x5d,0x3b,0x0a,0x79,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74, + 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78, + 0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d, + 0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x30,0x5d,0x3b,0x0a, + 0x79,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67, + 0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33, + 0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73, + 0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x31,0x5d,0x3b,0x0a,0x78,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b, + 0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74, + 0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79, + 0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x32,0x5d,0x3b,0x0a,0x78,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65, + 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, + 0x79,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29, + 0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x33,0x5d,0x3b, + 0x0a,0x78,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b, + 0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65, + 0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c, + 0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x34,0x5d,0x3b,0x0a,0x78,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79, + 0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e, + 0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62, + 0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x35,0x5d,0x3b,0x0a,0x2a,0x70,0x3d,0x2a,0x28,0x75,0x69,0x6e,0x74, + 0x34,0x2a,0x29,0x28,0x78,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, + 0x34,0x2a,0x29,0x28,0x73,0x29,0x3d,0x2a,0x28,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x78,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x6e,0x75, + 0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x5f,0x66,0x61,0x63,0x74,0x6f,0x72,0x0a,0x23,0x75, + 0x6e,0x64,0x65,0x66,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a, + 0x65,0x30,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x66,0x69,0x6c,0x6c,0x41,0x65,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x69, + 0x6e,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x0a,0x5f, 0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69, - 0x7a,0x65,0x28,0x36,0x34,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x66,0x69,0x6c,0x6c,0x41, - 0x65,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x73,0x74,0x61,0x74,0x65,0x2c,0x5f,0x5f,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x6f,0x75,0x74,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2c, - 0x75,0x69,0x6e,0x74,0x20,0x72,0x78,0x5f,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20, + 0x7a,0x65,0x28,0x36,0x34,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x68,0x61,0x73,0x68,0x41, + 0x65,0x73,0x31,0x52,0x78,0x34,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x69,0x6e,0x70,0x75, + 0x74,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x68,0x61,0x73,0x68,0x2c,0x75,0x69,0x6e,0x74,0x20,0x68,0x61,0x73,0x68,0x4f, + 0x66,0x66,0x73,0x65,0x74,0x42,0x79,0x74,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x20,0x68,0x61,0x73,0x68,0x53,0x74,0x72,0x69,0x64,0x65,0x42,0x79,0x74,0x65,0x73,0x2c, + 0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20, 0x54,0x5b,0x32,0x30,0x34,0x38,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78, 0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x69,0x66,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64, 0x65,0x78,0x3e,0x3d,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2a,0x34,0x29,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, @@ -1132,1264 +1412,1133 @@ static const char randomx_cl[131026] = { 0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2c,0x73,0x74,0x65,0x70,0x3d,0x67,0x65,0x74,0x5f,0x6c, 0x6f,0x63,0x61,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x28,0x30,0x29,0x3b,0x20,0x69,0x3c,0x32,0x30,0x34,0x38,0x3b,0x20,0x69,0x2b,0x3d,0x73,0x74,0x65,0x70,0x29,0x0a,0x54, 0x5b,0x69,0x5d,0x3d,0x41,0x45,0x53,0x5f,0x54,0x41,0x42,0x4c,0x45,0x5b,0x69,0x5d,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f, - 0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x6e,0x75,0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x20,0x21, - 0x3d,0x20,0x34,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6b,0x5b,0x34,0x5d,0x3d,0x7b,0x20,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49, - 0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x5d,0x2c,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49,0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x31,0x5d,0x2c, - 0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49,0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x32,0x5d,0x2c,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49, - 0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x33,0x5d,0x20,0x7d,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20, - 0x62,0x31,0x3d,0x28,0x72,0x78,0x5f,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3c,0x31,0x30,0x34,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20, - 0x62,0x32,0x3d,0x28,0x73,0x75,0x62,0x3c,0x32,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x6b,0x5b,0x31,0x36,0x5d,0x3b,0x0a,0x6b,0x5b,0x20,0x30,0x5d,0x3d,0x62,0x31, - 0x3f,0x30,0x78,0x66,0x38,0x39,0x30,0x34,0x36,0x35,0x64,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x36,0x34,0x32,0x31,0x61,0x61,0x64,0x64,0x75,0x3a,0x30,0x78,0x62, - 0x35,0x38,0x32,0x36,0x66,0x37,0x33,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x31,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x37,0x66,0x66,0x62,0x65,0x34,0x61,0x36,0x75,0x3a, - 0x28,0x62,0x32,0x3f,0x30,0x78,0x64,0x31,0x38,0x33,0x33,0x64,0x64,0x62,0x75,0x3a,0x30,0x78,0x65,0x33,0x64,0x36,0x61,0x37,0x61,0x36,0x75,0x29,0x3b,0x0a,0x6b,0x5b, - 0x20,0x32,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x31,0x34,0x31,0x66,0x38,0x32,0x62,0x37,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x32,0x66,0x35,0x34,0x36,0x64,0x32, - 0x62,0x75,0x3a,0x30,0x78,0x33,0x64,0x35,0x31,0x38,0x62,0x36,0x64,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x33,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x63,0x66,0x33,0x35, - 0x39,0x65,0x39,0x35,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x39,0x39,0x65,0x35,0x64,0x32,0x33,0x66,0x75,0x3a,0x30,0x78,0x32,0x32,0x39,0x65,0x66,0x66,0x62,0x34, - 0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x34,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x36,0x61,0x35,0x35,0x63,0x34,0x35,0x30,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x62, - 0x32,0x30,0x65,0x33,0x34,0x35,0x30,0x75,0x3a,0x30,0x78,0x63,0x37,0x35,0x36,0x36,0x62,0x66,0x33,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x35,0x5d,0x3d,0x62,0x31,0x3f, - 0x30,0x78,0x66,0x65,0x65,0x38,0x32,0x37,0x38,0x61,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x62,0x36,0x39,0x31,0x33,0x66,0x35,0x35,0x75,0x3a,0x30,0x78,0x39,0x63, - 0x31,0x30,0x62,0x33,0x64,0x39,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x36,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x62,0x64,0x35,0x63,0x35,0x61,0x63,0x33,0x75,0x3a,0x28, - 0x62,0x32,0x3f,0x30,0x78,0x30,0x36,0x66,0x37,0x39,0x64,0x35,0x33,0x75,0x3a,0x30,0x78,0x65,0x39,0x30,0x32,0x34,0x64,0x34,0x65,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20, - 0x37,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x36,0x37,0x34,0x31,0x66,0x66,0x64,0x63,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x61,0x35,0x64,0x66,0x63,0x64,0x65,0x35, - 0x75,0x3a,0x30,0x78,0x62,0x32,0x37,0x32,0x62,0x37,0x64,0x32,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x38,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x31,0x31,0x34,0x63,0x34, - 0x37,0x61,0x34,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x35,0x63,0x33,0x65,0x64,0x39,0x30,0x34,0x75,0x3a,0x30,0x78,0x66,0x32,0x37,0x33,0x63,0x39,0x65,0x37,0x75, - 0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x39,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x64,0x35,0x32,0x34,0x66,0x64,0x65,0x34,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x35,0x31, - 0x35,0x65,0x37,0x62,0x61,0x66,0x75,0x3a,0x30,0x78,0x66,0x37,0x36,0x35,0x61,0x33,0x38,0x62,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x30,0x5d,0x3d,0x62,0x31,0x3f,0x30, - 0x78,0x61,0x37,0x32,0x37,0x39,0x61,0x64,0x32,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x30,0x61,0x61,0x34,0x36,0x37,0x39,0x66,0x75,0x3a,0x30,0x78,0x32,0x62,0x61, - 0x39,0x36,0x36,0x30,0x61,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x31,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x33,0x64,0x33,0x32,0x34,0x61,0x61,0x63,0x75,0x3a,0x28,0x62, - 0x32,0x3f,0x30,0x78,0x31,0x37,0x31,0x63,0x30,0x32,0x62,0x66,0x75,0x3a,0x30,0x78,0x66,0x36,0x33,0x62,0x65,0x66,0x61,0x37,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x32, - 0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x38,0x31,0x30,0x63,0x33,0x61,0x32,0x61,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x38,0x35,0x36,0x32,0x33,0x37,0x36,0x33,0x75, - 0x3a,0x30,0x78,0x37,0x61,0x37,0x63,0x64,0x36,0x30,0x39,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x33,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x39,0x39,0x61,0x39,0x61,0x65, - 0x66,0x66,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x65,0x37,0x38,0x66,0x35,0x64,0x30,0x38,0x75,0x3a,0x30,0x78,0x39,0x31,0x35,0x38,0x33,0x39,0x64,0x65,0x75,0x29, - 0x3b,0x0a,0x6b,0x5b,0x31,0x34,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x34,0x32,0x64,0x33,0x64,0x62,0x64,0x39,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x63,0x64,0x36, - 0x37,0x33,0x37,0x38,0x35,0x75,0x3a,0x30,0x78,0x30,0x63,0x30,0x36,0x64,0x31,0x66,0x64,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x35,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78, - 0x37,0x36,0x66,0x36,0x64,0x62,0x30,0x38,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x64,0x38,0x64,0x65,0x64,0x32,0x39,0x31,0x75,0x3a,0x30,0x78,0x63,0x30,0x62,0x30, - 0x37,0x36,0x32,0x64,0x75,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x73,0x3d, - 0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x20,0x73,0x74,0x61,0x74,0x65,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x36,0x34, - 0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x29,0x29,0x2b,0x73,0x75,0x62,0x2a,0x28,0x31,0x36,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69, - 0x6e,0x74,0x29,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x78,0x5b,0x34,0x5d,0x3d,0x7b,0x20,0x73,0x5b,0x30,0x5d,0x2c,0x73,0x5b,0x31,0x5d,0x2c,0x73,0x5b,0x32,0x5d, - 0x2c,0x73,0x5b,0x33,0x5d,0x20,0x7d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x31,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x38, - 0x3a,0x32,0x34,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x33,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x32,0x34,0x3a,0x38,0x3b, - 0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x20,0x70,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69, - 0x6e,0x74,0x34,0x2a,0x29,0x20,0x6f,0x75,0x74,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x30,0x2f,0x73,0x69,0x7a,0x65, - 0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x29,0x2b,0x73,0x75,0x62,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69, - 0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x30,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x54,0x3a,0x28,0x54,0x2b,0x31,0x30,0x32,0x34,0x29,0x3b, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x31,0x3d,0x28,0x73, - 0x75,0x62,0x26,0x31,0x29,0x3f,0x28,0x54,0x2b,0x32,0x35,0x36,0x29,0x3a,0x28,0x54,0x2b,0x31,0x37,0x39,0x32,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f, - 0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x32,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x28,0x54,0x2b, - 0x35,0x31,0x32,0x29,0x3a,0x28,0x54,0x2b,0x31,0x35,0x33,0x36,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, - 0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x33,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x28,0x54,0x2b,0x37,0x36,0x38,0x29,0x3a,0x28,0x54,0x2b,0x31, - 0x32,0x38,0x30,0x29,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x5f,0x66,0x61,0x63,0x74, - 0x6f,0x72,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x2f,0x73, - 0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x3b,0x20,0x69,0x2b,0x3d,0x34,0x2c,0x70,0x2b,0x3d,0x34,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x20, - 0x79,0x5b,0x34,0x5d,0x3b,0x0a,0x23,0x69,0x66,0x20,0x6e,0x75,0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x20,0x21,0x3d,0x20,0x34,0x0a,0x79,0x5b,0x30,0x5d,0x3d,0x74, - 0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74, - 0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d, - 0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b, - 0x30,0x5d,0x3b,0x0a,0x79,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e, - 0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62, - 0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b, - 0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x5d,0x3b,0x0a,0x79,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32, - 0x28,0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29, - 0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74, - 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x32,0x5d,0x3b,0x0a,0x79,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b, - 0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33, - 0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x31, - 0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x33,0x5d, - 0x3b,0x0a,0x2a,0x70,0x3d,0x2a,0x28,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x79,0x29,0x3b,0x0a,0x78,0x5b,0x30,0x5d,0x3d,0x79,0x5b,0x30,0x5d,0x3b,0x0a,0x78,0x5b, - 0x31,0x5d,0x3d,0x79,0x5b,0x31,0x5d,0x3b,0x0a,0x78,0x5b,0x32,0x5d,0x3d,0x79,0x5b,0x32,0x5d,0x3b,0x0a,0x78,0x5b,0x33,0x5d,0x3d,0x79,0x5b,0x33,0x5d,0x3b,0x0a,0x23, - 0x65,0x6c,0x73,0x65,0x0a,0x79,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d, - 0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f, - 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78, - 0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x30,0x5d,0x3b,0x0a,0x79,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65, - 0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73, - 0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67, - 0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x31,0x5d,0x3b,0x0a,0x79,0x5b,0x32,0x5d,0x3d, - 0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79, - 0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30, - 0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b, - 0x5b,0x20,0x32,0x5d,0x3b,0x0a,0x79,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x30,0x29, - 0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74, - 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, - 0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x33,0x5d,0x3b,0x0a,0x78,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74, - 0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c, - 0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b, - 0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x34,0x5d,0x3b,0x0a,0x78,0x5b,0x31,0x5d, - 0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62, - 0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b, - 0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e, - 0x6b,0x5b,0x20,0x35,0x5d,0x3b,0x0a,0x78,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x30, - 0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65, - 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32, - 0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x36,0x5d,0x3b,0x0a,0x78,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79, - 0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d, - 0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33, - 0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x37,0x5d,0x3b,0x0a,0x79,0x5b,0x30, - 0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f, - 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78, - 0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d, - 0x5e,0x6b,0x5b,0x20,0x38,0x5d,0x3b,0x0a,0x79,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c, - 0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67, - 0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33, - 0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x39,0x5d,0x3b,0x0a,0x79,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62, - 0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33, - 0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74, - 0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x30,0x5d,0x3b,0x0a,0x79,0x5b, - 0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74, - 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, - 0x78,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29, - 0x5d,0x5e,0x6b,0x5b,0x31,0x31,0x5d,0x3b,0x0a,0x78,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d, - 0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b, - 0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65, - 0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x32,0x5d,0x3b,0x0a,0x78,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f, - 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b, - 0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e, - 0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x78, - 0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65, - 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32, - 0x28,0x79,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x33, - 0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x34,0x5d,0x3b,0x0a,0x78,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33, - 0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32, - 0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74, - 0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x35,0x5d,0x3b,0x0a,0x2a,0x70,0x3d,0x2a,0x28,0x75,0x69,0x6e,0x74,0x34,0x2a, - 0x29,0x28,0x78,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a, - 0x29,0x28,0x73,0x29,0x3d,0x2a,0x28,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x78,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x6e,0x75,0x6d,0x5f, - 0x72,0x6f,0x75,0x6e,0x64,0x73,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x5f,0x66,0x61,0x63,0x74,0x6f,0x72,0x0a,0x23,0x75,0x6e,0x64, - 0x65,0x66,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x30, - 0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x66,0x69,0x6c,0x6c,0x41,0x65,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x66,0x69,0x6c, - 0x6c,0x41,0x65,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x20,0x66,0x69,0x6c,0x6c,0x41,0x65,0x73,0x34,0x52,0x78,0x34,0x5f,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x20,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f,0x53,0x49,0x5a,0x45,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x30,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x0a,0x23,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x5f,0x66,0x61,0x63,0x74,0x6f,0x72,0x20,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6e,0x75,0x6d, - 0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x20,0x34,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f, - 0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x36,0x34,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c, - 0x20,0x76,0x6f,0x69,0x64,0x20,0x66,0x69,0x6c,0x6c,0x41,0x65,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64, - 0x2a,0x20,0x73,0x74,0x61,0x74,0x65,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x6f,0x75,0x74,0x2c,0x75,0x69,0x6e,0x74,0x20, - 0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2c,0x75,0x69,0x6e,0x74,0x20,0x72,0x78,0x5f,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x29,0x0a,0x7b,0x0a,0x5f,0x5f, - 0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x54,0x5b,0x32,0x30,0x34,0x38,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x69,0x66, - 0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2a,0x34,0x29,0x0a,0x72,0x65,0x74, - 0x75,0x72,0x6e,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78, - 0x2f,0x34,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x75,0x62,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20, - 0x25,0x20,0x34,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29, - 0x2c,0x73,0x74,0x65,0x70,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x28,0x30,0x29,0x3b,0x20,0x69,0x3c,0x32,0x30,0x34,0x38,0x3b, - 0x20,0x69,0x2b,0x3d,0x73,0x74,0x65,0x70,0x29,0x0a,0x54,0x5b,0x69,0x5d,0x3d,0x41,0x45,0x53,0x5f,0x54,0x41,0x42,0x4c,0x45,0x5b,0x69,0x5d,0x3b,0x0a,0x62,0x61,0x72, - 0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x6e, - 0x75,0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x20,0x21,0x3d,0x20,0x34,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6b,0x5b,0x34,0x5d,0x3d,0x7b, - 0x20,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49,0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x5d,0x2c,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49,0x4c, - 0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x31,0x5d,0x2c,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49,0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x32,0x5d, - 0x2c,0x41,0x45,0x53,0x5f,0x4b,0x45,0x59,0x5f,0x46,0x49,0x4c,0x4c,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x33,0x5d,0x20,0x7d,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x62,0x31,0x3d,0x28,0x72,0x78,0x5f,0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,0x3c,0x31,0x30,0x34,0x29,0x3b,0x0a, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x62,0x32,0x3d,0x28,0x73,0x75,0x62,0x3c,0x32,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x6b,0x5b,0x31,0x36, - 0x5d,0x3b,0x0a,0x6b,0x5b,0x20,0x30,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x66,0x38,0x39,0x30,0x34,0x36,0x35,0x64,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x36,0x34, - 0x32,0x31,0x61,0x61,0x64,0x64,0x75,0x3a,0x30,0x78,0x62,0x35,0x38,0x32,0x36,0x66,0x37,0x33,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x31,0x5d,0x3d,0x62,0x31,0x3f,0x30, - 0x78,0x37,0x66,0x66,0x62,0x65,0x34,0x61,0x36,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x64,0x31,0x38,0x33,0x33,0x64,0x64,0x62,0x75,0x3a,0x30,0x78,0x65,0x33,0x64, - 0x36,0x61,0x37,0x61,0x36,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x32,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x31,0x34,0x31,0x66,0x38,0x32,0x62,0x37,0x75,0x3a,0x28,0x62, - 0x32,0x3f,0x30,0x78,0x32,0x66,0x35,0x34,0x36,0x64,0x32,0x62,0x75,0x3a,0x30,0x78,0x33,0x64,0x35,0x31,0x38,0x62,0x36,0x64,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x33, - 0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x63,0x66,0x33,0x35,0x39,0x65,0x39,0x35,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x39,0x39,0x65,0x35,0x64,0x32,0x33,0x66,0x75, - 0x3a,0x30,0x78,0x32,0x32,0x39,0x65,0x66,0x66,0x62,0x34,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x34,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x36,0x61,0x35,0x35,0x63,0x34, - 0x35,0x30,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x62,0x32,0x30,0x65,0x33,0x34,0x35,0x30,0x75,0x3a,0x30,0x78,0x63,0x37,0x35,0x36,0x36,0x62,0x66,0x33,0x75,0x29, - 0x3b,0x0a,0x6b,0x5b,0x20,0x35,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x66,0x65,0x65,0x38,0x32,0x37,0x38,0x61,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x62,0x36,0x39, - 0x31,0x33,0x66,0x35,0x35,0x75,0x3a,0x30,0x78,0x39,0x63,0x31,0x30,0x62,0x33,0x64,0x39,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x36,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78, - 0x62,0x64,0x35,0x63,0x35,0x61,0x63,0x33,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x30,0x36,0x66,0x37,0x39,0x64,0x35,0x33,0x75,0x3a,0x30,0x78,0x65,0x39,0x30,0x32, - 0x34,0x64,0x34,0x65,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x37,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x36,0x37,0x34,0x31,0x66,0x66,0x64,0x63,0x75,0x3a,0x28,0x62,0x32, - 0x3f,0x30,0x78,0x61,0x35,0x64,0x66,0x63,0x64,0x65,0x35,0x75,0x3a,0x30,0x78,0x62,0x32,0x37,0x32,0x62,0x37,0x64,0x32,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x38,0x5d, - 0x3d,0x62,0x31,0x3f,0x30,0x78,0x31,0x31,0x34,0x63,0x34,0x37,0x61,0x34,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x35,0x63,0x33,0x65,0x64,0x39,0x30,0x34,0x75,0x3a, - 0x30,0x78,0x66,0x32,0x37,0x33,0x63,0x39,0x65,0x37,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x20,0x39,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x64,0x35,0x32,0x34,0x66,0x64,0x65, - 0x34,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x35,0x31,0x35,0x65,0x37,0x62,0x61,0x66,0x75,0x3a,0x30,0x78,0x66,0x37,0x36,0x35,0x61,0x33,0x38,0x62,0x75,0x29,0x3b, - 0x0a,0x6b,0x5b,0x31,0x30,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x61,0x37,0x32,0x37,0x39,0x61,0x64,0x32,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x30,0x61,0x61,0x34, - 0x36,0x37,0x39,0x66,0x75,0x3a,0x30,0x78,0x32,0x62,0x61,0x39,0x36,0x36,0x30,0x61,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x31,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x33, - 0x64,0x33,0x32,0x34,0x61,0x61,0x63,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x31,0x37,0x31,0x63,0x30,0x32,0x62,0x66,0x75,0x3a,0x30,0x78,0x66,0x36,0x33,0x62,0x65, - 0x66,0x61,0x37,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x32,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x38,0x31,0x30,0x63,0x33,0x61,0x32,0x61,0x75,0x3a,0x28,0x62,0x32,0x3f, - 0x30,0x78,0x38,0x35,0x36,0x32,0x33,0x37,0x36,0x33,0x75,0x3a,0x30,0x78,0x37,0x61,0x37,0x63,0x64,0x36,0x30,0x39,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x33,0x5d,0x3d, - 0x62,0x31,0x3f,0x30,0x78,0x39,0x39,0x61,0x39,0x61,0x65,0x66,0x66,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x65,0x37,0x38,0x66,0x35,0x64,0x30,0x38,0x75,0x3a,0x30, - 0x78,0x39,0x31,0x35,0x38,0x33,0x39,0x64,0x65,0x75,0x29,0x3b,0x0a,0x6b,0x5b,0x31,0x34,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x34,0x32,0x64,0x33,0x64,0x62,0x64,0x39, - 0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x63,0x64,0x36,0x37,0x33,0x37,0x38,0x35,0x75,0x3a,0x30,0x78,0x30,0x63,0x30,0x36,0x64,0x31,0x66,0x64,0x75,0x29,0x3b,0x0a, - 0x6b,0x5b,0x31,0x35,0x5d,0x3d,0x62,0x31,0x3f,0x30,0x78,0x37,0x36,0x66,0x36,0x64,0x62,0x30,0x38,0x75,0x3a,0x28,0x62,0x32,0x3f,0x30,0x78,0x64,0x38,0x64,0x65,0x64, - 0x32,0x39,0x31,0x75,0x3a,0x30,0x78,0x63,0x30,0x62,0x30,0x37,0x36,0x32,0x64,0x75,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62, - 0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x73,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x20,0x73,0x74,0x61, - 0x74,0x65,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x36,0x34,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x29,0x29,0x2b,0x73,0x75,0x62,0x2a,0x28,0x31, - 0x36,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x29,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x78,0x5b,0x34,0x5d,0x3d,0x7b,0x20,0x73,0x5b,0x30, - 0x5d,0x2c,0x73,0x5b,0x31,0x5d,0x2c,0x73,0x5b,0x32,0x5d,0x2c,0x73,0x5b,0x33,0x5d,0x20,0x7d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73, - 0x31,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x38,0x3a,0x32,0x34,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x33,0x3d,0x28,0x73, - 0x75,0x62,0x26,0x31,0x29,0x3f,0x32,0x34,0x3a,0x38,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x20,0x70,0x3d,0x28,0x28, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x20,0x6f,0x75,0x74,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x6f,0x75,0x74,0x70,0x75, - 0x74,0x53,0x69,0x7a,0x65,0x30,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x29,0x2b,0x73,0x75,0x62,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x30,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f, - 0x54,0x3a,0x28,0x54,0x2b,0x31,0x30,0x32,0x34,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x31,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x28,0x54,0x2b,0x32,0x35,0x36,0x29,0x3a,0x28,0x54,0x2b,0x31,0x37,0x39,0x32, - 0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x32,0x3d, - 0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x28,0x54,0x2b,0x35,0x31,0x32,0x29,0x3a,0x28,0x54,0x2b,0x31,0x35,0x33,0x36,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x33,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x28, - 0x54,0x2b,0x37,0x36,0x38,0x29,0x3a,0x28,0x54,0x2b,0x31,0x32,0x38,0x30,0x29,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20, - 0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x5f,0x66,0x61,0x63,0x74,0x6f,0x72,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x6f, - 0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x3b,0x20,0x69,0x2b,0x3d,0x34,0x2c,0x70,0x2b, - 0x3d,0x34,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x79,0x5b,0x34,0x5d,0x3b,0x0a,0x23,0x69,0x66,0x20,0x6e,0x75,0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x20, - 0x21,0x3d,0x20,0x34,0x0a,0x79,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d, - 0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f, - 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78, - 0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x30,0x5d,0x3b,0x0a,0x79,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33, - 0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x31, - 0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65, - 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x5d,0x3b,0x0a,0x79,0x5b,0x32,0x5d,0x3d,0x74,0x30, - 0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65, - 0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c, - 0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x32, - 0x5d,0x3b,0x0a,0x79,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74, - 0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79, - 0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32, - 0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x33,0x5d,0x3b,0x0a,0x2a,0x70,0x3d,0x2a,0x28,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x79,0x29,0x3b,0x0a,0x78,0x5b, - 0x30,0x5d,0x3d,0x79,0x5b,0x30,0x5d,0x3b,0x0a,0x78,0x5b,0x31,0x5d,0x3d,0x79,0x5b,0x31,0x5d,0x3b,0x0a,0x78,0x5b,0x32,0x5d,0x3d,0x79,0x5b,0x32,0x5d,0x3b,0x0a,0x78, - 0x5b,0x33,0x5d,0x3d,0x79,0x5b,0x33,0x5d,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x79,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65, - 0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73, - 0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67, - 0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x30,0x5d,0x3b,0x0a,0x79,0x5b,0x31,0x5d,0x3d, - 0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79, - 0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33, - 0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b, - 0x5b,0x20,0x31,0x5d,0x3b,0x0a,0x79,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29, - 0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74, - 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, - 0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x32,0x5d,0x3b,0x0a,0x79,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74, - 0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c, - 0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b, - 0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x33,0x5d,0x3b,0x0a,0x78,0x5b,0x30,0x5d, - 0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62, - 0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b, - 0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e, - 0x6b,0x5b,0x20,0x34,0x5d,0x3b,0x0a,0x78,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x30, - 0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65, - 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32, - 0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x35,0x5d,0x3b,0x0a,0x78,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79, - 0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d, - 0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33, - 0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x36,0x5d,0x3b,0x0a,0x78,0x5b,0x33, + 0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x78,0x5b,0x34,0x5d,0x3d,0x7b,0x20,0x41,0x45,0x53,0x5f, + 0x53,0x54,0x41,0x54,0x45,0x5f,0x48,0x41,0x53,0x48,0x5b,0x73,0x75,0x62,0x2a,0x34,0x5d,0x2c,0x41,0x45,0x53,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x48,0x41,0x53,0x48, + 0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x31,0x5d,0x2c,0x41,0x45,0x53,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x48,0x41,0x53,0x48,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x32, + 0x5d,0x2c,0x41,0x45,0x53,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x48,0x41,0x53,0x48,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x33,0x5d,0x20,0x7d,0x3b,0x0a,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x31,0x3d,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3d,0x3d,0x30,0x29,0x3f,0x38,0x3a,0x32,0x34,0x3b,0x0a,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x33,0x3d,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3d,0x3d,0x30,0x29,0x3f,0x32,0x34,0x3a,0x38,0x3b,0x0a,0x5f, + 0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x20,0x70,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, + 0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x20,0x69,0x6e,0x70,0x75,0x74,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x28,0x69,0x6e,0x70,0x75,0x74,0x53,0x69,0x7a,0x65, + 0x2b,0x36,0x34,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x29,0x2b,0x73,0x75,0x62,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c, + 0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x30,0x3d,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3d,0x3d, + 0x30,0x29,0x3f,0x54,0x3a,0x28,0x54,0x2b,0x31,0x30,0x32,0x34,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e, + 0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x31,0x3d,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3d,0x3d,0x30,0x29,0x3f,0x28,0x54,0x2b,0x32,0x35,0x36,0x29, + 0x3a,0x28,0x54,0x2b,0x31,0x37,0x39,0x32,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x74,0x32,0x3d,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3d,0x3d,0x30,0x29,0x3f,0x28,0x54,0x2b,0x35,0x31,0x32,0x29,0x3a,0x28,0x54,0x2b, + 0x31,0x35,0x33,0x36,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x74,0x33,0x3d,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3d,0x3d,0x30,0x29,0x3f,0x28,0x54,0x2b,0x37,0x36,0x38,0x29,0x3a,0x28,0x54,0x2b,0x31,0x32,0x38,0x30, + 0x29,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x38,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d, + 0x30,0x3b,0x20,0x69,0x3c,0x69,0x6e,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x3b,0x20,0x69,0x2b, + 0x3d,0x34,0x2c,0x70,0x2b,0x3d,0x34,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x6b,0x5b,0x34,0x5d,0x2c,0x79,0x5b,0x34,0x5d,0x3b,0x0a,0x2a,0x28,0x75,0x69,0x6e, + 0x74,0x34,0x2a,0x29,0x28,0x6b,0x29,0x3d,0x2a,0x70,0x3b,0x0a,0x79,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78, + 0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e, + 0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62, + 0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x30,0x5d,0x3b,0x0a,0x79,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65, + 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, + 0x78,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29, + 0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x5d,0x3b,0x0a, + 0x79,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67, + 0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33, + 0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73, + 0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x32,0x5d,0x3b,0x0a,0x79,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33, + 0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32, + 0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74, + 0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x33,0x5d,0x3b,0x0a,0x78,0x5b,0x30,0x5d,0x3d,0x79,0x5b,0x30,0x5d,0x3b,0x0a,0x78, + 0x5b,0x31,0x5d,0x3d,0x79,0x5b,0x31,0x5d,0x3b,0x0a,0x78,0x5b,0x32,0x5d,0x3d,0x79,0x5b,0x32,0x5d,0x3b,0x0a,0x78,0x5b,0x33,0x5d,0x3d,0x79,0x5b,0x33,0x5d,0x3b,0x0a, + 0x7d,0x0a,0x75,0x69,0x6e,0x74,0x20,0x79,0x5b,0x34,0x5d,0x3b,0x0a,0x79,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, + 0x78,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d, + 0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f, + 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x30,0x78,0x66,0x36,0x66,0x61,0x38,0x33,0x38,0x39,0x3b,0x0a,0x79,0x5b,0x31, + 0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f, + 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78, + 0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d, + 0x5e,0x30,0x78,0x38,0x62,0x32,0x34,0x39,0x34,0x39,0x66,0x3b,0x0a,0x79,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, + 0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d, + 0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f, + 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x30,0x78,0x39,0x30,0x64,0x63,0x35,0x36,0x62,0x66,0x3b,0x0a,0x79,0x5b,0x33, + 0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f, + 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78, + 0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d, + 0x5e,0x30,0x78,0x30,0x36,0x38,0x39,0x30,0x32,0x30,0x31,0x3b,0x0a,0x78,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, + 0x79,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d, + 0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f, + 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x30,0x78,0x36,0x31,0x62,0x32,0x36,0x33,0x64,0x31,0x3b,0x0a,0x78,0x5b,0x31, + 0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f, + 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79, + 0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d, + 0x5e,0x30,0x78,0x35,0x31,0x66,0x34,0x65,0x30,0x33,0x63,0x3b,0x0a,0x78,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, + 0x79,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d, + 0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f, + 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x30,0x78,0x65,0x65,0x31,0x30,0x34,0x33,0x63,0x36,0x3b,0x0a,0x78,0x5b,0x33, 0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f, 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79, 0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d, - 0x5e,0x6b,0x5b,0x20,0x37,0x5d,0x3b,0x0a,0x79,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c, - 0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67, - 0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33, - 0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x38,0x5d,0x3b,0x0a,0x79,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62, - 0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32, - 0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74, - 0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x20,0x39,0x5d,0x3b,0x0a,0x79,0x5b, - 0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74, - 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, - 0x78,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29, - 0x5d,0x5e,0x6b,0x5b,0x31,0x30,0x5d,0x3b,0x0a,0x79,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d, - 0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b, - 0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65, - 0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x31,0x5d,0x3b,0x0a,0x78,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f, - 0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b, - 0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e, - 0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x32,0x5d,0x3b,0x0a,0x78, - 0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65, - 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32, - 0x28,0x79,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x33, - 0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x78,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32, - 0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32, - 0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74, - 0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x34,0x5d,0x3b,0x0a,0x78,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74, - 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79, - 0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d, - 0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x35,0x5d,0x3b,0x0a, - 0x2a,0x70,0x3d,0x2a,0x28,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x78,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x73,0x29,0x3d,0x2a,0x28,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x78,0x29,0x3b,0x0a,0x7d,0x0a, - 0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x6e,0x75,0x6d,0x5f,0x72,0x6f,0x75,0x6e,0x64,0x73,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x5f, - 0x66,0x61,0x63,0x74,0x6f,0x72,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20, - 0x6f,0x75,0x74,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x30,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x66,0x69,0x6c,0x6c,0x41,0x65,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x0a, - 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x69,0x6e,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43, - 0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b, - 0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x36,0x34,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76, - 0x6f,0x69,0x64,0x20,0x68,0x61,0x73,0x68,0x41,0x65,0x73,0x31,0x52,0x78,0x34,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x76, - 0x6f,0x69,0x64,0x2a,0x20,0x69,0x6e,0x70,0x75,0x74,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x68,0x61,0x73,0x68,0x2c,0x75, - 0x69,0x6e,0x74,0x20,0x68,0x61,0x73,0x68,0x4f,0x66,0x66,0x73,0x65,0x74,0x42,0x79,0x74,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x20,0x68,0x61,0x73,0x68,0x53,0x74,0x72, - 0x69,0x64,0x65,0x42,0x79,0x74,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f, - 0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x20,0x54,0x5b,0x32,0x30,0x34,0x38,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x6f, - 0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x69,0x66,0x28,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2a,0x34,0x29,0x0a,0x72,0x65,0x74,0x75,0x72, - 0x6e,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x64,0x78,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2f,0x34, - 0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x75,0x62,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x25,0x20, - 0x34,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2c,0x73, - 0x74,0x65,0x70,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x28,0x30,0x29,0x3b,0x20,0x69,0x3c,0x32,0x30,0x34,0x38,0x3b,0x20,0x69, - 0x2b,0x3d,0x73,0x74,0x65,0x70,0x29,0x0a,0x54,0x5b,0x69,0x5d,0x3d,0x41,0x45,0x53,0x5f,0x54,0x41,0x42,0x4c,0x45,0x5b,0x69,0x5d,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69, - 0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x78,0x5b, - 0x34,0x5d,0x3d,0x7b,0x20,0x41,0x45,0x53,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x48,0x41,0x53,0x48,0x5b,0x73,0x75,0x62,0x2a,0x34,0x5d,0x2c,0x41,0x45,0x53,0x5f,0x53, - 0x54,0x41,0x54,0x45,0x5f,0x48,0x41,0x53,0x48,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x31,0x5d,0x2c,0x41,0x45,0x53,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x48,0x41,0x53, - 0x48,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b,0x32,0x5d,0x2c,0x41,0x45,0x53,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x48,0x41,0x53,0x48,0x5b,0x73,0x75,0x62,0x2a,0x34,0x2b, - 0x33,0x5d,0x20,0x7d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x31,0x3d,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3d,0x3d,0x30,0x29, - 0x3f,0x38,0x3a,0x32,0x34,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x33,0x3d,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3d,0x3d,0x30, - 0x29,0x3f,0x32,0x34,0x3a,0x38,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x20,0x70,0x3d, - 0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x20,0x69,0x6e,0x70,0x75,0x74,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x28, - 0x69,0x6e,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x2b,0x36,0x34,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x29,0x2b,0x73,0x75,0x62, - 0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x30,0x3d,0x28, - 0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3d,0x3d,0x30,0x29,0x3f,0x54,0x3a,0x28,0x54,0x2b,0x31,0x30,0x32,0x34,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x31,0x3d,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3d,0x3d,0x30, - 0x29,0x3f,0x28,0x54,0x2b,0x32,0x35,0x36,0x29,0x3a,0x28,0x54,0x2b,0x31,0x37,0x39,0x32,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x32,0x3d,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3d,0x3d,0x30,0x29,0x3f,0x28,0x54, - 0x2b,0x35,0x31,0x32,0x29,0x3a,0x28,0x54,0x2b,0x31,0x35,0x33,0x36,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, - 0x6e,0x74,0x2a,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x74,0x33,0x3d,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3d,0x3d,0x30,0x29,0x3f,0x28,0x54,0x2b,0x37,0x36,0x38, - 0x29,0x3a,0x28,0x54,0x2b,0x31,0x32,0x38,0x30,0x29,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x38,0x0a,0x66,0x6f,0x72, - 0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x69,0x6e,0x70,0x75,0x74,0x53,0x69,0x7a,0x65,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75, - 0x69,0x6e,0x74,0x34,0x29,0x3b,0x20,0x69,0x2b,0x3d,0x34,0x2c,0x70,0x2b,0x3d,0x34,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x6b,0x5b,0x34,0x5d,0x2c,0x79,0x5b, - 0x34,0x5d,0x3b,0x0a,0x2a,0x28,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x6b,0x29,0x3d,0x2a,0x70,0x3b,0x0a,0x79,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74, - 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78, - 0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29,0x5d, - 0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x30,0x5d,0x3b,0x0a,0x79, - 0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65, - 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32, - 0x28,0x78,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33, - 0x29,0x5d,0x5e,0x6b,0x5b,0x31,0x5d,0x3b,0x0a,0x79,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d, - 0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b, - 0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65, - 0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x32,0x5d,0x3b,0x0a,0x79,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62, - 0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30, - 0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74, - 0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x6b,0x5b,0x33,0x5d,0x3b,0x0a,0x78,0x5b,0x30, - 0x5d,0x3d,0x79,0x5b,0x30,0x5d,0x3b,0x0a,0x78,0x5b,0x31,0x5d,0x3d,0x79,0x5b,0x31,0x5d,0x3b,0x0a,0x78,0x5b,0x32,0x5d,0x3d,0x79,0x5b,0x32,0x5d,0x3b,0x0a,0x78,0x5b, - 0x33,0x5d,0x3d,0x79,0x5b,0x33,0x5d,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x20,0x79,0x5b,0x34,0x5d,0x3b,0x0a,0x79,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65, - 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, - 0x78,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29, - 0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x30,0x78,0x66,0x36,0x66,0x61, - 0x38,0x33,0x38,0x39,0x3b,0x0a,0x79,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x30,0x29, - 0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74, - 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, - 0x78,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x30,0x78,0x38,0x62,0x32,0x34,0x39,0x34,0x39,0x66,0x3b,0x0a,0x79,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65, - 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, - 0x78,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29, - 0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x30,0x78,0x39,0x30,0x64,0x63, - 0x35,0x36,0x62,0x66,0x3b,0x0a,0x79,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x33,0x5d,0x2c,0x30,0x29, - 0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74, - 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x78,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, - 0x78,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x30,0x78,0x30,0x36,0x38,0x39,0x30,0x32,0x30,0x31,0x3b,0x0a,0x78,0x5b,0x30,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65, - 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, - 0x79,0x5b,0x31,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x31,0x36,0x29, - 0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x30,0x78,0x36,0x31,0x62,0x32, - 0x36,0x33,0x64,0x31,0x3b,0x0a,0x78,0x5b,0x31,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x30,0x29, - 0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74, - 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, - 0x79,0x5b,0x30,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x30,0x78,0x35,0x31,0x66,0x34,0x65,0x30,0x33,0x63,0x3b,0x0a,0x78,0x5b,0x32,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65, - 0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x32,0x5d,0x2c,0x30,0x29,0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, - 0x79,0x5b,0x33,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x31,0x36,0x29, - 0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x30,0x78,0x65,0x65,0x31,0x30, - 0x34,0x33,0x63,0x36,0x3b,0x0a,0x78,0x5b,0x33,0x5d,0x3d,0x74,0x30,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x33,0x5d,0x2c,0x30,0x29, - 0x5d,0x5e,0x74,0x31,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x30,0x5d,0x2c,0x73,0x31,0x29,0x5d,0x5e,0x74,0x32,0x5b,0x67,0x65,0x74, - 0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28,0x79,0x5b,0x31,0x5d,0x2c,0x31,0x36,0x29,0x5d,0x5e,0x74,0x33,0x5b,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x33,0x32,0x28, - 0x79,0x5b,0x32,0x5d,0x2c,0x73,0x33,0x29,0x5d,0x5e,0x30,0x78,0x65,0x64,0x31,0x38,0x66,0x39,0x39,0x62,0x3b,0x0a,0x2a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, - 0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x68,0x61,0x73,0x68,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x68,0x61,0x73,0x68,0x53,0x74,0x72,0x69,0x64,0x65,0x42, - 0x79,0x74,0x65,0x73,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x29,0x2b,0x73,0x75,0x62,0x2b,0x28,0x68,0x61,0x73,0x68,0x4f,0x66,0x66, - 0x73,0x65,0x74,0x42,0x79,0x74,0x65,0x73,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x29,0x29,0x3d,0x2a,0x28,0x75,0x69,0x6e,0x74,0x34, - 0x2a,0x29,0x28,0x78,0x29,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x75,0x63,0x68,0x61,0x72,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x73,0x69,0x67,0x6d,0x61,0x5b,0x31,0x32,0x2a,0x31,0x36,0x5d,0x3d,0x7b,0x0a,0x30,0x2c, - 0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x30,0x2c,0x31,0x31,0x2c,0x31,0x32,0x2c,0x31,0x33,0x2c,0x31,0x34, - 0x2c,0x31,0x35,0x2c,0x0a,0x31,0x34,0x2c,0x31,0x30,0x2c,0x34,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x35,0x2c,0x31,0x33,0x2c,0x36,0x2c,0x31,0x2c,0x31,0x32,0x2c,0x30,0x2c, - 0x32,0x2c,0x31,0x31,0x2c,0x37,0x2c,0x35,0x2c,0x33,0x2c,0x0a,0x31,0x31,0x2c,0x38,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x35,0x2c,0x32,0x2c,0x31,0x35,0x2c,0x31,0x33,0x2c, - 0x31,0x30,0x2c,0x31,0x34,0x2c,0x33,0x2c,0x36,0x2c,0x37,0x2c,0x31,0x2c,0x39,0x2c,0x34,0x2c,0x0a,0x37,0x2c,0x39,0x2c,0x33,0x2c,0x31,0x2c,0x31,0x33,0x2c,0x31,0x32, - 0x2c,0x31,0x31,0x2c,0x31,0x34,0x2c,0x32,0x2c,0x36,0x2c,0x35,0x2c,0x31,0x30,0x2c,0x34,0x2c,0x30,0x2c,0x31,0x35,0x2c,0x38,0x2c,0x0a,0x39,0x2c,0x30,0x2c,0x35,0x2c, - 0x37,0x2c,0x32,0x2c,0x34,0x2c,0x31,0x30,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x31,0x2c,0x31,0x31,0x2c,0x31,0x32,0x2c,0x36,0x2c,0x38,0x2c,0x33,0x2c,0x31,0x33,0x2c, - 0x0a,0x32,0x2c,0x31,0x32,0x2c,0x36,0x2c,0x31,0x30,0x2c,0x30,0x2c,0x31,0x31,0x2c,0x38,0x2c,0x33,0x2c,0x34,0x2c,0x31,0x33,0x2c,0x37,0x2c,0x35,0x2c,0x31,0x35,0x2c, - 0x31,0x34,0x2c,0x31,0x2c,0x39,0x2c,0x0a,0x31,0x32,0x2c,0x35,0x2c,0x31,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x31,0x33,0x2c,0x34,0x2c,0x31,0x30,0x2c,0x30,0x2c,0x37, - 0x2c,0x36,0x2c,0x33,0x2c,0x39,0x2c,0x32,0x2c,0x38,0x2c,0x31,0x31,0x2c,0x0a,0x31,0x33,0x2c,0x31,0x31,0x2c,0x37,0x2c,0x31,0x34,0x2c,0x31,0x32,0x2c,0x31,0x2c,0x33, - 0x2c,0x39,0x2c,0x35,0x2c,0x30,0x2c,0x31,0x35,0x2c,0x34,0x2c,0x38,0x2c,0x36,0x2c,0x32,0x2c,0x31,0x30,0x2c,0x0a,0x36,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x39,0x2c, - 0x31,0x31,0x2c,0x33,0x2c,0x30,0x2c,0x38,0x2c,0x31,0x32,0x2c,0x32,0x2c,0x31,0x33,0x2c,0x37,0x2c,0x31,0x2c,0x34,0x2c,0x31,0x30,0x2c,0x35,0x2c,0x0a,0x31,0x30,0x2c, - 0x32,0x2c,0x38,0x2c,0x34,0x2c,0x37,0x2c,0x36,0x2c,0x31,0x2c,0x35,0x2c,0x31,0x35,0x2c,0x31,0x31,0x2c,0x39,0x2c,0x31,0x34,0x2c,0x33,0x2c,0x31,0x32,0x2c,0x31,0x33, - 0x2c,0x30,0x2c,0x0a,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x30,0x2c,0x31,0x31,0x2c,0x31,0x32, - 0x2c,0x31,0x33,0x2c,0x31,0x34,0x2c,0x31,0x35,0x2c,0x0a,0x31,0x34,0x2c,0x31,0x30,0x2c,0x34,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x35,0x2c,0x31,0x33,0x2c,0x36,0x2c,0x31, - 0x2c,0x31,0x32,0x2c,0x30,0x2c,0x32,0x2c,0x31,0x31,0x2c,0x37,0x2c,0x35,0x2c,0x33,0x2c,0x0a,0x7d,0x3b,0x0a,0x65,0x6e,0x75,0x6d,0x20,0x42,0x6c,0x61,0x6b,0x65,0x32, - 0x62,0x5f,0x49,0x56,0x0a,0x7b,0x0a,0x69,0x76,0x30,0x3d,0x30,0x78,0x36,0x61,0x30,0x39,0x65,0x36,0x36,0x37,0x66,0x33,0x62,0x63,0x63,0x39,0x30,0x38,0x75,0x6c,0x2c, - 0x0a,0x69,0x76,0x31,0x3d,0x30,0x78,0x62,0x62,0x36,0x37,0x61,0x65,0x38,0x35,0x38,0x34,0x63,0x61,0x61,0x37,0x33,0x62,0x75,0x6c,0x2c,0x0a,0x69,0x76,0x32,0x3d,0x30, - 0x78,0x33,0x63,0x36,0x65,0x66,0x33,0x37,0x32,0x66,0x65,0x39,0x34,0x66,0x38,0x32,0x62,0x75,0x6c,0x2c,0x0a,0x69,0x76,0x33,0x3d,0x30,0x78,0x61,0x35,0x34,0x66,0x66, - 0x35,0x33,0x61,0x35,0x66,0x31,0x64,0x33,0x36,0x66,0x31,0x75,0x6c,0x2c,0x0a,0x69,0x76,0x34,0x3d,0x30,0x78,0x35,0x31,0x30,0x65,0x35,0x32,0x37,0x66,0x61,0x64,0x65, - 0x36,0x38,0x32,0x64,0x31,0x75,0x6c,0x2c,0x0a,0x69,0x76,0x35,0x3d,0x30,0x78,0x39,0x62,0x30,0x35,0x36,0x38,0x38,0x63,0x32,0x62,0x33,0x65,0x36,0x63,0x31,0x66,0x75, - 0x6c,0x2c,0x0a,0x69,0x76,0x36,0x3d,0x30,0x78,0x31,0x66,0x38,0x33,0x64,0x39,0x61,0x62,0x66,0x62,0x34,0x31,0x62,0x64,0x36,0x62,0x75,0x6c,0x2c,0x0a,0x69,0x76,0x37, - 0x3d,0x30,0x78,0x35,0x62,0x65,0x30,0x63,0x64,0x31,0x39,0x31,0x33,0x37,0x65,0x32,0x31,0x37,0x39,0x75,0x6c,0x2c,0x0a,0x7d,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20, - 0x72,0x6f,0x74,0x72,0x36,0x34,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x61,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x73,0x68,0x69,0x66,0x74,0x29,0x20,0x7b,0x20,0x72,0x65, - 0x74,0x75,0x72,0x6e,0x20,0x72,0x6f,0x74,0x61,0x74,0x65,0x28,0x61,0x2c,0x36,0x34,0x2d,0x73,0x68,0x69,0x66,0x74,0x29,0x3b,0x20,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69, - 0x6e,0x65,0x20,0x47,0x28,0x72,0x2c,0x20,0x69,0x2c,0x20,0x61,0x2c,0x20,0x62,0x2c,0x20,0x63,0x2c,0x20,0x64,0x29,0x20,0x5c,0x0a,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a, - 0x61,0x3d,0x61,0x2b,0x62,0x2b,0x6d,0x5b,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x73,0x69,0x67,0x6d,0x61,0x5b,0x72,0x2a,0x31,0x36,0x2b,0x32,0x2a,0x69,0x2b,0x30, - 0x5d,0x5d,0x3b,0x20,0x5c,0x0a,0x64,0x3d,0x72,0x6f,0x74,0x72,0x36,0x34,0x28,0x64,0x5e,0x61,0x2c,0x33,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x63,0x3d,0x63,0x2b,0x64,0x3b, - 0x20,0x5c,0x0a,0x62,0x3d,0x72,0x6f,0x74,0x72,0x36,0x34,0x28,0x62,0x5e,0x63,0x2c,0x32,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x3d,0x61,0x2b,0x62,0x2b,0x6d,0x5b,0x62, - 0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x73,0x69,0x67,0x6d,0x61,0x5b,0x72,0x2a,0x31,0x36,0x2b,0x32,0x2a,0x69,0x2b,0x31,0x5d,0x5d,0x3b,0x20,0x5c,0x0a,0x64,0x3d,0x72, - 0x6f,0x74,0x72,0x36,0x34,0x28,0x64,0x5e,0x61,0x2c,0x31,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x63,0x3d,0x63,0x2b,0x64,0x3b,0x20,0x5c,0x0a,0x62,0x3d,0x72,0x6f,0x74,0x72, - 0x36,0x34,0x28,0x62,0x5e,0x63,0x2c,0x36,0x33,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x72,0x29,0x20,0x5c,0x0a,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x30,0x2c,0x76,0x5b,0x30,0x5d,0x2c,0x76, - 0x5b,0x34,0x5d,0x2c,0x76,0x5b,0x38,0x5d,0x2c,0x76,0x5b,0x31,0x32,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x31,0x2c,0x76,0x5b,0x31,0x5d,0x2c,0x76,0x5b, - 0x35,0x5d,0x2c,0x76,0x5b,0x39,0x5d,0x2c,0x76,0x5b,0x31,0x33,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x32,0x2c,0x76,0x5b,0x32,0x5d,0x2c,0x76,0x5b,0x36, - 0x5d,0x2c,0x76,0x5b,0x31,0x30,0x5d,0x2c,0x76,0x5b,0x31,0x34,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x33,0x2c,0x76,0x5b,0x33,0x5d,0x2c,0x76,0x5b,0x37, - 0x5d,0x2c,0x76,0x5b,0x31,0x31,0x5d,0x2c,0x76,0x5b,0x31,0x35,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x34,0x2c,0x76,0x5b,0x30,0x5d,0x2c,0x76,0x5b,0x35, - 0x5d,0x2c,0x76,0x5b,0x31,0x30,0x5d,0x2c,0x76,0x5b,0x31,0x35,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x35,0x2c,0x76,0x5b,0x31,0x5d,0x2c,0x76,0x5b,0x36, - 0x5d,0x2c,0x76,0x5b,0x31,0x31,0x5d,0x2c,0x76,0x5b,0x31,0x32,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x36,0x2c,0x76,0x5b,0x32,0x5d,0x2c,0x76,0x5b,0x37, - 0x5d,0x2c,0x76,0x5b,0x38,0x5d,0x2c,0x76,0x5b,0x31,0x33,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x37,0x2c,0x76,0x5b,0x33,0x5d,0x2c,0x76,0x5b,0x34,0x5d, - 0x2c,0x76,0x5b,0x39,0x5d,0x2c,0x76,0x5b,0x31,0x34,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x42,0x4c,0x41,0x4b,0x45,0x32,0x42,0x5f,0x52,0x4f,0x55,0x4e,0x44,0x53,0x28,0x29,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x29,0x3b,0x52,0x4f, - 0x55,0x4e,0x44,0x28,0x31,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x32,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x33,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x34, - 0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x35,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x36,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x37,0x29,0x3b,0x52,0x4f,0x55, - 0x4e,0x44,0x28,0x38,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x39,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x31,0x30,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x31, - 0x31,0x29,0x3b,0x0a,0x76,0x6f,0x69,0x64,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x73,0x69,0x6e, - 0x67,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x68,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20, - 0x6d,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e, - 0x67,0x20,0x76,0x5b,0x31,0x36,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x69,0x76,0x30,0x5e,0x30,0x78,0x30,0x31,0x30,0x31,0x30,0x30,0x34,0x30,0x2c,0x69,0x76,0x31,0x2c,0x69, - 0x76,0x32,0x2c,0x69,0x76,0x33,0x2c,0x69,0x76,0x34,0x20,0x2c,0x69,0x76,0x35,0x2c,0x69,0x76,0x36,0x2c,0x69,0x76,0x37,0x2c,0x0a,0x69,0x76,0x30,0x20,0x2c,0x69,0x76, - 0x31,0x2c,0x69,0x76,0x32,0x2c,0x69,0x76,0x33,0x2c,0x69,0x76,0x34,0x5e,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x2c, - 0x69,0x76,0x35,0x2c,0x7e,0x69,0x76,0x36,0x2c,0x69,0x76,0x37,0x2c,0x0a,0x7d,0x3b,0x0a,0x42,0x4c,0x41,0x4b,0x45,0x32,0x42,0x5f,0x52,0x4f,0x55,0x4e,0x44,0x53,0x28, - 0x29,0x3b,0x0a,0x68,0x5b,0x30,0x5d,0x3d,0x76,0x5b,0x30,0x5d,0x5e,0x76,0x5b,0x20,0x38,0x5d,0x5e,0x69,0x76,0x30,0x5e,0x30,0x78,0x30,0x31,0x30,0x31,0x30,0x30,0x34, - 0x30,0x3b,0x0a,0x68,0x5b,0x31,0x5d,0x3d,0x76,0x5b,0x31,0x5d,0x5e,0x76,0x5b,0x20,0x39,0x5d,0x5e,0x69,0x76,0x31,0x3b,0x0a,0x68,0x5b,0x32,0x5d,0x3d,0x76,0x5b,0x32, - 0x5d,0x5e,0x76,0x5b,0x31,0x30,0x5d,0x5e,0x69,0x76,0x32,0x3b,0x0a,0x68,0x5b,0x33,0x5d,0x3d,0x76,0x5b,0x33,0x5d,0x5e,0x76,0x5b,0x31,0x31,0x5d,0x5e,0x69,0x76,0x33, - 0x3b,0x0a,0x68,0x5b,0x34,0x5d,0x3d,0x76,0x5b,0x34,0x5d,0x5e,0x76,0x5b,0x31,0x32,0x5d,0x5e,0x69,0x76,0x34,0x3b,0x0a,0x68,0x5b,0x35,0x5d,0x3d,0x76,0x5b,0x35,0x5d, - 0x5e,0x76,0x5b,0x31,0x33,0x5d,0x5e,0x69,0x76,0x35,0x3b,0x0a,0x68,0x5b,0x36,0x5d,0x3d,0x76,0x5b,0x36,0x5d,0x5e,0x76,0x5b,0x31,0x34,0x5d,0x5e,0x69,0x76,0x36,0x3b, - 0x0a,0x68,0x5b,0x37,0x5d,0x3d,0x76,0x5b,0x37,0x5d,0x5e,0x76,0x5b,0x31,0x35,0x5d,0x5e,0x69,0x76,0x37,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62, - 0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x36,0x34,0x2c,0x31, - 0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x69,0x6e,0x69,0x74, - 0x69,0x61,0x6c,0x5f,0x68,0x61,0x73,0x68,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x2a,0x6f,0x75,0x74,0x2c,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x2c,0x75, - 0x69,0x6e,0x74,0x20,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x2c,0x75,0x69,0x6e,0x74,0x20,0x73,0x74,0x61,0x72,0x74, - 0x5f,0x6e,0x6f,0x6e,0x63,0x65,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65, - 0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x70,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e, - 0x67,0x2a,0x29,0x20,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6d,0x5b,0x31,0x36,0x5d,0x3d,0x7b, - 0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x30,0x29,0x3f,0x70,0x5b,0x20,0x30,0x5d,0x3a,0x30,0x2c,0x0a, - 0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x38,0x29,0x3f,0x70,0x5b,0x20,0x31,0x5d,0x3a,0x30,0x2c,0x0a,0x28, - 0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x31,0x36,0x29,0x3f,0x70,0x5b,0x20,0x32,0x5d,0x3a,0x30,0x2c,0x0a,0x28, - 0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x32,0x34,0x29,0x3f,0x70,0x5b,0x20,0x33,0x5d,0x3a,0x30,0x2c,0x0a,0x28, - 0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x33,0x32,0x29,0x3f,0x70,0x5b,0x20,0x34,0x5d,0x3a,0x30,0x2c,0x0a,0x28, - 0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x34,0x30,0x29,0x3f,0x70,0x5b,0x20,0x35,0x5d,0x3a,0x30,0x2c,0x0a,0x28, - 0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x34,0x38,0x29,0x3f,0x70,0x5b,0x20,0x36,0x5d,0x3a,0x30,0x2c,0x0a,0x28, - 0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x35,0x36,0x29,0x3f,0x70,0x5b,0x20,0x37,0x5d,0x3a,0x30,0x2c,0x0a,0x28, - 0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x36,0x34,0x29,0x3f,0x70,0x5b,0x20,0x38,0x5d,0x3a,0x30,0x2c,0x0a,0x28, - 0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x37,0x32,0x29,0x3f,0x70,0x5b,0x20,0x39,0x5d,0x3a,0x30,0x2c,0x0a,0x28, - 0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x38,0x30,0x29,0x3f,0x70,0x5b,0x31,0x30,0x5d,0x3a,0x30,0x2c,0x0a,0x28, - 0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x38,0x38,0x29,0x3f,0x70,0x5b,0x31,0x31,0x5d,0x3a,0x30,0x2c,0x0a,0x28, - 0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x39,0x36,0x29,0x3f,0x70,0x5b,0x31,0x32,0x5d,0x3a,0x30,0x2c,0x0a,0x28, - 0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x31,0x30,0x34,0x29,0x3f,0x70,0x5b,0x31,0x33,0x5d,0x3a,0x30,0x2c,0x0a, - 0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x31,0x31,0x32,0x29,0x3f,0x70,0x5b,0x31,0x34,0x5d,0x3a,0x30,0x2c, - 0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x31,0x32,0x30,0x29,0x3f,0x70,0x5b,0x31,0x35,0x5d,0x3a,0x30, - 0x2c,0x0a,0x7d,0x3b,0x0a,0x69,0x66,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x20,0x25,0x20,0x73,0x69,0x7a,0x65, - 0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x0a,0x6d,0x5b,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x2f,0x73, - 0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x5d,0x20,0x26,0x3d,0x20,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x2d,0x31,0x29,0x3e,0x3e,0x28,0x36, - 0x34,0x2d,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x20,0x25,0x20,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c, - 0x6f,0x6e,0x67,0x29,0x29,0x2a,0x38,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6e,0x6f,0x6e,0x63,0x65,0x3d,0x73,0x74,0x61,0x72, - 0x74,0x5f,0x6e,0x6f,0x6e,0x63,0x65,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x6d,0x5b,0x34,0x5d,0x3d,0x28,0x6d,0x5b,0x34,0x5d, - 0x26,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x2d,0x31,0x29,0x3e,0x3e,0x38,0x29,0x29,0x7c,0x28,0x6e,0x6f,0x6e,0x63,0x65,0x3c,0x3c,0x35,0x36,0x29,0x3b,0x0a, - 0x6d,0x5b,0x35,0x5d,0x3d,0x28,0x6d,0x5b,0x35,0x5d,0x26,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x2d,0x31,0x29,0x3c,0x3c,0x32,0x34,0x29,0x29,0x7c,0x28,0x6e, - 0x6f,0x6e,0x63,0x65,0x3e,0x3e,0x38,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x68,0x61,0x73,0x68,0x5b,0x38,0x5d,0x3b,0x0a,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62, - 0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x73,0x69,0x6e,0x67,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x28,0x68,0x61,0x73,0x68,0x2c,0x6d, - 0x2c,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c, - 0x6f,0x6e,0x67,0x2a,0x20,0x74,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x29,0x20,0x6f,0x75,0x74,0x29,0x2b,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x38,0x3b,0x0a,0x74,0x5b,0x30,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x30,0x5d,0x3b,0x0a,0x74,0x5b,0x31, - 0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x31,0x5d,0x3b,0x0a,0x74,0x5b,0x32,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x32,0x5d,0x3b,0x0a,0x74,0x5b,0x33,0x5d,0x3d,0x68,0x61, - 0x73,0x68,0x5b,0x33,0x5d,0x3b,0x0a,0x74,0x5b,0x34,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x34,0x5d,0x3b,0x0a,0x74,0x5b,0x35,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x35, - 0x5d,0x3b,0x0a,0x74,0x5b,0x36,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x36,0x5d,0x3b,0x0a,0x74,0x5b,0x37,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x37,0x5d,0x3b,0x0a,0x7d, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6f,0x75,0x74,0x5f, - 0x6c,0x65,0x6e,0x20,0x33,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65, - 0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32, - 0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x33,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x68,0x61,0x73,0x68,0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x20,0x62,0x6c,0x61, - 0x6b,0x65,0x32,0x62,0x5f,0x68,0x61,0x73,0x68,0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x5f,0x33,0x32,0x0a,0x76,0x6f,0x69,0x64,0x20,0x62,0x6c,0x61,0x6b, - 0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d, - 0x65,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x6f,0x75,0x74,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x6d,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x69,0x6e,0x29,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x76,0x5b,0x31,0x36,0x5d,0x20,0x3d,0x0a, - 0x7b,0x0a,0x69,0x76,0x30,0x5e,0x28,0x30,0x78,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x75,0x7c,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x29,0x2c,0x69,0x76,0x31,0x2c, - 0x69,0x76,0x32,0x2c,0x69,0x76,0x33,0x2c,0x69,0x76,0x34,0x20,0x2c,0x69,0x76,0x35,0x2c,0x69,0x76,0x36,0x2c,0x69,0x76,0x37,0x2c,0x0a,0x69,0x76,0x30,0x20,0x2c,0x69, - 0x76,0x31,0x2c,0x69,0x76,0x32,0x2c,0x69,0x76,0x33,0x2c,0x69,0x76,0x34,0x5e,0x31,0x32,0x38,0x2c,0x69,0x76,0x35,0x2c,0x69,0x76,0x36,0x2c,0x69,0x76,0x37,0x2c,0x0a, - 0x7d,0x3b,0x0a,0x42,0x4c,0x41,0x4b,0x45,0x32,0x42,0x5f,0x52,0x4f,0x55,0x4e,0x44,0x53,0x28,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x68,0x5b,0x38,0x5d,0x3b, - 0x0a,0x76,0x5b,0x30,0x5d,0x3d,0x68,0x5b,0x30,0x5d,0x3d,0x76,0x5b,0x30,0x5d,0x5e,0x76,0x5b,0x38,0x5d,0x5e,0x69,0x76,0x30,0x5e,0x28,0x30,0x78,0x30,0x31,0x30,0x31, - 0x30,0x30,0x30,0x30,0x75,0x7c,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x29,0x3b,0x0a,0x76,0x5b,0x31,0x5d,0x3d,0x68,0x5b,0x31,0x5d,0x3d,0x76,0x5b,0x31,0x5d,0x5e,0x76, - 0x5b,0x39,0x5d,0x5e,0x69,0x76,0x31,0x3b,0x0a,0x76,0x5b,0x32,0x5d,0x3d,0x68,0x5b,0x32,0x5d,0x3d,0x76,0x5b,0x32,0x5d,0x5e,0x76,0x5b,0x31,0x30,0x5d,0x5e,0x69,0x76, - 0x32,0x3b,0x0a,0x76,0x5b,0x33,0x5d,0x3d,0x68,0x5b,0x33,0x5d,0x3d,0x76,0x5b,0x33,0x5d,0x5e,0x76,0x5b,0x31,0x31,0x5d,0x5e,0x69,0x76,0x33,0x3b,0x0a,0x76,0x5b,0x34, - 0x5d,0x3d,0x68,0x5b,0x34,0x5d,0x3d,0x76,0x5b,0x34,0x5d,0x5e,0x76,0x5b,0x31,0x32,0x5d,0x5e,0x69,0x76,0x34,0x3b,0x0a,0x76,0x5b,0x35,0x5d,0x3d,0x68,0x5b,0x35,0x5d, - 0x3d,0x76,0x5b,0x35,0x5d,0x5e,0x76,0x5b,0x31,0x33,0x5d,0x5e,0x69,0x76,0x35,0x3b,0x0a,0x76,0x5b,0x36,0x5d,0x3d,0x68,0x5b,0x36,0x5d,0x3d,0x76,0x5b,0x36,0x5d,0x5e, - 0x76,0x5b,0x31,0x34,0x5d,0x5e,0x69,0x76,0x36,0x3b,0x0a,0x76,0x5b,0x37,0x5d,0x3d,0x68,0x5b,0x37,0x5d,0x3d,0x76,0x5b,0x37,0x5d,0x5e,0x76,0x5b,0x31,0x35,0x5d,0x5e, - 0x69,0x76,0x37,0x3b,0x0a,0x76,0x5b,0x38,0x5d,0x3d,0x69,0x76,0x30,0x3b,0x0a,0x76,0x5b,0x39,0x5d,0x3d,0x69,0x76,0x31,0x3b,0x0a,0x76,0x5b,0x31,0x30,0x5d,0x3d,0x69, - 0x76,0x32,0x3b,0x0a,0x76,0x5b,0x31,0x31,0x5d,0x3d,0x69,0x76,0x33,0x3b,0x0a,0x76,0x5b,0x31,0x32,0x5d,0x3d,0x69,0x76,0x34,0x5e,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3b, - 0x0a,0x76,0x5b,0x31,0x33,0x5d,0x3d,0x69,0x76,0x35,0x3b,0x0a,0x76,0x5b,0x31,0x34,0x5d,0x3d,0x7e,0x69,0x76,0x36,0x3b,0x0a,0x76,0x5b,0x31,0x35,0x5d,0x3d,0x69,0x76, - 0x37,0x3b,0x0a,0x6d,0x5b,0x20,0x30,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x32,0x38,0x29,0x3f,0x69,0x6e,0x5b,0x31,0x36,0x5d,0x3a,0x30,0x3b,0x0a, - 0x6d,0x5b,0x20,0x31,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x33,0x36,0x29,0x3f,0x69,0x6e,0x5b,0x31,0x37,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20, - 0x32,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x34,0x34,0x29,0x3f,0x69,0x6e,0x5b,0x31,0x38,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x33,0x5d,0x3d, - 0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x35,0x32,0x29,0x3f,0x69,0x6e,0x5b,0x31,0x39,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x34,0x5d,0x3d,0x28,0x69,0x6e, - 0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x36,0x30,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x30,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x35,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65, - 0x6e,0x3e,0x31,0x36,0x38,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x31,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x36,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31, - 0x37,0x36,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x32,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x37,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x38,0x34,0x29, - 0x3f,0x69,0x6e,0x5b,0x32,0x33,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x38,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x39,0x32,0x29,0x3f,0x69,0x6e, - 0x5b,0x32,0x34,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x39,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x30,0x30,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x35, - 0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x30,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x30,0x38,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x36,0x5d,0x3a,0x30, - 0x3b,0x0a,0x6d,0x5b,0x31,0x31,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x31,0x36,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x37,0x5d,0x3a,0x30,0x3b,0x0a,0x6d, - 0x5b,0x31,0x32,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x32,0x34,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x38,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x33, - 0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x33,0x32,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x39,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x34,0x5d,0x3d,0x28, - 0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x34,0x30,0x29,0x3f,0x69,0x6e,0x5b,0x33,0x30,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x35,0x5d,0x3d,0x28,0x69,0x6e,0x5f, - 0x6c,0x65,0x6e,0x3e,0x32,0x34,0x38,0x29,0x3f,0x69,0x6e,0x5b,0x33,0x31,0x5d,0x3a,0x30,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x20,0x25,0x20,0x73, - 0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x0a,0x6d,0x5b,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x2d,0x31,0x32,0x38,0x29,0x2f,0x73,0x69,0x7a, - 0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x5d,0x20,0x26,0x3d,0x20,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x2d,0x31,0x29,0x3e,0x3e,0x28,0x36,0x34,0x2d, - 0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x20,0x25,0x20,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x2a,0x38,0x29,0x3b,0x0a,0x42,0x4c,0x41, - 0x4b,0x45,0x32,0x42,0x5f,0x52,0x4f,0x55,0x4e,0x44,0x53,0x28,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x30,0x29,0x20,0x6f,0x75,0x74, - 0x5b,0x30,0x5d,0x3d,0x68,0x5b,0x30,0x5d,0x5e,0x76,0x5b,0x30,0x5d,0x5e,0x76,0x5b,0x38,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x38, - 0x29,0x20,0x6f,0x75,0x74,0x5b,0x31,0x5d,0x3d,0x68,0x5b,0x31,0x5d,0x5e,0x76,0x5b,0x31,0x5d,0x5e,0x76,0x5b,0x39,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f, - 0x6c,0x65,0x6e,0x3e,0x31,0x36,0x29,0x20,0x6f,0x75,0x74,0x5b,0x32,0x5d,0x3d,0x68,0x5b,0x32,0x5d,0x5e,0x76,0x5b,0x32,0x5d,0x5e,0x76,0x5b,0x31,0x30,0x5d,0x3b,0x0a, - 0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x34,0x29,0x20,0x6f,0x75,0x74,0x5b,0x33,0x5d,0x3d,0x68,0x5b,0x33,0x5d,0x5e,0x76,0x5b,0x33,0x5d,0x5e, - 0x76,0x5b,0x31,0x31,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x33,0x32,0x29,0x20,0x6f,0x75,0x74,0x5b,0x34,0x5d,0x3d,0x68,0x5b,0x34, - 0x5d,0x5e,0x76,0x5b,0x34,0x5d,0x5e,0x76,0x5b,0x31,0x32,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x34,0x30,0x29,0x20,0x6f,0x75,0x74, - 0x5b,0x35,0x5d,0x3d,0x68,0x5b,0x35,0x5d,0x5e,0x76,0x5b,0x35,0x5d,0x5e,0x76,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e, - 0x34,0x38,0x29,0x20,0x6f,0x75,0x74,0x5b,0x36,0x5d,0x3d,0x68,0x5b,0x36,0x5d,0x5e,0x76,0x5b,0x36,0x5d,0x5e,0x76,0x5b,0x31,0x34,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f, - 0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x35,0x36,0x29,0x20,0x6f,0x75,0x74,0x5b,0x37,0x5d,0x3d,0x68,0x5b,0x37,0x5d,0x5e,0x76,0x5b,0x37,0x5d,0x5e,0x76,0x5b,0x31,0x35, - 0x5d,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72, - 0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x36,0x34,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64, - 0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x68,0x61,0x73,0x68,0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x5f,0x5f,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x2a,0x6f,0x75,0x74,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x76, - 0x6f,0x69,0x64,0x2a,0x20,0x69,0x6e,0x2c,0x75,0x69,0x6e,0x74,0x20,0x69,0x6e,0x53,0x74,0x72,0x69,0x64,0x65,0x42,0x79,0x74,0x65,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, - 0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x70,0x3d, - 0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x29,0x20,0x69,0x6e,0x29,0x2b,0x67,0x6c,0x6f, - 0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x28,0x69,0x6e,0x53,0x74,0x72,0x69,0x64,0x65,0x42,0x79,0x74,0x65,0x73,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28, - 0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x68,0x3d,0x28,0x28,0x5f,0x5f,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x29,0x20,0x6f,0x75,0x74,0x29,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a, - 0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6d, - 0x5b,0x31,0x36,0x5d,0x3d,0x7b,0x20,0x70,0x5b,0x30,0x5d,0x2c,0x70,0x5b,0x31,0x5d,0x2c,0x70,0x5b,0x32,0x5d,0x2c,0x70,0x5b,0x33,0x5d,0x2c,0x70,0x5b,0x34,0x5d,0x2c, - 0x70,0x5b,0x35,0x5d,0x2c,0x70,0x5b,0x36,0x5d,0x2c,0x70,0x5b,0x37,0x5d,0x2c,0x70,0x5b,0x38,0x5d,0x2c,0x70,0x5b,0x39,0x5d,0x2c,0x70,0x5b,0x31,0x30,0x5d,0x2c,0x70, - 0x5b,0x31,0x31,0x5d,0x2c,0x70,0x5b,0x31,0x32,0x5d,0x2c,0x70,0x5b,0x31,0x33,0x5d,0x2c,0x70,0x5b,0x31,0x34,0x5d,0x2c,0x70,0x5b,0x31,0x35,0x5d,0x20,0x7d,0x3b,0x0a, - 0x75,0x6c,0x6f,0x6e,0x67,0x20,0x68,0x61,0x73,0x68,0x5b,0x38,0x5d,0x3b,0x0a,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65, - 0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x68,0x61,0x73,0x68,0x2c,0x6d,0x2c,0x70,0x29,0x3b,0x0a, - 0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x30,0x29,0x20,0x68,0x5b,0x30,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x30,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f, - 0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x38,0x29,0x20,0x68,0x5b,0x31,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x31,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c, - 0x65,0x6e,0x3e,0x31,0x36,0x29,0x20,0x68,0x5b,0x32,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x32,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e, - 0x32,0x34,0x29,0x20,0x68,0x5b,0x33,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x33,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x33,0x32,0x29, - 0x20,0x68,0x5b,0x34,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x34,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x34,0x30,0x29,0x20,0x68,0x5b, - 0x35,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x35,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x34,0x38,0x29,0x20,0x68,0x5b,0x36,0x5d,0x3d, - 0x68,0x61,0x73,0x68,0x5b,0x36,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x35,0x36,0x29,0x20,0x68,0x5b,0x37,0x5d,0x3d,0x68,0x61,0x73, - 0x68,0x5b,0x37,0x5d,0x3b,0x0a,0x7d,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x68,0x61,0x73,0x68,0x5f,0x72,0x65,0x67,0x69, - 0x73,0x74,0x65,0x72,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72, - 0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x6f, - 0x75,0x74,0x5f,0x6c,0x65,0x6e,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f, - 0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62, - 0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x68,0x61,0x73,0x68, - 0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x68,0x61,0x73,0x68,0x5f,0x72,0x65,0x67, - 0x69,0x73,0x74,0x65,0x72,0x73,0x5f,0x36,0x34,0x0a,0x76,0x6f,0x69,0x64,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65, - 0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x6f,0x75,0x74,0x2c, - 0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x6d,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x69, - 0x6e,0x29,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x76,0x5b,0x31,0x36,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x69,0x76,0x30,0x5e,0x28,0x30,0x78,0x30,0x31,0x30,0x31, - 0x30,0x30,0x30,0x30,0x75,0x7c,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x29,0x2c,0x69,0x76,0x31,0x2c,0x69,0x76,0x32,0x2c,0x69,0x76,0x33,0x2c,0x69,0x76,0x34,0x20,0x2c, - 0x69,0x76,0x35,0x2c,0x69,0x76,0x36,0x2c,0x69,0x76,0x37,0x2c,0x0a,0x69,0x76,0x30,0x20,0x2c,0x69,0x76,0x31,0x2c,0x69,0x76,0x32,0x2c,0x69,0x76,0x33,0x2c,0x69,0x76, - 0x34,0x5e,0x31,0x32,0x38,0x2c,0x69,0x76,0x35,0x2c,0x69,0x76,0x36,0x2c,0x69,0x76,0x37,0x2c,0x0a,0x7d,0x3b,0x0a,0x42,0x4c,0x41,0x4b,0x45,0x32,0x42,0x5f,0x52,0x4f, - 0x55,0x4e,0x44,0x53,0x28,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x68,0x5b,0x38,0x5d,0x3b,0x0a,0x76,0x5b,0x30,0x5d,0x3d,0x68,0x5b,0x30,0x5d,0x3d,0x76,0x5b, - 0x30,0x5d,0x5e,0x76,0x5b,0x38,0x5d,0x5e,0x69,0x76,0x30,0x5e,0x28,0x30,0x78,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x75,0x7c,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e, - 0x29,0x3b,0x0a,0x76,0x5b,0x31,0x5d,0x3d,0x68,0x5b,0x31,0x5d,0x3d,0x76,0x5b,0x31,0x5d,0x5e,0x76,0x5b,0x39,0x5d,0x5e,0x69,0x76,0x31,0x3b,0x0a,0x76,0x5b,0x32,0x5d, - 0x3d,0x68,0x5b,0x32,0x5d,0x3d,0x76,0x5b,0x32,0x5d,0x5e,0x76,0x5b,0x31,0x30,0x5d,0x5e,0x69,0x76,0x32,0x3b,0x0a,0x76,0x5b,0x33,0x5d,0x3d,0x68,0x5b,0x33,0x5d,0x3d, - 0x76,0x5b,0x33,0x5d,0x5e,0x76,0x5b,0x31,0x31,0x5d,0x5e,0x69,0x76,0x33,0x3b,0x0a,0x76,0x5b,0x34,0x5d,0x3d,0x68,0x5b,0x34,0x5d,0x3d,0x76,0x5b,0x34,0x5d,0x5e,0x76, - 0x5b,0x31,0x32,0x5d,0x5e,0x69,0x76,0x34,0x3b,0x0a,0x76,0x5b,0x35,0x5d,0x3d,0x68,0x5b,0x35,0x5d,0x3d,0x76,0x5b,0x35,0x5d,0x5e,0x76,0x5b,0x31,0x33,0x5d,0x5e,0x69, - 0x76,0x35,0x3b,0x0a,0x76,0x5b,0x36,0x5d,0x3d,0x68,0x5b,0x36,0x5d,0x3d,0x76,0x5b,0x36,0x5d,0x5e,0x76,0x5b,0x31,0x34,0x5d,0x5e,0x69,0x76,0x36,0x3b,0x0a,0x76,0x5b, - 0x37,0x5d,0x3d,0x68,0x5b,0x37,0x5d,0x3d,0x76,0x5b,0x37,0x5d,0x5e,0x76,0x5b,0x31,0x35,0x5d,0x5e,0x69,0x76,0x37,0x3b,0x0a,0x76,0x5b,0x38,0x5d,0x3d,0x69,0x76,0x30, - 0x3b,0x0a,0x76,0x5b,0x39,0x5d,0x3d,0x69,0x76,0x31,0x3b,0x0a,0x76,0x5b,0x31,0x30,0x5d,0x3d,0x69,0x76,0x32,0x3b,0x0a,0x76,0x5b,0x31,0x31,0x5d,0x3d,0x69,0x76,0x33, - 0x3b,0x0a,0x76,0x5b,0x31,0x32,0x5d,0x3d,0x69,0x76,0x34,0x5e,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3b,0x0a,0x76,0x5b,0x31,0x33,0x5d,0x3d,0x69,0x76,0x35,0x3b,0x0a,0x76, - 0x5b,0x31,0x34,0x5d,0x3d,0x7e,0x69,0x76,0x36,0x3b,0x0a,0x76,0x5b,0x31,0x35,0x5d,0x3d,0x69,0x76,0x37,0x3b,0x0a,0x6d,0x5b,0x20,0x30,0x5d,0x3d,0x28,0x69,0x6e,0x5f, - 0x6c,0x65,0x6e,0x3e,0x31,0x32,0x38,0x29,0x3f,0x69,0x6e,0x5b,0x31,0x36,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x31,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e, - 0x3e,0x31,0x33,0x36,0x29,0x3f,0x69,0x6e,0x5b,0x31,0x37,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x32,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x34, - 0x34,0x29,0x3f,0x69,0x6e,0x5b,0x31,0x38,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x33,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x35,0x32,0x29,0x3f, - 0x69,0x6e,0x5b,0x31,0x39,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x34,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x36,0x30,0x29,0x3f,0x69,0x6e,0x5b, - 0x32,0x30,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x35,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x36,0x38,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x31,0x5d, - 0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x36,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x37,0x36,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x32,0x5d,0x3a,0x30,0x3b, - 0x0a,0x6d,0x5b,0x20,0x37,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x38,0x34,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x33,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b, - 0x20,0x38,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x39,0x32,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x34,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x39,0x5d, - 0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x30,0x30,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x35,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x30,0x5d,0x3d,0x28,0x69, - 0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x30,0x38,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x36,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x31,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c, - 0x65,0x6e,0x3e,0x32,0x31,0x36,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x37,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x32,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e, - 0x32,0x32,0x34,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x38,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x33,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x33,0x32, - 0x29,0x3f,0x69,0x6e,0x5b,0x32,0x39,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x34,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x34,0x30,0x29,0x3f,0x69, - 0x6e,0x5b,0x33,0x30,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x35,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x34,0x38,0x29,0x3f,0x69,0x6e,0x5b,0x33, - 0x31,0x5d,0x3a,0x30,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x20,0x25,0x20,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29, - 0x0a,0x6d,0x5b,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x2d,0x31,0x32,0x38,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x5d,0x20,0x26, - 0x3d,0x20,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x2d,0x31,0x29,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x20,0x25,0x20,0x73,0x69,0x7a, - 0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x2a,0x38,0x29,0x3b,0x0a,0x42,0x4c,0x41,0x4b,0x45,0x32,0x42,0x5f,0x52,0x4f,0x55,0x4e,0x44,0x53,0x28,0x29, - 0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x30,0x29,0x20,0x6f,0x75,0x74,0x5b,0x30,0x5d,0x3d,0x68,0x5b,0x30,0x5d,0x5e,0x76,0x5b,0x30,0x5d, - 0x5e,0x76,0x5b,0x38,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x38,0x29,0x20,0x6f,0x75,0x74,0x5b,0x31,0x5d,0x3d,0x68,0x5b,0x31,0x5d, - 0x5e,0x76,0x5b,0x31,0x5d,0x5e,0x76,0x5b,0x39,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x36,0x29,0x20,0x6f,0x75,0x74,0x5b,0x32, - 0x5d,0x3d,0x68,0x5b,0x32,0x5d,0x5e,0x76,0x5b,0x32,0x5d,0x5e,0x76,0x5b,0x31,0x30,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x34, - 0x29,0x20,0x6f,0x75,0x74,0x5b,0x33,0x5d,0x3d,0x68,0x5b,0x33,0x5d,0x5e,0x76,0x5b,0x33,0x5d,0x5e,0x76,0x5b,0x31,0x31,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74, - 0x5f,0x6c,0x65,0x6e,0x3e,0x33,0x32,0x29,0x20,0x6f,0x75,0x74,0x5b,0x34,0x5d,0x3d,0x68,0x5b,0x34,0x5d,0x5e,0x76,0x5b,0x34,0x5d,0x5e,0x76,0x5b,0x31,0x32,0x5d,0x3b, - 0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x34,0x30,0x29,0x20,0x6f,0x75,0x74,0x5b,0x35,0x5d,0x3d,0x68,0x5b,0x35,0x5d,0x5e,0x76,0x5b,0x35,0x5d, - 0x5e,0x76,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x34,0x38,0x29,0x20,0x6f,0x75,0x74,0x5b,0x36,0x5d,0x3d,0x68,0x5b, - 0x36,0x5d,0x5e,0x76,0x5b,0x36,0x5d,0x5e,0x76,0x5b,0x31,0x34,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x35,0x36,0x29,0x20,0x6f,0x75, - 0x74,0x5b,0x37,0x5d,0x3d,0x68,0x5b,0x37,0x5d,0x5e,0x76,0x5b,0x37,0x5d,0x5e,0x76,0x5b,0x31,0x35,0x5d,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62, - 0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x36,0x34,0x2c,0x31, - 0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x68,0x61,0x73,0x68, - 0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x2a,0x6f, - 0x75,0x74,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x69,0x6e,0x2c,0x75,0x69,0x6e,0x74,0x20, - 0x69,0x6e,0x53,0x74,0x72,0x69,0x64,0x65,0x42,0x79,0x74,0x65,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x6f,0x62, - 0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f, - 0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x70,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x29,0x20,0x69,0x6e,0x29,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x28,0x69,0x6e, - 0x53,0x74,0x72,0x69,0x64,0x65,0x42,0x79,0x74,0x65,0x73,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x68,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x29, - 0x20,0x6f,0x75,0x74,0x29,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x2f,0x73,0x69,0x7a,0x65, - 0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6d,0x5b,0x31,0x36,0x5d,0x3d,0x7b,0x20,0x70,0x5b,0x30,0x5d,0x2c,0x70, - 0x5b,0x31,0x5d,0x2c,0x70,0x5b,0x32,0x5d,0x2c,0x70,0x5b,0x33,0x5d,0x2c,0x70,0x5b,0x34,0x5d,0x2c,0x70,0x5b,0x35,0x5d,0x2c,0x70,0x5b,0x36,0x5d,0x2c,0x70,0x5b,0x37, - 0x5d,0x2c,0x70,0x5b,0x38,0x5d,0x2c,0x70,0x5b,0x39,0x5d,0x2c,0x70,0x5b,0x31,0x30,0x5d,0x2c,0x70,0x5b,0x31,0x31,0x5d,0x2c,0x70,0x5b,0x31,0x32,0x5d,0x2c,0x70,0x5b, - 0x31,0x33,0x5d,0x2c,0x70,0x5b,0x31,0x34,0x5d,0x2c,0x70,0x5b,0x31,0x35,0x5d,0x20,0x7d,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x68,0x61,0x73,0x68,0x5b,0x38,0x5d, - 0x3b,0x0a,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f, - 0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x68,0x61,0x73,0x68,0x2c,0x6d,0x2c,0x70,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x30,0x29, - 0x20,0x68,0x5b,0x30,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x30,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x38,0x29,0x20,0x68,0x5b,0x31, - 0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x31,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x36,0x29,0x20,0x68,0x5b,0x32,0x5d,0x3d,0x68, - 0x61,0x73,0x68,0x5b,0x32,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x34,0x29,0x20,0x68,0x5b,0x33,0x5d,0x3d,0x68,0x61,0x73,0x68, - 0x5b,0x33,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x33,0x32,0x29,0x20,0x68,0x5b,0x34,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x34,0x5d, - 0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x34,0x30,0x29,0x20,0x68,0x5b,0x35,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x35,0x5d,0x3b,0x0a,0x69, - 0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x34,0x38,0x29,0x20,0x68,0x5b,0x36,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x36,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f, - 0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x35,0x36,0x29,0x20,0x68,0x5b,0x37,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x37,0x5d,0x3b,0x0a,0x7d,0x0a,0x23,0x75,0x6e,0x64,0x65, - 0x66,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x68,0x61,0x73,0x68,0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x0a,0x23,0x75, - 0x6e,0x64,0x65,0x66,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f, - 0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d, - 0x61,0x20,0x4f,0x50,0x45,0x4e,0x43,0x4c,0x20,0x45,0x58,0x54,0x45,0x4e,0x53,0x49,0x4f,0x4e,0x20,0x63,0x6c,0x5f,0x6b,0x68,0x72,0x5f,0x66,0x70,0x36,0x34,0x20,0x3a, - 0x20,0x65,0x6e,0x61,0x62,0x6c,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x53,0x69,0x7a,0x65,0x20,0x36,0x34, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x36,0x34,0x20,0x28,0x52,0x41,0x4e, - 0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x20,0x2d,0x20,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x53,0x69, - 0x7a,0x65,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x41,0x6c,0x69,0x67,0x6e,0x4d,0x61,0x73,0x6b,0x20,0x28, - 0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x42,0x41,0x53,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2d,0x20,0x31,0x29,0x20, - 0x26,0x20,0x7e,0x28,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x53,0x69,0x7a,0x65,0x20,0x2d,0x20,0x31,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, - 0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x53,0x69,0x7a,0x65,0x20,0x35,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74, - 0x53,0x69,0x7a,0x65,0x20,0x31,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73,0x6b,0x20,0x28,0x28,0x31, - 0x55,0x4c,0x20,0x3c,0x3c,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x53,0x69,0x7a,0x65,0x29,0x20,0x2d,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x4d,0x61,0x73,0x6b,0x20,0x28,0x28,0x31,0x55,0x4c,0x20,0x3c,0x3c,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x53, - 0x69,0x7a,0x65,0x29,0x20,0x2d,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x61,0x73,0x20,0x31, - 0x30,0x32,0x33,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x63,0x6f,0x6e,0x73,0x74,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x20,0x30,0x78, - 0x33,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x20, - 0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x20,0x34,0x0a,0x23, - 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x4d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73,0x6b,0x20,0x28,0x28,0x31,0x55,0x4c, - 0x20,0x3c,0x3c,0x20,0x28,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x53,0x69,0x7a,0x65,0x20,0x2b,0x20,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e, - 0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x29,0x29,0x20,0x2d,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73, - 0x43,0x6f,0x75,0x6e,0x74,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74, - 0x20,0x28,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x43,0x6f,0x75,0x6e,0x74,0x20,0x2f,0x20,0x32,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x6f, - 0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x4d,0x61,0x73,0x6b,0x20,0x28,0x28,0x31,0x20,0x3c,0x3c,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f, - 0x42,0x49,0x54,0x53,0x29,0x20,0x2d,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x4f,0x66,0x66,0x73, - 0x65,0x74,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53, - 0x74,0x6f,0x72,0x65,0x4c,0x33,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20,0x31,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x44,0x61,0x74,0x61,0x73, - 0x65,0x74,0x45,0x78,0x74,0x72,0x61,0x49,0x74,0x65,0x6d,0x73,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x45,0x58, - 0x54,0x52,0x41,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2f,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x49,0x54,0x45,0x4d,0x5f, - 0x53,0x49,0x5a,0x45,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4e,0x65,0x65,0x64,0x73,0x44,0x69,0x73,0x70,0x6c, - 0x61,0x63,0x65,0x6d,0x65,0x6e,0x74,0x20,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x09,0x09,0x30, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x09,0x09,0x33,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, - 0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x09,0x09,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45, - 0x54,0x09,0x09,0x09,0x31,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x48,0x49,0x46,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x09,0x31,0x35,0x0a, - 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x52,0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x33,0x32,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x31,0x37,0x0a,0x23, - 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x52,0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x36,0x34,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x31,0x38,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x4e,0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x31,0x39,0x0a,0x23,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x20,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x09,0x32,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4e, - 0x55,0x4d,0x5f,0x49,0x4e,0x53,0x54,0x53,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x32,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4e,0x55,0x4d,0x5f,0x46, - 0x50,0x5f,0x49,0x4e,0x53,0x54,0x53,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x32,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4e,0x53,0x54,0x5f,0x4e, - 0x4f,0x50,0x09,0x09,0x09,0x28,0x38,0x20,0x3c,0x3c,0x20,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x0a,0x74,0x79,0x70,0x65,0x64,0x65, - 0x66,0x20,0x75,0x63,0x68,0x61,0x72,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x73,0x68,0x6f,0x72,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x31,0x36,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x69,0x6e,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x3b, - 0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66, - 0x20,0x69,0x6e,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x6c,0x6f,0x6e,0x67,0x20,0x69,0x6e,0x74,0x36,0x34, - 0x5f,0x74,0x3b,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74, - 0x42,0x69,0x74,0x73,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f, - 0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x3d,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x3e,0x3e,0x35,0x39,0x3b,0x20,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f, - 0x74,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x3d,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x26,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73,0x6b,0x3b, - 0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x2b,0x3d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x61,0x73,0x3b,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e, - 0x74,0x20,0x26,0x3d,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x20,0x3c,0x3c,0x3d,0x20, - 0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x53,0x69,0x7a,0x65,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x65, - 0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x7c,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x29,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x67,0x65, - 0x74,0x53,0x74,0x61,0x74,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79, - 0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x3d,0x63,0x6f,0x6e,0x73,0x74,0x45,0x78,0x70,0x6f,0x6e, - 0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x3b,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x7c,0x3d,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x3e,0x3e,0x28,0x36,0x34, - 0x2d,0x73,0x74,0x61,0x74,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x29,0x29,0x3c,0x3c,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x45,0x78, - 0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x3b,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x20,0x3c,0x3c,0x3d,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73, - 0x61,0x53,0x69,0x7a,0x65,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34, - 0x5f,0x74,0x20,0x67,0x65,0x74,0x46,0x6c,0x6f,0x61,0x74,0x4d,0x61,0x73,0x6b,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79, - 0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6d,0x61,0x73,0x6b,0x32,0x32,0x62,0x69,0x74,0x3d,0x28,0x31,0x55, - 0x4c,0x3c,0x3c,0x32,0x32,0x29,0x2d,0x31,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x26,0x6d,0x61,0x73,0x6b,0x32,0x32, - 0x62,0x69,0x74,0x29,0x7c,0x67,0x65,0x74,0x53,0x74,0x61,0x74,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x29,0x3b, - 0x0a,0x7d,0x0a,0x76,0x6f,0x69,0x64,0x20,0x73,0x65,0x74,0x5f,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x20,0x2a,0x64,0x73,0x74,0x5f,0x62,0x75,0x66,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x4e,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, - 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x76,0x61,0x6c,0x75,0x65,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c, - 0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x74,0x65,0x70,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x28, - 0x30,0x29,0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, - 0x74,0x38,0x5f,0x74,0x2a,0x20,0x64,0x73,0x74,0x3d,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x64,0x73,0x74, - 0x5f,0x62,0x75,0x66,0x29,0x2b,0x69,0x3b,0x0a,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x69,0x3c,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x29,0x2a,0x4e,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x64,0x73,0x74, - 0x29,0x3d,0x76,0x61,0x6c,0x75,0x65,0x3b,0x0a,0x64,0x73,0x74,0x2b,0x3d,0x73,0x74,0x65,0x70,0x3b,0x0a,0x69,0x2b,0x3d,0x73,0x74,0x65,0x70,0x3b,0x0a,0x7d,0x0a,0x7d, - 0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x69,0x6d,0x75,0x6c,0x5f,0x72,0x63,0x70,0x5f,0x76,0x61,0x6c,0x75,0x65,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x64,0x69,0x76,0x69,0x73,0x6f,0x72,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x28,0x64,0x69,0x76,0x69,0x73,0x6f,0x72,0x26,0x28,0x64,0x69,0x76,0x69,0x73,0x6f, - 0x72,0x2d,0x31,0x29,0x29,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x31,0x55,0x4c,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x70,0x32,0x65,0x78,0x70,0x36,0x33,0x3d,0x31,0x55,0x4c,0x3c,0x3c,0x36,0x33,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34, - 0x5f,0x74,0x20,0x71,0x75,0x6f,0x74,0x69,0x65,0x6e,0x74,0x3d,0x70,0x32,0x65,0x78,0x70,0x36,0x33,0x2f,0x64,0x69,0x76,0x69,0x73,0x6f,0x72,0x3b,0x0a,0x75,0x69,0x6e, - 0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x65,0x6d,0x61,0x69,0x6e,0x64,0x65,0x72,0x3d,0x70,0x32,0x65,0x78,0x70,0x36,0x33,0x20,0x25,0x20,0x64,0x69,0x76,0x69,0x73,0x6f, - 0x72,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x62,0x73,0x72,0x3d,0x33,0x31,0x2d,0x63,0x6c,0x7a,0x28,0x64,0x69,0x76, - 0x69,0x73,0x6f,0x72,0x29,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x30,0x3b,0x20,0x73,0x68, - 0x69,0x66,0x74,0x3c,0x3d,0x62,0x73,0x72,0x3b,0x20,0x2b,0x2b,0x73,0x68,0x69,0x66,0x74,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20, - 0x62,0x3d,0x28,0x72,0x65,0x6d,0x61,0x69,0x6e,0x64,0x65,0x72,0x3e,0x3d,0x64,0x69,0x76,0x69,0x73,0x6f,0x72,0x2d,0x72,0x65,0x6d,0x61,0x69,0x6e,0x64,0x65,0x72,0x29, - 0x3b,0x0a,0x71,0x75,0x6f,0x74,0x69,0x65,0x6e,0x74,0x3d,0x28,0x71,0x75,0x6f,0x74,0x69,0x65,0x6e,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x62,0x3f,0x31,0x3a,0x30,0x29, - 0x3b,0x0a,0x72,0x65,0x6d,0x61,0x69,0x6e,0x64,0x65,0x72,0x3d,0x28,0x72,0x65,0x6d,0x61,0x69,0x6e,0x64,0x65,0x72,0x3c,0x3c,0x31,0x29,0x2d,0x28,0x62,0x3f,0x64,0x69, - 0x76,0x69,0x73,0x6f,0x72,0x3a,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x71,0x75,0x6f,0x74,0x69,0x65,0x6e,0x74,0x3b,0x0a,0x7d,0x0a,0x23, - 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x61,0x2c,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x76,0x61,0x6c, - 0x75,0x65,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x26,0x28,0x61,0x29,0x29,0x5b,0x28,0x70,0x6f,0x73,0x69,0x74, - 0x69,0x6f,0x6e,0x29,0x5d,0x20,0x3d,0x20,0x28,0x76,0x61,0x6c,0x75,0x65,0x29,0x3b,0x20,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x75,0x69,0x6e, - 0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x61,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x29,0x20,0x7b,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x61,0x3e,0x3e,0x28,0x70,0x6f,0x73,0x69,0x74, - 0x69,0x6f,0x6e,0x3c,0x3c,0x33,0x29,0x29,0x26,0x30,0x78,0x46,0x46,0x3b,0x20,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x75,0x70,0x64,0x61,0x74,0x65,0x5f, - 0x6d,0x61,0x78,0x28,0x76,0x61,0x6c,0x75,0x65,0x2c,0x20,0x6e,0x65,0x78,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x69,0x66,0x20,0x28, - 0x28,0x76,0x61,0x6c,0x75,0x65,0x29,0x20,0x3c,0x20,0x28,0x6e,0x65,0x78,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x29,0x29,0x20,0x28,0x76,0x61,0x6c,0x75,0x65,0x29,0x20, - 0x3d,0x20,0x28,0x6e,0x65,0x78,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x29,0x3b,0x20,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x5f,0x5f,0x61,0x74, + 0x5e,0x30,0x78,0x65,0x64,0x31,0x38,0x66,0x39,0x39,0x62,0x3b,0x0a,0x2a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29, + 0x28,0x68,0x61,0x73,0x68,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x68,0x61,0x73,0x68,0x53,0x74,0x72,0x69,0x64,0x65,0x42,0x79,0x74,0x65,0x73,0x2f,0x73,0x69,0x7a,0x65, + 0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x29,0x2b,0x73,0x75,0x62,0x2b,0x28,0x68,0x61,0x73,0x68,0x4f,0x66,0x66,0x73,0x65,0x74,0x42,0x79,0x74,0x65,0x73,0x2f, + 0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x34,0x29,0x29,0x29,0x3d,0x2a,0x28,0x75,0x69,0x6e,0x74,0x34,0x2a,0x29,0x28,0x78,0x29,0x3b,0x0a,0x7d,0x0a, + 0x5f,0x5f,0x63,0x6f,0x6e,0x73,0x74,0x61,0x6e,0x74,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x63,0x68,0x61,0x72,0x20,0x62,0x6c, + 0x61,0x6b,0x65,0x32,0x62,0x5f,0x73,0x69,0x67,0x6d,0x61,0x5b,0x31,0x32,0x2a,0x31,0x36,0x5d,0x3d,0x7b,0x0a,0x30,0x2c,0x31,0x2c,0x32,0x2c,0x33,0x2c,0x34,0x2c,0x35, + 0x2c,0x36,0x2c,0x37,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x30,0x2c,0x31,0x31,0x2c,0x31,0x32,0x2c,0x31,0x33,0x2c,0x31,0x34,0x2c,0x31,0x35,0x2c,0x0a,0x31,0x34,0x2c,0x31, + 0x30,0x2c,0x34,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x35,0x2c,0x31,0x33,0x2c,0x36,0x2c,0x31,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x32,0x2c,0x31,0x31,0x2c,0x37,0x2c,0x35,0x2c, + 0x33,0x2c,0x0a,0x31,0x31,0x2c,0x38,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x35,0x2c,0x32,0x2c,0x31,0x35,0x2c,0x31,0x33,0x2c,0x31,0x30,0x2c,0x31,0x34,0x2c,0x33,0x2c,0x36, + 0x2c,0x37,0x2c,0x31,0x2c,0x39,0x2c,0x34,0x2c,0x0a,0x37,0x2c,0x39,0x2c,0x33,0x2c,0x31,0x2c,0x31,0x33,0x2c,0x31,0x32,0x2c,0x31,0x31,0x2c,0x31,0x34,0x2c,0x32,0x2c, + 0x36,0x2c,0x35,0x2c,0x31,0x30,0x2c,0x34,0x2c,0x30,0x2c,0x31,0x35,0x2c,0x38,0x2c,0x0a,0x39,0x2c,0x30,0x2c,0x35,0x2c,0x37,0x2c,0x32,0x2c,0x34,0x2c,0x31,0x30,0x2c, + 0x31,0x35,0x2c,0x31,0x34,0x2c,0x31,0x2c,0x31,0x31,0x2c,0x31,0x32,0x2c,0x36,0x2c,0x38,0x2c,0x33,0x2c,0x31,0x33,0x2c,0x0a,0x32,0x2c,0x31,0x32,0x2c,0x36,0x2c,0x31, + 0x30,0x2c,0x30,0x2c,0x31,0x31,0x2c,0x38,0x2c,0x33,0x2c,0x34,0x2c,0x31,0x33,0x2c,0x37,0x2c,0x35,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x31,0x2c,0x39,0x2c,0x0a,0x31, + 0x32,0x2c,0x35,0x2c,0x31,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x31,0x33,0x2c,0x34,0x2c,0x31,0x30,0x2c,0x30,0x2c,0x37,0x2c,0x36,0x2c,0x33,0x2c,0x39,0x2c,0x32,0x2c, + 0x38,0x2c,0x31,0x31,0x2c,0x0a,0x31,0x33,0x2c,0x31,0x31,0x2c,0x37,0x2c,0x31,0x34,0x2c,0x31,0x32,0x2c,0x31,0x2c,0x33,0x2c,0x39,0x2c,0x35,0x2c,0x30,0x2c,0x31,0x35, + 0x2c,0x34,0x2c,0x38,0x2c,0x36,0x2c,0x32,0x2c,0x31,0x30,0x2c,0x0a,0x36,0x2c,0x31,0x35,0x2c,0x31,0x34,0x2c,0x39,0x2c,0x31,0x31,0x2c,0x33,0x2c,0x30,0x2c,0x38,0x2c, + 0x31,0x32,0x2c,0x32,0x2c,0x31,0x33,0x2c,0x37,0x2c,0x31,0x2c,0x34,0x2c,0x31,0x30,0x2c,0x35,0x2c,0x0a,0x31,0x30,0x2c,0x32,0x2c,0x38,0x2c,0x34,0x2c,0x37,0x2c,0x36, + 0x2c,0x31,0x2c,0x35,0x2c,0x31,0x35,0x2c,0x31,0x31,0x2c,0x39,0x2c,0x31,0x34,0x2c,0x33,0x2c,0x31,0x32,0x2c,0x31,0x33,0x2c,0x30,0x2c,0x0a,0x30,0x2c,0x31,0x2c,0x32, + 0x2c,0x33,0x2c,0x34,0x2c,0x35,0x2c,0x36,0x2c,0x37,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x30,0x2c,0x31,0x31,0x2c,0x31,0x32,0x2c,0x31,0x33,0x2c,0x31,0x34,0x2c,0x31,0x35, + 0x2c,0x0a,0x31,0x34,0x2c,0x31,0x30,0x2c,0x34,0x2c,0x38,0x2c,0x39,0x2c,0x31,0x35,0x2c,0x31,0x33,0x2c,0x36,0x2c,0x31,0x2c,0x31,0x32,0x2c,0x30,0x2c,0x32,0x2c,0x31, + 0x31,0x2c,0x37,0x2c,0x35,0x2c,0x33,0x2c,0x0a,0x7d,0x3b,0x0a,0x65,0x6e,0x75,0x6d,0x20,0x42,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x49,0x56,0x0a,0x7b,0x0a,0x69,0x76, + 0x30,0x3d,0x30,0x78,0x36,0x61,0x30,0x39,0x65,0x36,0x36,0x37,0x66,0x33,0x62,0x63,0x63,0x39,0x30,0x38,0x75,0x6c,0x2c,0x0a,0x69,0x76,0x31,0x3d,0x30,0x78,0x62,0x62, + 0x36,0x37,0x61,0x65,0x38,0x35,0x38,0x34,0x63,0x61,0x61,0x37,0x33,0x62,0x75,0x6c,0x2c,0x0a,0x69,0x76,0x32,0x3d,0x30,0x78,0x33,0x63,0x36,0x65,0x66,0x33,0x37,0x32, + 0x66,0x65,0x39,0x34,0x66,0x38,0x32,0x62,0x75,0x6c,0x2c,0x0a,0x69,0x76,0x33,0x3d,0x30,0x78,0x61,0x35,0x34,0x66,0x66,0x35,0x33,0x61,0x35,0x66,0x31,0x64,0x33,0x36, + 0x66,0x31,0x75,0x6c,0x2c,0x0a,0x69,0x76,0x34,0x3d,0x30,0x78,0x35,0x31,0x30,0x65,0x35,0x32,0x37,0x66,0x61,0x64,0x65,0x36,0x38,0x32,0x64,0x31,0x75,0x6c,0x2c,0x0a, + 0x69,0x76,0x35,0x3d,0x30,0x78,0x39,0x62,0x30,0x35,0x36,0x38,0x38,0x63,0x32,0x62,0x33,0x65,0x36,0x63,0x31,0x66,0x75,0x6c,0x2c,0x0a,0x69,0x76,0x36,0x3d,0x30,0x78, + 0x31,0x66,0x38,0x33,0x64,0x39,0x61,0x62,0x66,0x62,0x34,0x31,0x62,0x64,0x36,0x62,0x75,0x6c,0x2c,0x0a,0x69,0x76,0x37,0x3d,0x30,0x78,0x35,0x62,0x65,0x30,0x63,0x64, + 0x31,0x39,0x31,0x33,0x37,0x65,0x32,0x31,0x37,0x39,0x75,0x6c,0x2c,0x0a,0x7d,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x72,0x6f,0x74,0x72,0x36,0x34,0x28,0x75,0x6c, + 0x6f,0x6e,0x67,0x20,0x61,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x73,0x68,0x69,0x66,0x74,0x29,0x20,0x7b,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x72,0x6f,0x74,0x61, + 0x74,0x65,0x28,0x61,0x2c,0x36,0x34,0x2d,0x73,0x68,0x69,0x66,0x74,0x29,0x3b,0x20,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x47,0x28,0x72,0x2c,0x20,0x69, + 0x2c,0x20,0x61,0x2c,0x20,0x62,0x2c,0x20,0x63,0x2c,0x20,0x64,0x29,0x20,0x5c,0x0a,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x61,0x3d,0x61,0x2b,0x62,0x2b,0x6d,0x5b,0x62, + 0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x73,0x69,0x67,0x6d,0x61,0x5b,0x72,0x2a,0x31,0x36,0x2b,0x32,0x2a,0x69,0x2b,0x30,0x5d,0x5d,0x3b,0x20,0x5c,0x0a,0x64,0x3d,0x72, + 0x6f,0x74,0x72,0x36,0x34,0x28,0x64,0x5e,0x61,0x2c,0x33,0x32,0x29,0x3b,0x20,0x5c,0x0a,0x63,0x3d,0x63,0x2b,0x64,0x3b,0x20,0x5c,0x0a,0x62,0x3d,0x72,0x6f,0x74,0x72, + 0x36,0x34,0x28,0x62,0x5e,0x63,0x2c,0x32,0x34,0x29,0x3b,0x20,0x5c,0x0a,0x61,0x3d,0x61,0x2b,0x62,0x2b,0x6d,0x5b,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x73,0x69, + 0x67,0x6d,0x61,0x5b,0x72,0x2a,0x31,0x36,0x2b,0x32,0x2a,0x69,0x2b,0x31,0x5d,0x5d,0x3b,0x20,0x5c,0x0a,0x64,0x3d,0x72,0x6f,0x74,0x72,0x36,0x34,0x28,0x64,0x5e,0x61, + 0x2c,0x31,0x36,0x29,0x3b,0x20,0x5c,0x0a,0x63,0x3d,0x63,0x2b,0x64,0x3b,0x20,0x5c,0x0a,0x62,0x3d,0x72,0x6f,0x74,0x72,0x36,0x34,0x28,0x62,0x5e,0x63,0x2c,0x36,0x33, + 0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x72, + 0x29,0x20,0x5c,0x0a,0x64,0x6f,0x20,0x7b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x30,0x2c,0x76,0x5b,0x30,0x5d,0x2c,0x76,0x5b,0x34,0x5d,0x2c,0x76,0x5b,0x38,0x5d,0x2c, + 0x76,0x5b,0x31,0x32,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x31,0x2c,0x76,0x5b,0x31,0x5d,0x2c,0x76,0x5b,0x35,0x5d,0x2c,0x76,0x5b,0x39,0x5d,0x2c,0x76, + 0x5b,0x31,0x33,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x32,0x2c,0x76,0x5b,0x32,0x5d,0x2c,0x76,0x5b,0x36,0x5d,0x2c,0x76,0x5b,0x31,0x30,0x5d,0x2c,0x76, + 0x5b,0x31,0x34,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x33,0x2c,0x76,0x5b,0x33,0x5d,0x2c,0x76,0x5b,0x37,0x5d,0x2c,0x76,0x5b,0x31,0x31,0x5d,0x2c,0x76, + 0x5b,0x31,0x35,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x34,0x2c,0x76,0x5b,0x30,0x5d,0x2c,0x76,0x5b,0x35,0x5d,0x2c,0x76,0x5b,0x31,0x30,0x5d,0x2c,0x76, + 0x5b,0x31,0x35,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x35,0x2c,0x76,0x5b,0x31,0x5d,0x2c,0x76,0x5b,0x36,0x5d,0x2c,0x76,0x5b,0x31,0x31,0x5d,0x2c,0x76, + 0x5b,0x31,0x32,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x36,0x2c,0x76,0x5b,0x32,0x5d,0x2c,0x76,0x5b,0x37,0x5d,0x2c,0x76,0x5b,0x38,0x5d,0x2c,0x76,0x5b, + 0x31,0x33,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x47,0x28,0x72,0x2c,0x37,0x2c,0x76,0x5b,0x33,0x5d,0x2c,0x76,0x5b,0x34,0x5d,0x2c,0x76,0x5b,0x39,0x5d,0x2c,0x76,0x5b,0x31, + 0x34,0x5d,0x29,0x3b,0x20,0x5c,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x42,0x4c,0x41,0x4b,0x45, + 0x32,0x42,0x5f,0x52,0x4f,0x55,0x4e,0x44,0x53,0x28,0x29,0x20,0x52,0x4f,0x55,0x4e,0x44,0x28,0x30,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x31,0x29,0x3b,0x52,0x4f, + 0x55,0x4e,0x44,0x28,0x32,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x33,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x34,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x35, + 0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x36,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x37,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x38,0x29,0x3b,0x52,0x4f,0x55, + 0x4e,0x44,0x28,0x39,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x31,0x30,0x29,0x3b,0x52,0x4f,0x55,0x4e,0x44,0x28,0x31,0x31,0x29,0x3b,0x0a,0x76,0x6f,0x69,0x64,0x20, + 0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x73,0x69,0x6e,0x67,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b, + 0x28,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x68,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x6d,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x6c, + 0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x76,0x5b,0x31,0x36,0x5d,0x20,0x3d, + 0x0a,0x7b,0x0a,0x69,0x76,0x30,0x5e,0x30,0x78,0x30,0x31,0x30,0x31,0x30,0x30,0x34,0x30,0x2c,0x69,0x76,0x31,0x2c,0x69,0x76,0x32,0x2c,0x69,0x76,0x33,0x2c,0x69,0x76, + 0x34,0x20,0x2c,0x69,0x76,0x35,0x2c,0x69,0x76,0x36,0x2c,0x69,0x76,0x37,0x2c,0x0a,0x69,0x76,0x30,0x20,0x2c,0x69,0x76,0x31,0x2c,0x69,0x76,0x32,0x2c,0x69,0x76,0x33, + 0x2c,0x69,0x76,0x34,0x5e,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x2c,0x69,0x76,0x35,0x2c,0x7e,0x69,0x76,0x36,0x2c, + 0x69,0x76,0x37,0x2c,0x0a,0x7d,0x3b,0x0a,0x42,0x4c,0x41,0x4b,0x45,0x32,0x42,0x5f,0x52,0x4f,0x55,0x4e,0x44,0x53,0x28,0x29,0x3b,0x0a,0x68,0x5b,0x30,0x5d,0x3d,0x76, + 0x5b,0x30,0x5d,0x5e,0x76,0x5b,0x20,0x38,0x5d,0x5e,0x69,0x76,0x30,0x5e,0x30,0x78,0x30,0x31,0x30,0x31,0x30,0x30,0x34,0x30,0x3b,0x0a,0x68,0x5b,0x31,0x5d,0x3d,0x76, + 0x5b,0x31,0x5d,0x5e,0x76,0x5b,0x20,0x39,0x5d,0x5e,0x69,0x76,0x31,0x3b,0x0a,0x68,0x5b,0x32,0x5d,0x3d,0x76,0x5b,0x32,0x5d,0x5e,0x76,0x5b,0x31,0x30,0x5d,0x5e,0x69, + 0x76,0x32,0x3b,0x0a,0x68,0x5b,0x33,0x5d,0x3d,0x76,0x5b,0x33,0x5d,0x5e,0x76,0x5b,0x31,0x31,0x5d,0x5e,0x69,0x76,0x33,0x3b,0x0a,0x68,0x5b,0x34,0x5d,0x3d,0x76,0x5b, + 0x34,0x5d,0x5e,0x76,0x5b,0x31,0x32,0x5d,0x5e,0x69,0x76,0x34,0x3b,0x0a,0x68,0x5b,0x35,0x5d,0x3d,0x76,0x5b,0x35,0x5d,0x5e,0x76,0x5b,0x31,0x33,0x5d,0x5e,0x69,0x76, + 0x35,0x3b,0x0a,0x68,0x5b,0x36,0x5d,0x3d,0x76,0x5b,0x36,0x5d,0x5e,0x76,0x5b,0x31,0x34,0x5d,0x5e,0x69,0x76,0x36,0x3b,0x0a,0x68,0x5b,0x37,0x5d,0x3d,0x76,0x5b,0x37, + 0x5d,0x5e,0x76,0x5b,0x31,0x35,0x5d,0x5e,0x69,0x76,0x37,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65, + 0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x36,0x34,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b, + 0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x69,0x6e,0x69,0x74,0x69,0x61,0x6c,0x5f,0x68,0x61,0x73,0x68,0x28, + 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x2a,0x6f,0x75,0x74,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x6c,0x6f,0x63,0x6b, + 0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x2c,0x75,0x69,0x6e,0x74,0x20,0x73,0x74,0x61,0x72,0x74,0x5f,0x6e,0x6f,0x6e,0x63,0x65,0x29,0x0a,0x7b, + 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f, + 0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a, + 0x20,0x70,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x29,0x20,0x62,0x6c,0x6f,0x63,0x6b, + 0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6d,0x5b,0x31,0x36,0x5d,0x3d,0x7b,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65, + 0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x30,0x29,0x3f,0x70,0x5b,0x20,0x30,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d, + 0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x38,0x29,0x3f,0x70,0x5b,0x20,0x31,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70, + 0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x31,0x36,0x29,0x3f,0x70,0x5b,0x20,0x32,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70, + 0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x32,0x34,0x29,0x3f,0x70,0x5b,0x20,0x33,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70, + 0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x33,0x32,0x29,0x3f,0x70,0x5b,0x20,0x34,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70, + 0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x34,0x30,0x29,0x3f,0x70,0x5b,0x20,0x35,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70, + 0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x34,0x38,0x29,0x3f,0x70,0x5b,0x20,0x36,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70, + 0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x35,0x36,0x29,0x3f,0x70,0x5b,0x20,0x37,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70, + 0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x36,0x34,0x29,0x3f,0x70,0x5b,0x20,0x38,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70, + 0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x37,0x32,0x29,0x3f,0x70,0x5b,0x20,0x39,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70, + 0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x38,0x30,0x29,0x3f,0x70,0x5b,0x31,0x30,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70, + 0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x38,0x38,0x29,0x3f,0x70,0x5b,0x31,0x31,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70, + 0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x39,0x36,0x29,0x3f,0x70,0x5b,0x31,0x32,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70, + 0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x31,0x30,0x34,0x29,0x3f,0x70,0x5b,0x31,0x33,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d, + 0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x31,0x31,0x32,0x29,0x3f,0x70,0x5b,0x31,0x34,0x5d,0x3a,0x30,0x2c,0x0a,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65, + 0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x3e,0x31,0x32,0x30,0x29,0x3f,0x70,0x5b,0x31,0x35,0x5d,0x3a,0x30,0x2c,0x0a,0x7d,0x3b,0x0a,0x69,0x66,0x28,0x62, + 0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x20,0x25,0x20,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29, + 0x29,0x0a,0x6d,0x5b,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f, + 0x6e,0x67,0x29,0x5d,0x20,0x26,0x3d,0x20,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x2d,0x31,0x29,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x28,0x62,0x6c,0x6f,0x63,0x6b,0x54, + 0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x20,0x25,0x20,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x2a,0x38,0x29,0x3b, + 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6e,0x6f,0x6e,0x63,0x65,0x3d,0x73,0x74,0x61,0x72,0x74,0x5f,0x6e,0x6f,0x6e,0x63,0x65,0x2b,0x67, + 0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x6d,0x5b,0x34,0x5d,0x3d,0x28,0x6d,0x5b,0x34,0x5d,0x26,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29, + 0x28,0x2d,0x31,0x29,0x3e,0x3e,0x38,0x29,0x29,0x7c,0x28,0x6e,0x6f,0x6e,0x63,0x65,0x3c,0x3c,0x35,0x36,0x29,0x3b,0x0a,0x6d,0x5b,0x35,0x5d,0x3d,0x28,0x6d,0x5b,0x35, + 0x5d,0x26,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x2d,0x31,0x29,0x3c,0x3c,0x32,0x34,0x29,0x29,0x7c,0x28,0x6e,0x6f,0x6e,0x63,0x65,0x3e,0x3e,0x38,0x29,0x3b, + 0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x68,0x61,0x73,0x68,0x5b,0x38,0x5d,0x3b,0x0a,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63, + 0x65,0x73,0x73,0x5f,0x73,0x69,0x6e,0x67,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x28,0x68,0x61,0x73,0x68,0x2c,0x6d,0x2c,0x62,0x6c,0x6f,0x63,0x6b,0x54,0x65,0x6d, + 0x70,0x6c,0x61,0x74,0x65,0x53,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x74,0x3d,0x28,0x28, + 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x29,0x20,0x6f,0x75,0x74,0x29,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64, + 0x65,0x78,0x2a,0x38,0x3b,0x0a,0x74,0x5b,0x30,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x30,0x5d,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x31,0x5d, + 0x3b,0x0a,0x74,0x5b,0x32,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x32,0x5d,0x3b,0x0a,0x74,0x5b,0x33,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x33,0x5d,0x3b,0x0a,0x74,0x5b, + 0x34,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x34,0x5d,0x3b,0x0a,0x74,0x5b,0x35,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x35,0x5d,0x3b,0x0a,0x74,0x5b,0x36,0x5d,0x3d,0x68, + 0x61,0x73,0x68,0x5b,0x36,0x5d,0x3b,0x0a,0x74,0x5b,0x37,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x37,0x5d,0x3b,0x0a,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x20,0x32,0x35,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x20,0x33,0x32,0x0a,0x23,0x64, + 0x65,0x66,0x69,0x6e,0x65,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65, + 0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f, + 0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x33,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f, + 0x68,0x61,0x73,0x68,0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x68,0x61,0x73,0x68, + 0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x5f,0x33,0x32,0x0a,0x76,0x6f,0x69,0x64,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70, + 0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a, + 0x6f,0x75,0x74,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x6d,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e, + 0x67,0x2a,0x20,0x69,0x6e,0x29,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x76,0x5b,0x31,0x36,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x69,0x76,0x30,0x5e,0x28,0x30,0x78, + 0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x75,0x7c,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x29,0x2c,0x69,0x76,0x31,0x2c,0x69,0x76,0x32,0x2c,0x69,0x76,0x33,0x2c,0x69, + 0x76,0x34,0x20,0x2c,0x69,0x76,0x35,0x2c,0x69,0x76,0x36,0x2c,0x69,0x76,0x37,0x2c,0x0a,0x69,0x76,0x30,0x20,0x2c,0x69,0x76,0x31,0x2c,0x69,0x76,0x32,0x2c,0x69,0x76, + 0x33,0x2c,0x69,0x76,0x34,0x5e,0x31,0x32,0x38,0x2c,0x69,0x76,0x35,0x2c,0x69,0x76,0x36,0x2c,0x69,0x76,0x37,0x2c,0x0a,0x7d,0x3b,0x0a,0x42,0x4c,0x41,0x4b,0x45,0x32, + 0x42,0x5f,0x52,0x4f,0x55,0x4e,0x44,0x53,0x28,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x68,0x5b,0x38,0x5d,0x3b,0x0a,0x76,0x5b,0x30,0x5d,0x3d,0x68,0x5b,0x30, + 0x5d,0x3d,0x76,0x5b,0x30,0x5d,0x5e,0x76,0x5b,0x38,0x5d,0x5e,0x69,0x76,0x30,0x5e,0x28,0x30,0x78,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x75,0x7c,0x6f,0x75,0x74, + 0x5f,0x6c,0x65,0x6e,0x29,0x3b,0x0a,0x76,0x5b,0x31,0x5d,0x3d,0x68,0x5b,0x31,0x5d,0x3d,0x76,0x5b,0x31,0x5d,0x5e,0x76,0x5b,0x39,0x5d,0x5e,0x69,0x76,0x31,0x3b,0x0a, + 0x76,0x5b,0x32,0x5d,0x3d,0x68,0x5b,0x32,0x5d,0x3d,0x76,0x5b,0x32,0x5d,0x5e,0x76,0x5b,0x31,0x30,0x5d,0x5e,0x69,0x76,0x32,0x3b,0x0a,0x76,0x5b,0x33,0x5d,0x3d,0x68, + 0x5b,0x33,0x5d,0x3d,0x76,0x5b,0x33,0x5d,0x5e,0x76,0x5b,0x31,0x31,0x5d,0x5e,0x69,0x76,0x33,0x3b,0x0a,0x76,0x5b,0x34,0x5d,0x3d,0x68,0x5b,0x34,0x5d,0x3d,0x76,0x5b, + 0x34,0x5d,0x5e,0x76,0x5b,0x31,0x32,0x5d,0x5e,0x69,0x76,0x34,0x3b,0x0a,0x76,0x5b,0x35,0x5d,0x3d,0x68,0x5b,0x35,0x5d,0x3d,0x76,0x5b,0x35,0x5d,0x5e,0x76,0x5b,0x31, + 0x33,0x5d,0x5e,0x69,0x76,0x35,0x3b,0x0a,0x76,0x5b,0x36,0x5d,0x3d,0x68,0x5b,0x36,0x5d,0x3d,0x76,0x5b,0x36,0x5d,0x5e,0x76,0x5b,0x31,0x34,0x5d,0x5e,0x69,0x76,0x36, + 0x3b,0x0a,0x76,0x5b,0x37,0x5d,0x3d,0x68,0x5b,0x37,0x5d,0x3d,0x76,0x5b,0x37,0x5d,0x5e,0x76,0x5b,0x31,0x35,0x5d,0x5e,0x69,0x76,0x37,0x3b,0x0a,0x76,0x5b,0x38,0x5d, + 0x3d,0x69,0x76,0x30,0x3b,0x0a,0x76,0x5b,0x39,0x5d,0x3d,0x69,0x76,0x31,0x3b,0x0a,0x76,0x5b,0x31,0x30,0x5d,0x3d,0x69,0x76,0x32,0x3b,0x0a,0x76,0x5b,0x31,0x31,0x5d, + 0x3d,0x69,0x76,0x33,0x3b,0x0a,0x76,0x5b,0x31,0x32,0x5d,0x3d,0x69,0x76,0x34,0x5e,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3b,0x0a,0x76,0x5b,0x31,0x33,0x5d,0x3d,0x69,0x76, + 0x35,0x3b,0x0a,0x76,0x5b,0x31,0x34,0x5d,0x3d,0x7e,0x69,0x76,0x36,0x3b,0x0a,0x76,0x5b,0x31,0x35,0x5d,0x3d,0x69,0x76,0x37,0x3b,0x0a,0x6d,0x5b,0x20,0x30,0x5d,0x3d, + 0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x32,0x38,0x29,0x3f,0x69,0x6e,0x5b,0x31,0x36,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x31,0x5d,0x3d,0x28,0x69,0x6e, + 0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x33,0x36,0x29,0x3f,0x69,0x6e,0x5b,0x31,0x37,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x32,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65, + 0x6e,0x3e,0x31,0x34,0x34,0x29,0x3f,0x69,0x6e,0x5b,0x31,0x38,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x33,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31, + 0x35,0x32,0x29,0x3f,0x69,0x6e,0x5b,0x31,0x39,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x34,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x36,0x30,0x29, + 0x3f,0x69,0x6e,0x5b,0x32,0x30,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x35,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x36,0x38,0x29,0x3f,0x69,0x6e, + 0x5b,0x32,0x31,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x36,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x37,0x36,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x32, + 0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x37,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x38,0x34,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x33,0x5d,0x3a,0x30, + 0x3b,0x0a,0x6d,0x5b,0x20,0x38,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x39,0x32,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x34,0x5d,0x3a,0x30,0x3b,0x0a,0x6d, + 0x5b,0x20,0x39,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x30,0x30,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x35,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x30, + 0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x30,0x38,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x36,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x31,0x5d,0x3d,0x28, + 0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x31,0x36,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x37,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x32,0x5d,0x3d,0x28,0x69,0x6e,0x5f, + 0x6c,0x65,0x6e,0x3e,0x32,0x32,0x34,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x38,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x33,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e, + 0x3e,0x32,0x33,0x32,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x39,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x34,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x34, + 0x30,0x29,0x3f,0x69,0x6e,0x5b,0x33,0x30,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x35,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x34,0x38,0x29,0x3f, + 0x69,0x6e,0x5b,0x33,0x31,0x5d,0x3a,0x30,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x20,0x25,0x20,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f, + 0x6e,0x67,0x29,0x29,0x0a,0x6d,0x5b,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x2d,0x31,0x32,0x38,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67, + 0x29,0x5d,0x20,0x26,0x3d,0x20,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x2d,0x31,0x29,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x20,0x25, + 0x20,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x2a,0x38,0x29,0x3b,0x0a,0x42,0x4c,0x41,0x4b,0x45,0x32,0x42,0x5f,0x52,0x4f,0x55,0x4e, + 0x44,0x53,0x28,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x30,0x29,0x20,0x6f,0x75,0x74,0x5b,0x30,0x5d,0x3d,0x68,0x5b,0x30,0x5d,0x5e, + 0x76,0x5b,0x30,0x5d,0x5e,0x76,0x5b,0x38,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x38,0x29,0x20,0x6f,0x75,0x74,0x5b,0x31,0x5d,0x3d, + 0x68,0x5b,0x31,0x5d,0x5e,0x76,0x5b,0x31,0x5d,0x5e,0x76,0x5b,0x39,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x36,0x29,0x20,0x6f, + 0x75,0x74,0x5b,0x32,0x5d,0x3d,0x68,0x5b,0x32,0x5d,0x5e,0x76,0x5b,0x32,0x5d,0x5e,0x76,0x5b,0x31,0x30,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65, + 0x6e,0x3e,0x32,0x34,0x29,0x20,0x6f,0x75,0x74,0x5b,0x33,0x5d,0x3d,0x68,0x5b,0x33,0x5d,0x5e,0x76,0x5b,0x33,0x5d,0x5e,0x76,0x5b,0x31,0x31,0x5d,0x3b,0x0a,0x69,0x66, + 0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x33,0x32,0x29,0x20,0x6f,0x75,0x74,0x5b,0x34,0x5d,0x3d,0x68,0x5b,0x34,0x5d,0x5e,0x76,0x5b,0x34,0x5d,0x5e,0x76,0x5b, + 0x31,0x32,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x34,0x30,0x29,0x20,0x6f,0x75,0x74,0x5b,0x35,0x5d,0x3d,0x68,0x5b,0x35,0x5d,0x5e, + 0x76,0x5b,0x35,0x5d,0x5e,0x76,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x34,0x38,0x29,0x20,0x6f,0x75,0x74,0x5b,0x36, + 0x5d,0x3d,0x68,0x5b,0x36,0x5d,0x5e,0x76,0x5b,0x36,0x5d,0x5e,0x76,0x5b,0x31,0x34,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x35,0x36, + 0x29,0x20,0x6f,0x75,0x74,0x5b,0x37,0x5d,0x3d,0x68,0x5b,0x37,0x5d,0x5e,0x76,0x5b,0x37,0x5d,0x5e,0x76,0x5b,0x31,0x35,0x5d,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x61,0x74, 0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28, - 0x33,0x32,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x69,0x6e,0x69,0x74,0x5f,0x76,0x6d,0x28, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5f,0x64,0x61,0x74, - 0x61,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f, - 0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, - 0x69,0x74,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d, - 0x5f,0x53,0x49,0x5a,0x45,0x20,0x3c,0x3d,0x20,0x32,0x35,0x36,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x20,0x65,0x78,0x65, - 0x63,0x5f,0x74,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x5f,0x74,0x20,0x65,0x78,0x65,0x63, - 0x5f,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x65,0x78,0x65,0x63, - 0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5f,0x62,0x75,0x66,0x5b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53, - 0x49,0x5a,0x45,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x2a,0x28,0x33,0x32,0x2f,0x38,0x29,0x2a,0x73,0x69,0x7a,0x65, - 0x6f,0x66,0x28,0x65,0x78,0x65,0x63,0x5f,0x74,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x5d,0x3b,0x0a,0x73,0x65, - 0x74,0x5f,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5f,0x62,0x75,0x66,0x2c,0x73,0x69,0x7a,0x65, - 0x6f,0x66,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5f,0x62,0x75,0x66,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69, - 0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x2c,0x30,0x29,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45, - 0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f, - 0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, - 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x64,0x78,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2f,0x38,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x75,0x62,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x25,0x20,0x38,0x3b,0x0a, - 0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x65,0x78,0x65,0x63,0x5f,0x74,0x2a,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x3d,0x28, - 0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x65,0x78,0x65,0x63,0x5f,0x74,0x2a,0x29,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5f, - 0x62,0x75,0x66,0x2b,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2f,0x38,0x29,0x2a,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x2a,0x73,0x69, - 0x7a,0x65,0x6f,0x66,0x28,0x65,0x78,0x65,0x63,0x5f,0x74,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x29,0x3b,0x0a, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x52,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x2b,0x69,0x64,0x78,0x2a,0x56,0x4d,0x5f,0x53,0x54,0x41,0x54, - 0x45,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x52,0x5b,0x73,0x75,0x62,0x5d,0x3d, - 0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x65,0x6e,0x74,0x72, - 0x6f,0x70,0x79,0x3d,0x28,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x65, - 0x6e,0x74,0x72,0x6f,0x70,0x79,0x5f,0x64,0x61,0x74,0x61,0x29,0x2b,0x69,0x64,0x78,0x2a,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69, - 0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a, - 0x20,0x41,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x29,0x28,0x52,0x2b,0x32,0x34,0x29,0x3b,0x0a,0x41,0x5b,0x73, - 0x75,0x62,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e, - 0x74,0x72,0x6f,0x70,0x79,0x5b,0x73,0x75,0x62,0x5d,0x29,0x3b,0x0a,0x69,0x66,0x28,0x73,0x75,0x62,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69,0x74,0x65, - 0x72,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x30,0x29,0x0a,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x5b,0x69,0x64,0x78,0x5d,0x3d,0x30,0x3b,0x0a,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x32,0x2a,0x20,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, - 0x6c,0x20,0x75,0x69,0x6e,0x74,0x32,0x2a,0x29,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x2b,0x31,0x32,0x38,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e, - 0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a, - 0x45,0x20,0x3c,0x3d,0x20,0x32,0x35,0x36,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68, - 0x61,0x6e,0x67,0x65,0x64,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61, - 0x6e,0x67,0x65,0x64,0x3d,0x30,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61, - 0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x38,0x5d,0x3d,0x7b,0x20,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31, - 0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x20,0x7d,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69, - 0x3d,0x30,0x3b,0x20,0x69,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x3b,0x20,0x2b,0x2b,0x69,0x29, - 0x0a,0x7b,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f, - 0x67,0x72,0x61,0x6d,0x2b,0x69,0x29,0x20,0x26,0x3d,0x20,0x7e,0x28,0x30,0x78,0x46,0x38,0x55,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, - 0x6e,0x74,0x32,0x20,0x73,0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x3d,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5b,0x69,0x5d,0x3b,0x0a,0x75,0x69,0x6e, - 0x74,0x32,0x20,0x69,0x6e,0x73,0x74,0x3d,0x73,0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6f,0x70,0x63,0x6f,0x64, - 0x65,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x30,0x78,0x66,0x66,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x73, - 0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x38,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, - 0x73,0x72,0x63,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x31,0x36,0x29,0x26,0x37,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x49,0x41,0x44,0x44,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c, - 0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d, - 0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47, - 0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3c,0x3d,0x20,0x32,0x35,0x36,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65, - 0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x2c,0x69,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65, - 0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x2c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72, - 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69, - 0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, - 0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x2b,0x52, - 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x49,0x53,0x55,0x42,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c, - 0x48,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55, - 0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55, - 0x4c,0x5f,0x52,0x43,0x50,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2d,0x31,0x29,0x29,0x0a,0x7b, + 0x36,0x34,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f, + 0x68,0x61,0x73,0x68,0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69, + 0x64,0x20,0x2a,0x6f,0x75,0x74,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x69,0x6e,0x2c,0x75, + 0x69,0x6e,0x74,0x20,0x69,0x6e,0x53,0x74,0x72,0x69,0x64,0x65,0x42,0x79,0x74,0x65,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20, + 0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x5f, + 0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x70,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, + 0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x29,0x20,0x69,0x6e,0x29,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78, + 0x2a,0x28,0x69,0x6e,0x53,0x74,0x72,0x69,0x64,0x65,0x42,0x79,0x74,0x65,0x73,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x3b,0x0a, + 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x68,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f, + 0x6e,0x67,0x2a,0x29,0x20,0x6f,0x75,0x74,0x29,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x2f, + 0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6d,0x5b,0x31,0x36,0x5d,0x3d,0x7b,0x20,0x70,0x5b, + 0x30,0x5d,0x2c,0x70,0x5b,0x31,0x5d,0x2c,0x70,0x5b,0x32,0x5d,0x2c,0x70,0x5b,0x33,0x5d,0x2c,0x70,0x5b,0x34,0x5d,0x2c,0x70,0x5b,0x35,0x5d,0x2c,0x70,0x5b,0x36,0x5d, + 0x2c,0x70,0x5b,0x37,0x5d,0x2c,0x70,0x5b,0x38,0x5d,0x2c,0x70,0x5b,0x39,0x5d,0x2c,0x70,0x5b,0x31,0x30,0x5d,0x2c,0x70,0x5b,0x31,0x31,0x5d,0x2c,0x70,0x5b,0x31,0x32, + 0x5d,0x2c,0x70,0x5b,0x31,0x33,0x5d,0x2c,0x70,0x5b,0x31,0x34,0x5d,0x2c,0x70,0x5b,0x31,0x35,0x5d,0x20,0x7d,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x68,0x61,0x73, + 0x68,0x5b,0x38,0x5d,0x3b,0x0a,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65, + 0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x68,0x61,0x73,0x68,0x2c,0x6d,0x2c,0x70,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65, + 0x6e,0x3e,0x30,0x29,0x20,0x68,0x5b,0x30,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x30,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x38,0x29, + 0x20,0x68,0x5b,0x31,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x31,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x36,0x29,0x20,0x68,0x5b, + 0x32,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x32,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x34,0x29,0x20,0x68,0x5b,0x33,0x5d,0x3d, + 0x68,0x61,0x73,0x68,0x5b,0x33,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x33,0x32,0x29,0x20,0x68,0x5b,0x34,0x5d,0x3d,0x68,0x61,0x73, + 0x68,0x5b,0x34,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x34,0x30,0x29,0x20,0x68,0x5b,0x35,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x35, + 0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x34,0x38,0x29,0x20,0x68,0x5b,0x36,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x36,0x5d,0x3b,0x0a, + 0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x35,0x36,0x29,0x20,0x68,0x5b,0x37,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x37,0x5d,0x3b,0x0a,0x7d,0x0a,0x23, + 0x75,0x6e,0x64,0x65,0x66,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x68,0x61,0x73,0x68,0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x5f,0x6e,0x61,0x6d, + 0x65,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75, + 0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x0a,0x23,0x64, + 0x65,0x66,0x69,0x6e,0x65,0x20,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62, + 0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x20,0x62, + 0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f, + 0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x68,0x61,0x73,0x68,0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72, + 0x73,0x5f,0x6e,0x61,0x6d,0x65,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x68,0x61,0x73,0x68,0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x5f,0x36,0x34, + 0x0a,0x76,0x6f,0x69,0x64,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65, + 0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x2a,0x6f,0x75,0x74,0x2c,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x6d,0x2c, + 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x69,0x6e,0x29,0x0a,0x7b,0x0a,0x75,0x6c,0x6f,0x6e, + 0x67,0x20,0x76,0x5b,0x31,0x36,0x5d,0x20,0x3d,0x0a,0x7b,0x0a,0x69,0x76,0x30,0x5e,0x28,0x30,0x78,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x75,0x7c,0x6f,0x75,0x74, + 0x5f,0x6c,0x65,0x6e,0x29,0x2c,0x69,0x76,0x31,0x2c,0x69,0x76,0x32,0x2c,0x69,0x76,0x33,0x2c,0x69,0x76,0x34,0x20,0x2c,0x69,0x76,0x35,0x2c,0x69,0x76,0x36,0x2c,0x69, + 0x76,0x37,0x2c,0x0a,0x69,0x76,0x30,0x20,0x2c,0x69,0x76,0x31,0x2c,0x69,0x76,0x32,0x2c,0x69,0x76,0x33,0x2c,0x69,0x76,0x34,0x5e,0x31,0x32,0x38,0x2c,0x69,0x76,0x35, + 0x2c,0x69,0x76,0x36,0x2c,0x69,0x76,0x37,0x2c,0x0a,0x7d,0x3b,0x0a,0x42,0x4c,0x41,0x4b,0x45,0x32,0x42,0x5f,0x52,0x4f,0x55,0x4e,0x44,0x53,0x28,0x29,0x3b,0x0a,0x75, + 0x6c,0x6f,0x6e,0x67,0x20,0x68,0x5b,0x38,0x5d,0x3b,0x0a,0x76,0x5b,0x30,0x5d,0x3d,0x68,0x5b,0x30,0x5d,0x3d,0x76,0x5b,0x30,0x5d,0x5e,0x76,0x5b,0x38,0x5d,0x5e,0x69, + 0x76,0x30,0x5e,0x28,0x30,0x78,0x30,0x31,0x30,0x31,0x30,0x30,0x30,0x30,0x75,0x7c,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x29,0x3b,0x0a,0x76,0x5b,0x31,0x5d,0x3d,0x68, + 0x5b,0x31,0x5d,0x3d,0x76,0x5b,0x31,0x5d,0x5e,0x76,0x5b,0x39,0x5d,0x5e,0x69,0x76,0x31,0x3b,0x0a,0x76,0x5b,0x32,0x5d,0x3d,0x68,0x5b,0x32,0x5d,0x3d,0x76,0x5b,0x32, + 0x5d,0x5e,0x76,0x5b,0x31,0x30,0x5d,0x5e,0x69,0x76,0x32,0x3b,0x0a,0x76,0x5b,0x33,0x5d,0x3d,0x68,0x5b,0x33,0x5d,0x3d,0x76,0x5b,0x33,0x5d,0x5e,0x76,0x5b,0x31,0x31, + 0x5d,0x5e,0x69,0x76,0x33,0x3b,0x0a,0x76,0x5b,0x34,0x5d,0x3d,0x68,0x5b,0x34,0x5d,0x3d,0x76,0x5b,0x34,0x5d,0x5e,0x76,0x5b,0x31,0x32,0x5d,0x5e,0x69,0x76,0x34,0x3b, + 0x0a,0x76,0x5b,0x35,0x5d,0x3d,0x68,0x5b,0x35,0x5d,0x3d,0x76,0x5b,0x35,0x5d,0x5e,0x76,0x5b,0x31,0x33,0x5d,0x5e,0x69,0x76,0x35,0x3b,0x0a,0x76,0x5b,0x36,0x5d,0x3d, + 0x68,0x5b,0x36,0x5d,0x3d,0x76,0x5b,0x36,0x5d,0x5e,0x76,0x5b,0x31,0x34,0x5d,0x5e,0x69,0x76,0x36,0x3b,0x0a,0x76,0x5b,0x37,0x5d,0x3d,0x68,0x5b,0x37,0x5d,0x3d,0x76, + 0x5b,0x37,0x5d,0x5e,0x76,0x5b,0x31,0x35,0x5d,0x5e,0x69,0x76,0x37,0x3b,0x0a,0x76,0x5b,0x38,0x5d,0x3d,0x69,0x76,0x30,0x3b,0x0a,0x76,0x5b,0x39,0x5d,0x3d,0x69,0x76, + 0x31,0x3b,0x0a,0x76,0x5b,0x31,0x30,0x5d,0x3d,0x69,0x76,0x32,0x3b,0x0a,0x76,0x5b,0x31,0x31,0x5d,0x3d,0x69,0x76,0x33,0x3b,0x0a,0x76,0x5b,0x31,0x32,0x5d,0x3d,0x69, + 0x76,0x34,0x5e,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3b,0x0a,0x76,0x5b,0x31,0x33,0x5d,0x3d,0x69,0x76,0x35,0x3b,0x0a,0x76,0x5b,0x31,0x34,0x5d,0x3d,0x7e,0x69,0x76,0x36, + 0x3b,0x0a,0x76,0x5b,0x31,0x35,0x5d,0x3d,0x69,0x76,0x37,0x3b,0x0a,0x6d,0x5b,0x20,0x30,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x32,0x38,0x29,0x3f, + 0x69,0x6e,0x5b,0x31,0x36,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x31,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x33,0x36,0x29,0x3f,0x69,0x6e,0x5b, + 0x31,0x37,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x32,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x34,0x34,0x29,0x3f,0x69,0x6e,0x5b,0x31,0x38,0x5d, + 0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x33,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x35,0x32,0x29,0x3f,0x69,0x6e,0x5b,0x31,0x39,0x5d,0x3a,0x30,0x3b, + 0x0a,0x6d,0x5b,0x20,0x34,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x36,0x30,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x30,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b, + 0x20,0x35,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x36,0x38,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x31,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x36,0x5d, + 0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x37,0x36,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x32,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x37,0x5d,0x3d,0x28,0x69, + 0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x38,0x34,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x33,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x38,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c, + 0x65,0x6e,0x3e,0x31,0x39,0x32,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x34,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x20,0x39,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e, + 0x32,0x30,0x30,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x35,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x30,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x30,0x38, + 0x29,0x3f,0x69,0x6e,0x5b,0x32,0x36,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x31,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x31,0x36,0x29,0x3f,0x69, + 0x6e,0x5b,0x32,0x37,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x32,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x32,0x34,0x29,0x3f,0x69,0x6e,0x5b,0x32, + 0x38,0x5d,0x3a,0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x33,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x33,0x32,0x29,0x3f,0x69,0x6e,0x5b,0x32,0x39,0x5d,0x3a, + 0x30,0x3b,0x0a,0x6d,0x5b,0x31,0x34,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x34,0x30,0x29,0x3f,0x69,0x6e,0x5b,0x33,0x30,0x5d,0x3a,0x30,0x3b,0x0a, + 0x6d,0x5b,0x31,0x35,0x5d,0x3d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x34,0x38,0x29,0x3f,0x69,0x6e,0x5b,0x33,0x31,0x5d,0x3a,0x30,0x3b,0x0a,0x69,0x66,0x28, + 0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x20,0x25,0x20,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x0a,0x6d,0x5b,0x28,0x69,0x6e,0x5f,0x6c,0x65, + 0x6e,0x2d,0x31,0x32,0x38,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x5d,0x20,0x26,0x3d,0x20,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29, + 0x28,0x2d,0x31,0x29,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x28,0x69,0x6e,0x5f,0x6c,0x65,0x6e,0x20,0x25,0x20,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67, + 0x29,0x29,0x2a,0x38,0x29,0x3b,0x0a,0x42,0x4c,0x41,0x4b,0x45,0x32,0x42,0x5f,0x52,0x4f,0x55,0x4e,0x44,0x53,0x28,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f, + 0x6c,0x65,0x6e,0x3e,0x30,0x29,0x20,0x6f,0x75,0x74,0x5b,0x30,0x5d,0x3d,0x68,0x5b,0x30,0x5d,0x5e,0x76,0x5b,0x30,0x5d,0x5e,0x76,0x5b,0x38,0x5d,0x3b,0x0a,0x69,0x66, + 0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x38,0x29,0x20,0x6f,0x75,0x74,0x5b,0x31,0x5d,0x3d,0x68,0x5b,0x31,0x5d,0x5e,0x76,0x5b,0x31,0x5d,0x5e,0x76,0x5b,0x39, + 0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x36,0x29,0x20,0x6f,0x75,0x74,0x5b,0x32,0x5d,0x3d,0x68,0x5b,0x32,0x5d,0x5e,0x76,0x5b, + 0x32,0x5d,0x5e,0x76,0x5b,0x31,0x30,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x34,0x29,0x20,0x6f,0x75,0x74,0x5b,0x33,0x5d,0x3d, + 0x68,0x5b,0x33,0x5d,0x5e,0x76,0x5b,0x33,0x5d,0x5e,0x76,0x5b,0x31,0x31,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x33,0x32,0x29,0x20, + 0x6f,0x75,0x74,0x5b,0x34,0x5d,0x3d,0x68,0x5b,0x34,0x5d,0x5e,0x76,0x5b,0x34,0x5d,0x5e,0x76,0x5b,0x31,0x32,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c, + 0x65,0x6e,0x3e,0x34,0x30,0x29,0x20,0x6f,0x75,0x74,0x5b,0x35,0x5d,0x3d,0x68,0x5b,0x35,0x5d,0x5e,0x76,0x5b,0x35,0x5d,0x5e,0x76,0x5b,0x31,0x33,0x5d,0x3b,0x0a,0x69, + 0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x34,0x38,0x29,0x20,0x6f,0x75,0x74,0x5b,0x36,0x5d,0x3d,0x68,0x5b,0x36,0x5d,0x5e,0x76,0x5b,0x36,0x5d,0x5e,0x76, + 0x5b,0x31,0x34,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x35,0x36,0x29,0x20,0x6f,0x75,0x74,0x5b,0x37,0x5d,0x3d,0x68,0x5b,0x37,0x5d, + 0x5e,0x76,0x5b,0x37,0x5d,0x5e,0x76,0x5b,0x31,0x35,0x5d,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65, + 0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x36,0x34,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b, + 0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62,0x5f,0x68,0x61,0x73,0x68,0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72, + 0x73,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x2a,0x6f,0x75,0x74,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62, + 0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x69,0x6e,0x2c,0x75,0x69,0x6e,0x74,0x20,0x69,0x6e,0x53,0x74,0x72,0x69,0x64,0x65,0x42, + 0x79,0x74,0x65,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d, + 0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x70,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x6c,0x6f,0x6e,0x67, + 0x2a,0x29,0x20,0x69,0x6e,0x29,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x28,0x69,0x6e,0x53,0x74,0x72,0x69,0x64,0x65,0x42,0x79,0x74, + 0x65,0x73,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e, + 0x67,0x2a,0x20,0x68,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x29,0x20,0x6f,0x75,0x74,0x29,0x2b,0x67,0x6c,0x6f, + 0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29, + 0x29,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x6d,0x5b,0x31,0x36,0x5d,0x3d,0x7b,0x20,0x70,0x5b,0x30,0x5d,0x2c,0x70,0x5b,0x31,0x5d,0x2c,0x70,0x5b,0x32,0x5d,0x2c, + 0x70,0x5b,0x33,0x5d,0x2c,0x70,0x5b,0x34,0x5d,0x2c,0x70,0x5b,0x35,0x5d,0x2c,0x70,0x5b,0x36,0x5d,0x2c,0x70,0x5b,0x37,0x5d,0x2c,0x70,0x5b,0x38,0x5d,0x2c,0x70,0x5b, + 0x39,0x5d,0x2c,0x70,0x5b,0x31,0x30,0x5d,0x2c,0x70,0x5b,0x31,0x31,0x5d,0x2c,0x70,0x5b,0x31,0x32,0x5d,0x2c,0x70,0x5b,0x31,0x33,0x5d,0x2c,0x70,0x5b,0x31,0x34,0x5d, + 0x2c,0x70,0x5b,0x31,0x35,0x5d,0x20,0x7d,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x68,0x61,0x73,0x68,0x5b,0x38,0x5d,0x3b,0x0a,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62, + 0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d,0x65,0x28,0x68, + 0x61,0x73,0x68,0x2c,0x6d,0x2c,0x70,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x30,0x29,0x20,0x68,0x5b,0x30,0x5d,0x3d,0x68,0x61,0x73, + 0x68,0x5b,0x30,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x38,0x29,0x20,0x68,0x5b,0x31,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x31,0x5d, + 0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x31,0x36,0x29,0x20,0x68,0x5b,0x32,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x32,0x5d,0x3b,0x0a,0x69, + 0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x32,0x34,0x29,0x20,0x68,0x5b,0x33,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x33,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f, + 0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x33,0x32,0x29,0x20,0x68,0x5b,0x34,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x34,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f, + 0x6c,0x65,0x6e,0x3e,0x34,0x30,0x29,0x20,0x68,0x5b,0x35,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x35,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e, + 0x3e,0x34,0x38,0x29,0x20,0x68,0x5b,0x36,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x36,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x3e,0x35,0x36, + 0x29,0x20,0x68,0x5b,0x37,0x5d,0x3d,0x68,0x61,0x73,0x68,0x5b,0x37,0x5d,0x3b,0x0a,0x7d,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x62,0x6c,0x61,0x6b,0x65,0x32,0x62, + 0x5f,0x68,0x61,0x73,0x68,0x5f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x5f,0x6e,0x61,0x6d,0x65,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x62,0x6c,0x61,0x6b, + 0x65,0x32,0x62,0x5f,0x35,0x31,0x32,0x5f,0x70,0x72,0x6f,0x63,0x65,0x73,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x62,0x6c,0x6f,0x63,0x6b,0x5f,0x6e,0x61,0x6d, + 0x65,0x0a,0x23,0x75,0x6e,0x64,0x65,0x66,0x20,0x6f,0x75,0x74,0x5f,0x6c,0x65,0x6e,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x4f,0x50,0x45,0x4e,0x43,0x4c,0x20, + 0x45,0x58,0x54,0x45,0x4e,0x53,0x49,0x4f,0x4e,0x20,0x63,0x6c,0x5f,0x6b,0x68,0x72,0x5f,0x66,0x70,0x36,0x34,0x20,0x3a,0x20,0x65,0x6e,0x61,0x62,0x6c,0x65,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x53,0x69,0x7a,0x65,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x36,0x34,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41, + 0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x20,0x2d,0x20,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x53,0x69,0x7a,0x65,0x29,0x0a,0x23,0x64,0x65,0x66,0x69, + 0x6e,0x65,0x20,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x41,0x6c,0x69,0x67,0x6e,0x4d,0x61,0x73,0x6b,0x20,0x28,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x42,0x41,0x53,0x45,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2d,0x20,0x31,0x29,0x20,0x26,0x20,0x7e,0x28,0x43,0x61,0x63,0x68,0x65, + 0x4c,0x69,0x6e,0x65,0x53,0x69,0x7a,0x65,0x20,0x2d,0x20,0x31,0x29,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x53, + 0x69,0x7a,0x65,0x20,0x35,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x53,0x69,0x7a,0x65,0x20,0x31,0x31,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73,0x6b,0x20,0x28,0x28,0x31,0x55,0x4c,0x20,0x3c,0x3c,0x20,0x6d,0x61,0x6e, + 0x74,0x69,0x73,0x73,0x61,0x53,0x69,0x7a,0x65,0x29,0x20,0x2d,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74, + 0x4d,0x61,0x73,0x6b,0x20,0x28,0x28,0x31,0x55,0x4c,0x20,0x3c,0x3c,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x53,0x69,0x7a,0x65,0x29,0x20,0x2d,0x20,0x31,0x29, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x61,0x73,0x20,0x31,0x30,0x32,0x33,0x0a,0x23,0x64,0x65,0x66,0x69, + 0x6e,0x65,0x20,0x63,0x6f,0x6e,0x73,0x74,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x20,0x30,0x78,0x33,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69, + 0x6e,0x65,0x20,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x64,0x79, + 0x6e,0x61,0x6d,0x69,0x63,0x4d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73,0x6b,0x20,0x28,0x28,0x31,0x55,0x4c,0x20,0x3c,0x3c,0x20,0x28,0x6d,0x61,0x6e,0x74, + 0x69,0x73,0x73,0x61,0x53,0x69,0x7a,0x65,0x20,0x2b,0x20,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x29,0x29, + 0x20,0x2d,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x43,0x6f,0x75,0x6e,0x74,0x20,0x38,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x20,0x28,0x52,0x65,0x67,0x69,0x73,0x74,0x65, + 0x72,0x73,0x43,0x6f,0x75,0x6e,0x74,0x20,0x2f,0x20,0x32,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x4d,0x61, + 0x73,0x6b,0x20,0x28,0x28,0x31,0x20,0x3c,0x3c,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x42,0x49,0x54,0x53,0x29,0x20,0x2d,0x20,0x31, + 0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x4f,0x66,0x66,0x73,0x65,0x74,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x74,0x6f,0x72,0x65,0x4c,0x33,0x43,0x6f,0x6e, + 0x64,0x69,0x74,0x69,0x6f,0x6e,0x20,0x31,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x44,0x61,0x74,0x61,0x73,0x65,0x74,0x45,0x78,0x74,0x72,0x61,0x49,0x74, + 0x65,0x6d,0x73,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x45,0x58,0x54,0x52,0x41,0x5f,0x53,0x49,0x5a,0x45,0x20, + 0x2f,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x44,0x41,0x54,0x41,0x53,0x45,0x54,0x5f,0x49,0x54,0x45,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x29,0x0a,0x23,0x64,0x65, + 0x66,0x69,0x6e,0x65,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4e,0x65,0x65,0x64,0x73,0x44,0x69,0x73,0x70,0x6c,0x61,0x63,0x65,0x6d,0x65,0x6e,0x74,0x20,0x35, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x09,0x09,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x09,0x09,0x33,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45, + 0x54,0x09,0x09,0x09,0x36,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x09,0x09,0x31,0x34,0x0a,0x23,0x64, + 0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x48,0x49,0x46,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x09,0x31,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53, + 0x52,0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x33,0x32,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x31,0x37,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x52, + 0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x36,0x34,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x31,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4e,0x45,0x47, + 0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x31,0x39,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4f,0x50,0x43,0x4f, + 0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x09,0x32,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4e,0x55,0x4d,0x5f,0x49,0x4e,0x53,0x54,0x53,0x5f, + 0x4f,0x46,0x46,0x53,0x45,0x54,0x09,0x32,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4e,0x55,0x4d,0x5f,0x46,0x50,0x5f,0x49,0x4e,0x53,0x54,0x53,0x5f,0x4f, + 0x46,0x46,0x53,0x45,0x54,0x09,0x32,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x09,0x09,0x09,0x28,0x38,0x20,0x3c, + 0x3c,0x20,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x63,0x68,0x61,0x72,0x20,0x75, + 0x69,0x6e,0x74,0x38,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x73,0x68,0x6f,0x72,0x74,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x5f,0x74,0x3b, + 0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x69,0x6e,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20, + 0x75,0x6c,0x6f,0x6e,0x67,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x69,0x6e,0x74,0x20,0x69,0x6e,0x74,0x33, + 0x32,0x5f,0x74,0x3b,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x6c,0x6f,0x6e,0x67,0x20,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x3b,0x0a,0x64,0x6f,0x75,0x62,0x6c, + 0x65,0x20,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x75,0x69,0x6e,0x74, + 0x36,0x34,0x5f,0x74,0x20,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e, + 0x74,0x3d,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x3e,0x3e,0x35,0x39,0x3b,0x20,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73, + 0x61,0x3d,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x26,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74, + 0x2b,0x3d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x61,0x73,0x3b,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x20,0x26,0x3d,0x20,0x65,0x78,0x70,0x6f, + 0x6e,0x65,0x6e,0x74,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x20,0x3c,0x3c,0x3d,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x53, + 0x69,0x7a,0x65,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x7c,0x6d, + 0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x29,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x67,0x65,0x74,0x53,0x74,0x61,0x74,0x69,0x63,0x45,0x78, + 0x70,0x6f,0x6e,0x65,0x6e,0x74,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x36, + 0x34,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x3d,0x63,0x6f,0x6e,0x73,0x74,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x3b,0x0a, + 0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x7c,0x3d,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x73,0x74,0x61,0x74,0x69,0x63,0x45,0x78, + 0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x29,0x29,0x3c,0x3c,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74, + 0x73,0x3b,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x20,0x3c,0x3c,0x3d,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x53,0x69,0x7a,0x65,0x3b,0x0a,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x67,0x65,0x74,0x46,0x6c,0x6f, + 0x61,0x74,0x4d,0x61,0x73,0x6b,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6d,0x61,0x73,0x6b,0x32,0x32,0x62,0x69,0x74,0x3d,0x28,0x31,0x55,0x4c,0x3c,0x3c,0x32,0x32,0x29,0x2d,0x31,0x3b, + 0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x26,0x6d,0x61,0x73,0x6b,0x32,0x32,0x62,0x69,0x74,0x29,0x7c,0x67,0x65,0x74,0x53, + 0x74,0x61,0x74,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x29,0x3b,0x0a,0x7d,0x0a,0x76,0x6f,0x69,0x64,0x20,0x73, + 0x65,0x74,0x5f,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x2a,0x64,0x73,0x74,0x5f, + 0x62,0x75,0x66,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x4e,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x76,0x61, + 0x6c,0x75,0x65,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30, + 0x29,0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32, + 0x5f,0x74,0x20,0x73,0x74,0x65,0x70,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x28,0x30,0x29,0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66, + 0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x64,0x73,0x74, + 0x3d,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x64,0x73,0x74,0x5f,0x62,0x75,0x66,0x29,0x2b,0x69,0x3b,0x0a, + 0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x69,0x3c,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x2a,0x4e,0x29,0x0a,0x7b,0x0a,0x2a, + 0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x64,0x73,0x74,0x29,0x3d,0x76,0x61,0x6c,0x75,0x65,0x3b,0x0a, + 0x64,0x73,0x74,0x2b,0x3d,0x73,0x74,0x65,0x70,0x3b,0x0a,0x69,0x2b,0x3d,0x73,0x74,0x65,0x70,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74, + 0x20,0x69,0x6d,0x75,0x6c,0x5f,0x72,0x63,0x70,0x5f,0x76,0x61,0x6c,0x75,0x65,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x69,0x76,0x69,0x73,0x6f,0x72, + 0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x28,0x64,0x69,0x76,0x69,0x73,0x6f,0x72,0x26,0x28,0x64,0x69,0x76,0x69,0x73,0x6f,0x72,0x2d,0x31,0x29,0x29,0x3d,0x3d,0x30,0x29, + 0x0a,0x7b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x31,0x55,0x4c,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20, + 0x70,0x32,0x65,0x78,0x70,0x36,0x33,0x3d,0x31,0x55,0x4c,0x3c,0x3c,0x36,0x33,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x71,0x75,0x6f,0x74,0x69,0x65, + 0x6e,0x74,0x3d,0x70,0x32,0x65,0x78,0x70,0x36,0x33,0x2f,0x64,0x69,0x76,0x69,0x73,0x6f,0x72,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x65,0x6d, + 0x61,0x69,0x6e,0x64,0x65,0x72,0x3d,0x70,0x32,0x65,0x78,0x70,0x36,0x33,0x20,0x25,0x20,0x64,0x69,0x76,0x69,0x73,0x6f,0x72,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x62,0x73,0x72,0x3d,0x33,0x31,0x2d,0x63,0x6c,0x7a,0x28,0x64,0x69,0x76,0x69,0x73,0x6f,0x72,0x29,0x3b,0x0a,0x66,0x6f, + 0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x30,0x3b,0x20,0x73,0x68,0x69,0x66,0x74,0x3c,0x3d,0x62,0x73,0x72,0x3b, + 0x20,0x2b,0x2b,0x73,0x68,0x69,0x66,0x74,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x62,0x3d,0x28,0x72,0x65,0x6d,0x61,0x69,0x6e, + 0x64,0x65,0x72,0x3e,0x3d,0x64,0x69,0x76,0x69,0x73,0x6f,0x72,0x2d,0x72,0x65,0x6d,0x61,0x69,0x6e,0x64,0x65,0x72,0x29,0x3b,0x0a,0x71,0x75,0x6f,0x74,0x69,0x65,0x6e, + 0x74,0x3d,0x28,0x71,0x75,0x6f,0x74,0x69,0x65,0x6e,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x62,0x3f,0x31,0x3a,0x30,0x29,0x3b,0x0a,0x72,0x65,0x6d,0x61,0x69,0x6e,0x64, + 0x65,0x72,0x3d,0x28,0x72,0x65,0x6d,0x61,0x69,0x6e,0x64,0x65,0x72,0x3c,0x3c,0x31,0x29,0x2d,0x28,0x62,0x3f,0x64,0x69,0x76,0x69,0x73,0x6f,0x72,0x3a,0x30,0x29,0x3b, + 0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x71,0x75,0x6f,0x74,0x69,0x65,0x6e,0x74,0x3b,0x0a,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x73,0x65, + 0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x61,0x2c,0x20,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x2c,0x20,0x76,0x61,0x6c,0x75,0x65,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20, + 0x28,0x28,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x26,0x28,0x61,0x29,0x29,0x5b,0x28,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x29,0x5d,0x20,0x3d,0x20,0x28, + 0x76,0x61,0x6c,0x75,0x65,0x29,0x3b,0x20,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x65,0x74, + 0x5f,0x62,0x79,0x74,0x65,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x61,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x70,0x6f,0x73,0x69,0x74,0x69, + 0x6f,0x6e,0x29,0x20,0x7b,0x20,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x61,0x3e,0x3e,0x28,0x70,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x3c,0x3c,0x33,0x29,0x29,0x26, + 0x30,0x78,0x46,0x46,0x3b,0x20,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x76,0x61,0x6c,0x75,0x65, + 0x2c,0x20,0x6e,0x65,0x78,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x29,0x20,0x64,0x6f,0x20,0x7b,0x20,0x69,0x66,0x20,0x28,0x28,0x76,0x61,0x6c,0x75,0x65,0x29,0x20,0x3c, + 0x20,0x28,0x6e,0x65,0x78,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x29,0x29,0x20,0x28,0x76,0x61,0x6c,0x75,0x65,0x29,0x20,0x3d,0x20,0x28,0x6e,0x65,0x78,0x74,0x5f,0x76, + 0x61,0x6c,0x75,0x65,0x29,0x3b,0x20,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x30,0x29,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f, + 0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x33,0x32,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29, + 0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x69,0x6e,0x69,0x74,0x5f,0x76,0x6d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5f,0x64,0x61,0x74,0x61,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, + 0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33, + 0x32,0x5f,0x74,0x2a,0x20,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x74,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e, + 0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3c,0x3d,0x20, + 0x32,0x35,0x36,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x20,0x65,0x78,0x65,0x63,0x5f,0x74,0x3b,0x0a,0x23,0x65,0x6c,0x73, + 0x65,0x0a,0x74,0x79,0x70,0x65,0x64,0x65,0x66,0x20,0x75,0x69,0x6e,0x74,0x31,0x36,0x5f,0x74,0x20,0x65,0x78,0x65,0x63,0x5f,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69, + 0x66,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61, + 0x6e,0x5f,0x62,0x75,0x66,0x5b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x2a,0x57,0x4f,0x52,0x4b,0x45, + 0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x2a,0x28,0x33,0x32,0x2f,0x38,0x29,0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x65,0x78,0x65,0x63,0x5f,0x74, + 0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x5d,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x75,0x66,0x66,0x65,0x72,0x28, + 0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5f,0x62,0x75,0x66,0x2c,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x65,0x78,0x65,0x63,0x75,0x74, + 0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5f,0x62,0x75,0x66,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x2c,0x30, + 0x29,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b, + 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74, + 0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x64, + 0x78,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2f,0x38,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, + 0x20,0x73,0x75,0x62,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x25,0x20,0x38,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x65, + 0x78,0x65,0x63,0x5f,0x74,0x2a,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x65, + 0x78,0x65,0x63,0x5f,0x74,0x2a,0x29,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5f,0x62,0x75,0x66,0x2b,0x28,0x67,0x65,0x74,0x5f, + 0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2f,0x38,0x29,0x2a,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53, + 0x49,0x5a,0x45,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x65,0x78,0x65,0x63, + 0x5f,0x74,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, + 0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x52,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a, + 0x29,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x2b,0x69,0x64,0x78,0x2a,0x56,0x4d,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69, + 0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x52,0x5b,0x73,0x75,0x62,0x5d,0x3d,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x3d,0x28,0x28,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5f,0x64,0x61, + 0x74,0x61,0x29,0x2b,0x69,0x64,0x78,0x2a,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74, + 0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x20,0x41,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f, + 0x62,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x29,0x28,0x52,0x2b,0x32,0x34,0x29,0x3b,0x0a,0x41,0x5b,0x73,0x75,0x62,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d, + 0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x73,0x75,0x62, + 0x5d,0x29,0x3b,0x0a,0x69,0x66,0x28,0x73,0x75,0x62,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69,0x74,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x30, + 0x29,0x0a,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x5b,0x69,0x64,0x78,0x5d,0x3d,0x30,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, + 0x32,0x2a,0x20,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x32,0x2a,0x29, + 0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x2b,0x31,0x32,0x38,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x3b,0x0a, + 0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3c,0x3d,0x20,0x32,0x35,0x36,0x0a, + 0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x30,0x3b,0x0a, + 0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x30,0x3b,0x0a,0x23, + 0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64, + 0x5b,0x38,0x5d,0x3d,0x7b,0x20,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x20,0x7d,0x3b, + 0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x52,0x41,0x4e, + 0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c, + 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x69,0x29,0x20,0x26, + 0x3d,0x20,0x7e,0x28,0x30,0x78,0x46,0x38,0x55,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x73,0x72,0x63,0x5f,0x69, + 0x6e,0x73,0x74,0x3d,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5b,0x69,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x69,0x6e,0x73,0x74,0x3d,0x73, + 0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26, + 0x30,0x78,0x66,0x66,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x73,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78, + 0x3e,0x3e,0x38,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x72,0x63,0x3d,0x28,0x69,0x6e,0x73,0x74, + 0x2e,0x78,0x3e,0x3e,0x31,0x36,0x29,0x26,0x37,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x2b,0x52,0x41, + 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, + 0x53,0x55,0x42,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48, + 0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c, + 0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20, + 0x3c,0x3d,0x20,0x32,0x35,0x36,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e, + 0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x2c,0x69,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73, + 0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x2c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61, + 0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75, + 0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52, + 0x53,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, + 0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x2b,0x52,0x41, + 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, + 0x4d,0x55,0x4c,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d, + 0x55,0x4c,0x48,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28, + 0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x29,0x0a,0x7b,0x0a, + 0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2d,0x31,0x29,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3c,0x3d,0x20,0x32,0x35,0x36,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65, + 0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x2c,0x69,0x29,0x3b,0x0a,0x73,0x65,0x74, + 0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x2c,0x31,0x29,0x3b, + 0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d, + 0x69,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d, + 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65, + 0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x2b,0x52,0x41,0x4e, + 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52, + 0x4f,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45, + 0x20,0x3c,0x3d,0x20,0x32,0x35,0x36,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61, + 0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x2c,0x69,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61, + 0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x2c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c, + 0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e, + 0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f, + 0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, + 0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41, + 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e, + 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74, + 0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3c,0x3d,0x20, + 0x32,0x35,0x36,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64, + 0x2c,0x64,0x73,0x74,0x2c,0x69,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61, + 0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x2c,0x31,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61, + 0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x73,0x72,0x63,0x2c,0x69,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73, + 0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x73,0x72,0x63,0x2c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69, + 0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72, + 0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x73,0x72,0x63,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x63,0x6f,0x6e, + 0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53, + 0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53, + 0x57,0x41,0x50,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f, + 0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, + 0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x2b,0x52, + 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, + 0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29, + 0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x69,0x29,0x7c,0x3d,0x30,0x78,0x32,0x30,0x3c,0x3c,0x38,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e, + 0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50, + 0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x2b,0x52, + 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, + 0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51, + 0x52,0x54,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52, + 0x41,0x4e,0x43,0x48,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x63,0x72,0x65,0x67,0x3d,0x64,0x73,0x74,0x3b, 0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3c,0x3d,0x20,0x32,0x35,0x36, - 0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73, - 0x74,0x2c,0x69,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65, - 0x64,0x2c,0x64,0x73,0x74,0x2c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e, - 0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d, - 0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x3b,0x0a, - 0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x2b,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, - 0x58,0x4f,0x52,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f, - 0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3c,0x3d,0x20,0x32,0x35,0x36,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74, - 0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x2c,0x69,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72, - 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x2c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a, - 0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6e,0x64, - 0x69,0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x2b,0x52, - 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f, - 0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x66, - 0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d, - 0x5f,0x53,0x49,0x5a,0x45,0x20,0x3c,0x3d,0x20,0x32,0x35,0x36,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61, - 0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x2c,0x69,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73, - 0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x2c,0x31,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72, - 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x73,0x72,0x63,0x2c,0x69,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62, - 0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x73,0x72,0x63,0x2c,0x31,0x29,0x3b,0x0a,0x23, - 0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b, - 0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x73,0x72,0x63,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6e, - 0x64,0x69,0x66,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44, - 0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x2b,0x52, - 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x69,0x29,0x7c,0x3d,0x30,0x78,0x32,0x30,0x3c,0x3c, - 0x38,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x2b, - 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d, - 0x55,0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, - 0x63,0x72,0x65,0x67,0x3d,0x64,0x73,0x74,0x3b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49, - 0x5a,0x45,0x20,0x3c,0x3d,0x20,0x32,0x35,0x36,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x63,0x68,0x61,0x6e,0x67,0x65,0x3d, - 0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74, - 0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x67,0x65, - 0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x29,0x3d,0x3d, - 0x30,0x29,0x3f,0x2d,0x31,0x3a,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x63,0x68,0x61,0x6e,0x67,0x65,0x29,0x3b,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f, - 0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x69,0x29,0x3d,0x28,0x73, - 0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x63,0x72,0x65,0x67,0x7c,0x28,0x28, - 0x6c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x3d,0x2d,0x31,0x29,0x3f,0x30,0x78,0x39,0x30,0x3a,0x30,0x78,0x31,0x30,0x29,0x29,0x3c,0x3c,0x38,0x29, - 0x7c,0x28,0x28,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x6c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x29,0x26,0x30,0x78,0x46,0x46,0x29, - 0x3c,0x3c,0x31,0x36,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x61,0x73,0x74,0x43, - 0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3b, - 0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72, - 0x61,0x6d,0x2b,0x69,0x29,0x3d,0x28,0x73,0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x46,0x46,0x55,0x29,0x7c,0x28, - 0x28,0x63,0x72,0x65,0x67,0x7c,0x30,0x78,0x31,0x30,0x29,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62, - 0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x6c,0x61,0x73,0x74,0x43,0x68, - 0x61,0x6e,0x67,0x65,0x64,0x2b,0x31,0x29,0x7c,0x3d,0x30,0x78,0x34,0x30,0x3c,0x3c,0x38,0x3b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50, - 0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3c,0x3d,0x20,0x32,0x35,0x36,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x6d,0x70,0x3d, - 0x69,0x7c,0x28,0x69,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x74,0x6d, - 0x70,0x7c,0x28,0x74,0x6d,0x70,0x3c,0x3c,0x31,0x36,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64, - 0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61, - 0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3c,0x3c,0x33,0x32,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67, - 0x65,0x64,0x3d,0x30,0x78,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x31,0x55,0x4c,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72, - 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x30,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65, - 0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x31,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43, - 0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x32,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64, - 0x5b,0x33,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x34,0x5d,0x3d,0x69,0x3b, - 0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x35,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73, - 0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x36,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73, - 0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x37,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34, - 0x5f,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72, - 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x65,0x67, - 0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x65,0x67,0x69,0x73, - 0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x46,0x50,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x53,0x63,0x72,0x61,0x74, - 0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x30,0x3b,0x0a,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x20,0x75,0x69,0x6e, - 0x74,0x33,0x32,0x5f,0x74,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x20,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x20,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x3d,0x30,0x3b, - 0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x2d,0x31,0x3b,0x0a,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x20,0x6c,0x61,0x73,0x74,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x2d,0x31,0x3b,0x0a,0x75,0x69,0x6e,0x74, - 0x33,0x32,0x5f,0x74,0x20,0x6e,0x75,0x6d,0x5f,0x73,0x6c,0x6f,0x74,0x73,0x5f,0x75,0x73,0x65,0x64,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, - 0x6e,0x75,0x6d,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x73,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x69,0x72,0x73, - 0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x2d,0x31,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x66,0x69,0x72,0x73, - 0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x66,0x70,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x75,0x70,0x64, - 0x61,0x74,0x65,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x5f,0x6d,0x61,0x72,0x6b,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f, - 0x6f,0x6c,0x20,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63, - 0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d, - 0x30,0x3b,0x20,0x69,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a, - 0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x69,0x6e,0x73,0x74,0x3d,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5b,0x69, - 0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x30,0x78,0x66,0x66,0x3b,0x0a, - 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x73,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x38,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x72,0x63,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x31,0x36,0x29,0x26,0x37,0x3b,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6d,0x6f,0x64,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x32,0x34,0x29,0x3b,0x0a, - 0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x28,0x30, - 0x78,0x34,0x30,0x3c,0x3c,0x38,0x29,0x29,0x21,0x3d,0x30,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74, - 0x29,0x0a,0x7b,0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73, - 0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x31,0x3b,0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x5f, - 0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x73,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67, - 0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x73,0x72,0x63,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c, - 0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x73,0x72,0x63,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x72,0x65,0x67,0x5f, - 0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x28,0x64,0x73,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3e,0x73,0x72,0x63,0x5f,0x6c,0x61, - 0x74,0x65,0x6e,0x63,0x79,0x29,0x3f,0x64,0x73,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3a,0x73,0x72,0x63,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6d,0x65,0x6d,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d, - 0x28,0x28,0x64,0x73,0x74,0x3d,0x3d,0x73,0x72,0x63,0x29,0x26,0x26,0x28,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64, - 0x4c,0x33,0x4d,0x61,0x73,0x6b,0x36,0x34,0x29,0x3e,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x32, - 0x29,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68, - 0x70,0x61,0x64,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x75,0x6c,0x6c,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c, - 0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x6d,0x65,0x6d,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f, - 0x6d,0x61,0x78,0x28,0x66,0x75,0x6c,0x6c,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c, - 0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x30,0x3b,0x0a,0x62,0x6f,0x6f, - 0x6c,0x20,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x6d,0x65, - 0x6d,0x6f,0x72,0x79,0x5f,0x73,0x74,0x6f,0x72,0x65,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x6e,0x6f,0x70,0x3d,0x66,0x61, - 0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20, - 0x69,0x73,0x5f,0x73,0x77,0x61,0x70,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x3d, - 0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x66,0x70,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f, - 0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x64,0x6f,0x20,0x7b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65, - 0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d, - 0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65, - 0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d, - 0x66,0x75,0x6c,0x6c,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d, - 0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, - 0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61, + 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x63,0x68,0x61,0x6e,0x67,0x65,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28, + 0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65, + 0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2c,0x64,0x73,0x74,0x29,0x3d,0x3d,0x30,0x29,0x3f,0x2d,0x31,0x3a,0x28,0x69,0x6e, + 0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x63,0x68,0x61,0x6e,0x67,0x65,0x29,0x3b,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33, + 0x32,0x5f,0x74,0x2a,0x29,0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x69,0x29,0x3d,0x28,0x73,0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x2e,0x78, + 0x26,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x63,0x72,0x65,0x67,0x7c,0x28,0x28,0x6c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67, + 0x65,0x64,0x3d,0x3d,0x2d,0x31,0x29,0x3f,0x30,0x78,0x39,0x30,0x3a,0x30,0x78,0x31,0x30,0x29,0x29,0x3c,0x3c,0x38,0x29,0x7c,0x28,0x28,0x28,0x75,0x69,0x6e,0x74,0x33, + 0x32,0x5f,0x74,0x29,0x28,0x6c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x29,0x26,0x30,0x78,0x46,0x46,0x29,0x3c,0x3c,0x31,0x36,0x29,0x3b,0x0a,0x23,0x65, + 0x6c,0x73,0x65,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x72,0x65, + 0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3b,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62, + 0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x69,0x29,0x3d,0x28,0x73,0x72, + 0x63,0x5f,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x30,0x78,0x46,0x46,0x30,0x30,0x30,0x30,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x63,0x72,0x65,0x67,0x7c,0x30,0x78,0x31, + 0x30,0x29,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32, + 0x5f,0x74,0x2a,0x29,0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x6c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x2b,0x31,0x29,0x7c, + 0x3d,0x30,0x78,0x34,0x30,0x3c,0x3c,0x38,0x3b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49, + 0x5a,0x45,0x20,0x3c,0x3d,0x20,0x32,0x35,0x36,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x6d,0x70,0x3d,0x69,0x7c,0x28,0x69,0x3c,0x3c,0x38,0x29,0x3b, + 0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x74,0x6d,0x70,0x7c,0x28,0x74,0x6d,0x70,0x3c,0x3c,0x31, + 0x36,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72, + 0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64, + 0x3c,0x3c,0x33,0x32,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x30,0x78,0x30,0x31,0x30,0x31, + 0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x31,0x55,0x4c,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61, + 0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x30,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e, + 0x67,0x65,0x64,0x5b,0x31,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x32,0x5d, + 0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x33,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65, + 0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x34,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72, + 0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x35,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68, + 0x61,0x6e,0x67,0x65,0x64,0x5b,0x36,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b, + 0x37,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74, + 0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65, + 0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65, + 0x6e,0x63,0x79,0x46,0x50,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79, + 0x63,0x6c,0x65,0x46,0x50,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68, + 0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x30,0x3b,0x0a,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x53,0x63,0x72, + 0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x69,0x72,0x73,0x74,0x5f, + 0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x69,0x72,0x73,0x74,0x5f, + 0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, + 0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x2d,0x31,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x61,0x73,0x74,0x5f, + 0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x2d,0x31,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x75,0x6d,0x5f, + 0x73,0x6c,0x6f,0x74,0x73,0x5f,0x75,0x73,0x65,0x64,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x75,0x6d,0x5f,0x69,0x6e,0x73,0x74,0x72, + 0x75,0x63,0x74,0x69,0x6f,0x6e,0x73,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63, + 0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x2d,0x31,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63, + 0x74,0x69,0x6f,0x6e,0x5f,0x66,0x70,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x62,0x72,0x61,0x6e,0x63, + 0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x5f,0x6d,0x61,0x72,0x6b,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x66,0x69,0x72,0x73,0x74,0x5f, + 0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x3d, + 0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75, + 0x69,0x6e,0x74,0x32,0x20,0x69,0x6e,0x73,0x74,0x3d,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5b,0x69,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32, + 0x5f,0x74,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x30,0x78,0x66,0x66,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, + 0x64,0x73,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x38,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, + 0x74,0x20,0x73,0x72,0x63,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x31,0x36,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, + 0x33,0x32,0x5f,0x74,0x20,0x6d,0x6f,0x64,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x32,0x34,0x29,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x62, + 0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x28,0x30,0x78,0x34,0x30,0x3c,0x3c,0x38,0x29,0x29,0x21, + 0x3d,0x30,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x29,0x0a,0x7b,0x0a,0x66,0x69,0x72,0x73,0x74, + 0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x31, + 0x3b,0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68, + 0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64, + 0x73,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65, + 0x6e,0x63,0x79,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x72,0x63,0x5f,0x6c,0x61,0x74, + 0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x73,0x72, + 0x63,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65, + 0x6e,0x63,0x79,0x3d,0x28,0x64,0x73,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3e,0x73,0x72,0x63,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3f,0x64,0x73, + 0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3a,0x73,0x72,0x63,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e, + 0x74,0x33,0x32,0x5f,0x74,0x20,0x6d,0x65,0x6d,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x28,0x28,0x64,0x73,0x74,0x3d,0x3d,0x73,0x72, + 0x63,0x29,0x26,0x26,0x28,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x36,0x34,0x29, + 0x3e,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x32,0x29,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63, + 0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x61,0x74,0x65,0x6e,0x63, + 0x79,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x75,0x6c,0x6c,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x6d,0x65, + 0x6d,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x66,0x75,0x6c,0x6c,0x5f, + 0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a, + 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x30,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f, + 0x72,0x79,0x5f,0x6f,0x70,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x73,0x74,0x6f,0x72, + 0x65,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x6e,0x6f,0x70,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c, + 0x20,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x73,0x77,0x61,0x70,0x3d,0x66, + 0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x6f,0x6f, + 0x6c,0x20,0x69,0x73,0x5f,0x66,0x70,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x3d,0x66, + 0x61,0x6c,0x73,0x65,0x3b,0x0a,0x64,0x6f,0x20,0x7b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61, 0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x66,0x75,0x6c,0x6c,0x5f,0x72,0x65,0x61,0x64,0x5f, - 0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61, - 0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d, - 0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x29, - 0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62,0x72,0x65, - 0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f, - 0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d, - 0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x66,0x75,0x6c,0x6c,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x69, - 0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64, - 0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64, - 0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63, + 0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x66,0x75,0x6c,0x6c,0x5f,0x72,0x65,0x61,0x64, + 0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65, + 0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f, + 0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52, + 0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62,0x72, + 0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42, + 0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f, + 0x4d,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x66,0x75,0x6c,0x6c,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a, + 0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f, + 0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f, + 0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63, 0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70, - 0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74, - 0x65,0x6e,0x63,0x79,0x3d,0x66,0x75,0x6c,0x6c,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72, - 0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67, - 0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d, - 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65, - 0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63, - 0x79,0x3d,0x66,0x75,0x6c,0x6c,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f, - 0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x29,0x0a,0x7b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x3d,0x66, - 0x61,0x6c,0x73,0x65,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2d,0x31,0x29,0x29,0x0a,0x6c,0x61,0x74,0x65, - 0x6e,0x63,0x79,0x3d,0x64,0x73,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x73,0x5f,0x6e,0x6f,0x70,0x3d,0x74,0x72,0x75, - 0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, - 0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x6c, - 0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x64,0x73,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e, - 0x63,0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70, - 0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70, - 0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65, - 0x6e,0x63,0x79,0x3d,0x66,0x75,0x6c,0x6c,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79, - 0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f, - 0x52,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62, - 0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f, - 0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f, - 0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x73,0x5f,0x73,0x77, - 0x61,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x66,0x28,0x64,0x73,0x74,0x21,0x3d,0x73,0x72,0x63,0x29,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65, - 0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x73,0x5f,0x6e,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65, + 0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63, + 0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e, + 0x63,0x79,0x3d,0x66,0x75,0x6c,0x6c,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f, + 0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65,0x61, + 0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x66,0x75,0x6c,0x6c, + 0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65, 0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69, + 0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, + 0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74, + 0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x66,0x75,0x6c,0x6c,0x5f,0x72,0x65, + 0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62, + 0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d, + 0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d, + 0x55,0x4c,0x5f,0x52,0x43,0x50,0x29,0x0a,0x7b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x69,0x66,0x28, + 0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2d,0x31,0x29,0x29,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x64,0x73,0x74,0x5f,0x6c, + 0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x73,0x5f,0x6e,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b, + 0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50, + 0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x29, + 0x0a,0x7b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x64,0x73, + 0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65, + 0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e, + 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x66,0x75,0x6c,0x6c,0x5f, + 0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b, + 0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, + 0x58,0x4f,0x52,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52, + 0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65, + 0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f, + 0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x73,0x5f,0x73,0x77,0x61,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a, + 0x69,0x66,0x28,0x64,0x73,0x74,0x21,0x3d,0x73,0x72,0x63,0x29,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61, + 0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x73,0x5f,0x6e,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a, + 0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a, + 0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a, + 0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e, + 0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65, + 0x61,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x20,0x25,0x3d,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65, + 0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69, 0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a, 0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f, - 0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x20,0x25, - 0x3d,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f, - 0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x69,0x73,0x5f, - 0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61, - 0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52, - 0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x29, + 0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f, + 0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x20,0x25,0x3d, + 0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62, + 0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x75,0x70,0x64,0x61, + 0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x73,0x72,0x63,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x75,0x70,0x64, + 0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x61,0x74,0x65,0x6e,0x63, + 0x79,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75, + 0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, + 0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, + 0x46,0x53,0x55,0x42,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x20,0x25,0x3d,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c, + 0x74,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65, + 0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72, + 0x65,0x61,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x20,0x25,0x3d,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65, + 0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69, + 0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c, + 0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x73,0x72,0x63,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28, + 0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66, + 0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b, + 0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x3b, + 0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x29, 0x0a,0x7b,0x0a,0x64,0x73,0x74,0x20,0x25,0x3d,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x3b,0x0a,0x6c,0x61,0x74,0x65, 0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64, - 0x73,0x74,0x29,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x73,0x72,0x63,0x5f,0x6c,0x61,0x74,0x65, - 0x6e,0x63,0x79,0x29,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x53,0x63,0x72,0x61,0x74,0x63,0x68, - 0x70,0x61,0x64,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f, - 0x72,0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e, - 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x20,0x25,0x3d,0x20,0x52,0x65,0x67,0x69,0x73,0x74, - 0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67, - 0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b, - 0x0a,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x20,0x25, - 0x3d,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f, - 0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x75,0x70,0x64, - 0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x73,0x72,0x63,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x75,0x70, - 0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x61,0x74,0x65,0x6e, - 0x63,0x79,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72, - 0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, - 0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x20,0x25,0x3d,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74, - 0x46,0x6c,0x74,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61, - 0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63, - 0x5f,0x72,0x65,0x61,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x3d,0x28,0x64,0x73,0x74,0x20,0x25,0x20, - 0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x2b,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46, - 0x6c,0x74,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74, - 0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f, - 0x72,0x65,0x61,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e, - 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x3d,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65, - 0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x2b,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74, - 0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e, - 0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x73,0x72, - 0x63,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x53, - 0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69, - 0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64, - 0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64, - 0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x3d,0x28,0x64, - 0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x2b,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43, - 0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74, - 0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73, - 0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65, - 0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64, - 0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x29,0x0a,0x7b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63, - 0x5f,0x72,0x65,0x61,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x6c,0x61,0x74, - 0x65,0x6e,0x63,0x79,0x3d,0x64,0x73,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c, - 0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x31,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a, - 0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x3b,0x0a, - 0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x29,0x0a, - 0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x73,0x72,0x63,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x69,0x73,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e, - 0x64,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64, - 0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x28,0x6c,0x61, - 0x73,0x74,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41, - 0x53,0x48,0x29,0x2f,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79, - 0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x73,0x74,0x6f,0x72,0x65,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a, - 0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53, - 0x54,0x4f,0x52,0x45,0x3b,0x0a,0x69,0x73,0x5f,0x6e,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x66,0x61,0x6c,0x73, - 0x65,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x6e,0x6f,0x70,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61, - 0x72,0x67,0x65,0x74,0x29,0x0a,0x7b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x5f,0x6d,0x61,0x72, - 0x6b,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x75,0x70,0x64,0x61,0x74,0x65,0x5f, - 0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x5f,0x6d,0x61,0x72,0x6b,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, - 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x69,0x29,0x7c,0x3d,0x30,0x78,0x34,0x30, - 0x3c,0x3c,0x38,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x5f,0x6d,0x61,0x72,0x6b,0x3d,0x66, - 0x61,0x6c,0x73,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x69, - 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f, - 0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x66,0x69,0x72,0x73,0x74, - 0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2c,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45, - 0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x29,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d, - 0x61,0x78,0x28,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2c,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f, - 0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d, - 0x61,0x78,0x28,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2c,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x69, - 0x73,0x5f,0x66,0x70,0x3f,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x46,0x50,0x3a,0x72,0x65,0x67,0x69,0x73,0x74,0x65, - 0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x2c,0x64,0x73,0x74,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48, - 0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x73,0x77,0x61,0x70,0x29,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x66,0x69,0x72,0x73,0x74,0x5f, - 0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2c,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65, - 0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x2c,0x73,0x72,0x63,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x3b,0x0a, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x3d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c, - 0x6f,0x74,0x2b,0x31,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2c,0x66,0x69,0x72, - 0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x66,0x70,0x29,0x0a,0x7b,0x0a,0x73,0x6c, - 0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x3d,0x2d,0x31,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x3d,0x66,0x69,0x72, - 0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x20,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x3c,0x30,0x3b,0x20, - 0x2b,0x2b,0x6a,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6a,0x5d,0x3d,0x3d,0x30,0x29, - 0x26,0x26,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6a,0x2b,0x31,0x5d,0x3d,0x3d,0x30,0x29,0x26,0x26,0x28,0x28,0x6a,0x2b, - 0x31,0x29,0x20,0x25,0x20,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x29,0x0a,0x7b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x62, - 0x6c,0x6f,0x63,0x6b,0x65,0x64,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6b,0x3d,0x28,0x6a,0x2f, - 0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41, - 0x53,0x48,0x3b,0x20,0x6b,0x3c,0x6a,0x3b,0x20,0x2b,0x2b,0x6b,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61, - 0x6e,0x5b,0x6b,0x5d,0x7c,0x7c,0x28,0x6b,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74, - 0x29,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x73,0x74,0x3d,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f, - 0x67,0x72,0x61,0x6d,0x5b,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6b,0x5d,0x5d,0x2e,0x78,0x3b,0x0a,0x69,0x66,0x28,0x28,0x28, - 0x69,0x6e,0x73,0x74,0x26,0x28,0x30,0x78,0x32,0x30,0x3c,0x3c,0x38,0x29,0x29,0x3d,0x3d,0x30,0x29,0x26,0x26,0x28,0x28,0x28,0x69,0x6e,0x73,0x74,0x26,0x28,0x30,0x78, - 0x35,0x30,0x3c,0x3c,0x38,0x29,0x29,0x21,0x3d,0x30,0x29,0x7c,0x7c,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x29,0x29,0x0a, - 0x7b,0x0a,0x62,0x6c,0x6f,0x63,0x6b,0x65,0x64,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a, - 0x69,0x66,0x28,0x21,0x62,0x6c,0x6f,0x63,0x6b,0x65,0x64,0x29,0x0a,0x7b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6b,0x3d,0x28,0x6a, - 0x2f,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48, - 0x41,0x53,0x48,0x3b,0x20,0x6b,0x3c,0x6a,0x3b,0x20,0x2b,0x2b,0x6b,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c, - 0x61,0x6e,0x5b,0x6b,0x5d,0x7c,0x7c,0x28,0x6b,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f, - 0x74,0x29,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x73,0x74,0x3d,0x73,0x72,0x63,0x5f,0x70,0x72, - 0x6f,0x67,0x72,0x61,0x6d,0x5b,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6b,0x5d,0x5d,0x2e,0x78,0x3b,0x0a,0x69,0x66,0x28,0x28, - 0x69,0x6e,0x73,0x74,0x26,0x28,0x30,0x78,0x32,0x30,0x3c,0x3c,0x38,0x29,0x29,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f, - 0x70,0x6c,0x61,0x6e,0x5b,0x6a,0x5d,0x3d,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6b,0x5d,0x3b,0x0a,0x65,0x78,0x65,0x63,0x75, - 0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6a,0x2b,0x31,0x5d,0x3d,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6b,0x2b, - 0x31,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x3d,0x6b, - 0x29,0x20,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x6a,0x3b,0x0a,0x69,0x66,0x28,0x66, - 0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x3d,0x6b,0x2b,0x31,0x29,0x20,0x66,0x69,0x72,0x73, - 0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x6a,0x2b,0x31,0x3b,0x0a,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f, - 0x75,0x73,0x65,0x3d,0x6b,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75, - 0x73,0x65,0x3c,0x30,0x29,0x0a,0x7b,0x0a,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x3d,0x6a,0x3b,0x0a,0x7d,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a, - 0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x3d,0x66,0x69, - 0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x20,0x6a,0x3c,0x3d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73, - 0x6c,0x6f,0x74,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6a,0x5d, - 0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x3d,0x6a,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x7d, - 0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f, - 0x73,0x6c,0x6f,0x74,0x3d,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x3b,0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74, - 0x69,0x6f,0x6e,0x5f,0x66,0x70,0x3d,0x69,0x73,0x5f,0x66,0x70,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x29,0x0a,0x7b, - 0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x3d,0x73,0x6c,0x6f,0x74, - 0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2d,0x28,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x20,0x25,0x20,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50, - 0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2b,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x3b,0x0a,0x7d,0x0a,0x2b,0x2b,0x6e, - 0x75,0x6d,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x73,0x3b,0x0a,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b, - 0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x5d,0x3d,0x69,0x3b,0x0a,0x2b,0x2b,0x6e,0x75,0x6d,0x5f,0x73,0x6c,0x6f,0x74,0x73,0x5f,0x75,0x73,0x65,0x64, - 0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x66,0x70,0x29,0x0a,0x7b,0x0a,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x73,0x6c,0x6f, - 0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2b,0x31,0x5d,0x3d,0x69,0x3b,0x0a,0x2b,0x2b,0x6e,0x75,0x6d,0x5f,0x73,0x6c,0x6f,0x74,0x73,0x5f,0x75,0x73,0x65,0x64,0x3b, - 0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x28, - 0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2f,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2b,0x31,0x3b, - 0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x76,0x61,0x6c,0x75,0x65, - 0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x2c,0x73,0x72,0x63,0x29, + 0x73,0x74,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x3d,0x66,0x61,0x6c, + 0x73,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x3d,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43, + 0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x2b,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e, + 0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73, + 0x74,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x3d,0x66,0x61,0x6c,0x73, + 0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, + 0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, + 0x46,0x44,0x49,0x56,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x3d,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75, + 0x6e,0x74,0x46,0x6c,0x74,0x29,0x2b,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79, + 0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x29, + 0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x73,0x72,0x63,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79, + 0x29,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64, + 0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f, + 0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x3d,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69, + 0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x2b,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x3b,0x0a, + 0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79, + 0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x66,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64, + 0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x29,0x0a,0x7b,0x0a,0x69,0x73,0x5f,0x73,0x72,0x63,0x5f,0x72,0x65,0x61,0x64,0x3d,0x66,0x61,0x6c, + 0x73,0x65,0x3b,0x0a,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x64,0x73,0x74,0x5f, + 0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x6c,0x61, + 0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x31,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d, + 0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65, + 0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79, + 0x3d,0x73,0x72,0x63,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b,0x0a,0x69,0x73,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62, + 0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52, + 0x4f,0x55,0x4e,0x44,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54, + 0x4f,0x52,0x45,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x5f,0x72,0x65,0x61,0x64,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3b, + 0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x28,0x6c,0x61,0x73,0x74,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79, + 0x5f,0x6f,0x70,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2f,0x57,0x4f,0x52,0x4b,0x45, + 0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x3b,0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b, + 0x0a,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x73,0x74,0x6f,0x72,0x65,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a, + 0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x3b,0x0a,0x69,0x73,0x5f, + 0x6e,0x6f,0x70,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x66,0x61,0x6c,0x73,0x65,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73, + 0x5f,0x6e,0x6f,0x70,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x29,0x0a,0x7b,0x0a,0x75, + 0x70,0x64,0x61,0x74,0x65,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x5f,0x6d,0x61,0x72,0x6b,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x7d, + 0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61, + 0x72,0x67,0x65,0x74,0x5f,0x6d,0x61,0x72,0x6b,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, + 0x2a,0x29,0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x69,0x29,0x7c,0x3d,0x30,0x78,0x34,0x30,0x3c,0x3c,0x38,0x3b,0x0a,0x75,0x70,0x64,0x61, + 0x74,0x65,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x5f,0x6d,0x61,0x72,0x6b,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x69,0x73,0x5f, + 0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x69, + 0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65, + 0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f, + 0x73,0x6c,0x6f,0x74,0x2c,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x3b,0x0a, + 0x69,0x66,0x28,0x69,0x73,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x29,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x66,0x69,0x72,0x73,0x74,0x5f, + 0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2c,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x5f, + 0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x66,0x69,0x72,0x73,0x74,0x5f, + 0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2c,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x69,0x73,0x5f,0x66,0x70,0x3f,0x72,0x65,0x67,0x69, + 0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x46,0x50,0x3a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c, + 0x65,0x2c,0x64,0x73,0x74,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f, + 0x73,0x77,0x61,0x70,0x29,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73, + 0x6c,0x6f,0x74,0x2c,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x2c,0x73, + 0x72,0x63,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73, + 0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x3d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x31,0x3b,0x0a,0x75,0x70,0x64, + 0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2c,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65, + 0x64,0x5f,0x73,0x6c,0x6f,0x74,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x66,0x70,0x29,0x0a,0x7b,0x0a,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65, + 0x3d,0x2d,0x31,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65, + 0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x20,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x3c,0x30,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x7b,0x0a,0x69,0x66, + 0x28,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6a,0x5d,0x3d,0x3d,0x30,0x29,0x26,0x26,0x28,0x65,0x78,0x65,0x63,0x75,0x74, + 0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6a,0x2b,0x31,0x5d,0x3d,0x3d,0x30,0x29,0x26,0x26,0x28,0x28,0x6a,0x2b,0x31,0x29,0x20,0x25,0x20,0x57,0x4f,0x52,0x4b, + 0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x29,0x0a,0x7b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x62,0x6c,0x6f,0x63,0x6b,0x65,0x64,0x3d,0x66,0x61, + 0x6c,0x73,0x65,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6b,0x3d,0x28,0x6a,0x2f,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50, + 0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x3b,0x20,0x6b,0x3c,0x6a,0x3b,0x20, + 0x2b,0x2b,0x6b,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6b,0x5d,0x7c,0x7c,0x28,0x6b,0x3d, + 0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x29,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x73,0x74,0x3d,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5b,0x65,0x78,0x65,0x63, + 0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6b,0x5d,0x5d,0x2e,0x78,0x3b,0x0a,0x69,0x66,0x28,0x28,0x28,0x69,0x6e,0x73,0x74,0x26,0x28,0x30,0x78,0x32, + 0x30,0x3c,0x3c,0x38,0x29,0x29,0x3d,0x3d,0x30,0x29,0x26,0x26,0x28,0x28,0x28,0x69,0x6e,0x73,0x74,0x26,0x28,0x30,0x78,0x35,0x30,0x3c,0x3c,0x38,0x29,0x29,0x21,0x3d, + 0x30,0x29,0x7c,0x7c,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x29,0x29,0x0a,0x7b,0x0a,0x62,0x6c,0x6f,0x63,0x6b,0x65,0x64, + 0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x21,0x62,0x6c,0x6f,0x63,0x6b, + 0x65,0x64,0x29,0x0a,0x7b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6b,0x3d,0x28,0x6a,0x2f,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f, + 0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x3b,0x20,0x6b,0x3c,0x6a,0x3b, + 0x20,0x2b,0x2b,0x6b,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6b,0x5d,0x7c,0x7c,0x28,0x6b, + 0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x29,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x73,0x74,0x3d,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5b,0x65,0x78,0x65, + 0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6b,0x5d,0x5d,0x2e,0x78,0x3b,0x0a,0x69,0x66,0x28,0x28,0x69,0x6e,0x73,0x74,0x26,0x28,0x30,0x78,0x32, + 0x30,0x3c,0x3c,0x38,0x29,0x29,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6a,0x5d,0x3d,0x65, + 0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6b,0x5d,0x3b,0x0a,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e, + 0x5b,0x6a,0x2b,0x31,0x5d,0x3d,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6b,0x2b,0x31,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x66,0x69, + 0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x3d,0x6b,0x29,0x20,0x66,0x69,0x72,0x73,0x74,0x5f,0x69, + 0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x6a,0x3b,0x0a,0x69,0x66,0x28,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74, + 0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x3d,0x6b,0x2b,0x31,0x29,0x20,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63, + 0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x6a,0x2b,0x31,0x3b,0x0a,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x3d,0x6b,0x3b,0x0a,0x62,0x72, + 0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x3c,0x30,0x29,0x0a,0x7b,0x0a,0x73, + 0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x3d,0x6a,0x3b,0x0a,0x7d,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x65, + 0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6a,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77, + 0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x20,0x6a,0x3c,0x3d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x20,0x2b,0x2b,0x6a,0x29, + 0x0a,0x7b,0x0a,0x69,0x66,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6a,0x5d,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x73,0x6c, + 0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x3d,0x6a,0x3b,0x0a,0x62,0x72,0x65,0x61,0x6b,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x3d,0x3d, + 0x30,0x29,0x0a,0x7b,0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x73,0x6c,0x6f,0x74, + 0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x3b,0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x66,0x70,0x3d,0x69,0x73, + 0x5f,0x66,0x70,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x29,0x0a,0x7b,0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c, + 0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x3d,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2d,0x28, + 0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x20,0x25,0x20,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2b, + 0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x3b,0x0a,0x7d,0x0a,0x2b,0x2b,0x6e,0x75,0x6d,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75, + 0x63,0x74,0x69,0x6f,0x6e,0x73,0x3b,0x0a,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75, + 0x73,0x65,0x5d,0x3d,0x69,0x3b,0x0a,0x2b,0x2b,0x6e,0x75,0x6d,0x5f,0x73,0x6c,0x6f,0x74,0x73,0x5f,0x75,0x73,0x65,0x64,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x66, + 0x70,0x29,0x0a,0x7b,0x0a,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2b, + 0x31,0x5d,0x3d,0x69,0x3b,0x0a,0x2b,0x2b,0x6e,0x75,0x6d,0x5f,0x73,0x6c,0x6f,0x74,0x73,0x5f,0x75,0x73,0x65,0x64,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x28,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75, + 0x73,0x65,0x2f,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2b,0x31,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x73,0x72, + 0x63,0x5f,0x72,0x65,0x61,0x64,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65, + 0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x2c,0x73,0x72,0x63,0x29,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f, + 0x6d,0x61,0x78,0x28,0x76,0x61,0x6c,0x75,0x65,0x2c,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2f,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45, + 0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79, + 0x63,0x6c,0x65,0x2c,0x73,0x72,0x63,0x2c,0x76,0x61,0x6c,0x75,0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f, + 0x70,0x29,0x0a,0x7b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x73,0x74,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x5f,0x73, + 0x6c,0x6f,0x74,0x2c,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e, + 0x64,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x3d,0x6e,0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e, + 0x63,0x79,0x7c,0x28,0x6e,0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61, + 0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x3d,0x74,0x7c,0x28,0x74,0x3c,0x3c,0x31,0x36,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e, + 0x63,0x79,0x46,0x50,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x7c,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72, + 0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x3c,0x3c,0x33,0x32,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x69,0x73,0x5f,0x66,0x70,0x29, + 0x0a,0x7b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73, + 0x74,0x2c,0x6e,0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x67, + 0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x46,0x50,0x2c,0x64,0x73,0x74,0x29, 0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x76,0x61,0x6c,0x75,0x65,0x2c,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2f,0x57, 0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73, - 0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x2c,0x73,0x72,0x63,0x2c,0x76,0x61,0x6c,0x75,0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x73, - 0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x29,0x0a,0x7b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x73,0x74,0x5f,0x6d,0x65, - 0x6d,0x6f,0x72,0x79,0x5f,0x6f,0x70,0x5f,0x73,0x6c,0x6f,0x74,0x2c,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28, - 0x69,0x73,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x3d,0x6e, - 0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x7c,0x28,0x6e,0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x72, - 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x3d,0x74,0x7c,0x28,0x74,0x3c,0x3c,0x31,0x36,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69, - 0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x7c, - 0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x46,0x50,0x3c,0x3c,0x33,0x32,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20, - 0x69,0x66,0x28,0x69,0x73,0x5f,0x66,0x70,0x29,0x0a,0x7b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74, - 0x65,0x6e,0x63,0x79,0x46,0x50,0x2c,0x64,0x73,0x74,0x2c,0x6e,0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63, - 0x6c,0x65,0x46,0x50,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x76,0x61,0x6c,0x75,0x65,0x2c,0x73,0x6c,0x6f,0x74, - 0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2f,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62, - 0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x46,0x50,0x2c,0x64,0x73,0x74,0x2c,0x76,0x61,0x6c,0x75, - 0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x21,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x73,0x74,0x6f,0x72,0x65, - 0x26,0x26,0x21,0x69,0x73,0x5f,0x6e,0x6f,0x70,0x29,0x0a,0x7b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61, - 0x74,0x65,0x6e,0x63,0x79,0x2c,0x64,0x73,0x74,0x2c,0x6e,0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x73, - 0x77,0x61,0x70,0x29,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x73,0x72, - 0x63,0x2c,0x6e,0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x67, - 0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a, - 0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x76,0x61,0x6c,0x75,0x65,0x2c,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2f,0x57,0x4f,0x52, - 0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65, - 0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x2c,0x64,0x73,0x74,0x2c,0x76,0x61,0x6c,0x75,0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x62, - 0x72,0x61,0x6e,0x63,0x68,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x3d,0x6e,0x65,0x78,0x74,0x5f,0x6c, - 0x61,0x74,0x65,0x6e,0x63,0x79,0x7c,0x28,0x6e,0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74, - 0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x74,0x7c,0x28,0x74,0x3c,0x3c,0x31,0x36,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74, - 0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x7c,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61, - 0x74,0x65,0x6e,0x63,0x79,0x3c,0x3c,0x33,0x32,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x73,0x74,0x6f,0x72,0x65, - 0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73, - 0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x76,0x61, - 0x6c,0x75,0x65,0x2c,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2f,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48, - 0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x2c,0x64,0x73, - 0x74,0x2c,0x76,0x61,0x6c,0x75,0x65,0x29,0x3b,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x28,0x73,0x6c,0x6f, - 0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2f,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2b,0x31,0x3b,0x0a,0x69,0x66, - 0x28,0x28,0x6d,0x6f,0x64,0x3e,0x3e,0x34,0x29,0x3e,0x3d,0x53,0x74,0x6f,0x72,0x65,0x4c,0x33,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x29,0x0a,0x53,0x63,0x72, - 0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x28,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2f, - 0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2b,0x31,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x65,0x78,0x65,0x63, - 0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x5d, - 0x7c,0x7c,0x28,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69, - 0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x29,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61, - 0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x29,0x0a,0x7b,0x0a, - 0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5b,0x69,0x5d,0x2e,0x78,0x7c,0x3d,0x30,0x78,0x34,0x30,0x3c,0x3c,0x38,0x3b,0x0a,0x66,0x69,0x72,0x73,0x74, - 0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74, - 0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x66,0x70,0x29,0x0a,0x2b,0x2b,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69, - 0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x0a,0x64,0x6f,0x20,0x7b,0x0a,0x2b,0x2b,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62, - 0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x28,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62, - 0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x2a,0x57,0x4f,0x52, - 0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x26,0x26,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b, - 0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x5d,0x21,0x3d,0x30,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66, - 0x28,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x29,0x0a,0x7b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28, - 0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x2c,0x69,0x73,0x5f,0x66,0x70,0x3f,0x28,0x73,0x6c,0x6f,0x74, - 0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2b,0x32,0x29,0x3a,0x28,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2b,0x31,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x75, - 0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2c,0x69,0x73,0x5f,0x66,0x70,0x3f,0x28, - 0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2b,0x31,0x29,0x3a,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x29,0x3b,0x0a,0x77,0x68,0x69, - 0x6c,0x65,0x20,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f, - 0x74,0x5d,0x7c,0x7c,0x28,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72, - 0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x29,0x7c,0x7c,0x28,0x28,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x3d, - 0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x31,0x29,0x26,0x26,0x66,0x69,0x72,0x73,0x74, - 0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x66,0x70,0x29,0x29,0x0a,0x7b,0x0a,0x2b,0x2b,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f, - 0x73,0x6c,0x6f,0x74,0x3b,0x0a,0x7d,0x0a,0x2d,0x2d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f, - 0x66,0x70,0x26,0x26,0x28,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3e,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77, - 0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x29,0x29,0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f, - 0x73,0x6c,0x6f,0x74,0x5f,0x63,0x66,0x72,0x6f,0x75,0x6e,0x64,0x3d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x31,0x3b,0x0a,0x7d, - 0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6d,0x61,0x3d,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b, - 0x38,0x5d,0x29,0x26,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x41,0x6c,0x69,0x67,0x6e,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, - 0x20,0x6d,0x78,0x3d,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31,0x30,0x5d,0x29,0x26,0x43,0x61,0x63,0x68, - 0x65,0x4c,0x69,0x6e,0x65,0x41,0x6c,0x69,0x67,0x6e,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73, - 0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x3d,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31,0x32,0x5d, - 0x29,0x3b,0x0a,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x3d,0x28,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67, - 0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x31,0x29,0x7c,0x28,0x28,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x32,0x29, - 0x3f,0x33,0x55,0x3a,0x32,0x55,0x29,0x3c,0x3c,0x38,0x29,0x7c,0x28,0x28,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26, - 0x34,0x29,0x3f,0x35,0x55,0x3a,0x34,0x55,0x29,0x3c,0x3c,0x31,0x36,0x29,0x7c,0x28,0x28,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65, - 0x72,0x73,0x26,0x38,0x29,0x3f,0x37,0x55,0x3a,0x36,0x55,0x29,0x3c,0x3c,0x32,0x34,0x29,0x29,0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34, - 0x5f,0x74,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x61,0x74,0x61,0x73,0x65,0x74,0x4f,0x66,0x66,0x73,0x65,0x74,0x3d,0x28,0x65,0x6e,0x74, - 0x72,0x6f,0x70,0x79,0x5b,0x31,0x33,0x5d,0x26,0x44,0x61,0x74,0x61,0x73,0x65,0x74,0x45,0x78,0x74,0x72,0x61,0x49,0x74,0x65,0x6d,0x73,0x29,0x2a,0x43,0x61,0x63,0x68, - 0x65,0x4c,0x69,0x6e,0x65,0x53,0x69,0x7a,0x65,0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x65,0x4d,0x61,0x73,0x6b,0x3d,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62, - 0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x2a,0x29,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x2b,0x31,0x34,0x29,0x3b,0x0a,0x65,0x4d,0x61,0x73,0x6b,0x2e,0x78, - 0x3d,0x67,0x65,0x74,0x46,0x6c,0x6f,0x61,0x74,0x4d,0x61,0x73,0x6b,0x28,0x65,0x4d,0x61,0x73,0x6b,0x2e,0x78,0x29,0x3b,0x0a,0x65,0x4d,0x61,0x73,0x6b,0x2e,0x79,0x3d, - 0x67,0x65,0x74,0x46,0x6c,0x6f,0x61,0x74,0x4d,0x61,0x73,0x6b,0x28,0x65,0x4d,0x61,0x73,0x6b,0x2e,0x79,0x29,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, - 0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x30,0x5d,0x3d,0x6d,0x61,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x31,0x5d,0x3d,0x6d,0x78,0x3b,0x0a,0x28, - 0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x32,0x5d,0x3d,0x61, - 0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, - 0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x33,0x5d,0x3d,0x64,0x61,0x74,0x61,0x73,0x65,0x74,0x4f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a, - 0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x2a,0x29,0x28,0x52,0x2b,0x31,0x38,0x29,0x29,0x5b,0x30,0x5d,0x3d,0x65,0x4d, - 0x61,0x73,0x6b,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x3d, - 0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53, - 0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78, - 0x5f,0x66,0x73,0x63,0x61,0x6c,0x5f,0x72,0x3d,0x2d,0x31,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20, - 0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x28,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2b,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f, - 0x53,0x49,0x5a,0x45,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, - 0x20,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x2d,0x31,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, - 0x6b,0x3d,0x2d,0x31,0x3b,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x3d,0x6c,0x61,0x73,0x74,0x5f, - 0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x21,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e, - 0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x69,0x5d,0x7c,0x7c,0x28,0x69,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f, - 0x73,0x6c,0x6f,0x74,0x29,0x7c,0x7c,0x28,0x28,0x69,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c, - 0x6f,0x74,0x2b,0x31,0x29,0x26,0x26,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x66,0x70,0x29,0x29,0x29,0x0a,0x63, - 0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3d,0x31,0x3b, - 0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x75,0x6d,0x5f,0x66,0x70,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3d,0x30,0x3b,0x0a,0x77,0x68,0x69,0x6c,0x65,0x20, - 0x28,0x28,0x69,0x2b,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3c,0x3d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x29, - 0x26,0x26,0x28,0x28,0x69,0x2b,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x29,0x20,0x25,0x20,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52, - 0x5f,0x48,0x41,0x53,0x48,0x29,0x26,0x26,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x69,0x2b,0x6e,0x75,0x6d,0x5f,0x77,0x6f, - 0x72,0x6b,0x65,0x72,0x73,0x5d,0x7c,0x7c,0x28,0x69,0x2b,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e, - 0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x29,0x7c,0x7c,0x28,0x28,0x69,0x2b,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73, - 0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x31,0x29,0x26,0x26,0x66,0x69,0x72, - 0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x66,0x70,0x29,0x29,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x28,0x6e,0x75,0x6d,0x5f,0x77, - 0x6f,0x72,0x6b,0x65,0x72,0x73,0x26,0x31,0x29,0x26,0x26,0x28,0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5b,0x65,0x78,0x65,0x63,0x75,0x74,0x69, - 0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x69,0x2b,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x5d,0x5d,0x2e,0x78,0x26,0x28,0x30,0x78,0x32,0x30,0x3c, - 0x3c,0x38,0x29,0x29,0x21,0x3d,0x30,0x29,0x29,0x0a,0x2b,0x2b,0x6e,0x75,0x6d,0x5f,0x66,0x70,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3b,0x0a,0x2b,0x2b,0x6e,0x75,0x6d,0x5f, - 0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x7d,0x0a,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3d,0x28,0x28,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72, - 0x6b,0x65,0x72,0x73,0x2d,0x31,0x29,0x3c,0x3c,0x4e,0x55,0x4d,0x5f,0x49,0x4e,0x53,0x54,0x53,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x6e,0x75,0x6d,0x5f, - 0x66,0x70,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3c,0x3c,0x4e,0x55,0x4d,0x5f,0x46,0x50,0x5f,0x49,0x4e,0x53,0x54,0x53,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x73,0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x3d,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d, - 0x5b,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x69,0x5d,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x69,0x6e,0x73,0x74,0x3d, - 0x73,0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78, - 0x26,0x30,0x78,0x66,0x66,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x73,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e, - 0x78,0x3e,0x3e,0x38,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x72,0x63,0x3d,0x28,0x69,0x6e,0x73, - 0x74,0x2e,0x78,0x3e,0x3e,0x31,0x36,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6d,0x6f,0x64,0x3d,0x28, - 0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x32,0x34,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x66,0x70,0x3d,0x28,0x73, - 0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x28,0x30,0x78,0x32,0x30,0x3c,0x3c,0x38,0x29,0x29,0x21,0x3d,0x30,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x66, - 0x70,0x26,0x26,0x28,0x28,0x69,0x26,0x31,0x29,0x3d,0x3d,0x30,0x29,0x29,0x0a,0x2b,0x2b,0x69,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x69, - 0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x28,0x73,0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x28,0x30,0x78,0x34, - 0x30,0x3c,0x3c,0x38,0x29,0x29,0x21,0x3d,0x30,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x26,0x26, - 0x28,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x5f,0x73,0x6c,0x6f,0x74,0x3c,0x30,0x29,0x29,0x0a,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74, - 0x61,0x72,0x67,0x65,0x74,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x6b,0x3b,0x0a,0x2b,0x2b,0x6b,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e, - 0x4f,0x50,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f, - 0x52,0x53,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x28,0x6d,0x6f,0x64,0x3e, - 0x3e,0x32,0x29,0x20,0x25,0x20,0x34,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54, - 0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x68,0x69,0x66,0x74,0x3c,0x3c,0x53,0x48,0x49,0x46, - 0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x64,0x73,0x74,0x21,0x3d,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4e,0x65,0x65,0x64,0x73, - 0x44,0x69,0x73,0x70,0x6c,0x61,0x63,0x65,0x6d,0x65,0x6e,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x31,0x3c,0x3c,0x4f,0x50,0x43,0x4f, - 0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d, - 0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78, + 0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x46,0x50,0x2c,0x64,0x73,0x74,0x2c,0x76,0x61,0x6c,0x75,0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73, + 0x65,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x21,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x73,0x74,0x6f,0x72,0x65,0x26,0x26,0x21,0x69,0x73,0x5f,0x6e,0x6f,0x70, + 0x29,0x0a,0x7b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x64,0x73,0x74, + 0x2c,0x6e,0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x73,0x77,0x61,0x70,0x29,0x0a,0x73,0x65,0x74,0x5f, + 0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x2c,0x73,0x72,0x63,0x2c,0x6e,0x65,0x78,0x74,0x5f,0x6c,0x61, + 0x74,0x65,0x6e,0x63,0x79,0x29,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72, + 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61, + 0x78,0x28,0x76,0x61,0x6c,0x75,0x65,0x2c,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2f,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f, + 0x48,0x41,0x53,0x48,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c, + 0x65,0x2c,0x64,0x73,0x74,0x2c,0x76,0x61,0x6c,0x75,0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x29,0x0a,0x7b,0x0a, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x3d,0x6e,0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x7c,0x28,0x6e, + 0x65,0x78,0x74,0x5f,0x6c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79, + 0x3d,0x74,0x7c,0x28,0x74,0x3c,0x3c,0x31,0x36,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x72,0x65,0x67,0x69, + 0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x7c,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3c,0x3c,0x33,0x32, + 0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x6d,0x65,0x6d,0x6f,0x72,0x79,0x5f,0x73,0x74,0x6f,0x72,0x65,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x74,0x33,0x32, + 0x5f,0x74,0x20,0x76,0x61,0x6c,0x75,0x65,0x3d,0x67,0x65,0x74,0x5f,0x62,0x79,0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79, + 0x63,0x6c,0x65,0x2c,0x64,0x73,0x74,0x29,0x3b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x76,0x61,0x6c,0x75,0x65,0x2c,0x73,0x6c,0x6f,0x74,0x5f, + 0x74,0x6f,0x5f,0x75,0x73,0x65,0x2f,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x3b,0x0a,0x73,0x65,0x74,0x5f,0x62,0x79, + 0x74,0x65,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x52,0x65,0x61,0x64,0x43,0x79,0x63,0x6c,0x65,0x2c,0x64,0x73,0x74,0x2c,0x76,0x61,0x6c,0x75,0x65,0x29,0x3b, + 0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x28,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2f, + 0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2b,0x31,0x3b,0x0a,0x69,0x66,0x28,0x28,0x6d,0x6f,0x64,0x3e,0x3e,0x34,0x29, + 0x3e,0x3d,0x53,0x74,0x6f,0x72,0x65,0x4c,0x33,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x29,0x0a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69, + 0x67,0x68,0x4c,0x61,0x74,0x65,0x6e,0x63,0x79,0x3d,0x28,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2f,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50, + 0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2b,0x31,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61, + 0x6e,0x5b,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x5d,0x7c,0x7c,0x28,0x66,0x69,0x72,0x73,0x74,0x5f, + 0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f, + 0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x29,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c, + 0x6f,0x74,0x5f,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x29,0x0a,0x7b,0x0a,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72, + 0x61,0x6d,0x5b,0x69,0x5d,0x2e,0x78,0x7c,0x3d,0x30,0x78,0x34,0x30,0x3c,0x3c,0x38,0x3b,0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c, + 0x65,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x7d, + 0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x66,0x70,0x29,0x0a,0x2b,0x2b,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f, + 0x74,0x3b,0x0a,0x64,0x6f,0x20,0x7b,0x0a,0x2b,0x2b,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x0a, + 0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x28,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x3c,0x52, + 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x2a,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f, + 0x48,0x41,0x53,0x48,0x29,0x26,0x26,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61, + 0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x5d,0x21,0x3d,0x30,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63, + 0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x29,0x0a,0x7b,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78,0x28,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x76,0x61, + 0x69,0x6c,0x61,0x62,0x6c,0x65,0x5f,0x73,0x6c,0x6f,0x74,0x2c,0x69,0x73,0x5f,0x66,0x70,0x3f,0x28,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2b,0x32, + 0x29,0x3a,0x28,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x2b,0x31,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x75,0x70,0x64,0x61,0x74,0x65,0x5f,0x6d,0x61,0x78, + 0x28,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2c,0x69,0x73,0x5f,0x66,0x70,0x3f,0x28,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75, + 0x73,0x65,0x2b,0x31,0x29,0x3a,0x73,0x6c,0x6f,0x74,0x5f,0x74,0x6f,0x5f,0x75,0x73,0x65,0x29,0x3b,0x0a,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x65,0x78,0x65,0x63,0x75, + 0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x5d,0x7c,0x7c,0x28,0x6c,0x61,0x73,0x74, + 0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c, + 0x6f,0x74,0x29,0x7c,0x7c,0x28,0x28,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73, + 0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x31,0x29,0x26,0x26,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74, + 0x69,0x6f,0x6e,0x5f,0x66,0x70,0x29,0x29,0x0a,0x7b,0x0a,0x2b,0x2b,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x0a,0x7d,0x0a,0x2d, + 0x2d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x66,0x70,0x26,0x26,0x28,0x6c,0x61,0x73,0x74, + 0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x3e,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x63, + 0x66,0x72,0x6f,0x75,0x6e,0x64,0x29,0x29,0x0a,0x66,0x69,0x72,0x73,0x74,0x5f,0x61,0x6c,0x6c,0x6f,0x77,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x5f,0x63,0x66,0x72,0x6f, + 0x75,0x6e,0x64,0x3d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x31,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, + 0x20,0x6d,0x61,0x3d,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x38,0x5d,0x29,0x26,0x43,0x61,0x63,0x68,0x65, + 0x4c,0x69,0x6e,0x65,0x41,0x6c,0x69,0x67,0x6e,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6d,0x78,0x3d,0x28,0x75,0x69,0x6e,0x74, + 0x33,0x32,0x5f,0x74,0x29,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31,0x30,0x5d,0x29,0x26,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x41,0x6c,0x69,0x67, + 0x6e,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73, + 0x3d,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31,0x32,0x5d,0x29,0x3b,0x0a,0x61,0x64,0x64,0x72,0x65,0x73, + 0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x3d,0x28,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x31,0x29, + 0x7c,0x28,0x28,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x32,0x29,0x3f,0x33,0x55,0x3a,0x32,0x55,0x29,0x3c,0x3c, + 0x38,0x29,0x7c,0x28,0x28,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x34,0x29,0x3f,0x35,0x55,0x3a,0x34,0x55,0x29, + 0x3c,0x3c,0x31,0x36,0x29,0x7c,0x28,0x28,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x38,0x29,0x3f,0x37,0x55,0x3a, + 0x36,0x55,0x29,0x3c,0x3c,0x32,0x34,0x29,0x29,0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74, + 0x33,0x32,0x5f,0x74,0x20,0x64,0x61,0x74,0x61,0x73,0x65,0x74,0x4f,0x66,0x66,0x73,0x65,0x74,0x3d,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31,0x33,0x5d,0x26, + 0x44,0x61,0x74,0x61,0x73,0x65,0x74,0x45,0x78,0x74,0x72,0x61,0x49,0x74,0x65,0x6d,0x73,0x29,0x2a,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x53,0x69,0x7a,0x65, + 0x3b,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x20,0x65,0x4d,0x61,0x73,0x6b,0x3d,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32, + 0x2a,0x29,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x2b,0x31,0x34,0x29,0x3b,0x0a,0x65,0x4d,0x61,0x73,0x6b,0x2e,0x78,0x3d,0x67,0x65,0x74,0x46,0x6c,0x6f,0x61,0x74, + 0x4d,0x61,0x73,0x6b,0x28,0x65,0x4d,0x61,0x73,0x6b,0x2e,0x78,0x29,0x3b,0x0a,0x65,0x4d,0x61,0x73,0x6b,0x2e,0x79,0x3d,0x67,0x65,0x74,0x46,0x6c,0x6f,0x61,0x74,0x4d, + 0x61,0x73,0x6b,0x28,0x65,0x4d,0x61,0x73,0x6b,0x2e,0x79,0x29,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, + 0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x30,0x5d,0x3d,0x6d,0x61,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e, + 0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x31,0x5d,0x3d,0x6d,0x78,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, + 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x32,0x5d,0x3d,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67, + 0x69,0x73,0x74,0x65,0x72,0x73,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b, + 0x31,0x36,0x29,0x29,0x5b,0x33,0x5d,0x3d,0x64,0x61,0x74,0x61,0x73,0x65,0x74,0x4f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, + 0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x32,0x2a,0x29,0x28,0x52,0x2b,0x31,0x38,0x29,0x29,0x5b,0x30,0x5d,0x3d,0x65,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x5f,0x5f,0x67,0x6c, + 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, + 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a, + 0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64, + 0x65,0x78,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x73,0x63,0x61,0x6c,0x5f,0x72,0x3d, + 0x2d,0x31,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f, + 0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x28, + 0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2b,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x29,0x2f,0x73,0x69,0x7a, + 0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74, + 0x61,0x72,0x67,0x65,0x74,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x2d,0x31,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6b,0x3d,0x2d,0x31,0x3b,0x0a,0x66,0x6f,0x72, + 0x20,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x3d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74, + 0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x21,0x28,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x69,0x5d,0x7c, + 0x7c,0x28,0x69,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x29,0x7c,0x7c,0x28,0x28, + 0x69,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x31,0x29,0x26,0x26,0x66,0x69, + 0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x66,0x70,0x29,0x29,0x29,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a, + 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3d,0x31,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, + 0x20,0x6e,0x75,0x6d,0x5f,0x66,0x70,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3d,0x30,0x3b,0x0a,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x28,0x69,0x2b,0x6e,0x75,0x6d,0x5f,0x77, + 0x6f,0x72,0x6b,0x65,0x72,0x73,0x3c,0x3d,0x6c,0x61,0x73,0x74,0x5f,0x75,0x73,0x65,0x64,0x5f,0x73,0x6c,0x6f,0x74,0x29,0x26,0x26,0x28,0x28,0x69,0x2b,0x6e,0x75,0x6d, + 0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x29,0x20,0x25,0x20,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x26,0x26,0x28, + 0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x69,0x2b,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x5d,0x7c,0x7c,0x28, + 0x69,0x2b,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e, + 0x5f,0x73,0x6c,0x6f,0x74,0x29,0x7c,0x7c,0x28,0x28,0x69,0x2b,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3d,0x3d,0x66,0x69,0x72,0x73,0x74,0x5f,0x69, + 0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x5f,0x73,0x6c,0x6f,0x74,0x2b,0x31,0x29,0x26,0x26,0x66,0x69,0x72,0x73,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75, + 0x63,0x74,0x69,0x6f,0x6e,0x5f,0x66,0x70,0x29,0x29,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x28,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x26,0x31,0x29, + 0x26,0x26,0x28,0x28,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5b,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x69, + 0x2b,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x5d,0x5d,0x2e,0x78,0x26,0x28,0x30,0x78,0x32,0x30,0x3c,0x3c,0x38,0x29,0x29,0x21,0x3d,0x30,0x29,0x29, + 0x0a,0x2b,0x2b,0x6e,0x75,0x6d,0x5f,0x66,0x70,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3b,0x0a,0x2b,0x2b,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a, + 0x7d,0x0a,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3d,0x28,0x28,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x2d,0x31,0x29,0x3c,0x3c, + 0x4e,0x55,0x4d,0x5f,0x49,0x4e,0x53,0x54,0x53,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x6e,0x75,0x6d,0x5f,0x66,0x70,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3c, + 0x3c,0x4e,0x55,0x4d,0x5f,0x46,0x50,0x5f,0x49,0x4e,0x53,0x54,0x53,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e, + 0x74,0x32,0x20,0x73,0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x3d,0x73,0x72,0x63,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5b,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f, + 0x6e,0x5f,0x70,0x6c,0x61,0x6e,0x5b,0x69,0x5d,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x69,0x6e,0x73,0x74,0x3d,0x73,0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x3b, + 0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x30,0x78,0x66,0x66,0x3b,0x0a,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x73,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x38,0x29,0x26,0x37,0x3b,0x0a, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x72,0x63,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x31,0x36,0x29,0x26, + 0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6d,0x6f,0x64,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x32, + 0x34,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x66,0x70,0x3d,0x28,0x73,0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x2e,0x78, + 0x26,0x28,0x30,0x78,0x32,0x30,0x3c,0x3c,0x38,0x29,0x29,0x21,0x3d,0x30,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x66,0x70,0x26,0x26,0x28,0x28,0x69,0x26,0x31,0x29, + 0x3d,0x3d,0x30,0x29,0x29,0x0a,0x2b,0x2b,0x69,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f, + 0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x28,0x73,0x72,0x63,0x5f,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x28,0x30,0x78,0x34,0x30,0x3c,0x3c,0x38,0x29,0x29,0x21,0x3d,0x30, + 0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x26,0x26,0x28,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74, + 0x61,0x72,0x67,0x65,0x74,0x5f,0x73,0x6c,0x6f,0x74,0x3c,0x30,0x29,0x29,0x0a,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x5f,0x73,0x6c,0x6f, + 0x74,0x3d,0x6b,0x3b,0x0a,0x2b,0x2b,0x6b,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70, + 0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x28,0x6d,0x6f,0x64,0x3e,0x3e,0x32,0x29,0x20,0x25,0x20,0x34,0x3b,0x0a, + 0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53, + 0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x68,0x69,0x66,0x74,0x3c,0x3c,0x53,0x48,0x49,0x46,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29, + 0x3b,0x0a,0x69,0x66,0x28,0x64,0x73,0x74,0x21,0x3d,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4e,0x65,0x65,0x64,0x73,0x44,0x69,0x73,0x70,0x6c,0x61,0x63,0x65,0x6d, + 0x65,0x6e,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x31,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54, + 0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49, + 0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45, + 0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x69,0x6e, + 0x73,0x74,0x2e,0x79,0x3b,0x0a,0x7d,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e, + 0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70, + 0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x3b,0x0a,0x69,0x66,0x28,0x6f, + 0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x3f, + 0x33,0x3a,0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c, + 0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31, + 0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29, + 0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b, + 0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69, + 0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43, + 0x31,0x46,0x46,0x46,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a, + 0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x32,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c, + 0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d, + 0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b, + 0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f, + 0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4f,0x50, + 0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46, + 0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x69, + 0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x49,0x53, + 0x5f,0x49,0x4d,0x4d,0x33,0x32,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d, + 0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b, + 0x2b,0x5d,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x7d,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b, + 0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b, + 0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a, + 0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b, + 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64, + 0x73,0x74,0x29,0x3f,0x33,0x3a,0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64, + 0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54, + 0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46, + 0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69, + 0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66, + 0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f, + 0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43,0x31,0x46,0x46, + 0x46,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28,0x6c, + 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x32,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29, + 0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c, + 0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73, + 0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, + 0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46, + 0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44, + 0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78, + 0x7c,0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x53,0x52, + 0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x33,0x32,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78, 0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e, 0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x7d,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67, 0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69, - 0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44, - 0x5f,0x52,0x53,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44, - 0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x73, - 0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x3f,0x33,0x3a,0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74, - 0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f, - 0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44, - 0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d, - 0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58, - 0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e, - 0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43,0x31,0x46,0x46,0x46,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31, - 0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x32,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c, - 0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e, - 0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78, - 0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65, - 0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65, - 0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28, + 0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c, + 0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f, + 0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x73,0x72, + 0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x3f,0x33,0x3a,0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e, + 0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46, + 0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45, + 0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d, + 0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f, + 0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73, + 0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43,0x31,0x46,0x46,0x46,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29, + 0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x32,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f, + 0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f, + 0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c, + 0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d, + 0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c, + 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28, 0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45, - 0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41,0x54,0x49, - 0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x69, - 0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28, - 0x31,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x33,0x32,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f, - 0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69, - 0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x7d,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64, - 0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a, - 0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x49,0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, - 0x6e,0x3d,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x3f,0x33,0x3a,0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x29,0x3b,0x0a, - 0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53, - 0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4f, - 0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f, + 0x54,0x29,0x7c,0x28,0x36,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65, + 0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b, + 0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61, + 0x74,0x69,0x6f,0x6e,0x3d,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x3f,0x33,0x3a,0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32, + 0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63, + 0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x36, + 0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e, + 0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d, + 0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78, + 0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43,0x31,0x46,0x46,0x46,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x28,0x6c,0x6f,0x63,0x61, + 0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x32,0x29,0x3f,0x4c, + 0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78, + 0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29, + 0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d, + 0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69, + 0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x29,0x0a, + 0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c, + 0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x34,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b, + 0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75, + 0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52, + 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c, + 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75, + 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x3f,0x33,0x3a,0x28,0x28, + 0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f, + 0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f, + 0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x34,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e, + 0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28, + 0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62, + 0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43,0x31,0x46,0x46,0x46, + 0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28,0x6c,0x6f, + 0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x32,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b, + 0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65, + 0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b, + 0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, + 0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x3d, + 0x69,0x6d,0x75,0x6c,0x5f,0x72,0x63,0x70,0x5f,0x76,0x61,0x6c,0x75,0x65,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x29,0x3b,0x0a,0x69,0x66,0x28,0x72,0x3d,0x3d,0x31,0x29, + 0x0a,0x7b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f, + 0x50,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x69,0x6e,0x73,0x74,0x2e, + 0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46, + 0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78, + 0x7c,0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x53,0x52, + 0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x36,0x34,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78, + 0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x2d,0x31,0x29,0x0a,0x7b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d, + 0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3d,0x28,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x26,0x72,0x29,0x5b,0x30, + 0x5d,0x3b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x31,0x5d,0x3d,0x28,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x26,0x72,0x29,0x5b,0x31,0x5d,0x3b,0x0a,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x3d,0x32,0x3b,0x0a, + 0x7d,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e, + 0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d, + 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65, + 0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28, + 0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x35,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53, + 0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e, + 0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64, + 0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64, + 0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d, + 0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53, + 0x45,0x54,0x29,0x7c,0x28,0x33,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x3d,0x3d, + 0x64,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f, + 0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x33,0x32,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b, + 0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69, + 0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x7d,0x0a,0x2a,0x28, + 0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77, + 0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, + 0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x3f,0x33,0x3a,0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34, + 0x29,0x3f,0x31,0x3a,0x32,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29, + 0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45, + 0x54,0x29,0x7c,0x28,0x33,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69, + 0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64, + 0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f, + 0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43,0x31,0x46,0x46,0x46,0x46,0x46,0x55,0x29,0x7c,0x28,0x28, + 0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d, + 0x3d,0x32,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69, + 0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72, + 0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e, + 0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f, + 0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52, + 0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28, + 0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45, + 0x54,0x29,0x7c,0x28,0x37,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64, + 0x73,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46, + 0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x33,0x32,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a, + 0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d, + 0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28, + 0x6f,0x70,0x63,0x6f,0x64,0x65,0x3e,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69, + 0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b, + 0x0a,0x7d,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c, + 0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d, + 0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, + 0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, + 0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46, + 0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x38,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44, + 0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29, + 0x3d,0x28,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x3f,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3a,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x29,0x7c,0x6e,0x75, + 0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52, + 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52, + 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64, + 0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x31,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53, + 0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e, + 0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64, + 0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f, + 0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78, + 0x3d,0x28,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x44,0x53,0x54,0x5f, + 0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x28,0x73,0x72,0x63,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74, + 0x29,0x3c,0x3c,0x28,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x2b,0x31,0x29,0x29,0x7c,0x28,0x31,0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f, + 0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e, + 0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70, + 0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70, + 0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a, + 0x32,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46, + 0x6c,0x74,0x29,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45, + 0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f, 0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f, 0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f, 0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e, @@ -2398,149 +2547,57 @@ static const char randomx_cl[131026] = { 0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b, 0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75, 0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52, - 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74, - 0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c, - 0x28,0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29, - 0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45, - 0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x33,0x32,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28, - 0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62, - 0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x7d,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70, - 0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65, - 0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63, - 0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x3f,0x33,0x3a,0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a, - 0x32,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72, - 0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28, - 0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69, - 0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49, - 0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65, - 0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43,0x31,0x46,0x46,0x46,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x28,0x6c,0x6f,0x63, - 0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x32,0x29,0x3f, - 0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e, - 0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b, - 0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a, - 0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x3b,0x0a,0x69, - 0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x29,0x0a,0x7b, - 0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c, - 0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x36,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a, - 0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d, - 0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, - 0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x3f,0x33,0x3a,0x28,0x28,0x6d,0x6f,0x64, - 0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46, + 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41, + 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x28,0x64,0x73, + 0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45, + 0x54,0x29,0x7c,0x28,0x28,0x73,0x72,0x63,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x28,0x53, + 0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x2b,0x31,0x29,0x29,0x7c,0x28,0x31,0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54, + 0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f, + 0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72, + 0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c, + 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x28, + 0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46, 0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f, - 0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x36,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e, - 0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d, - 0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b, - 0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43,0x31,0x46,0x46,0x46,0x46,0x46,0x55, - 0x29,0x7c,0x28,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74, - 0x69,0x6f,0x6e,0x3d,0x3d,0x32,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c, - 0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70, - 0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f, - 0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, - 0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, - 0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53, - 0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x34,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45, - 0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d, - 0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a, - 0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69, - 0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a, - 0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x73,0x72,0x63,0x3d,0x3d, - 0x64,0x73,0x74,0x29,0x3f,0x33,0x3a,0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28, - 0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45, - 0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x34,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46, - 0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46, - 0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55, - 0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79, - 0x26,0x30,0x78,0x46,0x43,0x31,0x46,0x46,0x46,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f, - 0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x32,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c, - 0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a, - 0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d, - 0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52, - 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, - 0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x72,0x3d,0x69,0x6d,0x75,0x6c,0x5f,0x72,0x63,0x70,0x5f,0x76,0x61,0x6c,0x75,0x65,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x29,0x3b, - 0x0a,0x69,0x66,0x28,0x72,0x3d,0x3d,0x31,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b, - 0x29,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65, - 0x3b,0x0a,0x7d,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72, - 0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54, - 0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45, - 0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x36,0x34,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28, - 0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x2d,0x31,0x29,0x0a,0x7b,0x0a,0x69, - 0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3d,0x28,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x2a,0x29,0x26,0x72,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x31,0x5d, - 0x3d,0x28,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x26,0x72,0x29,0x5b,0x31,0x5d,0x3b,0x0a,0x69,0x6d,0x6d,0x5f,0x69, - 0x6e,0x64,0x65,0x78,0x2b,0x3d,0x32,0x3b,0x0a,0x7d,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29, - 0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d, - 0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x3b,0x0a, - 0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x29,0x0a,0x7b, - 0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x35,0x3c,0x3c,0x4f,0x50, - 0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d, - 0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65, - 0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x3b, - 0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x29,0x0a, - 0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c, - 0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x33,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b, - 0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64, - 0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x33,0x32, - 0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58, - 0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x69,0x6e,0x73, - 0x74,0x2e,0x79,0x3b,0x0a,0x7d,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73, - 0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x3f,0x33,0x3a, - 0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53, - 0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c, - 0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x33,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a, - 0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69, - 0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d, - 0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43,0x31,0x46, - 0x46,0x46,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28, - 0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x32,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31, - 0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69, - 0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72, - 0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, - 0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x29,0x0a,0x7b, - 0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c, - 0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x37,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a, - 0x69,0x66,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65, - 0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x33,0x32,0x5f, - 0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f, - 0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x69,0x6e,0x73,0x74, - 0x2e,0x79,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3e,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52, - 0x4f,0x52,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43, - 0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x7d,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b, - 0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a, - 0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e, - 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74, - 0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c, - 0x28,0x38,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70, - 0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x28,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x3f,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3a,0x49,0x4e,0x53, - 0x54,0x5f,0x4e,0x4f,0x50,0x29,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a, - 0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x69,0x66, - 0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b,0x0a, - 0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x31,0x3c,0x3c,0x4f,0x50, - 0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d, + 0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4e, + 0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d, + 0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78, + 0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e, + 0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43,0x31,0x46,0x46,0x46,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x28,0x6c, + 0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x32, + 0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73, + 0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d, 0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65, - 0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52, - 0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x29, + 0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x3b, + 0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x29, 0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46, - 0x6c,0x74,0x29,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x28,0x73,0x72,0x63,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65, - 0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x28,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x2b,0x31,0x29,0x29,0x7c,0x28,0x31,0x32,0x3c, - 0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67, - 0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69, - 0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44, - 0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f, - 0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x6d,0x6f, - 0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73, + 0x6c,0x74,0x29,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x36, + 0x34,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x33,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66, + 0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x73,0x63,0x61,0x6c,0x5f,0x72,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c, + 0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x73,0x63,0x61,0x6c,0x5f,0x72,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29, + 0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x73,0x63,0x61,0x6c,0x5f,0x72,0x3d,0x69,0x6d,0x6d, + 0x5f,0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f, + 0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f, + 0x43,0x4f,0x55,0x4e,0x54,0x2d,0x31,0x29,0x0a,0x7b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3d,0x30,0x3b, + 0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x31,0x5d,0x3d,0x30,0x78,0x38,0x30,0x46,0x30,0x30,0x30,0x30,0x30, + 0x55,0x4c,0x3b,0x0a,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x3d,0x32,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64, + 0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a, + 0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, + 0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, + 0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x28,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73, + 0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x2b,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c, + 0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x28,0x73,0x72,0x63,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e, + 0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x28,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x2b,0x31,0x29,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x53,0x48,0x49,0x46,0x54, + 0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28, + 0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77, + 0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, + 0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d, + 0x28,0x28,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x2b,0x52,0x65,0x67,0x69,0x73, 0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c, - 0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x32,0x3c, + 0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x35,0x3c, 0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64, 0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d, 0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b, @@ -2549,866 +2606,686 @@ static const char randomx_cl[131026] = { 0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d, 0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d, 0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a, - 0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28, - 0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e, - 0x73,0x74,0x2e,0x78,0x3d,0x28,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c, - 0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x28,0x73,0x72,0x63,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e, - 0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x28,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x2b,0x31,0x29,0x29,0x7c,0x28,0x31,0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f, - 0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53, - 0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e, - 0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64, - 0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64, - 0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x3b,0x0a, - 0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29, - 0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c, - 0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53, - 0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e, - 0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28, - 0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62, - 0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43,0x31,0x46,0x46,0x46, - 0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28,0x6c,0x6f, - 0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x32,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b, - 0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65, - 0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b, - 0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, - 0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73, - 0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x53,0x52, - 0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x36,0x34,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x33,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46, - 0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x73,0x63,0x61,0x6c,0x5f,0x72,0x3e,0x3d,0x30,0x29,0x0a, - 0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x73,0x63,0x61,0x6c,0x5f,0x72,0x3c,0x3c,0x49,0x4d, - 0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5f,0x66,0x73, - 0x63,0x61,0x6c,0x5f,0x72,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e, - 0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49, - 0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x2d,0x31,0x29,0x0a,0x7b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f, - 0x69,0x6e,0x64,0x65,0x78,0x5d,0x3d,0x30,0x3b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x31,0x5d,0x3d,0x30, - 0x78,0x38,0x30,0x46,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x3b,0x0a,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x3d,0x32,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x2a, - 0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f, - 0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e, - 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e, - 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x28,0x28,0x64,0x73, - 0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x2b,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f, - 0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x28,0x73,0x72,0x63,0x20,0x25,0x20,0x52,0x65,0x67, - 0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x28,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x2b,0x31,0x29,0x29,0x7c, - 0x28,0x31,0x3c,0x3c,0x53,0x48,0x49,0x46,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x32,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46, - 0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73, - 0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32, - 0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x28,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46, - 0x6c,0x74,0x29,0x2b,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45, - 0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46, - 0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x35,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78, - 0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f, - 0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69, - 0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43,0x31,0x46,0x46,0x46,0x46,0x46,0x55,0x29, - 0x7c,0x28,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69, - 0x6f,0x6e,0x3d,0x3d,0x32,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c,0x73, - 0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72, - 0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e, - 0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44, - 0x49,0x56,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51, - 0x52,0x54,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x28,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72, - 0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x2b,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x44,0x53,0x54, - 0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x34,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28, - 0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77, - 0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c, - 0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x39,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b, - 0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29, - 0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x63,0x73,0x68,0x69,0x66,0x74,0x3d,0x28,0x6d,0x6f,0x64,0x3e,0x3e,0x34,0x29, - 0x2b,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x4f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6d,0x6d,0x3d,0x69, - 0x6e,0x73,0x74,0x2e,0x79,0x7c,0x28,0x31,0x55,0x3c,0x3c,0x63,0x73,0x68,0x69,0x66,0x74,0x29,0x3b,0x0a,0x69,0x66,0x28,0x63,0x73,0x68,0x69,0x66,0x74,0x3e,0x30,0x29, - 0x0a,0x69,0x6d,0x6d,0x20,0x26,0x3d,0x20,0x7e,0x28,0x31,0x55,0x3c,0x3c,0x28,0x63,0x73,0x68,0x69,0x66,0x74,0x2d,0x31,0x29,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d, - 0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x2d,0x31,0x29,0x0a,0x7b,0x0a,0x69,0x6d,0x6d, - 0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3d,0x69,0x6d,0x6d,0x3b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d, - 0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x31,0x5d,0x3d,0x63,0x73,0x68,0x69,0x66,0x74,0x7c,0x28,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x62,0x72,0x61, - 0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x5f,0x73,0x6c,0x6f,0x74,0x29,0x3c,0x3c,0x35,0x29,0x3b,0x0a,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b, - 0x3d,0x32,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x7d,0x0a, - 0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x2d,0x31,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65, - 0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b, - 0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, - 0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, - 0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46, - 0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x33,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x28,0x69,0x6e,0x73,0x74, - 0x2e,0x79,0x26,0x36,0x33,0x29,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f, + 0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28, + 0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69, + 0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x28,0x28,0x64,0x73,0x74,0x20,0x25,0x20,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29, + 0x2b,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x43,0x6f,0x75,0x6e,0x74,0x46,0x6c,0x74,0x29,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c, + 0x28,0x31,0x34,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f, 0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63, 0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x49,0x53,0x54,0x4f,0x52,0x45,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, - 0x6e,0x3d,0x28,0x28,0x6d,0x6f,0x64,0x3e,0x3e,0x34,0x29,0x3e,0x3d,0x53,0x74,0x6f,0x72,0x65,0x4c,0x33,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x29,0x3f,0x33, - 0x3a,0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x31,0x3a,0x32,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44, - 0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c, - 0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x30,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29, - 0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b, - 0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69, - 0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43, - 0x31,0x46,0x46,0x46,0x46,0x46,0x55,0x29,0x7c,0x28,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a, - 0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x32,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c, - 0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d, - 0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b, - 0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d, - 0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x7d,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x32,0x30,0x29,0x29,0x5b,0x30,0x5d,0x3d,0x28,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x29,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x28,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2b,0x49,0x4d,0x4d, - 0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x29,0x3b,0x0a,0x7d, - 0x0a,0x7d,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6c,0x6f,0x61,0x64,0x5f,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, - 0x36,0x34,0x5f,0x74,0x20,0x2a,0x64,0x73,0x74,0x5f,0x62,0x75,0x66,0x2c,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x4e,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x73,0x72,0x63,0x5f,0x62,0x75,0x66,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, - 0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f, - 0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x74,0x65,0x70,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61, - 0x6c,0x5f,0x73,0x69,0x7a,0x65,0x28,0x30,0x29,0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x73,0x72,0x63,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62, - 0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x73,0x72,0x63,0x5f,0x62,0x75,0x66,0x29,0x2b,0x67,0x65,0x74,0x5f,0x67, - 0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x2a,0x4e,0x2b,0x69,0x3b, - 0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x64,0x73,0x74,0x3d,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20, - 0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x64,0x73,0x74,0x5f,0x62,0x75,0x66,0x29,0x2b,0x69,0x3b,0x0a,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x69,0x3c,0x73,0x69, - 0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x2a,0x4e,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69, - 0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x64,0x73,0x74,0x29,0x3d,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f, - 0x74,0x2a,0x29,0x28,0x73,0x72,0x63,0x29,0x3b,0x0a,0x73,0x72,0x63,0x2b,0x3d,0x73,0x74,0x65,0x70,0x3b,0x0a,0x64,0x73,0x74,0x2b,0x3d,0x73,0x74,0x65,0x70,0x3b,0x0a, - 0x69,0x2b,0x3d,0x73,0x74,0x65,0x70,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x6c,0x6f,0x61,0x64,0x5f,0x46,0x5f,0x45,0x5f,0x67,0x72,0x6f, - 0x75,0x70,0x73,0x28,0x69,0x6e,0x74,0x20,0x76,0x61,0x6c,0x75,0x65,0x2c,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x61,0x6e,0x64,0x4d,0x61,0x73,0x6b,0x2c,0x75, - 0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6f,0x72,0x4d,0x61,0x73,0x6b,0x29,0x0a,0x7b,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x74,0x3d,0x63,0x6f,0x6e,0x76,0x65, - 0x72,0x74,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x72,0x74,0x6e,0x28,0x76,0x61,0x6c,0x75,0x65,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x78, - 0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x74,0x29,0x3b,0x0a,0x78,0x20,0x26,0x3d,0x20,0x61,0x6e,0x64,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x78,0x7c,0x3d,0x6f, - 0x72,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x78,0x29,0x3b,0x0a,0x7d,0x0a,0x64,0x6f, - 0x75,0x62,0x6c,0x65,0x20,0x66,0x6d,0x61,0x5f,0x73,0x6f,0x66,0x74,0x28,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x61,0x2c,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x62,0x2c, - 0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x63,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x5f,0x6d,0x6f,0x64,0x65,0x29, - 0x0a,0x7b,0x0a,0x69,0x66,0x28,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x5f,0x6d,0x6f,0x64,0x65,0x3d,0x3d,0x30,0x29,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66, - 0x6d,0x61,0x28,0x61,0x2c,0x62,0x2c,0x63,0x29,0x3b,0x0a,0x69,0x66,0x28,0x28,0x61,0x3d,0x3d,0x30,0x2e,0x30,0x29,0x7c,0x7c,0x28,0x62,0x3d,0x3d,0x30,0x2e,0x30,0x29, - 0x29,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x63,0x3b,0x0a,0x69,0x66,0x28,0x62,0x3d,0x3d,0x31,0x2e,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x63,0x3d,0x3d,0x30, - 0x2e,0x30,0x29,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x61,0x3b,0x0a,0x69,0x66,0x28,0x63,0x3d,0x3d,0x2d,0x61,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6d,0x69,0x6e,0x75,0x73,0x5f,0x7a,0x65,0x72,0x6f,0x3d,0x31,0x55,0x4c,0x3c,0x3c,0x36,0x33,0x3b,0x0a,0x72,0x65,0x74, - 0x75,0x72,0x6e,0x20,0x28,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x5f,0x6d,0x6f,0x64,0x65,0x3d,0x3d,0x31,0x29,0x3f,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65, - 0x28,0x6d,0x69,0x6e,0x75,0x73,0x5f,0x7a,0x65,0x72,0x6f,0x29,0x3a,0x30,0x2e,0x30,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, - 0x36,0x34,0x5f,0x74,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x35,0x32,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e, - 0x74,0x36,0x34,0x5f,0x74,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x6d,0x61,0x73,0x6b,0x3d,0x28,0x31,0x55,0x4c,0x3c,0x3c,0x35,0x32,0x29,0x2d,0x31,0x3b, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x31,0x31, - 0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x61,0x73,0x6b,0x3d,0x28, - 0x31,0x3c,0x3c,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x73,0x69,0x7a,0x65,0x29,0x2d,0x31,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x61,0x32,0x3d,0x61,0x73, - 0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x61,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x62,0x32,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x62,0x29,0x3b, - 0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x63,0x32,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x63,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e, - 0x74,0x33,0x32,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x61,0x3d,0x28,0x61,0x32,0x2e,0x79,0x3e,0x3e,0x32,0x30,0x29,0x26,0x65,0x78,0x70,0x6f, - 0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x61,0x73,0x6b,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65, - 0x6e,0x74,0x5f,0x62,0x3d,0x28,0x62,0x32,0x2e,0x79,0x3e,0x3e,0x32,0x30,0x29,0x26,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x61,0x73,0x6b,0x3b,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x63,0x3d,0x28,0x63,0x32,0x2e,0x79,0x3e,0x3e, - 0x32,0x30,0x29,0x26,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x61,0x73,0x6b,0x3b,0x0a,0x69,0x66,0x28,0x28,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f, - 0x61,0x3d,0x3d,0x32,0x30,0x34,0x37,0x29,0x7c,0x7c,0x28,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x62,0x3d,0x3d,0x32,0x30,0x34,0x37,0x29,0x7c,0x7c,0x28,0x65, - 0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x63,0x3d,0x3d,0x32,0x30,0x34,0x37,0x29,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34, - 0x5f,0x74,0x20,0x69,0x6e,0x66,0x3d,0x32,0x30,0x34,0x37,0x55,0x4c,0x3c,0x3c,0x35,0x32,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x61,0x73,0x5f,0x64,0x6f,0x75, - 0x62,0x6c,0x65,0x28,0x69,0x6e,0x66,0x29,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x69,0x67,0x6e,0x5f, - 0x61,0x3d,0x61,0x32,0x2e,0x79,0x3e,0x3e,0x33,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x69,0x67,0x6e,0x5f, - 0x62,0x3d,0x62,0x32,0x2e,0x79,0x3e,0x3e,0x33,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x69,0x67,0x6e,0x5f, - 0x63,0x3d,0x63,0x32,0x2e,0x79,0x3e,0x3e,0x33,0x31,0x3b,0x0a,0x61,0x32,0x2e,0x79,0x3d,0x28,0x61,0x32,0x2e,0x79,0x26,0x28,0x28,0x31,0x55,0x3c,0x3c,0x32,0x30,0x29, - 0x2d,0x31,0x29,0x29,0x7c,0x28,0x31,0x55,0x3c,0x3c,0x32,0x30,0x29,0x3b,0x0a,0x62,0x32,0x2e,0x79,0x3d,0x28,0x62,0x32,0x2e,0x79,0x26,0x28,0x28,0x31,0x55,0x3c,0x3c, - 0x32,0x30,0x29,0x2d,0x31,0x29,0x29,0x7c,0x28,0x31,0x55,0x3c,0x3c,0x32,0x30,0x29,0x3b,0x0a,0x63,0x32,0x2e,0x79,0x3d,0x28,0x63,0x32,0x2e,0x79,0x26,0x28,0x28,0x31, - 0x55,0x3c,0x3c,0x32,0x30,0x29,0x2d,0x31,0x29,0x29,0x7c,0x28,0x31,0x55,0x3c,0x3c,0x32,0x30,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6d,0x61, - 0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x61,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x61,0x32,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20, - 0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x62,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x62,0x32,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f, - 0x74,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x63,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x63,0x32,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36, - 0x34,0x5f,0x74,0x20,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x32,0x5d,0x3b,0x0a,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d, - 0x3d,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x61,0x2a,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x62,0x3b,0x0a,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75, - 0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x6d,0x75,0x6c,0x5f,0x68,0x69,0x28,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x61,0x2c,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61, - 0x5f,0x62,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x65,0x78,0x70,0x5f,0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x6d,0x75,0x6c, - 0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3e,0x3e,0x34,0x31,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e, - 0x74,0x5f,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x61,0x2b,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74, - 0x5f,0x62,0x2b,0x65,0x78,0x70,0x5f,0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x2d,0x31,0x30,0x32,0x33,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, - 0x20,0x73,0x69,0x67,0x6e,0x5f,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x73,0x69,0x67,0x6e,0x5f,0x61,0x5e,0x73,0x69,0x67,0x6e,0x5f,0x62,0x3b,0x0a, - 0x69,0x66,0x28,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3e,0x3d,0x32,0x30,0x34,0x37,0x29,0x0a,0x7b,0x0a, - 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x69,0x6e,0x66,0x5f,0x72,0x6e,0x64,0x3d,0x28,0x32,0x30,0x34,0x37,0x55,0x4c,0x3c,0x3c, - 0x35,0x32,0x29,0x2d,0x28,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x5f,0x6d,0x6f,0x64,0x65,0x26,0x31,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x61,0x73, - 0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x69,0x6e,0x66,0x5f,0x72,0x6e,0x64,0x29,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x66,0x6d,0x61, - 0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x32,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x74,0x5b,0x32,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x69,0x66,0x28,0x65,0x78,0x70,0x6f, - 0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3e,0x3d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x63,0x29,0x0a,0x7b,0x0a,0x75, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x32,0x33,0x2d,0x65,0x78,0x70,0x5f,0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3b, - 0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3c,0x3c,0x73,0x68, - 0x69,0x66,0x74,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x28,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31, - 0x5d,0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x29,0x7c,0x28,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x73,0x68, - 0x69,0x66,0x74,0x29,0x29,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x32,0x3d,0x28,0x31,0x32,0x37,0x2d,0x35,0x32,0x29,0x2b,0x28, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x63,0x2d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x75,0x6c, - 0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x29,0x3b,0x0a,0x69,0x66,0x28,0x73,0x68,0x69,0x66,0x74,0x32,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x68,0x69, - 0x66,0x74,0x32,0x3e,0x3d,0x36,0x34,0x29,0x0a,0x7b,0x0a,0x74,0x5b,0x30,0x5d,0x3d,0x30,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x3d,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61, - 0x5f,0x63,0x3c,0x3c,0x28,0x73,0x68,0x69,0x66,0x74,0x32,0x2d,0x36,0x34,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x74,0x5b,0x30,0x5d,0x3d,0x6d, - 0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x63,0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x32,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x3d,0x73,0x68,0x69,0x66,0x74,0x32,0x3f,0x28, - 0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x63,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x29,0x3a,0x30,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a, - 0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x74,0x5b,0x30,0x5d,0x3d,0x28,0x73,0x68,0x69,0x66,0x74,0x32,0x3c,0x2d,0x35,0x32,0x29,0x3f,0x30,0x3a,0x28,0x6d,0x61,0x6e,0x74, - 0x69,0x73,0x73,0x61,0x5f,0x63,0x3e,0x3e,0x28,0x2d,0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x29,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x3d,0x30,0x3b,0x0a,0x69,0x66,0x28,0x28, - 0x74,0x5b,0x30,0x5d,0x3d,0x3d,0x30,0x29,0x26,0x26,0x28,0x63,0x21,0x3d,0x30,0x2e,0x30,0x29,0x29,0x0a,0x74,0x5b,0x30,0x5d,0x3d,0x31,0x3b,0x0a,0x7d,0x0a,0x65,0x78, - 0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x75,0x6c,0x5f,0x72, - 0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x74,0x5b,0x30,0x5d,0x3d,0x30,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x3d,0x6d,0x61,0x6e, - 0x74,0x69,0x73,0x73,0x61,0x5f,0x63,0x3c,0x3c,0x31,0x31,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x32,0x3d,0x28,0x31,0x32,0x37, - 0x2d,0x31,0x30,0x34,0x2d,0x65,0x78,0x70,0x5f,0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x29,0x2b,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x65, - 0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x2d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x63,0x29,0x3b,0x0a, - 0x69,0x66,0x28,0x73,0x68,0x69,0x66,0x74,0x32,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x6d,0x75, - 0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x32,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b, - 0x31,0x5d,0x3d,0x28,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x7c,0x28,0x73,0x68,0x69,0x66, - 0x74,0x32,0x3f,0x28,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x29,0x3a, - 0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x73,0x68,0x69,0x66,0x74,0x32,0x3d,0x2d,0x73,0x68,0x69,0x66,0x74,0x32,0x3b,0x0a,0x69,0x66,0x28, - 0x73,0x68,0x69,0x66,0x74,0x32,0x3e,0x3d,0x36,0x34,0x29,0x0a,0x7b,0x0a,0x73,0x68,0x69,0x66,0x74,0x32,0x2d,0x3d,0x36,0x34,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65, - 0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x28,0x73,0x68,0x69,0x66,0x74,0x32,0x3c,0x36,0x34,0x29,0x3f,0x28,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b, - 0x31,0x5d,0x3e,0x3e,0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x3a,0x30,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x30,0x3b,0x0a, - 0x69,0x66,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x3d,0x30,0x29,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b, - 0x30,0x5d,0x3d,0x31,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x28,0x6d,0x75, - 0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3e,0x3e,0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x7c,0x28,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74, - 0x5b,0x31,0x5d,0x3c,0x3c,0x28,0x36,0x34,0x2d,0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x29,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d, - 0x3d,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3e,0x3e,0x73,0x68,0x69,0x66,0x74,0x32,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x65,0x78,0x70,0x6f, - 0x6e,0x65,0x6e,0x74,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x63,0x3b,0x0a,0x7d,0x0a,0x75,0x69, - 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x69,0x67,0x6e,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x69,0x66,0x28,0x73,0x69,0x67,0x6e,0x5f, - 0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x3d,0x73,0x69,0x67,0x6e,0x5f,0x63,0x29,0x0a,0x7b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74, - 0x5b,0x30,0x5d,0x2b,0x3d,0x74,0x5b,0x30,0x5d,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x2b,0x3d,0x74,0x5b,0x31,0x5d,0x2b,0x28, - 0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3c,0x74,0x5b,0x30,0x5d,0x29,0x3f,0x31,0x3a,0x30,0x29,0x3b,0x0a,0x65,0x78,0x70,0x5f,0x63, - 0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3c,0x74,0x5b,0x31,0x5d,0x29,0x3f,0x31, - 0x3a,0x30,0x3b,0x0a,0x73,0x69,0x67,0x6e,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x73,0x69,0x67,0x6e,0x5f,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73, - 0x75,0x6c,0x74,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x62,0x6f,0x72, - 0x72,0x6f,0x77,0x3d,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3c,0x74,0x5b,0x30,0x5d,0x29,0x3f,0x31,0x3a,0x30,0x3b,0x0a,0x66,0x6d, - 0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x2d,0x3d,0x74,0x5b,0x30,0x5d,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x2b,0x3d,0x62,0x6f,0x72,0x72,0x6f,0x77,0x3b, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x73,0x69,0x67,0x6e,0x3d,0x28,0x66,0x6d,0x61, - 0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3c,0x74,0x5b,0x31,0x5d,0x29,0x3f,0x31,0x3a,0x30,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74, - 0x5b,0x31,0x5d,0x2d,0x3d,0x74,0x5b,0x31,0x5d,0x3b,0x0a,0x73,0x69,0x67,0x6e,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x73,0x69,0x67,0x6e,0x5f, - 0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5e,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x73,0x69,0x67,0x6e,0x3b,0x0a,0x69,0x66,0x28,0x63,0x68,0x61,0x6e,0x67, - 0x65,0x5f,0x73,0x69,0x67,0x6e,0x29,0x0a,0x7b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x2d,0x28,0x69,0x6e,0x74,0x36,0x34,0x5f, - 0x74,0x29,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d, - 0x3d,0x7e,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x2b,0x3d, - 0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3f,0x30,0x3a,0x31,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75, - 0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x3d,0x30,0x29, - 0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x30,0x2e,0x30,0x3b,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74, - 0x2d,0x3d,0x36,0x34,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30, - 0x5d,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x30,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, - 0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x64,0x65,0x78,0x3d,0x63,0x6c,0x7a,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x29,0x3b,0x0a,0x69, - 0x66,0x28,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x2d,0x3d, - 0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74, - 0x5b,0x31,0x5d,0x3c,0x3c,0x69,0x6e,0x64,0x65,0x78,0x29,0x7c,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3e,0x3e,0x28,0x36,0x34,0x2d, - 0x69,0x6e,0x64,0x65,0x78,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x78,0x70,0x5f,0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x30,0x3b,0x0a,0x7d,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x31,0x31,0x2b,0x65,0x78,0x70,0x5f,0x63,0x6f,0x72,0x72,0x65, - 0x63,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x72,0x6f,0x75,0x6e,0x64,0x5f,0x75,0x70,0x3d,0x28, - 0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x7c,0x7c,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x26,0x28,0x28, - 0x31,0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x29,0x2d,0x31,0x29,0x29,0x29,0x3f,0x31,0x3a,0x30,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31, - 0x5d,0x20,0x3e,0x3e,0x3d,0x20,0x73,0x68,0x69,0x66,0x74,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x20,0x26,0x3d,0x20,0x6d,0x61, - 0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x6d,0x61,0x73,0x6b,0x3b,0x0a,0x69,0x66,0x28,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x5f,0x6d,0x6f,0x64,0x65,0x2b,0x73,0x69, - 0x67,0x6e,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x3d,0x32,0x29,0x0a,0x7b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31, - 0x5d,0x2b,0x3d,0x72,0x6f,0x75,0x6e,0x64,0x5f,0x75,0x70,0x3b,0x0a,0x69,0x66,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x3d,0x28, - 0x31,0x55,0x4c,0x3c,0x3c,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x73,0x69,0x7a,0x65,0x29,0x29,0x0a,0x7b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c, - 0x74,0x5b,0x31,0x5d,0x3d,0x30,0x3b,0x0a,0x2b,0x2b,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x7d, - 0x0a,0x7d,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x7c,0x3d,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x65,0x78,0x70, - 0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x2b,0x65,0x78,0x70,0x5f,0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x29, - 0x3c,0x3c,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x73,0x69,0x7a,0x65,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x7c,0x3d, - 0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x73,0x69,0x67,0x6e,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x29,0x3c,0x3c,0x36,0x33,0x3b, - 0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x29, - 0x3b,0x0a,0x7d,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x64,0x69,0x76,0x5f,0x72,0x6e,0x64,0x28,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x61,0x2c,0x64,0x6f,0x75,0x62, - 0x6c,0x65,0x20,0x62,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x72,0x63,0x29,0x0a,0x7b,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x79,0x30,0x3d, - 0x31,0x2e,0x30,0x2f,0x62,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x74,0x30,0x3d,0x61,0x2a,0x79,0x30,0x3b,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x74,0x31,0x3d,0x66,0x6d,0x61,0x28,0x2d,0x62,0x2c,0x74,0x30,0x2c,0x61,0x29,0x3b,0x0a,0x64,0x6f,0x75,0x62,0x6c, - 0x65,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x66,0x6d,0x61,0x5f,0x73,0x6f,0x66,0x74,0x28,0x79,0x30,0x2c,0x74,0x31,0x2c,0x74,0x30,0x2c,0x66,0x70,0x72,0x63,0x29, - 0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x69,0x6e,0x66,0x3d,0x32,0x30,0x34,0x37,0x55,0x4c,0x3c,0x3c,0x35,0x32,0x3b, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x69,0x6e,0x66,0x5f,0x72,0x6e,0x64,0x3d,0x69,0x6e,0x66,0x2d,0x28,0x66,0x70,0x72, - 0x63,0x26,0x31,0x29,0x3b,0x0a,0x69,0x66,0x28,0x28,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x72,0x65,0x73,0x75,0x6c,0x74,0x29,0x3e,0x3e,0x35,0x32,0x29, - 0x26,0x32,0x30,0x34,0x37,0x29,0x3d,0x3d,0x32,0x30,0x34,0x37,0x29,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x69, - 0x6e,0x66,0x5f,0x72,0x6e,0x64,0x29,0x3b,0x0a,0x69,0x66,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x61,0x29,0x3d,0x3d,0x69,0x6e,0x66,0x29,0x20,0x72,0x65, - 0x73,0x75,0x6c,0x74,0x3d,0x61,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x61,0x3d,0x3d,0x62,0x29,0x3f,0x31,0x2e,0x30,0x3a,0x72,0x65,0x73,0x75,0x6c,0x74, - 0x3b,0x0a,0x7d,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x73,0x71,0x72,0x74,0x5f,0x72,0x6e,0x64,0x28,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x78,0x2c,0x75,0x69,0x6e, - 0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x72,0x63,0x29,0x0a,0x7b,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x79,0x30,0x3d,0x72,0x73,0x71,0x72,0x74,0x28,0x78,0x29, - 0x3b,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x74,0x30,0x3d,0x79,0x30,0x2a,0x78,0x3b,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x74,0x31,0x3d,0x79,0x30,0x2a,0x2d, - 0x30,0x2e,0x35,0x3b,0x0a,0x74,0x31,0x3d,0x66,0x6d,0x61,0x28,0x74,0x31,0x2c,0x74,0x30,0x2c,0x30,0x2e,0x35,0x29,0x3b,0x09,0x09,0x09,0x09,0x09,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x79,0x31,0x5f,0x78,0x3d,0x66,0x6d,0x61,0x28,0x74,0x30,0x2c,0x74,0x31,0x2c,0x74,0x30,0x29,0x3b,0x09,0x0a,0x79, - 0x30,0x20,0x2a,0x3d,0x20,0x30,0x2e,0x35,0x3b,0x0a,0x79,0x30,0x3d,0x66,0x6d,0x61,0x28,0x79,0x30,0x2c,0x74,0x31,0x2c,0x79,0x30,0x29,0x3b,0x09,0x09,0x09,0x09,0x09, - 0x0a,0x74,0x31,0x3d,0x66,0x6d,0x61,0x28,0x2d,0x79,0x31,0x5f,0x78,0x2c,0x79,0x31,0x5f,0x78,0x2c,0x78,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x64,0x6f,0x75,0x62,0x6c, - 0x65,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x66,0x6d,0x61,0x5f,0x73,0x6f,0x66,0x74,0x28,0x74,0x31,0x2c,0x79,0x30,0x2c,0x79,0x31,0x5f,0x78,0x2c,0x66,0x70,0x72, - 0x63,0x29,0x3b,0x09,0x09,0x0a,0x69,0x66,0x28,0x2a,0x28,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x20,0x26,0x78,0x29,0x3d,0x3d,0x28,0x32,0x30,0x34, - 0x37,0x55,0x4c,0x3c,0x3c,0x35,0x32,0x29,0x29,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x78,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x72,0x65,0x73,0x75,0x6c, - 0x74,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x6e,0x65,0x72,0x5f,0x6c,0x6f,0x6f,0x70,0x28,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5f,0x6c,0x65,0x6e,0x67,0x74,0x68,0x2c,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c, - 0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61, - 0x6d,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x75,0x62,0x2c,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75, - 0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32, - 0x5f,0x74,0x20,0x66,0x70,0x5f,0x72,0x65,0x67,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, - 0x20,0x66,0x70,0x5f,0x72,0x65,0x67,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x41,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2c,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20, - 0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x52,0x2c,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x69, - 0x6d,0x6d,0x5f,0x62,0x75,0x66,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a, - 0x65,0x2c,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x72,0x63,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, - 0x20,0x66,0x70,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x5f,0x6d,0x61,0x73,0x6b,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74, - 0x20,0x78,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x4d,0x61,0x73,0x6b,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x77, - 0x6f,0x72,0x6b,0x65,0x72,0x73,0x5f,0x6d,0x61,0x73,0x6b,0x0a,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x75, - 0x62,0x32,0x3d,0x73,0x75,0x62,0x3e,0x3e,0x31,0x3b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55, - 0x4e,0x54,0x2b,0x31,0x5d,0x3d,0x66,0x70,0x72,0x63,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72, - 0x20,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x70,0x3d,0x30,0x3b,0x20,0x69,0x70,0x3c,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5f,0x6c,0x65,0x6e,0x67,0x74, - 0x68,0x3b,0x29,0x0a,0x7b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x5d,0x3d,0x69, - 0x70,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x73,0x74,0x3d,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61, - 0x6d,0x5b,0x69,0x70,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73, - 0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x4e,0x55,0x4d,0x5f,0x49,0x4e,0x53,0x54,0x53,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x26,0x28,0x57,0x4f,0x52,0x4b,0x45, - 0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x2d,0x31,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x75, - 0x6d,0x5f,0x66,0x70,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x4e,0x55,0x4d,0x5f,0x46,0x50,0x5f,0x49,0x4e,0x53,0x54,0x53,0x5f,0x4f, - 0x46,0x46,0x53,0x45,0x54,0x29,0x26,0x28,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x2d,0x31,0x29,0x3b,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x75,0x6d,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3d,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73, - 0x2d,0x6e,0x75,0x6d,0x5f,0x66,0x70,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3b,0x0a,0x69,0x66,0x28,0x73,0x75,0x62,0x3c,0x3d,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65, - 0x72,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d, - 0x73,0x75,0x62,0x2d,0x6e,0x75,0x6d,0x5f,0x66,0x70,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f, - 0x66,0x70,0x3d,0x69,0x6e,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3c,0x6e,0x75,0x6d,0x5f,0x66,0x70,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3b,0x0a,0x69,0x6e,0x73, - 0x74,0x3d,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5b,0x69,0x70,0x2b,0x28,0x69,0x73,0x5f,0x66,0x70,0x3f,0x73,0x75,0x62, - 0x32,0x3a,0x69,0x6e,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x29,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65, - 0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x26,0x31,0x35,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x4c,0x4f,0x43,0x5f,0x4f,0x46, - 0x46,0x53,0x45,0x54,0x29,0x26,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x72,0x65,0x67,0x5f,0x73,0x69,0x7a,0x65, - 0x5f,0x73,0x68,0x69,0x66,0x74,0x3d,0x69,0x73,0x5f,0x66,0x70,0x3f,0x34,0x3a,0x33,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, - 0x20,0x72,0x65,0x67,0x5f,0x62,0x61,0x73,0x65,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x69,0x73,0x5f,0x66,0x70,0x3f,0x66,0x70,0x5f,0x72,0x65,0x67,0x5f,0x6f,0x66, - 0x66,0x73,0x65,0x74,0x3a,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x72,0x65,0x67,0x5f,0x62,0x61,0x73,0x65,0x5f, - 0x73,0x72,0x63,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x69,0x73,0x5f,0x66,0x70,0x3f,0x66,0x70,0x5f,0x72,0x65,0x67,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x41,0x5f, - 0x6f,0x66,0x66,0x73,0x65,0x74,0x3a,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x28,0x69, - 0x6e,0x73,0x74,0x3e,0x3e,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x26,0x37,0x3b,0x0a,0x64,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x72, - 0x65,0x67,0x5f,0x62,0x61,0x73,0x65,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2b,0x28,0x64,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3c,0x3c,0x72,0x65,0x67,0x5f, - 0x73,0x69,0x7a,0x65,0x5f,0x73,0x68,0x69,0x66,0x74,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x72,0x63,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74, - 0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x26,0x37,0x3b,0x0a,0x73,0x72,0x63,0x5f,0x6f,0x66,0x66,0x73,0x65, - 0x74,0x3d,0x28,0x73,0x72,0x63,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3c,0x3c,0x33,0x29,0x2b,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3f,0x30,0x3a,0x72,0x65, - 0x67,0x5f,0x62,0x61,0x73,0x65,0x5f,0x73,0x72,0x63,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, - 0x36,0x34,0x5f,0x74,0x2a,0x20,0x64,0x73,0x74,0x5f,0x70,0x74,0x72,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a, - 0x29,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x28,0x52,0x29,0x2b,0x64,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73, - 0x65,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x73,0x72,0x63,0x5f,0x70,0x74,0x72,0x3d,0x28, - 0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, - 0x38,0x5f,0x74,0x2a,0x29,0x28,0x52,0x29,0x2b,0x73,0x72,0x63,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, - 0x33,0x32,0x5f,0x74,0x20,0x69,0x6d,0x6d,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45, - 0x54,0x29,0x26,0x32,0x35,0x35,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20, - 0x69,0x6d,0x6d,0x5f,0x70,0x74,0x72,0x3d,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x2b,0x69,0x6d,0x6d,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a,0x75,0x69,0x6e,0x74, - 0x36,0x34,0x5f,0x74,0x20,0x64,0x73,0x74,0x3d,0x2a,0x64,0x73,0x74,0x5f,0x70,0x74,0x72,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x73,0x72,0x63,0x3d, - 0x2a,0x73,0x72,0x63,0x5f,0x70,0x74,0x72,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x69,0x6d,0x6d,0x3b,0x0a,0x69,0x6d,0x6d,0x2e,0x78,0x3d,0x69,0x6d,0x6d,0x5f,0x70, - 0x74,0x72,0x5b,0x30,0x5d,0x3b,0x0a,0x69,0x6d,0x6d,0x2e,0x79,0x3d,0x69,0x6d,0x6d,0x5f,0x70,0x74,0x72,0x5b,0x31,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6c,0x6f,0x63,0x61, - 0x74,0x69,0x6f,0x6e,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x5f,0x73,0x68,0x69,0x66,0x74, - 0x3d,0x28,0x69,0x6d,0x6d,0x2e,0x78,0x3e,0x3e,0x32,0x31,0x29,0x26,0x33,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, - 0x6d,0x61,0x73,0x6b,0x3d,0x28,0x30,0x78,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x55,0x3e,0x3e,0x6c,0x6f,0x63,0x5f,0x73,0x68,0x69,0x66,0x74,0x29,0x2d,0x37,0x3b, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x72,0x65,0x61,0x64,0x3d,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x21,0x3d,0x31,0x30,0x29, - 0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x61,0x64,0x64,0x72,0x3d,0x69,0x73,0x5f,0x72,0x65,0x61,0x64,0x3f,0x28,0x28,0x6c,0x6f,0x63,0x5f,0x73,0x68, - 0x69,0x66,0x74,0x3d,0x3d,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x3f,0x30,0x3a,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x73,0x72,0x63,0x29,0x29,0x3a, - 0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x64,0x73,0x74,0x29,0x3b,0x0a,0x61,0x64,0x64,0x72,0x2b,0x3d,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29, - 0x28,0x69,0x6d,0x6d,0x2e,0x78,0x29,0x3b,0x0a,0x61,0x64,0x64,0x72,0x20,0x26,0x3d,0x20,0x6d,0x61,0x73,0x6b,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x70,0x74,0x72,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74, - 0x2a,0x29,0x28,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x61,0x64,0x64,0x72,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x72,0x65,0x61,0x64,0x29, - 0x0a,0x7b,0x0a,0x73,0x72,0x63,0x3d,0x2a,0x70,0x74,0x72,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x2a,0x70,0x74,0x72,0x3d,0x73,0x72,0x63,0x3b,0x0a, - 0x67,0x6f,0x74,0x6f,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x65,0x6e,0x64,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73, - 0x74,0x26,0x28,0x31,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x33,0x32,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x29,0x20,0x73,0x72,0x63,0x3d, - 0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x28,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x69, - 0x6d,0x6d,0x2e,0x78,0x29,0x29,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x3d,0x33,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74, - 0x26,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x29,0x20,0x73,0x72,0x63,0x3d,0x28, - 0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x2d,0x28,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x73,0x72,0x63,0x29,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f, - 0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x30,0x29,0x20,0x64,0x73,0x74,0x2b,0x3d,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x69,0x6d,0x6d,0x2e,0x78,0x29,0x3b, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x53,0x48,0x49, - 0x46,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x26,0x33,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x32,0x29,0x20,0x64,0x73,0x74,0x2b,0x3d, - 0x73,0x72,0x63,0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x69,0x6d,0x6d,0x36,0x34, - 0x3d,0x2a,0x28,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x20,0x26,0x69,0x6d,0x6d,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x26,0x28,0x31, - 0x3c,0x3c,0x53,0x52,0x43,0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x36,0x34,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x29,0x20,0x73,0x72,0x63,0x3d,0x69,0x6d,0x6d,0x36, - 0x34,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x32,0x29,0x20,0x64,0x73,0x74,0x20,0x2a,0x3d,0x20,0x73,0x72,0x63,0x3b,0x0a,0x69,0x66,0x28, - 0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x33,0x29,0x20,0x64,0x73,0x74,0x20,0x5e,0x3d,0x20,0x73,0x72,0x63,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66, - 0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x31,0x32,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x29,0x20,0x73,0x72,0x63,0x3d, - 0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x72,0x74,0x6e,0x28,0x28,0x69,0x6e,0x74, - 0x33,0x32,0x5f,0x74,0x29,0x28,0x73,0x72,0x63,0x3e,0x3e,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x2a,0x33,0x32,0x29,0x29,0x29,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69, - 0x6e,0x73,0x74,0x26,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x29,0x20,0x73,0x72, - 0x63,0x20,0x5e,0x3d,0x20,0x30,0x78,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x6d,0x75,0x6c,0x3d,0x28,0x69,0x6e,0x73,0x74,0x26,0x28,0x31,0x3c,0x3c,0x53,0x48,0x49,0x46,0x54,0x5f,0x4f,0x46,0x46, - 0x53,0x45,0x54,0x29,0x29,0x21,0x3d,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x61,0x3d,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62, - 0x6c,0x65,0x28,0x64,0x73,0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x62,0x3d,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c, - 0x65,0x28,0x73,0x72,0x63,0x29,0x3b,0x0a,0x64,0x73,0x74,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x66,0x6d,0x61,0x5f,0x73,0x6f,0x66,0x74,0x28,0x61,0x2c, - 0x69,0x73,0x5f,0x6d,0x75,0x6c,0x3f,0x62,0x3a,0x31,0x2e,0x30,0x2c,0x69,0x73,0x5f,0x6d,0x75,0x6c,0x3f,0x30,0x2e,0x30,0x3a,0x62,0x2c,0x66,0x70,0x72,0x63,0x29,0x29, - 0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x39,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x2b,0x3d,0x28,0x69, - 0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x69,0x6d,0x6d,0x2e,0x78,0x29,0x3b,0x0a,0x69,0x66,0x28,0x28,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x64, - 0x73,0x74,0x29,0x26,0x28,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x4d,0x61,0x73,0x6b,0x3c,0x3c,0x28,0x69,0x6d,0x6d,0x2e,0x79,0x26,0x33,0x31,0x29,0x29,0x29, - 0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x5d,0x3d, - 0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x28,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x69,0x6d,0x6d,0x2e,0x79,0x29,0x3e,0x3e,0x35,0x29, - 0x2d,0x6e,0x75,0x6d,0x5f,0x69,0x6e,0x73,0x74,0x73,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d, - 0x3d,0x37,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x31,0x3d,0x73,0x72,0x63,0x26,0x36,0x33,0x3b,0x0a,0x23,0x69, - 0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x20,0x3e,0x20,0x30,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x32,0x3d,0x36,0x34,0x2d,0x73,0x68,0x69,0x66,0x74,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74, - 0x20,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x72,0x6f,0x6c,0x3d,0x28,0x69,0x6e,0x73,0x74,0x26,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f, - 0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x29,0x3b,0x0a,0x64,0x73,0x74,0x3d,0x28,0x64,0x73,0x74,0x3e,0x3e,0x28,0x69,0x73,0x5f,0x72,0x6f,0x6c,0x3f, - 0x73,0x68,0x69,0x66,0x74,0x32,0x3a,0x73,0x68,0x69,0x66,0x74,0x31,0x29,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x28,0x69,0x73,0x5f,0x72,0x6f,0x6c,0x3f,0x73,0x68, - 0x69,0x66,0x74,0x31,0x3a,0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x64,0x73,0x74,0x3d,0x28,0x64,0x73,0x74,0x3e,0x3e,0x73, - 0x68,0x69,0x66,0x74,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x28,0x36,0x34,0x2d,0x73,0x68,0x69,0x66,0x74,0x31,0x29,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69, - 0x66,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x31,0x34,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x3d,0x61,0x73, - 0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x73,0x71,0x72,0x74,0x5f,0x72,0x6e,0x64,0x28,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x64,0x73,0x74,0x29,0x2c,0x66, - 0x70,0x72,0x63,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x36,0x29,0x0a,0x7b,0x0a,0x64,0x73, - 0x74,0x3d,0x6d,0x75,0x6c,0x5f,0x68,0x69,0x28,0x64,0x73,0x74,0x2c,0x73,0x72,0x63,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x3d,0x3d,0x34,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x3d,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x6d,0x75,0x6c,0x5f,0x68,0x69,0x28, - 0x28,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x64,0x73,0x74,0x29,0x2c,0x28,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x73,0x72,0x63,0x29,0x29,0x29,0x3b, - 0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x31,0x31,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x3d,0x2a,0x28,0x5f, - 0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38, - 0x5f,0x74,0x2a,0x29,0x28,0x52,0x29,0x2b,0x28,0x64,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x5e,0x38,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20, - 0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x38,0x29,0x0a,0x7b,0x0a,0x2a,0x73,0x72,0x63,0x5f,0x70,0x74,0x72,0x3d,0x64,0x73,0x74,0x3b,0x0a,0x64,0x73, - 0x74,0x3d,0x73,0x72,0x63,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x31,0x35,0x29,0x0a,0x7b,0x0a,0x73, - 0x72,0x63,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x72,0x74,0x6e,0x28,0x28, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x73,0x72,0x63,0x3e,0x3e,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x2a,0x33,0x32,0x29,0x29,0x29,0x29,0x3b,0x0a,0x73, - 0x72,0x63,0x20,0x26,0x3d,0x20,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x4d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x73,0x72,0x63,0x7c,0x3d, - 0x78,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x64,0x73,0x74,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x64,0x69,0x76,0x5f, - 0x72,0x6e,0x64,0x28,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x64,0x73,0x74,0x29,0x2c,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x73,0x72,0x63, - 0x29,0x2c,0x66,0x70,0x72,0x63,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x35,0x29,0x0a,0x7b, - 0x0a,0x64,0x73,0x74,0x3d,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x2d,0x28,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x64,0x73,0x74,0x29,0x29, - 0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x52,0x4f,0x55,0x4e,0x44,0x49,0x4e,0x47,0x5f,0x4d,0x4f,0x44,0x45,0x3c,0x30,0x29,0x0a,0x7b,0x0a,0x69, - 0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x2b,0x31,0x5d,0x3d,0x28,0x28,0x73,0x72,0x63,0x3e, - 0x3e,0x69,0x6d,0x6d,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x28,0x36,0x34,0x2d,0x69,0x6d,0x6d,0x5f,0x6f,0x66,0x66,0x73,0x65, - 0x74,0x29,0x29,0x29,0x26,0x33,0x3b,0x0a,0x67,0x6f,0x74,0x6f,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x65,0x6e,0x64,0x3b,0x0a,0x7d,0x0a,0x2a,0x64, - 0x73,0x74,0x5f,0x70,0x74,0x72,0x3d,0x64,0x73,0x74,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x65,0x6e,0x64,0x3a,0x0a,0x7b, - 0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x69, - 0x70,0x3d,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x5d,0x3b,0x0a,0x66,0x70,0x72,0x63, - 0x3d,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x2b,0x31,0x5d,0x3b,0x0a,0x69,0x70,0x2b, - 0x3d,0x6e,0x75,0x6d,0x5f,0x69,0x6e,0x73,0x74,0x73,0x2b,0x31,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x70,0x72,0x63,0x3b,0x0a,0x7d, - 0x0a,0x23,0x69,0x66,0x20,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x20,0x3d,0x3d,0x20,0x31,0x36,0x0a,0x5f,0x5f,0x61,0x74, - 0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28, - 0x33,0x32,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72, - 0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x31,0x36,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x23,0x65, - 0x6e,0x64,0x69,0x66,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x65,0x5f,0x76,0x6d,0x28,0x5f,0x5f, - 0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x76,0x6f,0x69,0x64,0x2a,0x20,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x73,0x63, - 0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x64, - 0x61,0x74,0x61,0x73,0x65,0x74,0x5f,0x70,0x74,0x72,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2c,0x75, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x75,0x6d,0x5f,0x69,0x74,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e,0x73,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, - 0x66,0x69,0x72,0x73,0x74,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x61,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75, - 0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5b,0x28,0x56,0x4d,0x5f,0x53,0x54,0x41,0x54, - 0x45,0x5f,0x53,0x49,0x5a,0x45,0x2a,0x32,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x5d,0x3b,0x0a,0x6c,0x6f,0x61, - 0x64,0x5f,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x2c,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28, - 0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74, - 0x29,0x2c,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f, - 0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x65,0x6e,0x75,0x6d,0x20,0x7b,0x20,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x3d,0x28,0x57,0x4f, - 0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x3d,0x3d,0x31,0x36,0x29,0x3f,0x31,0x36,0x3a,0x38,0x20,0x7d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f, - 0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x52,0x3d,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x2b, - 0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2f,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x29,0x2a,0x56,0x4d,0x5f,0x53, - 0x54,0x41,0x54,0x45,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f, - 0x63,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x20,0x46,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x29,0x28, - 0x52,0x2b,0x38,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x20,0x45,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c, - 0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, - 0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x64,0x78,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2f,0x49,0x44, - 0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x75,0x62,0x3d,0x67,0x6c,0x6f,0x62,0x61, - 0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x25,0x20,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6d,0x61, - 0x3d,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x30,0x5d,0x3b, - 0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6d,0x78,0x3d,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a, - 0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x31,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x61,0x64,0x64,0x72, - 0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x3d,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a, - 0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x32,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36, - 0x34,0x5f,0x74,0x2a,0x20,0x72,0x65,0x61,0x64,0x52,0x65,0x67,0x30,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a, - 0x29,0x28,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x52,0x29,0x2b,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73, - 0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x30,0x78,0x66,0x66,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20, - 0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x72,0x65,0x61,0x64,0x52,0x65,0x67,0x31,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, - 0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x52,0x29,0x2b,0x28,0x28,0x61, - 0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x3e,0x3e,0x38,0x29,0x26,0x30,0x78,0x66,0x66,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f, - 0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x72,0x65,0x61,0x64,0x52,0x65,0x67,0x32,0x3d,0x28,0x5f,0x5f, - 0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38, - 0x5f,0x74,0x2a,0x29,0x52,0x29,0x2b,0x28,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x3e,0x3e,0x31,0x36,0x29,0x26,0x30, - 0x78,0x66,0x66,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x72, - 0x65,0x61,0x64,0x52,0x65,0x67,0x33,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x28,0x28,0x5f,0x5f, - 0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x52,0x29,0x2b,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74, - 0x65,0x72,0x73,0x3e,0x3e,0x32,0x34,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x61,0x74,0x61,0x73,0x65, - 0x74,0x4f,0x66,0x66,0x73,0x65,0x74,0x3d,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31, - 0x36,0x29,0x29,0x5b,0x33,0x5d,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20, - 0x64,0x61,0x74,0x61,0x73,0x65,0x74,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74, - 0x2a,0x29,0x64,0x61,0x74,0x61,0x73,0x65,0x74,0x5f,0x70,0x74,0x72,0x29,0x2b,0x64,0x61,0x74,0x61,0x73,0x65,0x74,0x4f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x5f,0x72,0x65,0x67,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x36,0x34,0x2b,0x28,0x28, - 0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x26,0x31,0x29,0x3c,0x3c,0x33,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x20,0x66,0x70,0x5f,0x72,0x65,0x67,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x41,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x31,0x39,0x32,0x2b,0x28,0x28, - 0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x26,0x31,0x29,0x3c,0x3c,0x33,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, - 0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x65,0x4d,0x61,0x73,0x6b,0x3d,0x52,0x2b,0x31,0x38,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x20,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5f,0x6c,0x65,0x6e,0x67,0x74,0x68,0x3d,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x32,0x30,0x29,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x72,0x63,0x3d,0x28, - 0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x29,0x5b,0x69,0x64, - 0x78,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x70,0x41,0x64,0x64,0x72,0x30,0x3d,0x66,0x69,0x72,0x73,0x74,0x3f,0x6d,0x78,0x3a,0x30,0x3b, - 0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x70,0x41,0x64,0x64,0x72,0x31,0x3d,0x66,0x69,0x72,0x73,0x74,0x3f,0x6d,0x61,0x3a,0x30,0x3b,0x0a,0x5f,0x5f, - 0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x3d,0x28,0x28,0x5f,0x5f,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x73,0x29,0x2b,0x69,0x64,0x78,0x2a, - 0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33, - 0x2b,0x36,0x34,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x66,0x5f,0x67,0x72,0x6f,0x75,0x70,0x3d,0x28,0x73,0x75,0x62,0x3c,0x34,0x29, - 0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x20,0x66,0x65,0x3d,0x66,0x5f,0x67,0x72,0x6f,0x75,0x70,0x3f,0x28,0x46,0x2b, - 0x73,0x75,0x62,0x2a,0x32,0x29,0x3a,0x28,0x45,0x2b,0x28,0x73,0x75,0x62,0x2d,0x34,0x29,0x2a,0x32,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x64,0x6f, - 0x75,0x62,0x6c,0x65,0x2a,0x20,0x66,0x3d,0x46,0x2b,0x73,0x75,0x62,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x20,0x65, - 0x3d,0x45,0x2b,0x73,0x75,0x62,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x61,0x6e,0x64,0x4d,0x61,0x73,0x6b,0x3d,0x66, - 0x5f,0x67,0x72,0x6f,0x75,0x70,0x3f,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x2d,0x31,0x29,0x3a,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x4d,0x61,0x6e, - 0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6f,0x72,0x4d,0x61,0x73,0x6b, - 0x31,0x3d,0x66,0x5f,0x67,0x72,0x6f,0x75,0x70,0x3f,0x30,0x3a,0x65,0x4d,0x61,0x73,0x6b,0x5b,0x30,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, - 0x36,0x34,0x5f,0x74,0x20,0x6f,0x72,0x4d,0x61,0x73,0x6b,0x32,0x3d,0x66,0x5f,0x67,0x72,0x6f,0x75,0x70,0x3f,0x30,0x3a,0x65,0x4d,0x61,0x73,0x6b,0x5b,0x31,0x5d,0x3b, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x78,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x4d,0x61,0x73,0x6b,0x3d,0x28,0x73, - 0x75,0x62,0x26,0x31,0x29,0x3f,0x65,0x4d,0x61,0x73,0x6b,0x5b,0x31,0x5d,0x3a,0x65,0x4d,0x61,0x73,0x6b,0x5b,0x30,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c, - 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, - 0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75, - 0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x2a,0x20,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x28,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2b, - 0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x3b, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x5f,0x6d,0x61,0x73,0x6b,0x3d,0x28,0x28,0x31, - 0x3c,0x3c,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2d,0x31,0x29,0x3c,0x3c,0x28,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f, - 0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2f,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x29,0x2a,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x29,0x3b, - 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x5f,0x6d,0x61,0x73,0x6b,0x3d, - 0x33,0x3c,0x3c,0x28,0x28,0x28,0x73,0x75,0x62,0x3e,0x3e,0x31,0x29,0x3c,0x3c,0x31,0x29,0x2b,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28, - 0x30,0x29,0x2f,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x29,0x2a,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x29,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d, - 0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x63,0x3d,0x30,0x3b,0x20,0x69,0x63,0x3c,0x6e,0x75,0x6d, - 0x5f,0x69,0x74,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e,0x73,0x3b,0x20,0x2b,0x2b,0x69,0x63,0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, - 0x74,0x36,0x34,0x5f,0x74,0x20,0x2a,0x72,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x2a,0x70,0x30,0x2c, - 0x2a,0x70,0x31,0x3b,0x0a,0x69,0x66,0x28,0x28,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x3c,0x3d,0x38,0x29,0x7c,0x7c,0x28, - 0x73,0x75,0x62,0x3c,0x38,0x29,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x73,0x70,0x4d,0x69,0x78,0x3d,0x2a, - 0x72,0x65,0x61,0x64,0x52,0x65,0x67,0x30,0x5e,0x2a,0x72,0x65,0x61,0x64,0x52,0x65,0x67,0x31,0x3b,0x0a,0x73,0x70,0x41,0x64,0x64,0x72,0x30,0x20,0x5e,0x3d,0x20,0x28, - 0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x26,0x73,0x70,0x4d,0x69,0x78,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x73,0x70,0x41, - 0x64,0x64,0x72,0x31,0x20,0x5e,0x3d,0x20,0x28,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x26,0x73,0x70,0x4d,0x69,0x78, - 0x29,0x5b,0x31,0x5d,0x3b,0x0a,0x73,0x70,0x41,0x64,0x64,0x72,0x30,0x20,0x26,0x3d,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73, - 0x6b,0x36,0x34,0x3b,0x0a,0x73,0x70,0x41,0x64,0x64,0x72,0x31,0x20,0x26,0x3d,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b, - 0x36,0x34,0x3b,0x0a,0x70,0x30,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x73,0x63,0x72,0x61, - 0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x73,0x70,0x41,0x64,0x64,0x72,0x30,0x2b,0x73,0x75,0x62,0x2a,0x38,0x29,0x3b,0x0a,0x70,0x31,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f, - 0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x73,0x70,0x41,0x64,0x64,0x72, - 0x31,0x2b,0x73,0x75,0x62,0x2a,0x38,0x29,0x3b,0x0a,0x72,0x3d,0x52,0x2b,0x73,0x75,0x62,0x3b,0x0a,0x2a,0x72,0x20,0x5e,0x3d,0x20,0x2a,0x70,0x30,0x3b,0x0a,0x75,0x69, - 0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x6d,0x65,0x6d,0x5f,0x64,0x61,0x74,0x61,0x3d,0x2a,0x70,0x31,0x3b,0x0a,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x2a,0x20,0x71,0x3d,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x26,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x6d,0x65,0x6d,0x5f,0x64,0x61,0x74, - 0x61,0x3b,0x0a,0x66,0x65,0x5b,0x30,0x5d,0x3d,0x6c,0x6f,0x61,0x64,0x5f,0x46,0x5f,0x45,0x5f,0x67,0x72,0x6f,0x75,0x70,0x73,0x28,0x71,0x5b,0x30,0x5d,0x2c,0x61,0x6e, - 0x64,0x4d,0x61,0x73,0x6b,0x2c,0x6f,0x72,0x4d,0x61,0x73,0x6b,0x31,0x29,0x3b,0x0a,0x66,0x65,0x5b,0x31,0x5d,0x3d,0x6c,0x6f,0x61,0x64,0x5f,0x46,0x5f,0x45,0x5f,0x67, - 0x72,0x6f,0x75,0x70,0x73,0x28,0x71,0x5b,0x31,0x5d,0x2c,0x61,0x6e,0x64,0x4d,0x61,0x73,0x6b,0x2c,0x6f,0x72,0x4d,0x61,0x73,0x6b,0x32,0x29,0x3b,0x0a,0x7d,0x0a,0x69, - 0x66,0x28,0x28,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x3d,0x3d,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x29,0x7c, - 0x7c,0x28,0x73,0x75,0x62,0x3c,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x29,0x0a,0x66,0x70,0x72,0x63,0x3d,0x69,0x6e, - 0x6e,0x65,0x72,0x5f,0x6c,0x6f,0x6f,0x70,0x28,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5f,0x6c,0x65,0x6e,0x67,0x74,0x68,0x2c,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64, - 0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2c,0x73,0x75,0x62,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2c,0x66,0x70,0x5f,0x72,0x65,0x67,0x5f,0x6f, - 0x66,0x66,0x73,0x65,0x74,0x2c,0x66,0x70,0x5f,0x72,0x65,0x67,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x41,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2c,0x52,0x2c,0x69,0x6d, - 0x6d,0x5f,0x62,0x75,0x66,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2c,0x66,0x70,0x72,0x63,0x2c,0x66,0x70,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73, - 0x5f,0x6d,0x61,0x73,0x6b,0x2c,0x78,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x4d,0x61,0x73,0x6b,0x2c,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x5f,0x6d,0x61,0x73,0x6b, - 0x29,0x3b,0x0a,0x69,0x66,0x28,0x28,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x3c,0x3d,0x38,0x29,0x7c,0x7c,0x28,0x73,0x75, - 0x62,0x3c,0x38,0x29,0x29,0x0a,0x7b,0x0a,0x6d,0x78,0x20,0x5e,0x3d,0x20,0x2a,0x72,0x65,0x61,0x64,0x52,0x65,0x67,0x32,0x5e,0x2a,0x72,0x65,0x61,0x64,0x52,0x65,0x67, - 0x33,0x3b,0x0a,0x6d,0x78,0x20,0x26,0x3d,0x20,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x41,0x6c,0x69,0x67,0x6e,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6e,0x65,0x78,0x74,0x5f,0x72,0x3d,0x2a,0x72,0x5e,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, - 0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x64,0x61,0x74,0x61,0x73,0x65,0x74,0x2b,0x6d,0x61,0x2b,0x73,0x75,0x62, - 0x2a,0x38,0x29,0x3b,0x0a,0x2a,0x72,0x3d,0x6e,0x65,0x78,0x74,0x5f,0x72,0x3b,0x0a,0x2a,0x70,0x31,0x3d,0x6e,0x65,0x78,0x74,0x5f,0x72,0x3b,0x0a,0x2a,0x70,0x30,0x3d, - 0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x66,0x5b,0x30,0x5d,0x29,0x5e,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x65,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x75, - 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74,0x6d,0x70,0x3d,0x6d,0x61,0x3b,0x0a,0x6d,0x61,0x3d,0x6d,0x78,0x3b,0x0a,0x6d,0x78,0x3d,0x74,0x6d,0x70,0x3b,0x0a,0x73, - 0x70,0x41,0x64,0x64,0x72,0x30,0x3d,0x30,0x3b,0x0a,0x73,0x70,0x41,0x64,0x64,0x72,0x31,0x3d,0x30,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x28,0x57,0x4f,0x52, - 0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x3e,0x38,0x29,0x26,0x26,0x28,0x73,0x75,0x62,0x3e,0x3d,0x38,0x29,0x29,0x0a,0x72,0x65,0x74,0x75, - 0x72,0x6e,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x70,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f, - 0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x56,0x4d, - 0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x3b,0x0a,0x70, - 0x5b,0x73,0x75,0x62,0x5d,0x3d,0x52,0x5b,0x73,0x75,0x62,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x73,0x75,0x62,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x28,0x28,0x5f,0x5f,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x29,0x5b,0x69,0x64,0x78,0x5d,0x3d,0x66, - 0x70,0x72,0x63,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x6c,0x61,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x70,0x5b,0x73,0x75,0x62,0x2b,0x38,0x5d,0x3d,0x61,0x73,0x5f,0x75,0x6c, - 0x6f,0x6e,0x67,0x28,0x46,0x5b,0x73,0x75,0x62,0x5d,0x29,0x5e,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x45,0x5b,0x73,0x75,0x62,0x5d,0x29,0x3b,0x0a,0x70,0x5b, - 0x73,0x75,0x62,0x2b,0x31,0x36,0x5d,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x45,0x5b,0x73,0x75,0x62,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65, - 0x20,0x69,0x66,0x28,0x73,0x75,0x62,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, - 0x74,0x2a,0x29,0x28,0x70,0x2b,0x31,0x36,0x29,0x29,0x5b,0x30,0x5d,0x3d,0x6d,0x61,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e, - 0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x70,0x2b,0x31,0x36,0x29,0x29,0x5b,0x31,0x5d,0x3d,0x6d,0x78,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72, - 0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x36,0x34, - 0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x66,0x69,0x6e,0x64,0x5f,0x73,0x68,0x61,0x72,0x65, - 0x73,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x68,0x61,0x73,0x68,0x65, - 0x73,0x2c,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x74,0x61,0x72,0x74, - 0x5f,0x6e,0x6f,0x6e,0x63,0x65,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x73,0x68,0x61,0x72,0x65,0x73, - 0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d, - 0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x69,0x66,0x28,0x68,0x61,0x73,0x68,0x65,0x73,0x5b,0x67,0x6c,0x6f,0x62, - 0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x34,0x2b,0x33,0x5d,0x3c,0x74,0x61,0x72,0x67,0x65,0x74,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, - 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x64,0x78,0x3d,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x69,0x6e,0x63,0x28,0x73,0x68,0x61,0x72,0x65,0x73,0x2b,0x30,0x78,0x46, - 0x46,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x64,0x78,0x3c,0x30,0x78,0x46,0x46,0x29,0x20,0x7b,0x0a,0x73,0x68,0x61,0x72,0x65,0x73,0x5b,0x69,0x64,0x78,0x5d,0x3d,0x73, - 0x74,0x61,0x72,0x74,0x5f,0x6e,0x6f,0x6e,0x63,0x65,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x23, - 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4e,0x49,0x54,0x49,0x41,0x4c,0x5f,0x48,0x41,0x53,0x48,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x49,0x4e,0x54,0x45,0x52,0x4d,0x45,0x44,0x49,0x41,0x54,0x45,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52, - 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x31,0x36,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x43,0x4f,0x4d,0x50,0x49,0x4c,0x45,0x44,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x31,0x30,0x30,0x34,0x38,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x4e,0x55,0x4d,0x5f,0x56,0x47,0x50,0x52,0x5f,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x20,0x31,0x32,0x38,0x0a,0x23,0x64,0x65, - 0x66,0x69,0x6e,0x65,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x53,0x69,0x7a,0x65,0x20,0x35,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x78,0x70, - 0x6f,0x6e,0x65,0x6e,0x74,0x53,0x69,0x7a,0x65,0x20,0x31,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73, - 0x6b,0x20,0x28,0x28,0x31,0x55,0x4c,0x20,0x3c,0x3c,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x53,0x69,0x7a,0x65,0x29,0x20,0x2d,0x20,0x31,0x29,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x4d,0x61,0x73,0x6b,0x20,0x28,0x28,0x31,0x55,0x4c,0x20,0x3c,0x3c,0x20,0x65,0x78,0x70,0x6f, - 0x6e,0x65,0x6e,0x74,0x53,0x69,0x7a,0x65,0x29,0x20,0x2d,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42, - 0x69,0x61,0x73,0x20,0x31,0x30,0x32,0x33,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74, - 0x42,0x69,0x74,0x73,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74, - 0x73,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x63,0x6f,0x6e,0x73,0x74,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x20,0x30,0x78, - 0x33,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x4d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73,0x6b,0x20, - 0x28,0x28,0x31,0x55,0x4c,0x20,0x3c,0x3c,0x20,0x28,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x53,0x69,0x7a,0x65,0x20,0x2b,0x20,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63, - 0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x29,0x29,0x20,0x2d,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x63,0x72,0x61, - 0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x20,0x33,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x63,0x72,0x61, - 0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x20,0x33,0x39,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x63,0x72,0x61, - 0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x20,0x35,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x63,0x72,0x61, - 0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44, - 0x5f,0x4c,0x33,0x20,0x2d,0x20,0x38,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x42,0x49, - 0x54,0x53,0x20,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54, - 0x20,0x38,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x53,0x5f,0x53,0x45,0x54,0x50,0x43,0x5f,0x42,0x36,0x34,0x5f,0x53,0x31,0x32,0x5f,0x31,0x33,0x20,0x30,0x78,0x62,0x65,0x38,0x30,0x32,0x30,0x30,0x63,0x75,0x0a, - 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x41,0x4e,0x44,0x5f,0x42,0x33,0x32,0x5f,0x43,0x41,0x4c,0x43,0x5f,0x41,0x44,0x44,0x52,0x45,0x53,0x53,0x20,0x30, - 0x78,0x33,0x36,0x33,0x38,0x30,0x30,0x30,0x65,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x44, - 0x57,0x4f,0x52,0x44,0x58,0x32,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x20,0x30,0x78,0x64,0x63,0x33,0x34,0x38,0x30,0x30, - 0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x57,0x41,0x49,0x54,0x43,0x4e,0x54,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f, - 0x4c,0x4f,0x41,0x44,0x32,0x20,0x30,0x78,0x62,0x66,0x38,0x63,0x33,0x66,0x37,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x52,0x45,0x41,0x44, - 0x4c,0x41,0x4e,0x45,0x5f,0x42,0x33,0x32,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x32,0x20,0x30,0x78,0x64,0x37,0x36,0x30, - 0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f, - 0x52,0x20,0x30,0x78,0x39,0x61,0x38,0x66,0x31,0x30,0x31,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f, - 0x49,0x4d,0x55,0x4c,0x20,0x30,0x78,0x39,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48, - 0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x5f,0x32,0x20,0x30,0x78,0x39,0x61,0x38,0x66,0x66,0x66,0x31,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69, - 0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x20,0x30,0x78,0x39,0x61,0x61,0x31,0x30,0x65,0x31, - 0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x4f,0x56,0x5f,0x42,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x20,0x30,0x78, - 0x62,0x65,0x61,0x30,0x30,0x33,0x66,0x66,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49, - 0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x20,0x30,0x78,0x39,0x61,0x38,0x66,0x32,0x30,0x31,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x58,0x4f, - 0x52,0x5f,0x42,0x33,0x32,0x5f,0x36,0x34,0x20,0x30,0x78,0x38,0x39,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d, - 0x4f,0x56,0x5f,0x42,0x33,0x32,0x5f,0x58,0x4f,0x52,0x5f,0x52,0x20,0x30,0x78,0x62,0x65,0x62,0x65,0x30,0x33,0x66,0x66,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x53,0x5f,0x4c,0x53,0x48,0x52,0x20,0x30,0x78,0x39,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4c,0x53, - 0x48,0x4c,0x20,0x30,0x78,0x38,0x66,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4f,0x52,0x20,0x30,0x78,0x38,0x38, - 0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x41,0x4e,0x44,0x20,0x30,0x78,0x38,0x37,0x30,0x30,0x30,0x30,0x30,0x30, - 0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x42,0x46,0x45,0x20,0x30,0x78,0x39,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x44,0x53,0x5f,0x53,0x57,0x49,0x5a,0x5a,0x4c,0x45,0x5f,0x42,0x33,0x32,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x30,0x78,0x64,0x38,0x64, - 0x34,0x38,0x30,0x30,0x31,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x41,0x44,0x44,0x5f,0x46,0x36,0x34,0x20,0x30,0x78,0x64,0x35,0x36,0x34,0x30, - 0x30,0x33,0x63,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x41,0x4e,0x44,0x5f,0x42,0x33,0x32,0x20,0x30,0x78,0x33,0x36,0x30,0x30,0x30,0x30,0x30, - 0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x44,0x57,0x4f,0x52,0x44,0x5f,0x53,0x43,0x52, - 0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x46,0x50,0x20,0x30,0x78,0x64,0x63,0x33,0x30,0x38,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66, - 0x69,0x6e,0x65,0x20,0x56,0x5f,0x58,0x4f,0x52,0x5f,0x42,0x33,0x32,0x20,0x30,0x78,0x33,0x61,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x56,0x5f,0x4d,0x55,0x4c,0x5f,0x46,0x36,0x34,0x20,0x30,0x78,0x64,0x35,0x36,0x35,0x30,0x30,0x34,0x34,0x75,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x53,0x45,0x54,0x50,0x43,0x5f,0x42,0x36,0x34,0x5f,0x53,0x31,0x32,0x5f,0x31,0x33,0x20,0x30,0x78,0x62,0x65,0x38,0x30,0x31, - 0x64,0x30,0x63,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x41,0x4e,0x44,0x5f,0x42,0x33,0x32,0x5f,0x43,0x41,0x4c,0x43,0x5f,0x41,0x44,0x44,0x52, - 0x45,0x53,0x53,0x20,0x30,0x78,0x32,0x36,0x33,0x38,0x30,0x30,0x30,0x65,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4c, - 0x4f,0x41,0x44,0x5f,0x44,0x57,0x4f,0x52,0x44,0x58,0x32,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x20,0x30,0x78,0x64,0x63, - 0x35,0x34,0x38,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x57,0x41,0x49,0x54,0x43,0x4e,0x54,0x5f,0x53,0x43,0x52,0x41,0x54,0x43, - 0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x32,0x20,0x30,0x78,0x62,0x66,0x38,0x63,0x30,0x66,0x37,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56, - 0x5f,0x52,0x45,0x41,0x44,0x4c,0x41,0x4e,0x45,0x5f,0x42,0x33,0x32,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x32,0x20,0x30, - 0x78,0x64,0x32,0x38,0x39,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f, - 0x49,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x30,0x78,0x39,0x36,0x30,0x66,0x31,0x30,0x31,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c, - 0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x20,0x30,0x78,0x39,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f, - 0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x5f,0x32,0x20,0x30,0x78,0x39,0x36,0x30,0x66,0x66,0x66,0x31,0x30,0x75,0x0a, - 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x20,0x30,0x78,0x39,0x36, - 0x32,0x31,0x30,0x65,0x31,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x4f,0x56,0x5f,0x42,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52, - 0x43,0x50,0x20,0x30,0x78,0x62,0x65,0x61,0x30,0x30,0x30,0x66,0x66,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f, - 0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x20,0x30,0x78,0x39,0x36,0x30,0x66,0x32,0x30,0x31,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x53,0x5f,0x58,0x4f,0x52,0x5f,0x42,0x33,0x32,0x5f,0x36,0x34,0x20,0x30,0x78,0x38,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, - 0x65,0x20,0x53,0x5f,0x4d,0x4f,0x56,0x5f,0x42,0x33,0x32,0x5f,0x58,0x4f,0x52,0x5f,0x52,0x20,0x30,0x78,0x62,0x65,0x62,0x65,0x30,0x30,0x66,0x66,0x75,0x0a,0x23,0x64, - 0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4c,0x53,0x48,0x52,0x20,0x30,0x78,0x38,0x66,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, - 0x20,0x53,0x5f,0x4c,0x53,0x48,0x4c,0x20,0x30,0x78,0x38,0x65,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4f,0x52, - 0x20,0x30,0x78,0x38,0x37,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x41,0x4e,0x44,0x20,0x30,0x78,0x38,0x36,0x30, - 0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x42,0x46,0x45,0x20,0x30,0x78,0x39,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x75, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x44,0x53,0x5f,0x53,0x57,0x49,0x5a,0x5a,0x4c,0x45,0x5f,0x42,0x33,0x32,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x20, - 0x30,0x78,0x64,0x38,0x37,0x61,0x38,0x30,0x30,0x31,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x41,0x44,0x44,0x5f,0x46,0x36,0x34,0x20,0x30,0x78, - 0x64,0x32,0x38,0x30,0x30,0x30,0x33,0x63,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x41,0x4e,0x44,0x5f,0x42,0x33,0x32,0x20,0x30,0x78,0x32,0x36, - 0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x44,0x57,0x4f,0x52, - 0x44,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x46,0x50,0x20,0x30,0x78,0x64,0x63,0x35,0x30,0x38,0x30,0x30,0x30,0x75, - 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x58,0x4f,0x52,0x5f,0x42,0x33,0x32,0x20,0x30,0x78,0x32,0x61,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23, - 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x4d,0x55,0x4c,0x5f,0x46,0x36,0x34,0x20,0x30,0x78,0x64,0x32,0x38,0x31,0x30,0x30,0x34,0x34,0x75,0x0a,0x23,0x65,0x6e, - 0x64,0x69,0x66,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61, - 0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c, - 0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x2c,0x75,0x69,0x6e,0x74,0x20,0x69,0x6d,0x6d,0x33,0x32,0x2c,0x75,0x69,0x6e,0x74,0x20,0x6d,0x61,0x73,0x6b,0x5f,0x72,0x65, - 0x67,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x31, - 0x30,0x65,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6d,0x6d,0x33,0x32,0x3b,0x0a, - 0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x41,0x4e,0x44,0x5f,0x42,0x33,0x32,0x5f,0x43,0x41,0x4c,0x43,0x5f,0x41,0x44,0x44,0x52,0x45,0x53,0x53,0x7c,0x28,0x6d, - 0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, - 0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x66,0x69,0x78,0x65, - 0x64,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20, - 0x69,0x6d,0x6d,0x33,0x32,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d, - 0x30,0x78,0x37,0x65,0x33,0x38,0x30,0x32,0x66,0x66,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6d,0x6d,0x33,0x32,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72, - 0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63, - 0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20, - 0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d, - 0x20,0x31,0x34,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x44,0x57,0x4f,0x52,0x44,0x58,0x32,0x5f,0x53, - 0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x31, - 0x63,0x75,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x32,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b, - 0x29,0x3d,0x30,0x78,0x33,0x32,0x35,0x34,0x33,0x39,0x30,0x32,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x31, - 0x31,0x63,0x36,0x61,0x32,0x62,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x31,0x61,0x39,0x30,0x31,0x30,0x33, - 0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x63,0x35,0x34,0x30,0x30,0x30,0x30,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70, - 0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x61,0x75,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x32,0x34,0x29, - 0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69, - 0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, - 0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2c,0x69,0x6e,0x74,0x20,0x76,0x6d, - 0x63,0x6e,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x76,0x6d,0x63,0x6e,0x74,0x3e,0x3d,0x30,0x29,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x57,0x41,0x49, - 0x54,0x43,0x4e,0x54,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x32,0x7c,0x28,0x76,0x6d,0x63,0x6e,0x74,0x26,0x31,0x35,0x29, - 0x7c,0x28,0x28,0x76,0x6d,0x63,0x6e,0x74,0x3e,0x3e,0x34,0x29,0x3c,0x3c,0x31,0x34,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x52,0x45,0x41,0x44, - 0x4c,0x41,0x4e,0x45,0x5f,0x42,0x33,0x32,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x32,0x7c,0x31,0x34,0x3b,0x0a,0x2a,0x28, - 0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x31,0x30,0x31,0x30,0x30,0x75,0x7c,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x2a,0x28,0x70, - 0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x52,0x45,0x41,0x44,0x4c,0x41,0x4e,0x45,0x5f,0x42,0x33,0x32,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f, - 0x41,0x44,0x32,0x7c,0x31,0x35,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x31,0x30,0x31,0x30,0x30,0x75,0x7c,0x28,0x76,0x67,0x70,0x72, - 0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x31,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73, - 0x73,0x5f,0x66,0x70,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x2c,0x75, - 0x69,0x6e,0x74,0x20,0x69,0x6d,0x6d,0x33,0x32,0x2c,0x75,0x69,0x6e,0x74,0x20,0x6d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74, - 0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x31,0x30,0x65,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x73, - 0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6d,0x6d,0x33,0x32,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x41, - 0x4e,0x44,0x5f,0x42,0x33,0x32,0x7c,0x30,0x78,0x33,0x38,0x30,0x30,0x30,0x65,0x75,0x7c,0x28,0x6d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3c,0x3c,0x39,0x29,0x3b,0x0a, - 0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x34, - 0x61,0x33,0x38,0x35,0x39,0x31,0x63,0x75,0x3b,0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3d,0x3d,0x20,0x31, - 0x34,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x36,0x38,0x33,0x38,0x35,0x39,0x31,0x63,0x75,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b, - 0x2b,0x29,0x3d,0x30,0x78,0x33,0x32,0x33,0x38,0x35,0x39,0x31,0x63,0x75,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b, - 0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64, - 0x5f,0x6c,0x6f,0x61,0x64,0x5f,0x66,0x70,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20,0x76, - 0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20, - 0x31,0x34,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x44,0x57,0x4f,0x52,0x44,0x5f,0x53,0x43,0x52,0x41, - 0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x46,0x50,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x31, - 0x63,0x75,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x32,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b, - 0x29,0x3d,0x30,0x78,0x33,0x32,0x35,0x34,0x33,0x39,0x30,0x32,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x31, - 0x31,0x63,0x36,0x61,0x32,0x62,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x31,0x61,0x39,0x30,0x31,0x30,0x33, - 0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x63,0x35,0x30,0x30,0x30,0x30,0x30,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70, - 0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x32,0x61,0x75,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x32,0x34,0x29, - 0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69, - 0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x5f,0x66,0x70,0x28,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2c,0x69,0x6e,0x74, - 0x20,0x76,0x6d,0x63,0x6e,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x76,0x6d,0x63,0x6e,0x74,0x3e,0x3d,0x30,0x29,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f, - 0x57,0x41,0x49,0x54,0x43,0x4e,0x54,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x32,0x7c,0x28,0x76,0x6d,0x63,0x6e,0x74,0x26, - 0x31,0x35,0x29,0x7c,0x28,0x28,0x76,0x6d,0x63,0x6e,0x74,0x3e,0x3e,0x34,0x29,0x3c,0x3c,0x31,0x34,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x37, - 0x65,0x33,0x38,0x30,0x39,0x30,0x30,0x75,0x7c,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d, - 0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x65,0x6d,0x69,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63, - 0x74,0x69,0x6f,0x6e,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75, - 0x69,0x6e,0x74,0x2a,0x20,0x6c,0x61,0x73,0x74,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, - 0x6e,0x74,0x32,0x20,0x69,0x6e,0x73,0x74,0x2c,0x69,0x6e,0x74,0x20,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78, - 0x2c,0x69,0x6e,0x74,0x20,0x76,0x6d,0x63,0x6e,0x74,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x75,0x69, - 0x6e,0x74,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x30,0x78,0x46,0x46,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e, - 0x74,0x20,0x64,0x73,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x38,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20, - 0x73,0x72,0x63,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x31,0x36,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6d, - 0x6f,0x64,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x32,0x34,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x68,0x69,0x66, - 0x74,0x3d,0x28,0x6d,0x6f,0x64,0x3e,0x3e,0x32,0x29,0x20,0x25,0x20,0x34,0x3b,0x0a,0x69,0x66,0x28,0x73,0x68,0x69,0x66,0x74,0x3e,0x30,0x29,0x20,0x0a,0x7b,0x0a,0x2a, - 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x4c,0x7c,0x30,0x78,0x38,0x65,0x38,0x30,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x7c, - 0x28,0x73,0x68,0x69,0x66,0x74,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x30,0x30,0x65,0x31,0x30,0x75,0x7c,0x28, - 0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x31,0x31, - 0x30,0x66,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65, - 0x20,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c, - 0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x31, - 0x31,0x31,0x31,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c, - 0x39,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x64,0x73,0x74,0x3d,0x3d,0x35,0x29,0x20,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31, - 0x30,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b, - 0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x31,0x31,0x30,0x30,0x31,0x31,0x75,0x7c,0x28,0x64,0x73, - 0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x28,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79, - 0x29,0x3c,0x30,0x29,0x3f,0x30,0x78,0x63,0x31,0x3a,0x30,0x78,0x38,0x30,0x29,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b, - 0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x3b, - 0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x29,0x0a, - 0x7b,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69, - 0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61, - 0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34, - 0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61, - 0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x70, - 0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x66,0x69,0x78,0x65,0x64,0x5f,0x61,0x64,0x64,0x72,0x65, - 0x73,0x73,0x28,0x70,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x2c,0x62,0x61,0x74, - 0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x28, - 0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76, - 0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70, - 0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c, - 0x6f,0x61,0x64,0x32,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70,0x72,0x65,0x66, - 0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72, - 0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x30,0x30,0x65, - 0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30, - 0x78,0x38,0x32,0x31,0x31,0x30,0x66,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x7d, - 0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, - 0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b, - 0x29,0x3d,0x30,0x78,0x38,0x30,0x39,0x30,0x31,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29, - 0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x39,0x31,0x31,0x31,0x31,0x31,0x75,0x7c,0x28,0x64, - 0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73, - 0x65,0x20,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x39,0x30,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29, - 0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b, - 0x29,0x3d,0x30,0x78,0x38,0x32,0x39,0x31,0x30,0x30,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29, - 0x7c,0x28,0x28,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x29,0x3c,0x30,0x29,0x3f,0x30,0x78,0x63,0x31,0x3a,0x30,0x78,0x38,0x30,0x29, - 0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67, - 0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x70,0x3d,0x6a, - 0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x73,0x72,0x63, - 0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61, - 0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x62,0x61,0x74,0x63, - 0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f, - 0x63,0x61,0x6c,0x63,0x5f,0x66,0x69,0x78,0x65,0x64,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x53,0x63,0x72,0x61, - 0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f, - 0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f, - 0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d, - 0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d, - 0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f, - 0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a, - 0x32,0x38,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b, - 0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x39,0x30,0x30,0x65,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73, - 0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x39,0x31,0x30,0x66,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c, - 0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72, - 0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x34, - 0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x7c,0x28,0x64,0x73,0x74, - 0x3c,0x3c,0x31,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x37,0x65, - 0x33,0x38,0x30,0x32,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x32,0x38,0x36,0x30, - 0x30,0x31,0x63,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x32,0x31,0x31,0x63,0x75,0x2b,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31, - 0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x32,0x38,0x39,0x30,0x30,0x30,0x66,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30, - 0x78,0x30,0x30,0x30,0x31,0x30,0x31,0x31,0x63,0x75,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f, - 0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x30,0x65,0x31,0x31,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x73,0x72,0x63, - 0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x30,0x66,0x30,0x65,0x30,0x66,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29, - 0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x30,0x65,0x31,0x30,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c, - 0x31,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x31,0x30,0x65,0x30,0x66,0x75,0x7c, - 0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c, - 0x7c,0x30,0x78,0x31,0x30,0x31,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x73, - 0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f, - 0x4e,0x20,0x3e,0x3d,0x20,0x31,0x34,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c, - 0x5f,0x52,0x5f,0x32,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x23,0x65, - 0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x37,0x65,0x33,0x38,0x30,0x32,0x66,0x66,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69, - 0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x32,0x38,0x36,0x30,0x30,0x31,0x63,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b, - 0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x32,0x31,0x31,0x63,0x75,0x2b,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d, - 0x30,0x78,0x64,0x32,0x38,0x39,0x30,0x30,0x30,0x66,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x31,0x30,0x31,0x31,0x63,0x75,0x3b, - 0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x29,0x3c,0x30,0x29,0x20,0x0a,0x7b,0x0a, - 0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x38,0x66,0x31,0x30,0x30,0x66,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x7d,0x0a,0x2a, - 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x30,0x65,0x66,0x66,0x31,0x31,0x75,0x7c,0x28, - 0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30, - 0x78,0x38,0x30,0x31,0x31,0x30,0x65,0x30,0x66,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d, - 0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x31,0x30,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28, - 0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72, - 0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c, - 0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f, - 0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a, - 0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64, - 0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20, - 0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63, - 0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65, - 0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x66,0x69,0x78,0x65,0x64,0x5f,0x61,0x64, - 0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x2c, - 0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f, - 0x61,0x64,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72,0x65,0x66,0x65,0x74,0x63, - 0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f, - 0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61, - 0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70, - 0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76, - 0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53, - 0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x34,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d, - 0x55,0x4c,0x5f,0x4d,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x37,0x65, - 0x33,0x38,0x30,0x32,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x32,0x38,0x36,0x30, - 0x30,0x31,0x63,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x31,0x64,0x31,0x63,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29, - 0x3d,0x30,0x78,0x64,0x32,0x38,0x39,0x30,0x30,0x32,0x31,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x31,0x30,0x31,0x31,0x63,0x75, - 0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30, - 0x78,0x32,0x30,0x30,0x66,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x32,0x31, - 0x32,0x30,0x32,0x31,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x32, - 0x30,0x30,0x65,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x31,0x32,0x30, - 0x32,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f, - 0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x31,0x30,0x30,0x65,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37, - 0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20, - 0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x38,0x65,0x30,0x34,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31, - 0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x34,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c, - 0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x32,0x31,0x33,0x61,0x75,0x3b,0x09,0x09,0x09,0x09,0x09, - 0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x34,0x30,0x65,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b, - 0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x38,0x65,0x30,0x31,0x31,0x30,0x75,0x7c,0x28,0x64, - 0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x31,0x31,0x30,0x75,0x7c,0x28, - 0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x31,0x65,0x33,0x61,0x75,0x3b, - 0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x31,0x30,0x65,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c, - 0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70, - 0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28, - 0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63, - 0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64, - 0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72, - 0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61, - 0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f, - 0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x66,0x69,0x78,0x65,0x64,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c, - 0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69, - 0x7a,0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x28,0x70,0x2c,0x70,0x72,0x65, - 0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69, - 0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64, - 0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x28, - 0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f, - 0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65, - 0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31, - 0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x34,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09, - 0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x32,0x31,0x33,0x61,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28, - 0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x34,0x30,0x65,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a, - 0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x31,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31, - 0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x31,0x65,0x33,0x61,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09, - 0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x31,0x30,0x65,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09, - 0x09,0x09,0x09,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d, - 0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65, - 0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43, - 0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x38,0x65,0x30,0x34,0x31, - 0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x34, - 0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x32, - 0x31,0x33,0x38,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x34,0x30,0x65,0x75,0x7c, - 0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65, - 0x38,0x65,0x30,0x31,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62, - 0x65,0x61,0x36,0x30,0x31,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78, - 0x62,0x65,0x62,0x63,0x31,0x65,0x33,0x38,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30, - 0x31,0x30,0x65,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x72,0x65,0x74,0x75,0x72, - 0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55, - 0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d, - 0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e, + 0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, + 0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53, + 0x45,0x54,0x29,0x7c,0x28,0x39,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x3d, + 0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75, + 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x63,0x73,0x68,0x69,0x66,0x74,0x3d,0x28,0x6d,0x6f,0x64,0x3e,0x3e,0x34,0x29,0x2b,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f, + 0x6e,0x4f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6d,0x6d,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x7c,0x28,0x31,0x55, + 0x3c,0x3c,0x63,0x73,0x68,0x69,0x66,0x74,0x29,0x3b,0x0a,0x69,0x66,0x28,0x63,0x73,0x68,0x69,0x66,0x74,0x3e,0x30,0x29,0x0a,0x69,0x6d,0x6d,0x20,0x26,0x3d,0x20,0x7e, + 0x28,0x31,0x55,0x3c,0x3c,0x28,0x63,0x73,0x68,0x69,0x66,0x74,0x2d,0x31,0x29,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x49, + 0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x2d,0x31,0x29,0x0a,0x7b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f, + 0x69,0x6e,0x64,0x65,0x78,0x5d,0x3d,0x69,0x6d,0x6d,0x3b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x31,0x5d, + 0x3d,0x63,0x73,0x68,0x69,0x66,0x74,0x7c,0x28,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65, + 0x74,0x5f,0x73,0x6c,0x6f,0x74,0x29,0x3c,0x3c,0x35,0x29,0x3b,0x0a,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x3d,0x32,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73, + 0x65,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x7d,0x0a,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61, + 0x72,0x67,0x65,0x74,0x5f,0x73,0x6c,0x6f,0x74,0x3d,0x2d,0x31,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d, + 0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65, + 0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48, + 0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44, + 0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x33, + 0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x36,0x33,0x29,0x3c,0x3c,0x49, + 0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b, + 0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a, + 0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x3b,0x0a, + 0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x29,0x0a,0x7b, + 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x28,0x6d,0x6f,0x64,0x3e,0x3e, + 0x34,0x29,0x3e,0x3d,0x53,0x74,0x6f,0x72,0x65,0x4c,0x33,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x29,0x3f,0x33,0x3a,0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20, + 0x34,0x29,0x3f,0x31,0x3a,0x32,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x28,0x64,0x73,0x74,0x3c,0x3c,0x44,0x53,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54, + 0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x7c,0x28,0x31,0x3c,0x3c,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53, + 0x45,0x54,0x29,0x7c,0x28,0x31,0x30,0x3c,0x3c,0x4f,0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c, + 0x3d,0x69,0x6d,0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6d,0x6d,0x5f,0x69, + 0x6e,0x64,0x65,0x78,0x3c,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x29,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x69,0x6d, + 0x6d,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x2b,0x5d,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x30,0x78,0x46,0x43,0x31,0x46,0x46,0x46,0x46,0x46,0x55,0x29,0x7c, + 0x28,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x31,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x31,0x3a,0x28,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f, + 0x6e,0x3d,0x3d,0x32,0x29,0x3f,0x4c,0x4f,0x43,0x5f,0x4c,0x32,0x3a,0x4c,0x4f,0x43,0x5f,0x4c,0x33,0x29,0x29,0x3c,0x3c,0x32,0x31,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65, + 0x0a,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3d,0x49,0x4e,0x53,0x54,0x5f,0x4e,0x4f,0x50,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f, + 0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x74, + 0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54, + 0x4f,0x52,0x45,0x3b,0x0a,0x2a,0x28,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e, + 0x78,0x7c,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3b,0x0a,0x7d,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, + 0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x32,0x30,0x29,0x29,0x5b,0x30,0x5d,0x3d,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x63,0x6f,0x6d,0x70, + 0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a, + 0x29,0x28,0x52,0x2b,0x28,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2b,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53,0x49,0x5a,0x45, + 0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x76,0x6f,0x69,0x64,0x20,0x6c, + 0x6f,0x61,0x64,0x5f,0x62,0x75,0x66,0x66,0x65,0x72,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x2a,0x64,0x73,0x74, + 0x5f,0x62,0x75,0x66,0x2c,0x73,0x69,0x7a,0x65,0x5f,0x74,0x20,0x4e,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x76,0x6f,0x69, + 0x64,0x2a,0x20,0x73,0x72,0x63,0x5f,0x62,0x75,0x66,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63, + 0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x74,0x65,0x70,0x3d,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x73,0x69,0x7a,0x65,0x28,0x30,0x29, + 0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x73,0x72,0x63,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x73,0x72,0x63,0x5f,0x62,0x75,0x66,0x29,0x2b,0x67,0x65,0x74,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x69,0x64,0x28,0x30, + 0x29,0x2a,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x2a,0x4e,0x2b,0x69,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20, + 0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x64,0x73,0x74,0x3d,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29, + 0x64,0x73,0x74,0x5f,0x62,0x75,0x66,0x29,0x2b,0x69,0x3b,0x0a,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x69,0x3c,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74, + 0x36,0x34,0x5f,0x74,0x29,0x2a,0x4e,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28, + 0x64,0x73,0x74,0x29,0x3d,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x73,0x72,0x63,0x29,0x3b, + 0x0a,0x73,0x72,0x63,0x2b,0x3d,0x73,0x74,0x65,0x70,0x3b,0x0a,0x64,0x73,0x74,0x2b,0x3d,0x73,0x74,0x65,0x70,0x3b,0x0a,0x69,0x2b,0x3d,0x73,0x74,0x65,0x70,0x3b,0x0a, + 0x7d,0x0a,0x7d,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x6c,0x6f,0x61,0x64,0x5f,0x46,0x5f,0x45,0x5f,0x67,0x72,0x6f,0x75,0x70,0x73,0x28,0x69,0x6e,0x74,0x20,0x76, + 0x61,0x6c,0x75,0x65,0x2c,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x61,0x6e,0x64,0x4d,0x61,0x73,0x6b,0x2c,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6f, + 0x72,0x4d,0x61,0x73,0x6b,0x29,0x0a,0x7b,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x74,0x3d,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65, + 0x5f,0x72,0x74,0x6e,0x28,0x76,0x61,0x6c,0x75,0x65,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x78,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67, + 0x28,0x74,0x29,0x3b,0x0a,0x78,0x20,0x26,0x3d,0x20,0x61,0x6e,0x64,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x78,0x7c,0x3d,0x6f,0x72,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x72,0x65, + 0x74,0x75,0x72,0x6e,0x20,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x78,0x29,0x3b,0x0a,0x7d,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x66,0x6d,0x61,0x5f, + 0x73,0x6f,0x66,0x74,0x28,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x61,0x2c,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x62,0x2c,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x63,0x2c, + 0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x5f,0x6d,0x6f,0x64,0x65,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x72,0x6f,0x75, + 0x6e,0x64,0x69,0x6e,0x67,0x5f,0x6d,0x6f,0x64,0x65,0x3d,0x3d,0x30,0x29,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x6d,0x61,0x28,0x61,0x2c,0x62,0x2c,0x63,0x29, + 0x3b,0x0a,0x69,0x66,0x28,0x28,0x61,0x3d,0x3d,0x30,0x2e,0x30,0x29,0x7c,0x7c,0x28,0x62,0x3d,0x3d,0x30,0x2e,0x30,0x29,0x29,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, + 0x63,0x3b,0x0a,0x69,0x66,0x28,0x62,0x3d,0x3d,0x31,0x2e,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x63,0x3d,0x3d,0x30,0x2e,0x30,0x29,0x0a,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x20,0x61,0x3b,0x0a,0x69,0x66,0x28,0x63,0x3d,0x3d,0x2d,0x61,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20, + 0x6d,0x69,0x6e,0x75,0x73,0x5f,0x7a,0x65,0x72,0x6f,0x3d,0x31,0x55,0x4c,0x3c,0x3c,0x36,0x33,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x72,0x6f,0x75,0x6e, + 0x64,0x69,0x6e,0x67,0x5f,0x6d,0x6f,0x64,0x65,0x3d,0x3d,0x31,0x29,0x3f,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x6d,0x69,0x6e,0x75,0x73,0x5f,0x7a,0x65, + 0x72,0x6f,0x29,0x3a,0x30,0x2e,0x30,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6d,0x61,0x6e,0x74, + 0x69,0x73,0x73,0x61,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x35,0x32,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6d,0x61,0x6e, + 0x74,0x69,0x73,0x73,0x61,0x5f,0x6d,0x61,0x73,0x6b,0x3d,0x28,0x31,0x55,0x4c,0x3c,0x3c,0x35,0x32,0x29,0x2d,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, + 0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x73,0x69,0x7a,0x65,0x3d,0x31,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75, + 0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x61,0x73,0x6b,0x3d,0x28,0x31,0x3c,0x3c,0x65,0x78,0x70,0x6f,0x6e,0x65, + 0x6e,0x74,0x5f,0x73,0x69,0x7a,0x65,0x29,0x2d,0x31,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x61,0x32,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x61,0x29, + 0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x62,0x32,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x62,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x63,0x32, + 0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x63,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x65,0x78,0x70, + 0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x61,0x3d,0x28,0x61,0x32,0x2e,0x79,0x3e,0x3e,0x32,0x30,0x29,0x26,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x61,0x73,0x6b, + 0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x62,0x3d,0x28,0x62,0x32,0x2e, + 0x79,0x3e,0x3e,0x32,0x30,0x29,0x26,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x61,0x73,0x6b,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, + 0x33,0x32,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x63,0x3d,0x28,0x63,0x32,0x2e,0x79,0x3e,0x3e,0x32,0x30,0x29,0x26,0x65,0x78,0x70,0x6f,0x6e, + 0x65,0x6e,0x74,0x5f,0x6d,0x61,0x73,0x6b,0x3b,0x0a,0x69,0x66,0x28,0x28,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x61,0x3d,0x3d,0x32,0x30,0x34,0x37,0x29,0x7c, + 0x7c,0x28,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x62,0x3d,0x3d,0x32,0x30,0x34,0x37,0x29,0x7c,0x7c,0x28,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x63, + 0x3d,0x3d,0x32,0x30,0x34,0x37,0x29,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x69,0x6e,0x66,0x3d,0x32,0x30, + 0x34,0x37,0x55,0x4c,0x3c,0x3c,0x35,0x32,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x69,0x6e,0x66,0x29,0x3b, + 0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x69,0x67,0x6e,0x5f,0x61,0x3d,0x61,0x32,0x2e,0x79,0x3e,0x3e,0x33, + 0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x69,0x67,0x6e,0x5f,0x62,0x3d,0x62,0x32,0x2e,0x79,0x3e,0x3e,0x33, + 0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x69,0x67,0x6e,0x5f,0x63,0x3d,0x63,0x32,0x2e,0x79,0x3e,0x3e,0x33, + 0x31,0x3b,0x0a,0x61,0x32,0x2e,0x79,0x3d,0x28,0x61,0x32,0x2e,0x79,0x26,0x28,0x28,0x31,0x55,0x3c,0x3c,0x32,0x30,0x29,0x2d,0x31,0x29,0x29,0x7c,0x28,0x31,0x55,0x3c, + 0x3c,0x32,0x30,0x29,0x3b,0x0a,0x62,0x32,0x2e,0x79,0x3d,0x28,0x62,0x32,0x2e,0x79,0x26,0x28,0x28,0x31,0x55,0x3c,0x3c,0x32,0x30,0x29,0x2d,0x31,0x29,0x29,0x7c,0x28, + 0x31,0x55,0x3c,0x3c,0x32,0x30,0x29,0x3b,0x0a,0x63,0x32,0x2e,0x79,0x3d,0x28,0x63,0x32,0x2e,0x79,0x26,0x28,0x28,0x31,0x55,0x3c,0x3c,0x32,0x30,0x29,0x2d,0x31,0x29, + 0x29,0x7c,0x28,0x31,0x55,0x3c,0x3c,0x32,0x30,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x61,0x3d, + 0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x61,0x32,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f, + 0x62,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x62,0x32,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73, + 0x61,0x5f,0x63,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x63,0x32,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6d,0x75,0x6c,0x5f,0x72, + 0x65,0x73,0x75,0x6c,0x74,0x5b,0x32,0x5d,0x3b,0x0a,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61, + 0x5f,0x61,0x2a,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x62,0x3b,0x0a,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x6d,0x75,0x6c, + 0x5f,0x68,0x69,0x28,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x61,0x2c,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x62,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74, + 0x33,0x32,0x5f,0x74,0x20,0x65,0x78,0x70,0x5f,0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31, + 0x5d,0x3e,0x3e,0x34,0x31,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73, + 0x75,0x6c,0x74,0x3d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x61,0x2b,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x62,0x2b,0x65,0x78,0x70,0x5f,0x63,0x6f, + 0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x2d,0x31,0x30,0x32,0x33,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x69,0x67,0x6e,0x5f,0x6d,0x75,0x6c, + 0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x73,0x69,0x67,0x6e,0x5f,0x61,0x5e,0x73,0x69,0x67,0x6e,0x5f,0x62,0x3b,0x0a,0x69,0x66,0x28,0x65,0x78,0x70,0x6f,0x6e,0x65, + 0x6e,0x74,0x5f,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3e,0x3d,0x32,0x30,0x34,0x37,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e, + 0x74,0x36,0x34,0x5f,0x74,0x20,0x69,0x6e,0x66,0x5f,0x72,0x6e,0x64,0x3d,0x28,0x32,0x30,0x34,0x37,0x55,0x4c,0x3c,0x3c,0x35,0x32,0x29,0x2d,0x28,0x72,0x6f,0x75,0x6e, + 0x64,0x69,0x6e,0x67,0x5f,0x6d,0x6f,0x64,0x65,0x26,0x31,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x69, + 0x6e,0x66,0x5f,0x72,0x6e,0x64,0x29,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x32, + 0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x74,0x5b,0x32,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x65,0x78,0x70,0x6f,0x6e, + 0x65,0x6e,0x74,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x69,0x66,0x28,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x75,0x6c,0x5f, + 0x72,0x65,0x73,0x75,0x6c,0x74,0x3e,0x3d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x63,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73, + 0x68,0x69,0x66,0x74,0x3d,0x32,0x33,0x2d,0x65,0x78,0x70,0x5f,0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75, + 0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x3b,0x0a,0x66,0x6d,0x61,0x5f, + 0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x28,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x29, + 0x7c,0x28,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x73,0x68,0x69,0x66,0x74,0x29,0x29,0x3b,0x0a,0x69,0x6e, + 0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x32,0x3d,0x28,0x31,0x32,0x37,0x2d,0x35,0x32,0x29,0x2b,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28, + 0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x63,0x2d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x29,0x3b, + 0x0a,0x69,0x66,0x28,0x73,0x68,0x69,0x66,0x74,0x32,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x68,0x69,0x66,0x74,0x32,0x3e,0x3d,0x36,0x34,0x29,0x0a, + 0x7b,0x0a,0x74,0x5b,0x30,0x5d,0x3d,0x30,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x3d,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x63,0x3c,0x3c,0x28,0x73,0x68,0x69,0x66, + 0x74,0x32,0x2d,0x36,0x34,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x74,0x5b,0x30,0x5d,0x3d,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x63, + 0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x32,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x3d,0x73,0x68,0x69,0x66,0x74,0x32,0x3f,0x28,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f, + 0x63,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x29,0x3a,0x30,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x74,0x5b, + 0x30,0x5d,0x3d,0x28,0x73,0x68,0x69,0x66,0x74,0x32,0x3c,0x2d,0x35,0x32,0x29,0x3f,0x30,0x3a,0x28,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x63,0x3e,0x3e,0x28, + 0x2d,0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x29,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x3d,0x30,0x3b,0x0a,0x69,0x66,0x28,0x28,0x74,0x5b,0x30,0x5d,0x3d,0x3d,0x30,0x29,0x26, + 0x26,0x28,0x63,0x21,0x3d,0x30,0x2e,0x30,0x29,0x29,0x0a,0x74,0x5b,0x30,0x5d,0x3d,0x31,0x3b,0x0a,0x7d,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x66,0x6d, + 0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x7d,0x0a, + 0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x74,0x5b,0x30,0x5d,0x3d,0x30,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x3d,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x63,0x3c,0x3c, + 0x31,0x31,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x32,0x3d,0x28,0x31,0x32,0x37,0x2d,0x31,0x30,0x34,0x2d,0x65,0x78,0x70,0x5f, + 0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x29,0x2b,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x6d, + 0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x2d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x63,0x29,0x3b,0x0a,0x69,0x66,0x28,0x73,0x68,0x69,0x66,0x74,0x32, + 0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b, + 0x30,0x5d,0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x32,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x28,0x6d,0x75,0x6c,0x5f,0x72, + 0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x7c,0x28,0x73,0x68,0x69,0x66,0x74,0x32,0x3f,0x28,0x6d,0x75,0x6c,0x5f,0x72, + 0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x29,0x3a,0x30,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73, + 0x65,0x0a,0x7b,0x0a,0x73,0x68,0x69,0x66,0x74,0x32,0x3d,0x2d,0x73,0x68,0x69,0x66,0x74,0x32,0x3b,0x0a,0x69,0x66,0x28,0x73,0x68,0x69,0x66,0x74,0x32,0x3e,0x3d,0x36, + 0x34,0x29,0x0a,0x7b,0x0a,0x73,0x68,0x69,0x66,0x74,0x32,0x2d,0x3d,0x36,0x34,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x28, + 0x73,0x68,0x69,0x66,0x74,0x32,0x3c,0x36,0x34,0x29,0x3f,0x28,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3e,0x3e,0x73,0x68,0x69,0x66,0x74, + 0x32,0x29,0x3a,0x30,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x30,0x3b,0x0a,0x69,0x66,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65, + 0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x3d,0x30,0x29,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x31,0x3b,0x0a,0x7d,0x0a,0x65, + 0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x28,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b, + 0x30,0x5d,0x3e,0x3e,0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x7c,0x28,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3c,0x3c,0x28,0x36,0x34,0x2d, + 0x73,0x68,0x69,0x66,0x74,0x32,0x29,0x29,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75, + 0x6c,0x74,0x5b,0x31,0x5d,0x3e,0x3e,0x73,0x68,0x69,0x66,0x74,0x32,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x66,0x6d,0x61,0x5f, + 0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x63,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x69, + 0x67,0x6e,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x69,0x66,0x28,0x73,0x69,0x67,0x6e,0x5f,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c, + 0x74,0x3d,0x3d,0x73,0x69,0x67,0x6e,0x5f,0x63,0x29,0x0a,0x7b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x2b,0x3d,0x74,0x5b,0x30,0x5d, + 0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x2b,0x3d,0x74,0x5b,0x31,0x5d,0x2b,0x28,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75, + 0x6c,0x74,0x5b,0x30,0x5d,0x3c,0x74,0x5b,0x30,0x5d,0x29,0x3f,0x31,0x3a,0x30,0x29,0x3b,0x0a,0x65,0x78,0x70,0x5f,0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e, + 0x3d,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3c,0x74,0x5b,0x31,0x5d,0x29,0x3f,0x31,0x3a,0x30,0x3b,0x0a,0x73,0x69,0x67,0x6e,0x5f, + 0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x73,0x69,0x67,0x6e,0x5f,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x7d,0x0a,0x65,0x6c, + 0x73,0x65,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x62,0x6f,0x72,0x72,0x6f,0x77,0x3d,0x28,0x66,0x6d,0x61,0x5f, + 0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3c,0x74,0x5b,0x30,0x5d,0x29,0x3f,0x31,0x3a,0x30,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b, + 0x30,0x5d,0x2d,0x3d,0x74,0x5b,0x30,0x5d,0x3b,0x0a,0x74,0x5b,0x31,0x5d,0x2b,0x3d,0x62,0x6f,0x72,0x72,0x6f,0x77,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, + 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x73,0x69,0x67,0x6e,0x3d,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31, + 0x5d,0x3c,0x74,0x5b,0x31,0x5d,0x29,0x3f,0x31,0x3a,0x30,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x2d,0x3d,0x74,0x5b,0x31,0x5d, + 0x3b,0x0a,0x73,0x69,0x67,0x6e,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x73,0x69,0x67,0x6e,0x5f,0x6d,0x75,0x6c,0x5f,0x72,0x65,0x73,0x75,0x6c, + 0x74,0x5e,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x73,0x69,0x67,0x6e,0x3b,0x0a,0x69,0x66,0x28,0x63,0x68,0x61,0x6e,0x67,0x65,0x5f,0x73,0x69,0x67,0x6e,0x29,0x0a,0x7b, + 0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x2d,0x28,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65, + 0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x7e,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73, + 0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x2b,0x3d,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c, + 0x74,0x5b,0x30,0x5d,0x3f,0x30,0x3a,0x31,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x3d,0x30,0x29, + 0x0a,0x7b,0x0a,0x69,0x66,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x3d,0x30,0x29,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x30, + 0x2e,0x30,0x3b,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x2d,0x3d,0x36,0x34,0x3b,0x0a,0x66,0x6d,0x61, + 0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65, + 0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3d,0x30,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x64,0x65, + 0x78,0x3d,0x63,0x6c,0x7a,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x64,0x65,0x78,0x29,0x0a, + 0x7b,0x0a,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x2d,0x3d,0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x66,0x6d, + 0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3c,0x3c,0x69,0x6e,0x64,0x65, + 0x78,0x29,0x7c,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x30,0x5d,0x3e,0x3e,0x28,0x36,0x34,0x2d,0x69,0x6e,0x64,0x65,0x78,0x29,0x29,0x3b,0x0a, + 0x7d,0x0a,0x65,0x78,0x70,0x5f,0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3d,0x30,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, + 0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x31,0x31,0x2b,0x65,0x78,0x70,0x5f,0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x3b,0x0a,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x72,0x6f,0x75,0x6e,0x64,0x5f,0x75,0x70,0x3d,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c, + 0x74,0x5b,0x30,0x5d,0x7c,0x7c,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x26,0x28,0x28,0x31,0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x29, + 0x2d,0x31,0x29,0x29,0x29,0x3f,0x31,0x3a,0x30,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x20,0x3e,0x3e,0x3d,0x20,0x73,0x68,0x69, + 0x66,0x74,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x20,0x26,0x3d,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x5f,0x6d,0x61, + 0x73,0x6b,0x3b,0x0a,0x69,0x66,0x28,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x5f,0x6d,0x6f,0x64,0x65,0x2b,0x73,0x69,0x67,0x6e,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65, + 0x73,0x75,0x6c,0x74,0x3d,0x3d,0x32,0x29,0x0a,0x7b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x2b,0x3d,0x72,0x6f,0x75,0x6e,0x64,0x5f, + 0x75,0x70,0x3b,0x0a,0x69,0x66,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x3d,0x28,0x31,0x55,0x4c,0x3c,0x3c,0x6d,0x61,0x6e,0x74, + 0x69,0x73,0x73,0x61,0x5f,0x73,0x69,0x7a,0x65,0x29,0x29,0x0a,0x7b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x3d,0x30,0x3b,0x0a,0x2b, + 0x2b,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65, + 0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x7c,0x3d,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x5f,0x66,0x6d,0x61, + 0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x2b,0x65,0x78,0x70,0x5f,0x63,0x6f,0x72,0x72,0x65,0x63,0x74,0x69,0x6f,0x6e,0x29,0x3c,0x3c,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73, + 0x61,0x5f,0x73,0x69,0x7a,0x65,0x3b,0x0a,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x7c,0x3d,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74, + 0x29,0x28,0x73,0x69,0x67,0x6e,0x5f,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x29,0x3c,0x3c,0x36,0x33,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x61, + 0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x66,0x6d,0x61,0x5f,0x72,0x65,0x73,0x75,0x6c,0x74,0x5b,0x31,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x64,0x6f,0x75,0x62,0x6c, + 0x65,0x20,0x64,0x69,0x76,0x5f,0x72,0x6e,0x64,0x28,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x61,0x2c,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x62,0x2c,0x75,0x69,0x6e,0x74, + 0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x72,0x63,0x29,0x0a,0x7b,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x79,0x30,0x3d,0x31,0x2e,0x30,0x2f,0x62,0x3b,0x0a,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x74,0x30,0x3d,0x61,0x2a,0x79,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65, + 0x20,0x74,0x31,0x3d,0x66,0x6d,0x61,0x28,0x2d,0x62,0x2c,0x74,0x30,0x2c,0x61,0x29,0x3b,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d, + 0x66,0x6d,0x61,0x5f,0x73,0x6f,0x66,0x74,0x28,0x79,0x30,0x2c,0x74,0x31,0x2c,0x74,0x30,0x2c,0x66,0x70,0x72,0x63,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75, + 0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x69,0x6e,0x66,0x3d,0x32,0x30,0x34,0x37,0x55,0x4c,0x3c,0x3c,0x35,0x32,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, + 0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x69,0x6e,0x66,0x5f,0x72,0x6e,0x64,0x3d,0x69,0x6e,0x66,0x2d,0x28,0x66,0x70,0x72,0x63,0x26,0x31,0x29,0x3b,0x0a,0x69,0x66,0x28, + 0x28,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x72,0x65,0x73,0x75,0x6c,0x74,0x29,0x3e,0x3e,0x35,0x32,0x29,0x26,0x32,0x30,0x34,0x37,0x29,0x3d,0x3d,0x32, + 0x30,0x34,0x37,0x29,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x69,0x6e,0x66,0x5f,0x72,0x6e,0x64,0x29,0x3b,0x0a, + 0x69,0x66,0x28,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x61,0x29,0x3d,0x3d,0x69,0x6e,0x66,0x29,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x61,0x3b,0x0a,0x72, + 0x65,0x74,0x75,0x72,0x6e,0x20,0x28,0x61,0x3d,0x3d,0x62,0x29,0x3f,0x31,0x2e,0x30,0x3a,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x7d,0x0a,0x64,0x6f,0x75,0x62,0x6c, + 0x65,0x20,0x73,0x71,0x72,0x74,0x5f,0x72,0x6e,0x64,0x28,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x78,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x72, + 0x63,0x29,0x0a,0x7b,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x79,0x30,0x3d,0x72,0x73,0x71,0x72,0x74,0x28,0x78,0x29,0x3b,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20, + 0x74,0x30,0x3d,0x79,0x30,0x2a,0x78,0x3b,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x74,0x31,0x3d,0x79,0x30,0x2a,0x2d,0x30,0x2e,0x35,0x3b,0x0a,0x74,0x31,0x3d,0x66, + 0x6d,0x61,0x28,0x74,0x31,0x2c,0x74,0x30,0x2c,0x30,0x2e,0x35,0x29,0x3b,0x09,0x09,0x09,0x09,0x09,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65, + 0x20,0x79,0x31,0x5f,0x78,0x3d,0x66,0x6d,0x61,0x28,0x74,0x30,0x2c,0x74,0x31,0x2c,0x74,0x30,0x29,0x3b,0x09,0x0a,0x79,0x30,0x20,0x2a,0x3d,0x20,0x30,0x2e,0x35,0x3b, + 0x0a,0x79,0x30,0x3d,0x66,0x6d,0x61,0x28,0x79,0x30,0x2c,0x74,0x31,0x2c,0x79,0x30,0x29,0x3b,0x09,0x09,0x09,0x09,0x09,0x0a,0x74,0x31,0x3d,0x66,0x6d,0x61,0x28,0x2d, + 0x79,0x31,0x5f,0x78,0x2c,0x79,0x31,0x5f,0x78,0x2c,0x78,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d, + 0x66,0x6d,0x61,0x5f,0x73,0x6f,0x66,0x74,0x28,0x74,0x31,0x2c,0x79,0x30,0x2c,0x79,0x31,0x5f,0x78,0x2c,0x66,0x70,0x72,0x63,0x29,0x3b,0x09,0x09,0x0a,0x69,0x66,0x28, + 0x2a,0x28,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x20,0x26,0x78,0x29,0x3d,0x3d,0x28,0x32,0x30,0x34,0x37,0x55,0x4c,0x3c,0x3c,0x35,0x32,0x29,0x29, + 0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3d,0x78,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x72,0x65,0x73,0x75,0x6c,0x74,0x3b,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74, + 0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x6e,0x65,0x72,0x5f,0x6c,0x6f,0x6f,0x70,0x28,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, + 0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5f,0x6c,0x65,0x6e,0x67,0x74,0x68,0x2c,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, + 0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x75,0x62,0x2c,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x73, + 0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x5f,0x72,0x65,0x67, + 0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x5f,0x72,0x65,0x67,0x5f,0x67, + 0x72,0x6f,0x75,0x70,0x5f,0x41,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2c,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a, + 0x20,0x52,0x2c,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x2c,0x0a,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2c,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32, + 0x5f,0x74,0x20,0x66,0x70,0x72,0x63,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x5f,0x77,0x6f,0x72,0x6b,0x65, + 0x72,0x73,0x5f,0x6d,0x61,0x73,0x6b,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x78,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e, + 0x74,0x4d,0x61,0x73,0x6b,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x5f,0x6d,0x61, + 0x73,0x6b,0x0a,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x75,0x62,0x32,0x3d,0x73,0x75,0x62,0x3e,0x3e,0x31, + 0x3b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x2b,0x31,0x5d,0x3d,0x66,0x70,0x72, + 0x63,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, + 0x20,0x69,0x70,0x3d,0x30,0x3b,0x20,0x69,0x70,0x3c,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5f,0x6c,0x65,0x6e,0x67,0x74,0x68,0x3b,0x29,0x0a,0x7b,0x0a,0x69,0x6d,0x6d, + 0x5f,0x62,0x75,0x66,0x5b,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x5d,0x3d,0x69,0x70,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32, + 0x5f,0x74,0x20,0x69,0x6e,0x73,0x74,0x3d,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5b,0x69,0x70,0x5d,0x3b,0x0a,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x4e, + 0x55,0x4d,0x5f,0x49,0x4e,0x53,0x54,0x53,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x26,0x28,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41, + 0x53,0x48,0x2d,0x31,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e,0x75,0x6d,0x5f,0x66,0x70,0x5f,0x69,0x6e,0x73,0x74, + 0x73,0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x4e,0x55,0x4d,0x5f,0x46,0x50,0x5f,0x49,0x4e,0x53,0x54,0x53,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x26,0x28,0x57, + 0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x2d,0x31,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f, + 0x74,0x20,0x6e,0x75,0x6d,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3d,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x2d,0x6e,0x75,0x6d,0x5f,0x66,0x70,0x5f,0x69, + 0x6e,0x73,0x74,0x73,0x3b,0x0a,0x69,0x66,0x28,0x73,0x75,0x62,0x3c,0x3d,0x6e,0x75,0x6d,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6e,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x73,0x75,0x62,0x2d,0x6e,0x75,0x6d,0x5f,0x66, + 0x70,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f,0x66,0x70,0x3d,0x69,0x6e,0x73,0x74,0x5f,0x6f, + 0x66,0x66,0x73,0x65,0x74,0x3c,0x6e,0x75,0x6d,0x5f,0x66,0x70,0x5f,0x69,0x6e,0x73,0x74,0x73,0x3b,0x0a,0x69,0x6e,0x73,0x74,0x3d,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65, + 0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5b,0x69,0x70,0x2b,0x28,0x69,0x73,0x5f,0x66,0x70,0x3f,0x73,0x75,0x62,0x32,0x3a,0x69,0x6e,0x73,0x74,0x5f,0x6f,0x66, + 0x66,0x73,0x65,0x74,0x29,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x4f, + 0x50,0x43,0x4f,0x44,0x45,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x26,0x31,0x35,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, + 0x20,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x4c,0x4f,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x26,0x31,0x3b,0x0a, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x72,0x65,0x67,0x5f,0x73,0x69,0x7a,0x65,0x5f,0x73,0x68,0x69,0x66,0x74,0x3d,0x69,0x73, + 0x5f,0x66,0x70,0x3f,0x34,0x3a,0x33,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x72,0x65,0x67,0x5f,0x62,0x61,0x73,0x65, + 0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x69,0x73,0x5f,0x66,0x70,0x3f,0x66,0x70,0x5f,0x72,0x65,0x67,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3a,0x30,0x3b,0x0a,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x72,0x65,0x67,0x5f,0x62,0x61,0x73,0x65,0x5f,0x73,0x72,0x63,0x5f,0x6f,0x66,0x66,0x73,0x65, + 0x74,0x3d,0x69,0x73,0x5f,0x66,0x70,0x3f,0x66,0x70,0x5f,0x72,0x65,0x67,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x41,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3a,0x30,0x3b, + 0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x44,0x53,0x54,0x5f, + 0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x26,0x37,0x3b,0x0a,0x64,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x72,0x65,0x67,0x5f,0x62,0x61,0x73,0x65,0x5f,0x6f, + 0x66,0x66,0x73,0x65,0x74,0x2b,0x28,0x64,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3c,0x3c,0x72,0x65,0x67,0x5f,0x73,0x69,0x7a,0x65,0x5f,0x73,0x68,0x69,0x66, + 0x74,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x72,0x63,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x53, + 0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x26,0x37,0x3b,0x0a,0x73,0x72,0x63,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x28,0x73,0x72,0x63,0x5f,0x6f,0x66, + 0x66,0x73,0x65,0x74,0x3c,0x3c,0x33,0x29,0x2b,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x3f,0x30,0x3a,0x72,0x65,0x67,0x5f,0x62,0x61,0x73,0x65,0x5f,0x73,0x72, + 0x63,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x64,0x73,0x74, + 0x5f,0x70,0x74,0x72,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61, + 0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x28,0x52,0x29,0x2b,0x64,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f, + 0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x73,0x72,0x63,0x5f,0x70,0x74,0x72,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75, + 0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x28,0x52,0x29,0x2b, + 0x73,0x72,0x63,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x6d,0x6d,0x5f, + 0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x49,0x4d,0x4d,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x26,0x32,0x35,0x35,0x3b,0x0a,0x5f, + 0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x69,0x6d,0x6d,0x5f,0x70,0x74,0x72,0x3d,0x69, + 0x6d,0x6d,0x5f,0x62,0x75,0x66,0x2b,0x69,0x6d,0x6d,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x64,0x73,0x74,0x3d, + 0x2a,0x64,0x73,0x74,0x5f,0x70,0x74,0x72,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x73,0x72,0x63,0x3d,0x2a,0x73,0x72,0x63,0x5f,0x70,0x74,0x72,0x3b, + 0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x69,0x6d,0x6d,0x3b,0x0a,0x69,0x6d,0x6d,0x2e,0x78,0x3d,0x69,0x6d,0x6d,0x5f,0x70,0x74,0x72,0x5b,0x30,0x5d,0x3b,0x0a,0x69,0x6d, + 0x6d,0x2e,0x79,0x3d,0x69,0x6d,0x6d,0x5f,0x70,0x74,0x72,0x5b,0x31,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x29,0x0a,0x7b,0x0a,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x6f,0x63,0x5f,0x73,0x68,0x69,0x66,0x74,0x3d,0x28,0x69,0x6d,0x6d,0x2e,0x78,0x3e,0x3e, + 0x32,0x31,0x29,0x26,0x33,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6d,0x61,0x73,0x6b,0x3d,0x28,0x30,0x78,0x46, + 0x46,0x46,0x46,0x46,0x46,0x46,0x46,0x55,0x3e,0x3e,0x6c,0x6f,0x63,0x5f,0x73,0x68,0x69,0x66,0x74,0x29,0x2d,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f, + 0x6f,0x6c,0x20,0x69,0x73,0x5f,0x72,0x65,0x61,0x64,0x3d,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x21,0x3d,0x31,0x30,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f, + 0x74,0x20,0x61,0x64,0x64,0x72,0x3d,0x69,0x73,0x5f,0x72,0x65,0x61,0x64,0x3f,0x28,0x28,0x6c,0x6f,0x63,0x5f,0x73,0x68,0x69,0x66,0x74,0x3d,0x3d,0x4c,0x4f,0x43,0x5f, + 0x4c,0x33,0x29,0x3f,0x30,0x3a,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x73,0x72,0x63,0x29,0x29,0x3a,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, + 0x29,0x28,0x64,0x73,0x74,0x29,0x3b,0x0a,0x61,0x64,0x64,0x72,0x2b,0x3d,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x69,0x6d,0x6d,0x2e,0x78,0x29,0x3b,0x0a, + 0x61,0x64,0x64,0x72,0x20,0x26,0x3d,0x20,0x6d,0x61,0x73,0x6b,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a, + 0x20,0x70,0x74,0x72,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x73,0x63,0x72,0x61,0x74,0x63, + 0x68,0x70,0x61,0x64,0x2b,0x61,0x64,0x64,0x72,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x73,0x5f,0x72,0x65,0x61,0x64,0x29,0x0a,0x7b,0x0a,0x73,0x72,0x63,0x3d,0x2a,0x70, + 0x74,0x72,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x2a,0x70,0x74,0x72,0x3d,0x73,0x72,0x63,0x3b,0x0a,0x67,0x6f,0x74,0x6f,0x20,0x65,0x78,0x65,0x63, + 0x75,0x74,0x69,0x6f,0x6e,0x5f,0x65,0x6e,0x64,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x26,0x28,0x31,0x3c,0x3c,0x53,0x52,0x43, + 0x5f,0x49,0x53,0x5f,0x49,0x4d,0x4d,0x33,0x32,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x29,0x20,0x73,0x72,0x63,0x3d,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74, + 0x29,0x28,0x28,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x69,0x6d,0x6d,0x2e,0x78,0x29,0x29,0x29,0x3b,0x0a, + 0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x3d,0x33,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x26,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41, + 0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x29,0x20,0x73,0x72,0x63,0x3d,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29, + 0x28,0x2d,0x28,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x73,0x72,0x63,0x29,0x29,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x30,0x29, + 0x20,0x64,0x73,0x74,0x2b,0x3d,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x69,0x6d,0x6d,0x2e,0x78,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, + 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x3e,0x3e,0x53,0x48,0x49,0x46,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54, + 0x29,0x26,0x33,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x32,0x29,0x20,0x64,0x73,0x74,0x2b,0x3d,0x73,0x72,0x63,0x3c,0x3c,0x73,0x68,0x69,0x66, + 0x74,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x69,0x6d,0x6d,0x36,0x34,0x3d,0x2a,0x28,0x28,0x75,0x69,0x6e,0x74,0x36, + 0x34,0x5f,0x74,0x2a,0x29,0x20,0x26,0x69,0x6d,0x6d,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x26,0x28,0x31,0x3c,0x3c,0x53,0x52,0x43,0x5f,0x49,0x53,0x5f, + 0x49,0x4d,0x4d,0x36,0x34,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x29,0x20,0x73,0x72,0x63,0x3d,0x69,0x6d,0x6d,0x36,0x34,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63, + 0x6f,0x64,0x65,0x3d,0x3d,0x32,0x29,0x20,0x64,0x73,0x74,0x20,0x2a,0x3d,0x20,0x73,0x72,0x63,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x33, + 0x29,0x20,0x64,0x73,0x74,0x20,0x5e,0x3d,0x20,0x73,0x72,0x63,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d, + 0x31,0x32,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x6c,0x6f,0x63,0x61,0x74,0x69,0x6f,0x6e,0x29,0x20,0x73,0x72,0x63,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28, + 0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x72,0x74,0x6e,0x28,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x73,0x72,0x63, + 0x3e,0x3e,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x2a,0x33,0x32,0x29,0x29,0x29,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x26,0x28,0x31,0x3c,0x3c,0x4e, + 0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x29,0x20,0x73,0x72,0x63,0x20,0x5e,0x3d,0x20,0x30,0x78,0x38,0x30, + 0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x55,0x4c,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f, + 0x6d,0x75,0x6c,0x3d,0x28,0x69,0x6e,0x73,0x74,0x26,0x28,0x31,0x3c,0x3c,0x53,0x48,0x49,0x46,0x54,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x29,0x29,0x21,0x3d,0x30,0x3b, + 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x61,0x3d,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x64,0x73,0x74,0x29,0x3b,0x0a, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x20,0x62,0x3d,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x73,0x72,0x63,0x29,0x3b,0x0a,0x64, + 0x73,0x74,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x66,0x6d,0x61,0x5f,0x73,0x6f,0x66,0x74,0x28,0x61,0x2c,0x69,0x73,0x5f,0x6d,0x75,0x6c,0x3f,0x62,0x3a, + 0x31,0x2e,0x30,0x2c,0x69,0x73,0x5f,0x6d,0x75,0x6c,0x3f,0x30,0x2e,0x30,0x3a,0x62,0x2c,0x66,0x70,0x72,0x63,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20, + 0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x39,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x2b,0x3d,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x69, + 0x6d,0x6d,0x2e,0x78,0x29,0x3b,0x0a,0x69,0x66,0x28,0x28,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x64,0x73,0x74,0x29,0x26,0x28,0x43,0x6f,0x6e,0x64, + 0x69,0x74,0x69,0x6f,0x6e,0x4d,0x61,0x73,0x6b,0x3c,0x3c,0x28,0x69,0x6d,0x6d,0x2e,0x79,0x26,0x33,0x31,0x29,0x29,0x29,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x6d, + 0x6d,0x5f,0x62,0x75,0x66,0x5b,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x5d,0x3d,0x28,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, + 0x29,0x28,0x28,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28,0x69,0x6d,0x6d,0x2e,0x79,0x29,0x3e,0x3e,0x35,0x29,0x2d,0x6e,0x75,0x6d,0x5f,0x69,0x6e,0x73,0x74, + 0x73,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x37,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e, + 0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x31,0x3d,0x73,0x72,0x63,0x26,0x36,0x33,0x3b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x20,0x3e,0x20,0x30,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20, + 0x73,0x68,0x69,0x66,0x74,0x32,0x3d,0x36,0x34,0x2d,0x73,0x68,0x69,0x66,0x74,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x69,0x73,0x5f, + 0x72,0x6f,0x6c,0x3d,0x28,0x69,0x6e,0x73,0x74,0x26,0x28,0x31,0x3c,0x3c,0x4e,0x45,0x47,0x41,0x54,0x49,0x56,0x45,0x5f,0x53,0x52,0x43,0x5f,0x4f,0x46,0x46,0x53,0x45, + 0x54,0x29,0x29,0x3b,0x0a,0x64,0x73,0x74,0x3d,0x28,0x64,0x73,0x74,0x3e,0x3e,0x28,0x69,0x73,0x5f,0x72,0x6f,0x6c,0x3f,0x73,0x68,0x69,0x66,0x74,0x32,0x3a,0x73,0x68, + 0x69,0x66,0x74,0x31,0x29,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x28,0x69,0x73,0x5f,0x72,0x6f,0x6c,0x3f,0x73,0x68,0x69,0x66,0x74,0x31,0x3a,0x73,0x68,0x69,0x66, + 0x74,0x32,0x29,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x64,0x73,0x74,0x3d,0x28,0x64,0x73,0x74,0x3e,0x3e,0x73,0x68,0x69,0x66,0x74,0x31,0x29,0x7c,0x28,0x64, + 0x73,0x74,0x3c,0x3c,0x28,0x36,0x34,0x2d,0x73,0x68,0x69,0x66,0x74,0x31,0x29,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20, + 0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x31,0x34,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x73,0x71, + 0x72,0x74,0x5f,0x72,0x6e,0x64,0x28,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x64,0x73,0x74,0x29,0x2c,0x66,0x70,0x72,0x63,0x29,0x29,0x3b,0x0a,0x7d,0x0a, + 0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x36,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x3d,0x6d,0x75,0x6c,0x5f,0x68,0x69,0x28, + 0x64,0x73,0x74,0x2c,0x73,0x72,0x63,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x34,0x29,0x0a,0x7b, + 0x0a,0x64,0x73,0x74,0x3d,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x6d,0x75,0x6c,0x5f,0x68,0x69,0x28,0x28,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29, + 0x28,0x64,0x73,0x74,0x29,0x2c,0x28,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x73,0x72,0x63,0x29,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69, + 0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x31,0x31,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x3d,0x2a,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69, + 0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x28,0x52,0x29,0x2b,0x28, + 0x64,0x73,0x74,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x5e,0x38,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65, + 0x3d,0x3d,0x38,0x29,0x0a,0x7b,0x0a,0x2a,0x73,0x72,0x63,0x5f,0x70,0x74,0x72,0x3d,0x64,0x73,0x74,0x3b,0x0a,0x64,0x73,0x74,0x3d,0x73,0x72,0x63,0x3b,0x0a,0x7d,0x0a, + 0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x31,0x35,0x29,0x0a,0x7b,0x0a,0x73,0x72,0x63,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f, + 0x6e,0x67,0x28,0x63,0x6f,0x6e,0x76,0x65,0x72,0x74,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x5f,0x72,0x74,0x6e,0x28,0x28,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x29,0x28, + 0x73,0x72,0x63,0x3e,0x3e,0x28,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x2a,0x33,0x32,0x29,0x29,0x29,0x29,0x3b,0x0a,0x73,0x72,0x63,0x20,0x26,0x3d,0x20,0x64,0x79,0x6e, + 0x61,0x6d,0x69,0x63,0x4d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x73,0x72,0x63,0x7c,0x3d,0x78,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74, + 0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x64,0x73,0x74,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x64,0x69,0x76,0x5f,0x72,0x6e,0x64,0x28,0x61,0x73,0x5f,0x64,0x6f, + 0x75,0x62,0x6c,0x65,0x28,0x64,0x73,0x74,0x29,0x2c,0x61,0x73,0x5f,0x64,0x6f,0x75,0x62,0x6c,0x65,0x28,0x73,0x72,0x63,0x29,0x2c,0x66,0x70,0x72,0x63,0x29,0x29,0x3b, + 0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x3d,0x35,0x29,0x0a,0x7b,0x0a,0x64,0x73,0x74,0x3d,0x28,0x75,0x69,0x6e, + 0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x2d,0x28,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x64,0x73,0x74,0x29,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20, + 0x69,0x66,0x28,0x52,0x4f,0x55,0x4e,0x44,0x49,0x4e,0x47,0x5f,0x4d,0x4f,0x44,0x45,0x3c,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b,0x49,0x4d, + 0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x2b,0x31,0x5d,0x3d,0x28,0x28,0x73,0x72,0x63,0x3e,0x3e,0x69,0x6d,0x6d,0x5f,0x6f,0x66,0x66,0x73, + 0x65,0x74,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x28,0x36,0x34,0x2d,0x69,0x6d,0x6d,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x29,0x29,0x29,0x26,0x33,0x3b,0x0a,0x67, + 0x6f,0x74,0x6f,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x65,0x6e,0x64,0x3b,0x0a,0x7d,0x0a,0x2a,0x64,0x73,0x74,0x5f,0x70,0x74,0x72,0x3d,0x64,0x73, + 0x74,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x65,0x78,0x65,0x63,0x75,0x74,0x69,0x6f,0x6e,0x5f,0x65,0x6e,0x64,0x3a,0x0a,0x7b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28, + 0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45,0x29,0x3b,0x0a,0x69,0x70,0x3d,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66, + 0x5b,0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x5d,0x3b,0x0a,0x66,0x70,0x72,0x63,0x3d,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x5b, + 0x49,0x4d,0x4d,0x5f,0x49,0x4e,0x44,0x45,0x58,0x5f,0x43,0x4f,0x55,0x4e,0x54,0x2b,0x31,0x5d,0x3b,0x0a,0x69,0x70,0x2b,0x3d,0x6e,0x75,0x6d,0x5f,0x69,0x6e,0x73,0x74, + 0x73,0x2b,0x31,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x66,0x70,0x72,0x63,0x3b,0x0a,0x7d,0x0a,0x23,0x69,0x66,0x20,0x57,0x4f,0x52,0x4b, + 0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x20,0x3d,0x3d,0x20,0x31,0x36,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f, + 0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x33,0x32,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29, + 0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f, + 0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x31,0x36,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x5f,0x5f,0x6b,0x65, + 0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x65,0x78,0x65,0x63,0x75,0x74,0x65,0x5f,0x76,0x6d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f, + 0x69,0x64,0x2a,0x20,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x72,0x6f,0x75, + 0x6e,0x64,0x69,0x6e,0x67,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x73, + 0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x76,0x6f,0x69,0x64,0x2a,0x20,0x64,0x61,0x74,0x61,0x73,0x65,0x74,0x5f,0x70,0x74, + 0x72,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6e, + 0x75,0x6d,0x5f,0x69,0x74,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e,0x73,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x69,0x72,0x73,0x74,0x2c,0x75,0x69,0x6e, + 0x74,0x33,0x32,0x5f,0x74,0x20,0x6c,0x61,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x76, + 0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5b,0x28,0x56,0x4d,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x53,0x49,0x5a,0x45,0x2a,0x32,0x29, + 0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x5d,0x3b,0x0a,0x6c,0x6f,0x61,0x64,0x5f,0x62,0x75,0x66,0x66,0x65,0x72,0x28, + 0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x2c,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73, + 0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x2c,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74, + 0x65,0x73,0x29,0x3b,0x0a,0x62,0x61,0x72,0x72,0x69,0x65,0x72,0x28,0x43,0x4c,0x4b,0x5f,0x4c,0x4f,0x43,0x41,0x4c,0x5f,0x4d,0x45,0x4d,0x5f,0x46,0x45,0x4e,0x43,0x45, + 0x29,0x3b,0x0a,0x65,0x6e,0x75,0x6d,0x20,0x7b,0x20,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x3d,0x28,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52, + 0x5f,0x48,0x41,0x53,0x48,0x3d,0x3d,0x31,0x36,0x29,0x3f,0x31,0x36,0x3a,0x38,0x20,0x7d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36, + 0x34,0x5f,0x74,0x2a,0x20,0x52,0x3d,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x2b,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61, + 0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2f,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x29,0x2a,0x56,0x4d,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x53,0x49,0x5a,0x45, + 0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c, + 0x65,0x2a,0x20,0x46,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x29,0x28,0x52,0x2b,0x38,0x29,0x3b,0x0a,0x5f,0x5f,0x6c, + 0x6f,0x63,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x20,0x45,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x29, + 0x28,0x52,0x2b,0x31,0x36,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e, + 0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33, + 0x32,0x5f,0x74,0x20,0x69,0x64,0x78,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2f,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x3b,0x0a, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x75,0x62,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x20,0x25, + 0x20,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x6d,0x61,0x3d,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61, + 0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, + 0x20,0x6d,0x78,0x3d,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b, + 0x31,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74, + 0x65,0x72,0x73,0x3d,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b, + 0x32,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x72,0x65,0x61,0x64, + 0x52,0x65,0x67,0x30,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63, + 0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x52,0x29,0x2b,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73, + 0x26,0x30,0x78,0x66,0x66,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a, + 0x20,0x72,0x65,0x61,0x64,0x52,0x65,0x67,0x31,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x28,0x28, + 0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x52,0x29,0x2b,0x28,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67, + 0x69,0x73,0x74,0x65,0x72,0x73,0x3e,0x3e,0x38,0x29,0x26,0x30,0x78,0x66,0x66,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x72,0x65,0x61,0x64,0x52,0x65,0x67,0x32,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, + 0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x52,0x29,0x2b,0x28,0x28, + 0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x3e,0x3e,0x31,0x36,0x29,0x26,0x30,0x78,0x66,0x66,0x29,0x29,0x3b,0x0a,0x5f,0x5f, + 0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x72,0x65,0x61,0x64,0x52,0x65,0x67,0x33,0x3d,0x28, + 0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e, + 0x74,0x38,0x5f,0x74,0x2a,0x29,0x52,0x29,0x2b,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x3e,0x3e,0x32,0x34,0x29,0x29, + 0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x64,0x61,0x74,0x61,0x73,0x65,0x74,0x4f,0x66,0x66,0x73,0x65,0x74,0x3d,0x28, + 0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x33,0x5d,0x3b,0x0a,0x5f, + 0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x64,0x61,0x74,0x61,0x73,0x65,0x74,0x3d,0x28, + 0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x38,0x5f,0x74,0x2a,0x29,0x64,0x61,0x74,0x61,0x73,0x65,0x74, + 0x5f,0x70,0x74,0x72,0x29,0x2b,0x64,0x61,0x74,0x61,0x73,0x65,0x74,0x4f,0x66,0x66,0x73,0x65,0x74,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33, + 0x32,0x5f,0x74,0x20,0x66,0x70,0x5f,0x72,0x65,0x67,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x36,0x34,0x2b,0x28,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e, + 0x64,0x65,0x78,0x26,0x31,0x29,0x3c,0x3c,0x33,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x5f,0x72,0x65, + 0x67,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x41,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x3d,0x31,0x39,0x32,0x2b,0x28,0x28,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e, + 0x64,0x65,0x78,0x26,0x31,0x29,0x3c,0x3c,0x33,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x65,0x4d, + 0x61,0x73,0x6b,0x3d,0x52,0x2b,0x31,0x38,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d, + 0x5f,0x6c,0x65,0x6e,0x67,0x74,0x68,0x3d,0x28,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x32, + 0x30,0x29,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x72,0x63,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, + 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x29,0x5b,0x69,0x64,0x78,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33, + 0x32,0x5f,0x74,0x20,0x73,0x70,0x41,0x64,0x64,0x72,0x30,0x3d,0x66,0x69,0x72,0x73,0x74,0x3f,0x6d,0x78,0x3a,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, + 0x20,0x73,0x70,0x41,0x64,0x64,0x72,0x31,0x3d,0x66,0x69,0x72,0x73,0x74,0x3f,0x6d,0x61,0x3a,0x30,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69, + 0x6e,0x74,0x38,0x5f,0x74,0x2a,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e, + 0x74,0x38,0x5f,0x74,0x2a,0x29,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x73,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74, + 0x29,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x2b,0x36,0x34,0x29,0x3b,0x0a,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x62,0x6f,0x6f,0x6c,0x20,0x66,0x5f,0x67,0x72,0x6f,0x75,0x70,0x3d,0x28,0x73,0x75,0x62,0x3c,0x34,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c, + 0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x20,0x66,0x65,0x3d,0x66,0x5f,0x67,0x72,0x6f,0x75,0x70,0x3f,0x28,0x46,0x2b,0x73,0x75,0x62,0x2a,0x32,0x29,0x3a,0x28,0x45, + 0x2b,0x28,0x73,0x75,0x62,0x2d,0x34,0x29,0x2a,0x32,0x29,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x20,0x66,0x3d,0x46, + 0x2b,0x73,0x75,0x62,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x20,0x65,0x3d,0x45,0x2b,0x73,0x75,0x62,0x3b,0x0a,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x61,0x6e,0x64,0x4d,0x61,0x73,0x6b,0x3d,0x66,0x5f,0x67,0x72,0x6f,0x75,0x70,0x3f,0x28,0x75, + 0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x28,0x2d,0x31,0x29,0x3a,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x4d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73,0x6b, + 0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6f,0x72,0x4d,0x61,0x73,0x6b,0x31,0x3d,0x66,0x5f,0x67,0x72,0x6f,0x75,0x70, + 0x3f,0x30,0x3a,0x65,0x4d,0x61,0x73,0x6b,0x5b,0x30,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x6f,0x72,0x4d,0x61, + 0x73,0x6b,0x32,0x3d,0x66,0x5f,0x67,0x72,0x6f,0x75,0x70,0x3f,0x30,0x3a,0x65,0x4d,0x61,0x73,0x6b,0x5b,0x31,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, + 0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x78,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x4d,0x61,0x73,0x6b,0x3d,0x28,0x73,0x75,0x62,0x26,0x31,0x29,0x3f,0x65,0x4d,0x61, + 0x73,0x6b,0x5b,0x31,0x5d,0x3a,0x65,0x4d,0x61,0x73,0x6b,0x5b,0x30,0x5d,0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74, + 0x2a,0x20,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b, + 0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29, + 0x3b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x63,0x6f,0x6d,0x70,0x69,0x6c, + 0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x3d,0x28,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32, + 0x5f,0x74,0x2a,0x29,0x28,0x52,0x2b,0x28,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x5f,0x53,0x49,0x5a,0x45,0x2b,0x49,0x4d,0x4d,0x5f,0x42,0x55,0x46,0x5f,0x53, + 0x49,0x5a,0x45,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, + 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x5f,0x6d,0x61,0x73,0x6b,0x3d,0x28,0x28,0x31,0x3c,0x3c,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53, + 0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x2d,0x31,0x29,0x3c,0x3c,0x28,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29, + 0x2f,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x29,0x2a,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, + 0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x66,0x70,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x5f,0x6d,0x61,0x73,0x6b,0x3d,0x33,0x3c,0x3c,0x28,0x28,0x28,0x73,0x75,0x62, + 0x3e,0x3e,0x31,0x29,0x3c,0x3c,0x31,0x29,0x2b,0x28,0x67,0x65,0x74,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2f,0x49,0x44,0x58,0x5f,0x57,0x49, + 0x44,0x54,0x48,0x29,0x2a,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x29,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20, + 0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x63,0x3d,0x30,0x3b,0x20,0x69,0x63,0x3c,0x6e,0x75,0x6d,0x5f,0x69,0x74,0x65,0x72,0x61,0x74,0x69,0x6f, + 0x6e,0x73,0x3b,0x20,0x2b,0x2b,0x69,0x63,0x29,0x0a,0x7b,0x0a,0x5f,0x5f,0x6c,0x6f,0x63,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x2a,0x72,0x3b, + 0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x2a,0x70,0x30,0x2c,0x2a,0x70,0x31,0x3b,0x0a,0x69,0x66,0x28,0x28, + 0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x3c,0x3d,0x38,0x29,0x7c,0x7c,0x28,0x73,0x75,0x62,0x3c,0x38,0x29,0x29,0x0a,0x7b, + 0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x73,0x70,0x4d,0x69,0x78,0x3d,0x2a,0x72,0x65,0x61,0x64,0x52,0x65,0x67,0x30,0x5e, + 0x2a,0x72,0x65,0x61,0x64,0x52,0x65,0x67,0x31,0x3b,0x0a,0x73,0x70,0x41,0x64,0x64,0x72,0x30,0x20,0x5e,0x3d,0x20,0x28,0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, + 0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x26,0x73,0x70,0x4d,0x69,0x78,0x29,0x5b,0x30,0x5d,0x3b,0x0a,0x73,0x70,0x41,0x64,0x64,0x72,0x31,0x20,0x5e,0x3d,0x20,0x28, + 0x28,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x26,0x73,0x70,0x4d,0x69,0x78,0x29,0x5b,0x31,0x5d,0x3b,0x0a,0x73,0x70,0x41, + 0x64,0x64,0x72,0x30,0x20,0x26,0x3d,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x36,0x34,0x3b,0x0a,0x73,0x70,0x41,0x64, + 0x64,0x72,0x31,0x20,0x26,0x3d,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x36,0x34,0x3b,0x0a,0x70,0x30,0x3d,0x28,0x5f, + 0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x73,0x70, + 0x41,0x64,0x64,0x72,0x30,0x2b,0x73,0x75,0x62,0x2a,0x38,0x29,0x3b,0x0a,0x70,0x31,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36, + 0x34,0x5f,0x74,0x2a,0x29,0x28,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2b,0x73,0x70,0x41,0x64,0x64,0x72,0x31,0x2b,0x73,0x75,0x62,0x2a,0x38,0x29,0x3b, + 0x0a,0x72,0x3d,0x52,0x2b,0x73,0x75,0x62,0x3b,0x0a,0x2a,0x72,0x20,0x5e,0x3d,0x20,0x2a,0x70,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x20,0x67,0x6c, + 0x6f,0x62,0x61,0x6c,0x5f,0x6d,0x65,0x6d,0x5f,0x64,0x61,0x74,0x61,0x3d,0x2a,0x70,0x31,0x3b,0x0a,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x71,0x3d,0x28,0x69, + 0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x26,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x6d,0x65,0x6d,0x5f,0x64,0x61,0x74,0x61,0x3b,0x0a,0x66,0x65,0x5b,0x30,0x5d,0x3d, + 0x6c,0x6f,0x61,0x64,0x5f,0x46,0x5f,0x45,0x5f,0x67,0x72,0x6f,0x75,0x70,0x73,0x28,0x71,0x5b,0x30,0x5d,0x2c,0x61,0x6e,0x64,0x4d,0x61,0x73,0x6b,0x2c,0x6f,0x72,0x4d, + 0x61,0x73,0x6b,0x31,0x29,0x3b,0x0a,0x66,0x65,0x5b,0x31,0x5d,0x3d,0x6c,0x6f,0x61,0x64,0x5f,0x46,0x5f,0x45,0x5f,0x67,0x72,0x6f,0x75,0x70,0x73,0x28,0x71,0x5b,0x31, + 0x5d,0x2c,0x61,0x6e,0x64,0x4d,0x61,0x73,0x6b,0x2c,0x6f,0x72,0x4d,0x61,0x73,0x6b,0x32,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x28,0x57,0x4f,0x52,0x4b,0x45,0x52, + 0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x3d,0x3d,0x49,0x44,0x58,0x5f,0x57,0x49,0x44,0x54,0x48,0x29,0x7c,0x7c,0x28,0x73,0x75,0x62,0x3c,0x57,0x4f,0x52, + 0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x29,0x29,0x0a,0x66,0x70,0x72,0x63,0x3d,0x69,0x6e,0x6e,0x65,0x72,0x5f,0x6c,0x6f,0x6f,0x70,0x28, + 0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x5f,0x6c,0x65,0x6e,0x67,0x74,0x68,0x2c,0x63,0x6f,0x6d,0x70,0x69,0x6c,0x65,0x64,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x2c, + 0x73,0x75,0x62,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x2c,0x66,0x70,0x5f,0x72,0x65,0x67,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2c,0x66,0x70,0x5f, + 0x72,0x65,0x67,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x41,0x5f,0x6f,0x66,0x66,0x73,0x65,0x74,0x2c,0x52,0x2c,0x69,0x6d,0x6d,0x5f,0x62,0x75,0x66,0x2c,0x62,0x61,0x74, + 0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2c,0x66,0x70,0x72,0x63,0x2c,0x66,0x70,0x5f,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x5f,0x6d,0x61,0x73,0x6b,0x2c,0x78,0x65,0x78, + 0x70,0x6f,0x6e,0x65,0x6e,0x74,0x4d,0x61,0x73,0x6b,0x2c,0x77,0x6f,0x72,0x6b,0x65,0x72,0x73,0x5f,0x6d,0x61,0x73,0x6b,0x29,0x3b,0x0a,0x69,0x66,0x28,0x28,0x57,0x4f, + 0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f,0x48,0x41,0x53,0x48,0x3c,0x3d,0x38,0x29,0x7c,0x7c,0x28,0x73,0x75,0x62,0x3c,0x38,0x29,0x29,0x0a,0x7b,0x0a,0x6d, + 0x78,0x20,0x5e,0x3d,0x20,0x2a,0x72,0x65,0x61,0x64,0x52,0x65,0x67,0x32,0x5e,0x2a,0x72,0x65,0x61,0x64,0x52,0x65,0x67,0x33,0x3b,0x0a,0x6d,0x78,0x20,0x26,0x3d,0x20, + 0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x41,0x6c,0x69,0x67,0x6e,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34, + 0x5f,0x74,0x20,0x6e,0x65,0x78,0x74,0x5f,0x72,0x3d,0x2a,0x72,0x5e,0x2a,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, + 0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x29,0x28,0x64,0x61,0x74,0x61,0x73,0x65,0x74,0x2b,0x6d,0x61,0x2b,0x73,0x75,0x62,0x2a,0x38,0x29,0x3b,0x0a,0x2a,0x72,0x3d,0x6e, + 0x65,0x78,0x74,0x5f,0x72,0x3b,0x0a,0x2a,0x70,0x31,0x3d,0x6e,0x65,0x78,0x74,0x5f,0x72,0x3b,0x0a,0x2a,0x70,0x30,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28, + 0x66,0x5b,0x30,0x5d,0x29,0x5e,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x65,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x74, + 0x6d,0x70,0x3d,0x6d,0x61,0x3b,0x0a,0x6d,0x61,0x3d,0x6d,0x78,0x3b,0x0a,0x6d,0x78,0x3d,0x74,0x6d,0x70,0x3b,0x0a,0x73,0x70,0x41,0x64,0x64,0x72,0x30,0x3d,0x30,0x3b, + 0x0a,0x73,0x70,0x41,0x64,0x64,0x72,0x31,0x3d,0x30,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x28,0x57,0x4f,0x52,0x4b,0x45,0x52,0x53,0x5f,0x50,0x45,0x52,0x5f, + 0x48,0x41,0x53,0x48,0x3e,0x38,0x29,0x26,0x26,0x28,0x73,0x75,0x62,0x3e,0x3d,0x38,0x29,0x29,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f, + 0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x70,0x3d,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x36, + 0x34,0x5f,0x74,0x2a,0x29,0x76,0x6d,0x5f,0x73,0x74,0x61,0x74,0x65,0x73,0x29,0x2b,0x69,0x64,0x78,0x2a,0x28,0x56,0x4d,0x5f,0x53,0x54,0x41,0x54,0x45,0x5f,0x53,0x49, + 0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x29,0x29,0x3b,0x0a,0x70,0x5b,0x73,0x75,0x62,0x5d,0x3d,0x52,0x5b,0x73, + 0x75,0x62,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x73,0x75,0x62,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e, + 0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x29,0x5b,0x69,0x64,0x78,0x5d,0x3d,0x66,0x70,0x72,0x63,0x3b,0x0a,0x7d,0x0a,0x69,0x66, + 0x28,0x6c,0x61,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x70,0x5b,0x73,0x75,0x62,0x2b,0x38,0x5d,0x3d,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x46,0x5b,0x73,0x75,0x62, + 0x5d,0x29,0x5e,0x61,0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x45,0x5b,0x73,0x75,0x62,0x5d,0x29,0x3b,0x0a,0x70,0x5b,0x73,0x75,0x62,0x2b,0x31,0x36,0x5d,0x3d,0x61, + 0x73,0x5f,0x75,0x6c,0x6f,0x6e,0x67,0x28,0x45,0x5b,0x73,0x75,0x62,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x73,0x75,0x62,0x3d,0x3d, + 0x30,0x29,0x0a,0x7b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x70,0x2b,0x31,0x36,0x29, + 0x29,0x5b,0x30,0x5d,0x3d,0x6d,0x61,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x29,0x28,0x70, + 0x2b,0x31,0x36,0x29,0x29,0x5b,0x31,0x5d,0x3d,0x6d,0x78,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28, + 0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x36,0x34,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f, + 0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x66,0x69,0x6e,0x64,0x5f,0x73,0x68,0x61,0x72,0x65,0x73,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61, + 0x6c,0x20,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f,0x74,0x2a,0x20,0x68,0x61,0x73,0x68,0x65,0x73,0x2c,0x75,0x69,0x6e,0x74,0x36,0x34,0x5f, + 0x74,0x20,0x74,0x61,0x72,0x67,0x65,0x74,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x73,0x74,0x61,0x72,0x74,0x5f,0x6e,0x6f,0x6e,0x63,0x65,0x2c,0x5f,0x5f, + 0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x73,0x68,0x61,0x72,0x65,0x73,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61, + 0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x3b,0x0a,0x69,0x66,0x28,0x68,0x61,0x73,0x68,0x65,0x73,0x5b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a, + 0x34,0x2b,0x33,0x5d,0x3c,0x74,0x61,0x72,0x67,0x65,0x74,0x29,0x20,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x64, + 0x78,0x3d,0x61,0x74,0x6f,0x6d,0x69,0x63,0x5f,0x69,0x6e,0x63,0x28,0x73,0x68,0x61,0x72,0x65,0x73,0x2b,0x30,0x78,0x46,0x46,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x64, + 0x78,0x3c,0x30,0x78,0x46,0x46,0x29,0x20,0x7b,0x0a,0x73,0x68,0x61,0x72,0x65,0x73,0x5b,0x69,0x64,0x78,0x5d,0x3d,0x73,0x74,0x61,0x72,0x74,0x5f,0x6e,0x6f,0x6e,0x63, + 0x65,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x7d,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4e, + 0x49,0x54,0x49,0x41,0x4c,0x5f,0x48,0x41,0x53,0x48,0x5f,0x53,0x49,0x5a,0x45,0x20,0x36,0x34,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x49,0x4e,0x54,0x45,0x52, + 0x4d,0x45,0x44,0x49,0x41,0x54,0x45,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52, + 0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x2a,0x20,0x31,0x36,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x43,0x4f,0x4d,0x50,0x49,0x4c,0x45, + 0x44,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x31,0x30,0x30,0x34,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x4e,0x55,0x4d, + 0x5f,0x56,0x47,0x50,0x52,0x5f,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x20,0x31,0x32,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6d,0x61,0x6e,0x74, + 0x69,0x73,0x73,0x61,0x53,0x69,0x7a,0x65,0x20,0x35,0x32,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x53,0x69,0x7a,0x65, + 0x20,0x31,0x31,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73,0x6b,0x20,0x28,0x28,0x31,0x55,0x4c,0x20,0x3c, + 0x3c,0x20,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x53,0x69,0x7a,0x65,0x29,0x20,0x2d,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x78,0x70, + 0x6f,0x6e,0x65,0x6e,0x74,0x4d,0x61,0x73,0x6b,0x20,0x28,0x28,0x31,0x55,0x4c,0x20,0x3c,0x3c,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x53,0x69,0x7a,0x65,0x29, + 0x20,0x2d,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x65,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x61,0x73,0x20,0x31,0x30,0x32,0x33,0x0a, + 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x20,0x34,0x0a,0x23,0x64, + 0x65,0x66,0x69,0x6e,0x65,0x20,0x73,0x74,0x61,0x74,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x20,0x34,0x0a,0x23,0x64,0x65,0x66,0x69, + 0x6e,0x65,0x20,0x63,0x6f,0x6e,0x73,0x74,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42,0x69,0x74,0x73,0x20,0x30,0x78,0x33,0x30,0x30,0x0a,0x23,0x64,0x65,0x66,0x69, + 0x6e,0x65,0x20,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x4d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x4d,0x61,0x73,0x6b,0x20,0x28,0x28,0x31,0x55,0x4c,0x20,0x3c,0x3c,0x20, + 0x28,0x6d,0x61,0x6e,0x74,0x69,0x73,0x73,0x61,0x53,0x69,0x7a,0x65,0x20,0x2b,0x20,0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x45,0x78,0x70,0x6f,0x6e,0x65,0x6e,0x74,0x42, + 0x69,0x74,0x73,0x29,0x29,0x20,0x2d,0x20,0x31,0x29,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d, + 0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x20,0x33,0x38,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d, + 0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x20,0x33,0x39,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d, + 0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x20,0x35,0x30,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d, + 0x61,0x73,0x6b,0x20,0x28,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x33,0x20,0x2d,0x20,0x38,0x29,0x0a, + 0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x42,0x49,0x54,0x53,0x20,0x38,0x0a,0x23,0x64,0x65,0x66, + 0x69,0x6e,0x65,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x20,0x38,0x0a,0x23,0x69,0x66,0x20,0x47,0x43, + 0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x53,0x45,0x54,0x50,0x43,0x5f, + 0x42,0x36,0x34,0x5f,0x53,0x31,0x32,0x5f,0x31,0x33,0x20,0x30,0x78,0x62,0x65,0x38,0x30,0x32,0x30,0x30,0x63,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56, + 0x5f,0x41,0x4e,0x44,0x5f,0x42,0x33,0x32,0x5f,0x43,0x41,0x4c,0x43,0x5f,0x41,0x44,0x44,0x52,0x45,0x53,0x53,0x20,0x30,0x78,0x33,0x36,0x33,0x38,0x30,0x30,0x30,0x65, + 0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x44,0x57,0x4f,0x52,0x44,0x58,0x32,0x5f,0x53,0x43, + 0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x20,0x30,0x78,0x64,0x63,0x33,0x34,0x38,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, + 0x65,0x20,0x53,0x5f,0x57,0x41,0x49,0x54,0x43,0x4e,0x54,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x32,0x20,0x30,0x78,0x62, + 0x66,0x38,0x63,0x33,0x66,0x37,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x52,0x45,0x41,0x44,0x4c,0x41,0x4e,0x45,0x5f,0x42,0x33,0x32,0x5f, + 0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x32,0x20,0x30,0x78,0x64,0x37,0x36,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65, + 0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x30,0x78,0x39,0x61,0x38,0x66,0x31, + 0x30,0x31,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x20,0x30,0x78,0x39,0x33, + 0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55, + 0x4c,0x5f,0x52,0x5f,0x32,0x20,0x30,0x78,0x39,0x61,0x38,0x66,0x66,0x66,0x31,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f, + 0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x20,0x30,0x78,0x39,0x61,0x61,0x31,0x30,0x65,0x31,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, + 0x65,0x20,0x53,0x5f,0x4d,0x4f,0x56,0x5f,0x42,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x20,0x30,0x78,0x62,0x65,0x61,0x30,0x30,0x33,0x66,0x66,0x75, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x20,0x30, + 0x78,0x39,0x61,0x38,0x66,0x32,0x30,0x31,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x58,0x4f,0x52,0x5f,0x42,0x33,0x32,0x5f,0x36,0x34,0x20, + 0x30,0x78,0x38,0x39,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x4f,0x56,0x5f,0x42,0x33,0x32,0x5f,0x58,0x4f, + 0x52,0x5f,0x52,0x20,0x30,0x78,0x62,0x65,0x62,0x65,0x30,0x33,0x66,0x66,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4c,0x53,0x48,0x52,0x20,0x30, + 0x78,0x39,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4c,0x53,0x48,0x4c,0x20,0x30,0x78,0x38,0x66,0x30,0x30, + 0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4f,0x52,0x20,0x30,0x78,0x38,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x41,0x4e,0x44,0x20,0x30,0x78,0x38,0x37,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65, + 0x20,0x53,0x5f,0x42,0x46,0x45,0x20,0x30,0x78,0x39,0x34,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x44,0x53,0x5f,0x53,0x57, + 0x49,0x5a,0x5a,0x4c,0x45,0x5f,0x42,0x33,0x32,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x30,0x78,0x64,0x38,0x64,0x34,0x38,0x30,0x30,0x31,0x75,0x0a,0x23,0x64, + 0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x41,0x44,0x44,0x5f,0x46,0x36,0x34,0x20,0x30,0x78,0x64,0x35,0x36,0x34,0x30,0x30,0x33,0x63,0x75,0x0a,0x23,0x64,0x65,0x66, + 0x69,0x6e,0x65,0x20,0x56,0x5f,0x41,0x4e,0x44,0x5f,0x42,0x33,0x32,0x20,0x30,0x78,0x33,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e, + 0x65,0x20,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x44,0x57,0x4f,0x52,0x44,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c, + 0x4f,0x41,0x44,0x5f,0x46,0x50,0x20,0x30,0x78,0x64,0x63,0x33,0x30,0x38,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x58,0x4f,0x52, + 0x5f,0x42,0x33,0x32,0x20,0x30,0x78,0x33,0x61,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x4d,0x55,0x4c,0x5f,0x46, + 0x36,0x34,0x20,0x30,0x78,0x64,0x35,0x36,0x35,0x30,0x30,0x34,0x34,0x75,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x53, + 0x45,0x54,0x50,0x43,0x5f,0x42,0x36,0x34,0x5f,0x53,0x31,0x32,0x5f,0x31,0x33,0x20,0x30,0x78,0x62,0x65,0x38,0x30,0x31,0x64,0x30,0x63,0x75,0x0a,0x23,0x64,0x65,0x66, + 0x69,0x6e,0x65,0x20,0x56,0x5f,0x41,0x4e,0x44,0x5f,0x42,0x33,0x32,0x5f,0x43,0x41,0x4c,0x43,0x5f,0x41,0x44,0x44,0x52,0x45,0x53,0x53,0x20,0x30,0x78,0x32,0x36,0x33, + 0x38,0x30,0x30,0x30,0x65,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x44,0x57,0x4f,0x52,0x44, + 0x58,0x32,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x20,0x30,0x78,0x64,0x63,0x35,0x34,0x38,0x30,0x30,0x30,0x75,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x57,0x41,0x49,0x54,0x43,0x4e,0x54,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44, + 0x32,0x20,0x30,0x78,0x62,0x66,0x38,0x63,0x30,0x66,0x37,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x52,0x45,0x41,0x44,0x4c,0x41,0x4e,0x45, + 0x5f,0x42,0x33,0x32,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x32,0x20,0x30,0x78,0x64,0x32,0x38,0x39,0x30,0x30,0x30,0x30, + 0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x20,0x30,0x78, + 0x39,0x36,0x30,0x66,0x31,0x30,0x31,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c, + 0x20,0x30,0x78,0x39,0x32,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33, + 0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x5f,0x32,0x20,0x30,0x78,0x39,0x36,0x30,0x66,0x66,0x66,0x31,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53, + 0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x20,0x30,0x78,0x39,0x36,0x32,0x31,0x30,0x65,0x31,0x30,0x75,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x4f,0x56,0x5f,0x42,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x20,0x30,0x78,0x62,0x65,0x61,0x30, + 0x30,0x30,0x66,0x66,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f, + 0x52,0x43,0x50,0x20,0x30,0x78,0x39,0x36,0x30,0x66,0x32,0x30,0x31,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x58,0x4f,0x52,0x5f,0x42,0x33, + 0x32,0x5f,0x36,0x34,0x20,0x30,0x78,0x38,0x38,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4d,0x4f,0x56,0x5f,0x42, + 0x33,0x32,0x5f,0x58,0x4f,0x52,0x5f,0x52,0x20,0x30,0x78,0x62,0x65,0x62,0x65,0x30,0x30,0x66,0x66,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4c, + 0x53,0x48,0x52,0x20,0x30,0x78,0x38,0x66,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4c,0x53,0x48,0x4c,0x20,0x30, + 0x78,0x38,0x65,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x4f,0x52,0x20,0x30,0x78,0x38,0x37,0x30,0x30,0x30,0x30, + 0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x41,0x4e,0x44,0x20,0x30,0x78,0x38,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64, + 0x65,0x66,0x69,0x6e,0x65,0x20,0x53,0x5f,0x42,0x46,0x45,0x20,0x30,0x78,0x39,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x44,0x53,0x5f,0x53,0x57,0x49,0x5a,0x5a,0x4c,0x45,0x5f,0x42,0x33,0x32,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x20,0x30,0x78,0x64,0x38,0x37,0x61,0x38,0x30,0x30, + 0x31,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x41,0x44,0x44,0x5f,0x46,0x36,0x34,0x20,0x30,0x78,0x64,0x32,0x38,0x30,0x30,0x30,0x33,0x63,0x75, + 0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f,0x41,0x4e,0x44,0x5f,0x42,0x33,0x32,0x20,0x30,0x78,0x32,0x36,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23, + 0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x44,0x57,0x4f,0x52,0x44,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48, + 0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x46,0x50,0x20,0x30,0x78,0x64,0x63,0x35,0x30,0x38,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20, + 0x56,0x5f,0x58,0x4f,0x52,0x5f,0x42,0x33,0x32,0x20,0x30,0x78,0x32,0x61,0x30,0x30,0x30,0x30,0x30,0x30,0x75,0x0a,0x23,0x64,0x65,0x66,0x69,0x6e,0x65,0x20,0x56,0x5f, + 0x4d,0x55,0x4c,0x5f,0x46,0x36,0x34,0x20,0x30,0x78,0x64,0x32,0x38,0x31,0x30,0x30,0x34,0x34,0x75,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x5f,0x5f,0x67,0x6c,0x6f, + 0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64, + 0x64,0x72,0x65,0x73,0x73,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x2c, + 0x75,0x69,0x6e,0x74,0x20,0x69,0x6d,0x6d,0x33,0x32,0x2c,0x75,0x69,0x6e,0x74,0x20,0x6d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61, + 0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x31,0x30,0x65,0x66,0x66,0x31,0x30,0x75,0x7c,0x28, + 0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6d,0x6d,0x33,0x32,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f, + 0x41,0x4e,0x44,0x5f,0x42,0x33,0x32,0x5f,0x43,0x41,0x4c,0x43,0x5f,0x41,0x44,0x44,0x52,0x45,0x53,0x53,0x7c,0x28,0x6d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3c,0x3c, + 0x39,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a, + 0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x66,0x69,0x78,0x65,0x64,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73, + 0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20,0x69,0x6d,0x6d,0x33,0x32,0x2c,0x75,0x69,0x6e, + 0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x37,0x65,0x33,0x38,0x30,0x32,0x66, + 0x66,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6d,0x6d,0x33,0x32,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f, + 0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64, + 0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65, + 0x78,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x34,0x0a,0x2a,0x28,0x70,0x2b,0x2b, + 0x29,0x3d,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x44,0x57,0x4f,0x52,0x44,0x58,0x32,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44, + 0x5f,0x4c,0x4f,0x41,0x44,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x63,0x75,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f, + 0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x32,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x33,0x32,0x35,0x34,0x33, + 0x39,0x30,0x32,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x31,0x31,0x63,0x36,0x61,0x32,0x62,0x75,0x3b,0x09, + 0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x31,0x61,0x39,0x30,0x31,0x30,0x33,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29, + 0x3d,0x30,0x78,0x64,0x63,0x35,0x34,0x30,0x30,0x30,0x30,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30, + 0x30,0x30,0x30,0x32,0x61,0x75,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x32,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a, + 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x73, + 0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70, + 0x2c,0x75,0x69,0x6e,0x74,0x20,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2c,0x69,0x6e,0x74,0x20,0x76,0x6d,0x63,0x6e,0x74,0x29,0x0a,0x7b,0x0a,0x69,0x66, + 0x28,0x76,0x6d,0x63,0x6e,0x74,0x3e,0x3d,0x30,0x29,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x57,0x41,0x49,0x54,0x43,0x4e,0x54,0x5f,0x53,0x43,0x52,0x41, + 0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x32,0x7c,0x28,0x76,0x6d,0x63,0x6e,0x74,0x26,0x31,0x35,0x29,0x7c,0x28,0x28,0x76,0x6d,0x63,0x6e,0x74,0x3e, + 0x3e,0x34,0x29,0x3c,0x3c,0x31,0x34,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x52,0x45,0x41,0x44,0x4c,0x41,0x4e,0x45,0x5f,0x42,0x33,0x32,0x5f, + 0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x32,0x7c,0x31,0x34,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30, + 0x30,0x31,0x30,0x31,0x30,0x30,0x75,0x7c,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x52,0x45,0x41, + 0x44,0x4c,0x41,0x4e,0x45,0x5f,0x42,0x33,0x32,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x32,0x7c,0x31,0x35,0x3b,0x0a,0x2a, + 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x31,0x30,0x31,0x30,0x30,0x75,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2b,0x31,0x29, + 0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74, + 0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x5f,0x66,0x70,0x28,0x5f,0x5f,0x67,0x6c, + 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x2c,0x75,0x69,0x6e,0x74,0x20,0x69,0x6d,0x6d,0x33,0x32, + 0x2c,0x75,0x69,0x6e,0x74,0x20,0x6d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x0a, + 0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x31,0x30,0x65,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a, + 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6d,0x6d,0x33,0x32,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x41,0x4e,0x44,0x5f,0x42,0x33,0x32,0x7c,0x30,0x78, + 0x33,0x38,0x30,0x30,0x30,0x65,0x75,0x7c,0x28,0x6d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56, + 0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x34,0x61,0x33,0x38,0x35,0x39,0x31,0x63,0x75,0x3b, + 0x0a,0x23,0x65,0x6c,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3d,0x3d,0x20,0x31,0x34,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d, + 0x30,0x78,0x36,0x38,0x33,0x38,0x35,0x39,0x31,0x63,0x75,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x33,0x32,0x33,0x38, + 0x35,0x39,0x31,0x63,0x75,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62, + 0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x5f,0x66,0x70,0x28, + 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78, + 0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x34,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29, + 0x3d,0x47,0x4c,0x4f,0x42,0x41,0x4c,0x5f,0x4c,0x4f,0x41,0x44,0x5f,0x44,0x57,0x4f,0x52,0x44,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f, + 0x41,0x44,0x5f,0x46,0x50,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x63,0x75,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f, + 0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x32,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x33,0x32,0x35,0x34,0x33, + 0x39,0x30,0x32,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x31,0x31,0x63,0x36,0x61,0x32,0x62,0x75,0x3b,0x09, + 0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x31,0x61,0x39,0x30,0x31,0x30,0x33,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29, + 0x3d,0x30,0x78,0x64,0x63,0x35,0x30,0x30,0x30,0x30,0x30,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30, + 0x30,0x30,0x30,0x32,0x61,0x75,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3c,0x32,0x34,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a, + 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x73, + 0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x5f,0x66,0x70,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, + 0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2c,0x69,0x6e,0x74,0x20,0x76,0x6d,0x63,0x6e,0x74,0x29,0x0a,0x7b, + 0x0a,0x69,0x66,0x28,0x76,0x6d,0x63,0x6e,0x74,0x3e,0x3d,0x30,0x29,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x57,0x41,0x49,0x54,0x43,0x4e,0x54,0x5f,0x53, + 0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x4f,0x41,0x44,0x32,0x7c,0x28,0x76,0x6d,0x63,0x6e,0x74,0x26,0x31,0x35,0x29,0x7c,0x28,0x28,0x76,0x6d,0x63, + 0x6e,0x74,0x3e,0x3e,0x34,0x29,0x3c,0x3c,0x31,0x34,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x37,0x65,0x33,0x38,0x30,0x39,0x30,0x30,0x75,0x7c, + 0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, + 0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6a,0x69,0x74,0x5f,0x65,0x6d,0x69,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x28,0x5f,0x5f,0x67,0x6c, + 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6c,0x61,0x73,0x74, + 0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x2c,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x69,0x6e,0x73,0x74,0x2c, + 0x69,0x6e,0x74,0x20,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2c,0x69,0x6e,0x74,0x20,0x76,0x6d,0x63,0x6e, + 0x74,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65, + 0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x30,0x78,0x46,0x46,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x64,0x73,0x74,0x3d,0x28,0x69,0x6e, + 0x73,0x74,0x2e,0x78,0x3e,0x3e,0x38,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x3d,0x28,0x69,0x6e,0x73,0x74, + 0x2e,0x78,0x3e,0x3e,0x31,0x36,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6d,0x6f,0x64,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78, + 0x3e,0x3e,0x32,0x34,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44, + 0x44,0x5f,0x52,0x53,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x28,0x6d,0x6f,0x64,0x3e,0x3e,0x32, + 0x29,0x20,0x25,0x20,0x34,0x3b,0x0a,0x69,0x66,0x28,0x73,0x68,0x69,0x66,0x74,0x3e,0x30,0x29,0x20,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c, + 0x53,0x48,0x4c,0x7c,0x30,0x78,0x38,0x65,0x38,0x30,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x73,0x68,0x69,0x66,0x74,0x3c,0x3c,0x38, + 0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x30,0x30,0x65,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28, + 0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x31,0x31,0x30,0x66,0x31,0x31,0x75,0x7c,0x28,0x64,0x73, + 0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b, + 0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x30,0x31,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29, + 0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x31,0x31,0x31,0x31,0x31,0x31,0x75,0x7c,0x28,0x64, + 0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28, + 0x64,0x73,0x74,0x3d,0x3d,0x35,0x29,0x20,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x30,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x64, + 0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b, + 0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x31,0x31,0x30,0x30,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73, + 0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x28,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x29,0x3c,0x30,0x29,0x3f,0x30,0x78,0x63,0x31, + 0x3a,0x30,0x78,0x38,0x30,0x29,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65, + 0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64, + 0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66, + 0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73, + 0x74,0x29,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73, + 0x73,0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68, + 0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72, + 0x65,0x67,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61, + 0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x66,0x69,0x78,0x65,0x64,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x69,0x6e,0x73,0x74, + 0x2e,0x79,0x26,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b, + 0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63, + 0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78, + 0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d, + 0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x28,0x70,0x2c,0x70,0x72, + 0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72, + 0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d, + 0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x30,0x30,0x65,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c, + 0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x31,0x31,0x30,0x66,0x31,0x31, + 0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70, + 0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x3b, + 0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x29,0x0a, + 0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x39,0x30,0x31, + 0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29, + 0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x39,0x31,0x31,0x31,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64, + 0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b, + 0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x39,0x30,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37, + 0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x39,0x31,0x30, + 0x30,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x28,0x28,0x61,0x73,0x5f,0x69,0x6e, + 0x74,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x29,0x3c,0x30,0x29,0x3f,0x30,0x78,0x63,0x31,0x3a,0x30,0x78,0x38,0x30,0x29,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x72, + 0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, + 0x49,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, + 0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e, 0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63, 0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28, 0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63, @@ -3421,390 +3298,445 @@ static const char randomx_cl[131026] = { 0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74, 0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65, 0x78,0x3f,0x2d,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70,0x72,0x65,0x66,0x65,0x74, - 0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f, - 0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x34,0x31,0x30,0x75, - 0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x32,0x31,0x33,0x38, - 0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x34,0x30,0x65,0x75,0x7c,0x28,0x64,0x73, - 0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30, - 0x31,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63, - 0x31,0x65,0x33,0x38,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x31,0x30,0x65,0x75, - 0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, - 0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48, - 0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f, - 0x52,0x43,0x50,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2d,0x31,0x29,0x29,0x0a,0x7b,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x72,0x63,0x70,0x5f,0x76,0x61,0x6c,0x75,0x65,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x69,0x6d, - 0x75,0x6c,0x5f,0x72,0x63,0x70,0x5f,0x76,0x61,0x6c,0x75,0x65,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x29,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f, - 0x4d,0x4f,0x56,0x5f,0x42,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x3b,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x72,0x63, - 0x70,0x5f,0x76,0x61,0x6c,0x75,0x65,0x2e,0x78,0x3b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x34, - 0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x7c,0x28,0x64, - 0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x37,0x65,0x33,0x38,0x30, - 0x32,0x32,0x30,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x32,0x38,0x36,0x30,0x30,0x31,0x63,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29, - 0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x32,0x31,0x31,0x63,0x75,0x2b,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30, - 0x78,0x64,0x32,0x38,0x39,0x30,0x30,0x30,0x66,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x31,0x30,0x31,0x31,0x63,0x75,0x3b,0x0a, - 0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x30, - 0x65,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x72,0x63,0x70,0x5f, - 0x76,0x61,0x6c,0x75,0x65,0x2e,0x79,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x30,0x66,0x30,0x65,0x30,0x66,0x75,0x3b,0x09,0x09,0x09,0x09, - 0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x30,0x65,0x32,0x30, - 0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x31,0x30, - 0x65,0x30,0x66,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c, - 0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x31,0x30,0x32,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73, - 0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41, - 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52, - 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38, - 0x30,0x39,0x30,0x31,0x30,0x38,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x39,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x0a,0x2a,0x28, - 0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x39,0x31,0x31,0x31,0x38,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x39,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c, - 0x31,0x37,0x29,0x3b,0x09,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x7b,0x0a, - 0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x58,0x4f,0x52,0x5f,0x42,0x33,0x32,0x5f,0x36,0x34,0x7c,0x30,0x78,0x39,0x30,0x31,0x30,0x31,0x30,0x75,0x7c,0x28,0x64, - 0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73, - 0x65,0x20,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x29,0x3c,0x30,0x29,0x20,0x0a,0x7b,0x0a,0x2a,0x28,0x70, - 0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x4f,0x56,0x5f,0x42,0x33,0x32,0x5f,0x58,0x4f,0x52,0x5f,0x52,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74, - 0x2e,0x79,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x58,0x4f,0x52,0x5f,0x42,0x33,0x32,0x5f,0x36,0x34,0x7c,0x30,0x78,0x39,0x30,0x33,0x65,0x31,0x30, - 0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x2a, - 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x58,0x4f,0x52,0x5f,0x42,0x33,0x32,0x5f,0x36,0x34,0x7c,0x30,0x78,0x31,0x30,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x64,0x73, - 0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a, - 0x7d,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69, - 0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73, - 0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e,0x73, - 0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72, - 0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69, - 0x7a,0x65,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63, - 0x5f,0x66,0x69,0x78,0x65,0x64,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70, - 0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61, - 0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65, - 0x78,0x3f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28, - 0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f, - 0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72, - 0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70, - 0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70, - 0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x58,0x4f,0x52,0x5f,0x42,0x33,0x32,0x5f,0x36,0x34,0x7c,0x30,0x78,0x39,0x30,0x30,0x65,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c, - 0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63, - 0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x7b,0x0a,0x69, - 0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x29,0x0a,0x7b,0x0a, - 0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x52,0x7c,0x30,0x78,0x61,0x30,0x31,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29, - 0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x38,0x66,0x31,0x30,0x63,0x30,0x75,0x7c,0x28,0x73, - 0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x4c,0x7c,0x30,0x78,0x61,0x32,0x30,0x66,0x31,0x30,0x75,0x7c, - 0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x4c, - 0x7c,0x30,0x78,0x61,0x30,0x31,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x2a,0x28, - 0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x38,0x66,0x31,0x30,0x63,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b, - 0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x52,0x7c,0x30,0x78,0x61,0x32,0x30,0x66,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x7d, - 0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x28,0x28,0x6f,0x70,0x63,0x6f, - 0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x29,0x3f,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3a,0x2d, - 0x69,0x6e,0x73,0x74,0x2e,0x79,0x29,0x26,0x36,0x33,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x52,0x7c,0x30,0x78,0x61,0x30,0x38,0x30, - 0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x73,0x68,0x69,0x66,0x74,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d, - 0x53,0x5f,0x4c,0x53,0x48,0x4c,0x7c,0x30,0x78,0x61,0x32,0x38,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x28,0x36,0x34,0x2d,0x73, - 0x68,0x69,0x66,0x74,0x29,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4f,0x52,0x7c,0x30,0x78,0x39,0x30,0x32,0x32,0x32, - 0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65, - 0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, - 0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, - 0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20, - 0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x30,0x30, - 0x34,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30, - 0x30,0x34,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29, - 0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x34,0x32,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6c,0x73, - 0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x30,0x30,0x31,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09, - 0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x31,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x7c,0x28, - 0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x31,0x32,0x30,0x75,0x7c,0x28,0x73,0x72, - 0x63,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d, - 0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x69, - 0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b, - 0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x44,0x53,0x5f,0x53,0x57,0x49,0x5a,0x5a,0x4c,0x45,0x5f,0x42,0x33,0x32,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a, - 0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x33,0x63,0x30,0x30,0x30,0x30,0x33,0x63,0x75,0x2b,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x2b,0x28,0x64,0x73,0x74, - 0x3c,0x3c,0x32,0x35,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x44,0x53,0x5f,0x53,0x57,0x49,0x5a,0x5a,0x4c,0x45,0x5f,0x42,0x33,0x32,0x5f,0x46,0x53,0x57, - 0x41,0x50,0x5f,0x52,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x33,0x64,0x30,0x30,0x30,0x30,0x33,0x64,0x75,0x2b,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31, - 0x29,0x2b,0x28,0x64,0x73,0x74,0x3c,0x3c,0x32,0x35,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x66,0x38,0x63,0x63,0x30,0x37,0x66,0x75,0x3b, + 0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30, + 0x78,0x38,0x30,0x39,0x30,0x30,0x65,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a, + 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x39,0x31,0x30,0x66,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c, + 0x3c,0x31,0x37,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a, + 0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x34,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53, + 0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x73,0x72,0x63, + 0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x37,0x65,0x33,0x38,0x30,0x32,0x31,0x30,0x75,0x7c,0x28, + 0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x32,0x38,0x36,0x30,0x30,0x31,0x63,0x75,0x3b,0x0a,0x2a,0x28,0x70, + 0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x32,0x31,0x31,0x63,0x75,0x2b,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b, + 0x29,0x3d,0x30,0x78,0x64,0x32,0x38,0x39,0x30,0x30,0x30,0x66,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x31,0x30,0x31,0x31,0x63, + 0x75,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c, + 0x30,0x78,0x30,0x65,0x31,0x31,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x2a,0x28,0x70, + 0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x30,0x66,0x30,0x65,0x30,0x66,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33, + 0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x30,0x65,0x31,0x30,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c, + 0x39,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x31,0x30,0x65,0x30,0x66,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29, + 0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x31,0x30,0x31,0x30,0x31,0x30, + 0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x7d, + 0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x34,0x0a,0x2a, + 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x5f,0x32,0x7c,0x28,0x64,0x73,0x74, + 0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b, + 0x29,0x3d,0x30,0x78,0x37,0x65,0x33,0x38,0x30,0x32,0x66,0x66,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x2a,0x28, + 0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x32,0x38,0x36,0x30,0x30,0x31,0x63,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x32, + 0x31,0x31,0x63,0x75,0x2b,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x32,0x38,0x39,0x30,0x30,0x30, + 0x66,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x31,0x30,0x31,0x31,0x63,0x75,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69, + 0x66,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x29,0x3c,0x30,0x29,0x20,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78, + 0x38,0x30,0x38,0x66,0x31,0x30,0x30,0x66,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x7d,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d, + 0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x30,0x65,0x66,0x66,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a, + 0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x31,0x30,0x65,0x30,0x66, + 0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d, + 0x55,0x4c,0x7c,0x30,0x78,0x31,0x30,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b, + 0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70, + 0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70, + 0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70, + 0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21, + 0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64, + 0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61, + 0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73, + 0x6b,0x5f,0x72,0x65,0x67,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73, + 0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x66,0x69,0x78,0x65,0x64,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x69, + 0x6e,0x73,0x74,0x2e,0x79,0x26,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a, + 0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x28,0x70,0x2c,0x70,0x72,0x65,0x66, + 0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e, + 0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65, + 0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x28,0x70, + 0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76, + 0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78, + 0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x34, + 0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x7c,0x28,0x64,0x73,0x74, + 0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x37,0x65,0x33,0x38,0x30,0x32,0x31,0x30,0x75,0x7c,0x28, + 0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x32,0x38,0x36,0x30,0x30,0x31,0x63,0x75,0x3b,0x0a,0x2a,0x28,0x70, + 0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x31,0x64,0x31,0x63,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x32,0x38,0x39,0x30,0x30, + 0x32,0x31,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x31,0x30,0x31,0x31,0x63,0x75,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a, + 0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x32,0x30,0x30,0x66,0x31,0x30,0x75,0x7c, + 0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x32,0x31,0x32,0x30,0x32,0x31,0x75,0x3b,0x0a,0x2a,0x28, + 0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x32,0x30,0x30,0x65,0x31,0x31,0x75,0x7c,0x28,0x64, + 0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x31,0x32,0x30,0x32,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c, + 0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x31,0x30, + 0x30,0x65,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75, + 0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55, + 0x4c,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c, + 0x48,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70, + 0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x38,0x65,0x30,0x34,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28, + 0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x34,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a, + 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x32,0x31,0x33,0x61,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29, + 0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x34,0x30,0x65,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6c,0x73, + 0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x38,0x65,0x30,0x31,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09, + 0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x31,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b,0x09, + 0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x31,0x65,0x33,0x61,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a, + 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x31,0x30,0x65,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09, + 0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f, + 0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x70, + 0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x73, + 0x72,0x63,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31, + 0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x62,0x61, + 0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61, + 0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x66,0x69,0x78,0x65,0x64,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x53,0x63, + 0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69, + 0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70, + 0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b, + 0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a, + 0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63, + 0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65, + 0x78,0x3a,0x32,0x38,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30, + 0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d, + 0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x34,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29, + 0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x32,0x31,0x33,0x61,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65, + 0x39,0x30,0x30,0x34,0x30,0x65,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70, + 0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x31,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28, + 0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x31,0x65,0x33,0x61,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d, + 0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x31,0x30,0x65,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6e,0x64,0x69, + 0x66,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, + 0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e, + 0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x38,0x65,0x30,0x34,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c, + 0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x34,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c, + 0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x32,0x31,0x33,0x38,0x75,0x3b,0x09,0x09,0x09,0x09, + 0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x34,0x30,0x65,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29, + 0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x38,0x65,0x30,0x31,0x31,0x30,0x75,0x7c,0x28, + 0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x31,0x31,0x30,0x75,0x7c, + 0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x31,0x65,0x33,0x38,0x75, + 0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x31,0x30,0x65,0x75,0x7c,0x28,0x64,0x73,0x74, + 0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70, + 0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28, + 0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a, + 0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28, + 0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63, + 0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f, + 0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c, + 0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x70,0x3d,0x6a, + 0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x66,0x69,0x78,0x65,0x64,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73, + 0x28,0x70,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x2c,0x62,0x61,0x74,0x63,0x68, + 0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x28,0x70,0x2c, + 0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70, + 0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f, + 0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61, + 0x64,0x32,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70,0x72,0x65,0x66,0x65,0x74, + 0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69, + 0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e, + 0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x34,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29, + 0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x32,0x31,0x33,0x38,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x09, + 0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x34,0x30,0x65,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09, + 0x09,0x09,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x36,0x30,0x31,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74, + 0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x31,0x65,0x33,0x38,0x75,0x3b,0x09,0x09,0x09, + 0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x31,0x30,0x65,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37, + 0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f, + 0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70, + 0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x29,0x0a,0x7b,0x0a,0x69,0x66, + 0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2d,0x31,0x29,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, + 0x32,0x20,0x72,0x63,0x70,0x5f,0x76,0x61,0x6c,0x75,0x65,0x3d,0x61,0x73,0x5f,0x75,0x69,0x6e,0x74,0x32,0x28,0x69,0x6d,0x75,0x6c,0x5f,0x72,0x63,0x70,0x5f,0x76,0x61, + 0x6c,0x75,0x65,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x29,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x4f,0x56,0x5f,0x42,0x33,0x32,0x5f,0x49, + 0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x3b,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x72,0x63,0x70,0x5f,0x76,0x61,0x6c,0x75,0x65,0x2e,0x78, + 0x3b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x34,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53, + 0x5f,0x4d,0x55,0x4c,0x5f,0x48,0x49,0x5f,0x55,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09, + 0x09,0x09,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x37,0x65,0x33,0x38,0x30,0x32,0x32,0x30,0x75,0x3b,0x0a,0x2a,0x28,0x70, + 0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x32,0x38,0x36,0x30,0x30,0x31,0x63,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x32,0x31, + 0x31,0x63,0x75,0x2b,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x32,0x38,0x39,0x30,0x30,0x30,0x66, + 0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x31,0x30,0x31,0x31,0x63,0x75,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x2a,0x28, + 0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x30,0x65,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x64, + 0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x72,0x63,0x70,0x5f,0x76,0x61,0x6c,0x75,0x65,0x2e,0x79,0x3b,0x0a, + 0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x30,0x66,0x30,0x65,0x30,0x66,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b, + 0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c,0x7c,0x30,0x78,0x30,0x65,0x32,0x30,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c, + 0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x31,0x30,0x65,0x30,0x66,0x75,0x7c,0x28,0x64,0x73,0x74, + 0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x55,0x4c,0x5f,0x49,0x33,0x32,0x5f,0x49,0x4d,0x55,0x4c, + 0x7c,0x30,0x78,0x31,0x30,0x32,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x7d, 0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, - 0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, - 0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x41,0x44,0x44,0x5f,0x46,0x36,0x34,0x2b,0x28,0x28,0x64, - 0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x32,0x36,0x39,0x33,0x63,0x75,0x2b,0x28,0x28, - 0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x2b,0x28,0x28,0x73,0x72,0x63,0x26,0x33,0x29,0x3c,0x3c,0x31,0x30,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e, - 0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f, - 0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d, - 0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b, - 0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x5f,0x66, - 0x70,0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68, - 0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72, - 0x65,0x67,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64, - 0x5f,0x6c,0x6f,0x61,0x64,0x5f,0x66,0x70,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70, - 0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65, - 0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72, - 0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x5f,0x66,0x70,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72, - 0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70, - 0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70, - 0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x41,0x44,0x44,0x5f,0x46,0x36,0x34,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b, - 0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x32,0x33,0x39,0x33,0x63,0x75,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x72, - 0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x46,0x41,0x44,0x44,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46, - 0x53,0x55,0x42,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x41,0x44,0x44,0x5f,0x46,0x36,0x34,0x2b,0x28,0x28,0x64,0x73,0x74,0x26, - 0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x34,0x30,0x30,0x32,0x36,0x39,0x33,0x63,0x75,0x2b,0x28,0x28,0x64,0x73,0x74, - 0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x2b,0x28,0x28,0x73,0x72,0x63,0x26,0x33,0x29,0x3c,0x3c,0x31,0x30,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b, - 0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a, - 0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b, - 0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d, - 0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x5f,0x66,0x70,0x28,0x70, - 0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64, - 0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c, + 0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, + 0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x39,0x30,0x31,0x30,0x38,0x30,0x75,0x7c, + 0x28,0x64,0x73,0x74,0x3c,0x3c,0x39,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32, + 0x39,0x31,0x31,0x31,0x38,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x39,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x0a,0x72,0x65,0x74, + 0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e, + 0x45,0x47,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f, + 0x52,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f, + 0x58,0x4f,0x52,0x5f,0x42,0x33,0x32,0x5f,0x36,0x34,0x7c,0x30,0x78,0x39,0x30,0x31,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64, + 0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x61, + 0x73,0x5f,0x69,0x6e,0x74,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x29,0x3c,0x30,0x29,0x20,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4d,0x4f,0x56, + 0x5f,0x42,0x33,0x32,0x5f,0x58,0x4f,0x52,0x5f,0x52,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b, + 0x29,0x3d,0x53,0x5f,0x58,0x4f,0x52,0x5f,0x42,0x33,0x32,0x5f,0x36,0x34,0x7c,0x30,0x78,0x39,0x30,0x33,0x65,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31, + 0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x58, + 0x4f,0x52,0x5f,0x42,0x33,0x32,0x5f,0x36,0x34,0x7c,0x30,0x78,0x31,0x30,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73, + 0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72, + 0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52, + 0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f, + 0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a, + 0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64, + 0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20, + 0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63, + 0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x65,0x6c,0x73,0x65, + 0x20,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x66,0x69,0x78,0x65,0x64,0x5f,0x61,0x64, + 0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x2c, 0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f, - 0x61,0x64,0x5f,0x66,0x70,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72,0x65,0x66, - 0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74, - 0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63, - 0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x5f,0x66,0x70,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e, - 0x64,0x65,0x78,0x3f,0x2d,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70,0x72,0x65,0x66, - 0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29, - 0x3d,0x56,0x5f,0x41,0x44,0x44,0x5f,0x46,0x36,0x34,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d, - 0x30,0x78,0x34,0x30,0x30,0x32,0x33,0x39,0x33,0x63,0x75,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75, - 0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55, - 0x42,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41, - 0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x28,0x56,0x5f,0x58,0x4f,0x52,0x5f,0x42,0x33,0x32,0x7c,0x30,0x78,0x37,0x61,0x36,0x37,0x33, - 0x64,0x75,0x29,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x38,0x29,0x3b,0x0a, + 0x61,0x64,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72,0x65,0x66,0x65,0x74,0x63, + 0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f, + 0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61, + 0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70, + 0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76, + 0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x58,0x4f,0x52, + 0x5f,0x42,0x33,0x32,0x5f,0x36,0x34,0x7c,0x30,0x78,0x39,0x30,0x30,0x65,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c, + 0x3c,0x31,0x37,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c, + 0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x20,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c, + 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f, + 0x4c,0x53,0x48,0x52,0x7c,0x30,0x78,0x61,0x30,0x31,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29, + 0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x38,0x66,0x31,0x30,0x63,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x2a, + 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x4c,0x7c,0x30,0x78,0x61,0x32,0x30,0x66,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b, + 0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x4c,0x7c,0x30,0x78,0x61,0x30,0x31,0x30,0x31,0x30, + 0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30, + 0x38,0x66,0x31,0x30,0x63,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x39,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x52,0x7c, + 0x30,0x78,0x61,0x32,0x30,0x66,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x0a,0x7b,0x0a, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x28,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x29,0x3f,0x69,0x6e,0x73,0x74,0x2e,0x79,0x3a,0x2d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x29,0x26,0x36, + 0x33,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x52,0x7c,0x30,0x78,0x61,0x30,0x38,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c, + 0x3c,0x31,0x29,0x7c,0x28,0x73,0x68,0x69,0x66,0x74,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x4c,0x7c,0x30,0x78, + 0x61,0x32,0x38,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x28,0x36,0x34,0x2d,0x73,0x68,0x69,0x66,0x74,0x29,0x3c,0x3c,0x38,0x29, + 0x3b,0x0a,0x7d,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4f,0x52,0x7c,0x30,0x78,0x39,0x30,0x32,0x32,0x32,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c, + 0x31,0x37,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52, + 0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52, + 0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49, + 0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x61,0x30,0x30,0x34,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74, + 0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x34,0x31,0x30,0x75,0x7c,0x28,0x73,0x72, + 0x63,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x34, + 0x32,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d, + 0x30,0x78,0x62,0x65,0x61,0x30,0x30,0x31,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29, + 0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x31,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b, + 0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x39,0x30,0x30,0x31,0x32,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x09, + 0x09,0x09,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d, + 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c, + 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x44, + 0x53,0x5f,0x53,0x57,0x49,0x5a,0x5a,0x4c,0x45,0x5f,0x42,0x33,0x32,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78, + 0x33,0x63,0x30,0x30,0x30,0x30,0x33,0x63,0x75,0x2b,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x2b,0x28,0x64,0x73,0x74,0x3c,0x3c,0x32,0x35,0x29,0x3b,0x0a,0x2a,0x28, + 0x70,0x2b,0x2b,0x29,0x3d,0x44,0x53,0x5f,0x53,0x57,0x49,0x5a,0x5a,0x4c,0x45,0x5f,0x42,0x33,0x32,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x2a,0x28,0x70, + 0x2b,0x2b,0x29,0x3d,0x30,0x78,0x33,0x64,0x30,0x30,0x30,0x30,0x33,0x64,0x75,0x2b,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x2b,0x28,0x64,0x73,0x74,0x3c,0x3c,0x32, + 0x35,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x66,0x38,0x63,0x63,0x30,0x37,0x66,0x75,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70, + 0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52, + 0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x29, + 0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x41,0x44,0x44,0x5f,0x46,0x36,0x34,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29, + 0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x32,0x36,0x39,0x33,0x63,0x75,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31, + 0x29,0x2b,0x28,0x28,0x73,0x72,0x63,0x26,0x33,0x29,0x3c,0x3c,0x31,0x30,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63, + 0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63, + 0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x72, + 0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63, + 0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x5f,0x66,0x70,0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69, + 0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b, + 0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f, + 0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x5f,0x66,0x70,0x28, + 0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76, + 0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70, + 0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c, + 0x6f,0x61,0x64,0x32,0x5f,0x66,0x70,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70, + 0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76, + 0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x41,0x44,0x44, + 0x5f,0x46,0x36,0x34,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x32, + 0x33,0x39,0x33,0x63,0x75,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a, + 0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x3b,0x0a,0x69, + 0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x29,0x0a,0x7b,0x0a, + 0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x41,0x44,0x44,0x5f,0x46,0x36,0x34,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a, + 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x34,0x30,0x30,0x32,0x36,0x39,0x33,0x63,0x75,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x2b,0x28, + 0x28,0x73,0x72,0x63,0x26,0x33,0x29,0x3c,0x3c,0x31,0x30,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65, + 0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65, + 0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65, + 0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74, + 0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x5f,0x66,0x70,0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e,0x73,0x74, + 0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65, + 0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a, + 0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x5f,0x66,0x70,0x28,0x70,0x2c,0x70, + 0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72, + 0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69, + 0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64, + 0x32,0x5f,0x66,0x70,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70,0x72,0x65,0x66, + 0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72, + 0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x41,0x44,0x44,0x5f,0x46,0x36, + 0x34,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x34,0x30,0x30,0x32,0x33,0x39,0x33, + 0x63,0x75,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f, + 0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f, + 0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x2a,0x28, + 0x70,0x2b,0x2b,0x29,0x3d,0x28,0x56,0x5f,0x58,0x4f,0x52,0x5f,0x42,0x33,0x32,0x7c,0x30,0x78,0x37,0x61,0x36,0x37,0x33,0x64,0x75,0x29,0x2b,0x28,0x28,0x64,0x73,0x74, + 0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x38,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b, + 0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x3b, + 0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a, + 0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x4d,0x55,0x4c,0x5f,0x46,0x36,0x34,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b, + 0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x32,0x36,0x39,0x34,0x34,0x75,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29, + 0x2b,0x28,0x28,0x73,0x72,0x63,0x26,0x33,0x29,0x3c,0x3c,0x31,0x30,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f, + 0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f, + 0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x72,0x65, + 0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72, + 0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x5f,0x66,0x70,0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e, + 0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f, + 0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73, + 0x69,0x7a,0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x5f,0x66,0x70,0x28,0x70, + 0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67, + 0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72, + 0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f, + 0x61,0x64,0x32,0x5f,0x66,0x70,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70,0x72, + 0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67, + 0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49, + 0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x32,0x31,0x33,0x30,0x75,0x2b,0x28,0x28,0x64,0x73, + 0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x31,0x65,0x33, + 0x30,0x75,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f, + 0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f, + 0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b, + 0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x32,0x31,0x32,0x38,0x75,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73, + 0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x31,0x65,0x32,0x38,0x75,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31, + 0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41, + 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41, + 0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20, + 0x73,0x68,0x69,0x66,0x74,0x3d,0x28,0x6d,0x6f,0x64,0x3e,0x3e,0x34,0x29,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x4a,0x55,0x4d,0x50,0x5f,0x4f,0x46,0x46,0x53, + 0x45,0x54,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x69,0x6d,0x6d,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x7c,0x28,0x31,0x75,0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x29,0x3b, + 0x0a,0x69,0x6d,0x6d,0x20,0x26,0x3d,0x20,0x7e,0x28,0x31,0x75,0x3c,0x3c,0x28,0x73,0x68,0x69,0x66,0x74,0x2d,0x31,0x29,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29, + 0x3d,0x30,0x78,0x38,0x30,0x31,0x30,0x66,0x66,0x31,0x30,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a, + 0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6d,0x6d,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32,0x31,0x31,0x30,0x30,0x31,0x31,0x75,0x7c,0x28, + 0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x28,0x28,0x61,0x73,0x5f,0x69,0x6e,0x74,0x28,0x69,0x6d,0x6d,0x29, + 0x3c,0x30,0x29,0x3f,0x30,0x78,0x63,0x31,0x3a,0x30,0x78,0x38,0x30,0x29,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x63, + 0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x4d,0x61,0x73,0x6b,0x52,0x65,0x67,0x3d,0x37,0x30,0x2b,0x28,0x6d,0x6f,0x64,0x3e,0x3e,0x34,0x29,0x3b,0x0a,0x2a,0x28,0x70, + 0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x41,0x4e,0x44,0x7c,0x30,0x78,0x30,0x65,0x30,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x63,0x6f, + 0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x4d,0x61,0x73,0x6b,0x52,0x65,0x67,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x64,0x65, + 0x6c,0x74,0x61,0x3d,0x28,0x28,0x6c,0x61,0x73,0x74,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x2d,0x70,0x29,0x2d,0x31,0x29,0x3b,0x0a, + 0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x66,0x38,0x34,0x30,0x30,0x30,0x30,0x75,0x7c,0x28,0x64,0x65,0x6c,0x74,0x61,0x26,0x30,0x78,0x46,0x46,0x46,0x46, + 0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d, + 0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x36,0x33,0x3b,0x0a,0x69,0x66,0x28,0x73,0x68,0x69,0x66,0x74,0x3d,0x3d,0x36,0x33,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b, + 0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x4c,0x7c,0x30,0x78,0x30,0x65,0x38,0x31,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x0a,0x2a, + 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x52,0x7c,0x30,0x78,0x30,0x66,0x39,0x66,0x31,0x31,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b, + 0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4f,0x52,0x7c,0x30,0x78,0x30,0x65,0x30,0x66,0x30,0x65,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a, + 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x41,0x4e,0x44,0x7c,0x30,0x78,0x30,0x65,0x38,0x33,0x30,0x65,0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x0a,0x7d,0x0a,0x65,0x6c, + 0x73,0x65,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x42,0x46,0x45,0x7c,0x30,0x78,0x38,0x65,0x66,0x66,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63, + 0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x73,0x68,0x69,0x66,0x74,0x7c,0x28,0x32,0x3c,0x3c,0x31,0x36,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x69, + 0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x38, + 0x65,0x30,0x62,0x30,0x65,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x39,0x30,0x34,0x32,0x39,0x65,0x30,0x65,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b, + 0x2b,0x29,0x3d,0x30,0x78,0x62,0x39,0x63,0x32,0x30,0x38,0x38,0x31,0x75,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62, + 0x65,0x38,0x65,0x30,0x38,0x30,0x65,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x66,0x34,0x32,0x39,0x65,0x30,0x65,0x75,0x3b,0x0a,0x2a,0x28, + 0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x39,0x34,0x32,0x30,0x38,0x38,0x31,0x75,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, + 0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e, + 0x44,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45, + 0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6d,0x61,0x73,0x6b,0x3d,0x28,0x28,0x6d,0x6f,0x64,0x3e,0x3e,0x34,0x29,0x3c,0x31,0x34, + 0x29,0x3f,0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65, + 0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x29,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70, + 0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63, + 0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x64,0x73,0x74,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x6d,0x61,0x73,0x6b,0x2c,0x62,0x61, + 0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3d,0x34,0x38, + 0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x37,0x65,0x30,0x30,0x30,0x32,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x76, + 0x67,0x70,0x72,0x5f,0x69,0x64,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x37,0x65,0x30,0x32,0x30,0x32,0x31,0x31,0x75, + 0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x0a,0x23,0x69,0x66,0x20,0x47,0x43, + 0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x34,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20, + 0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x66,0x38,0x63,0x33,0x66,0x37,0x30,0x75,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66, + 0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x63,0x37,0x34,0x38,0x30,0x30,0x30,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30, + 0x30,0x30,0x30,0x30,0x31,0x63,0x75,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b, + 0x2b,0x29,0x3d,0x30,0x78,0x33,0x32,0x33,0x38,0x30,0x35,0x31,0x63,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x33,0x38,0x33,0x61,0x30,0x36,0x38, + 0x30,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x63,0x37,0x34,0x30,0x30,0x30,0x30,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30, + 0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x63,0x75,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a, 0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x56,0x5f,0x4d,0x55,0x4c,0x5f,0x46,0x36,0x34,0x2b,0x28,0x28,0x64,0x73, - 0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x32,0x36,0x39,0x34,0x34,0x75,0x2b,0x28,0x28,0x64, - 0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x2b,0x28,0x28,0x73,0x72,0x63,0x26,0x33,0x29,0x3c,0x3c,0x31,0x30,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20, - 0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52, - 0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x29, - 0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3e,0x3d,0x30,0x29,0x0a,0x7b,0x0a, - 0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x5f,0x66,0x70, - 0x28,0x70,0x2c,0x73,0x72,0x63,0x2c,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2c,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70, - 0x61,0x64,0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65, - 0x67,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f, - 0x6c,0x6f,0x61,0x64,0x5f,0x66,0x70,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x70,0x72, - 0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x70,0x72,0x65,0x66, - 0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3c,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72,0x61, - 0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x6c,0x6f,0x61,0x64,0x32,0x5f,0x66,0x70,0x28,0x70,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f, - 0x69,0x6e,0x64,0x65,0x78,0x3f,0x2d,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3a,0x32,0x38,0x2c,0x70,0x72, - 0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x30,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20, - 0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x32, - 0x31,0x33,0x30,0x75,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d, - 0x30,0x78,0x62,0x65,0x62,0x63,0x31,0x65,0x33,0x30,0x75,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66, - 0x0a,0x7d,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, - 0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d, - 0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x32,0x31,0x32,0x38,0x75,0x2b,0x28,0x28,0x64,0x73,0x74,0x26,0x33,0x29,0x3c, - 0x3c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x62,0x63,0x31,0x65,0x32,0x38,0x75,0x2b,0x28,0x28, - 0x64,0x73,0x74,0x26,0x33,0x29,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f, - 0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28, - 0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x29,0x0a,0x7b,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x28,0x6d,0x6f,0x64,0x3e,0x3e,0x34,0x29,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x4a,0x55,0x4d,0x50,0x5f,0x4f,0x46,0x46,0x53,0x45,0x54,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x69,0x6d,0x6d,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x7c,0x28,0x31,0x75, - 0x3c,0x3c,0x73,0x68,0x69,0x66,0x74,0x29,0x3b,0x0a,0x69,0x6d,0x6d,0x20,0x26,0x3d,0x20,0x7e,0x28,0x31,0x75,0x3c,0x3c,0x28,0x73,0x68,0x69,0x66,0x74,0x2d,0x31,0x29, - 0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x30,0x31,0x30,0x66,0x66,0x31,0x30,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64, - 0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x69,0x6d,0x6d,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x32, - 0x31,0x31,0x30,0x30,0x31,0x31,0x75,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x64,0x73,0x74,0x3c,0x3c,0x31,0x37,0x29,0x7c,0x28,0x28,0x28,0x61,0x73, - 0x5f,0x69,0x6e,0x74,0x28,0x69,0x6d,0x6d,0x29,0x3c,0x30,0x29,0x3f,0x30,0x78,0x63,0x31,0x3a,0x30,0x78,0x38,0x30,0x29,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x4d,0x61,0x73,0x6b,0x52,0x65,0x67,0x3d,0x37,0x30,0x2b,0x28,0x6d,0x6f,0x64, - 0x3e,0x3e,0x34,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x41,0x4e,0x44,0x7c,0x30,0x78,0x30,0x65,0x30,0x30,0x31,0x30,0x75,0x7c,0x28,0x64,0x73, - 0x74,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x63,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x4d,0x61,0x73,0x6b,0x52,0x65,0x67,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x64,0x65,0x6c,0x74,0x61,0x3d,0x28,0x28,0x6c,0x61,0x73,0x74,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65, - 0x74,0x2d,0x70,0x29,0x2d,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x66,0x38,0x34,0x30,0x30,0x30,0x30,0x75,0x7c,0x28,0x64,0x65,0x6c, - 0x74,0x61,0x26,0x30,0x78,0x46,0x46,0x46,0x46,0x29,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d, - 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c, - 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69, - 0x6e,0x74,0x20,0x73,0x68,0x69,0x66,0x74,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x36,0x33,0x3b,0x0a,0x69,0x66,0x28,0x73,0x68,0x69,0x66,0x74,0x3d,0x3d,0x36,0x33, - 0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x4c,0x7c,0x30,0x78,0x30,0x65,0x38,0x31,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63, - 0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4c,0x53,0x48,0x52,0x7c,0x30,0x78,0x30,0x66,0x39,0x66,0x31,0x31,0x75,0x7c, - 0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x4f,0x52,0x7c,0x30,0x78,0x30,0x65,0x30,0x66,0x30,0x65, - 0x75,0x3b,0x09,0x09,0x09,0x09,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x41,0x4e,0x44,0x7c,0x30,0x78,0x30,0x65,0x38,0x33,0x30,0x65,0x75,0x3b,0x09, - 0x09,0x09,0x09,0x09,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x42,0x46,0x45,0x7c,0x30,0x78,0x38,0x65,0x66, - 0x66,0x31,0x30,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x73,0x68,0x69,0x66,0x74,0x7c,0x28,0x32,0x3c,0x3c, - 0x31,0x36,0x29,0x3b,0x0a,0x7d,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70, - 0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x38,0x65,0x30,0x62,0x30,0x65,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x39,0x30,0x34,0x32,0x39,0x65, - 0x30,0x65,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x39,0x63,0x32,0x30,0x38,0x38,0x31,0x75,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x2a, - 0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x65,0x38,0x65,0x30,0x38,0x30,0x65,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x38,0x66,0x34,0x32, - 0x39,0x65,0x30,0x65,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x39,0x34,0x32,0x30,0x38,0x38,0x31,0x75,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69, - 0x66,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, - 0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, - 0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6d,0x61,0x73,0x6b,0x3d,0x28,0x28,0x6d, - 0x6f,0x64,0x3e,0x3e,0x34,0x29,0x3c,0x31,0x34,0x29,0x3f,0x28,0x28,0x6d,0x6f,0x64,0x20,0x25,0x20,0x34,0x29,0x3f,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64, - 0x4c,0x31,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x32,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x29, - 0x3a,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x5f,0x72,0x65,0x67,0x3b,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x73,0x63,0x72, - 0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x5f,0x63,0x61,0x6c,0x63,0x5f,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x28,0x70,0x2c,0x64,0x73,0x74,0x2c,0x69,0x6e,0x73,0x74,0x2e, - 0x79,0x2c,0x6d,0x61,0x73,0x6b,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x76, - 0x67,0x70,0x72,0x5f,0x69,0x64,0x3d,0x34,0x38,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x37,0x65,0x30,0x30,0x30,0x32,0x31,0x30,0x75,0x7c,0x28,0x73, - 0x72,0x63,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3c,0x3c,0x31,0x37,0x29,0x3b,0x09,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78, - 0x37,0x65,0x30,0x32,0x30,0x32,0x31,0x31,0x75,0x7c,0x28,0x73,0x72,0x63,0x3c,0x3c,0x31,0x29,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3c,0x3c,0x31,0x37,0x29, - 0x3b,0x09,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e,0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x34,0x0a,0x23,0x69,0x66,0x20,0x47,0x43,0x4e, - 0x5f,0x56,0x45,0x52,0x53,0x49,0x4f,0x4e,0x20,0x3e,0x3d,0x20,0x31,0x35,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x62,0x66,0x38,0x63,0x33,0x66,0x37,0x30, - 0x75,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x63,0x37,0x34,0x38,0x30,0x30,0x30,0x75,0x3b,0x0a,0x2a,0x28, - 0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x63,0x75,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x23, - 0x65,0x6c,0x73,0x65,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x33,0x32,0x33,0x38,0x30,0x35,0x31,0x63,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d, - 0x30,0x78,0x33,0x38,0x33,0x61,0x30,0x36,0x38,0x30,0x75,0x3b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x64,0x63,0x37,0x34,0x30,0x30,0x30,0x30,0x75,0x3b, - 0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x30,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x63,0x75,0x7c,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3c,0x3c,0x38,0x29, - 0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e, - 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x69,0x6e, - 0x74,0x20,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69, - 0x6e,0x74,0x32,0x2a,0x20,0x70,0x30,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61, - 0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, - 0x20,0x73,0x72,0x63,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x64,0x73,0x74,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, - 0x32,0x20,0x69,0x6e,0x73,0x74,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41, - 0x74,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c, - 0x65,0x41,0x74,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76, - 0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54, - 0x61,0x72,0x67,0x65,0x74,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x0a,0x7b,0x0a,0x75, - 0x69,0x6e,0x74,0x32,0x20,0x74,0x3b,0x0a,0x74,0x2e,0x78,0x3d,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x3f,0x28,0x28,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79, - 0x26,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x29,0x3e,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41, - 0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x32,0x29,0x3f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62, - 0x6c,0x65,0x41,0x74,0x3a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x29,0x3a,0x6d,0x61,0x78,0x28, - 0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62, - 0x6c,0x65,0x41,0x74,0x29,0x3b,0x0a,0x74,0x2e,0x79,0x3d,0x69,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x74,0x31,0x3d,0x74,0x2e,0x78,0x3b,0x0a, - 0x69,0x66,0x28,0x28,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3c,0x3d,0x74,0x31,0x29,0x26,0x26,0x28,0x74,0x31,0x3c,0x3d, - 0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x29,0x0a,0x7b,0x0a,0x74,0x2e,0x78,0x3d,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x2b,0x31,0x3b, - 0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69,0x66,0x28,0x28,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3e,0x6c,0x61,0x73, - 0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x26,0x26,0x28,0x74,0x31,0x3c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x29,0x29, - 0x0a,0x7b,0x0a,0x74,0x2e,0x78,0x3d,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3b,0x0a,0x7d,0x0a,0x70,0x30,0x5b,0x70,0x72, - 0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x5d,0x3d,0x74,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x72,0x65, - 0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2b,0x31,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75, - 0x69,0x6e,0x74,0x2a,0x20,0x67,0x65,0x6e,0x65,0x72,0x61,0x74,0x65,0x5f,0x6a,0x69,0x74,0x5f,0x63,0x6f,0x64,0x65,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x75,0x69,0x6e,0x74,0x32,0x2a,0x20,0x65,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x32,0x2a,0x20,0x70,0x30,0x2c,0x5f,0x5f,0x67,0x6c, - 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a, - 0x69,0x6e,0x74,0x20,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61, - 0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x73,0x73, - 0x3d,0x30,0x3b,0x20,0x70,0x61,0x73,0x73,0x3c,0x32,0x3b,0x20,0x2b,0x2b,0x70,0x61,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, - 0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x69,0x6e,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65, - 0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x38,0x5d,0x3d,0x7b,0x20,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31, - 0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x20,0x7d,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65, - 0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73, - 0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x30,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x75,0x69,0x6e,0x74,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61, - 0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48, - 0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68, - 0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x2d,0x31,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x3d,0x2d,0x31,0x3b,0x0a,0x23,0x69, - 0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x69,0x6e,0x74, - 0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67, - 0x65,0x74,0x5b,0x38,0x5d,0x3d,0x7b,0x20,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x20, - 0x7d,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67, - 0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65, - 0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x30,0x3b,0x0a,0x23,0x65,0x6e, - 0x64,0x69,0x66,0x0a,0x75,0x69,0x6e,0x74,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72, - 0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67, - 0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x30,0x3b,0x0a,0x70,0x72,0x65,0x66, - 0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x30,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c, - 0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f, - 0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x30,0x29,0x0a,0x65,0x5b, - 0x69,0x5d,0x2e,0x78,0x20,0x26,0x3d,0x20,0x7e,0x28,0x30,0x78,0x66,0x38,0x75,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x69,0x6e,0x73,0x74,0x3d, - 0x65,0x5b,0x69,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x30,0x78,0x46,0x46,0x3b,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x64,0x73,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x38,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e, - 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x31,0x36,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73, - 0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6d,0x6f,0x64,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x32,0x34,0x3b,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d, - 0x31,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x28,0x30,0x78,0x32,0x30,0x3c,0x3c,0x38,0x29,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x73,0x74, - 0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x69,0x3b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47, - 0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f, - 0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61, - 0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x5b,0x6a,0x5d,0x3d,0x72,0x65,0x67,0x69,0x73, - 0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x6a,0x5d,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65, - 0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x72,0x65,0x67,0x69,0x73, - 0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67, - 0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e, - 0x67,0x65,0x64,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41, - 0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c, - 0x65,0x41,0x74,0x3b,0x0a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72, - 0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62, - 0x6c,0x65,0x41,0x74,0x3b,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x28,0x30,0x78,0x34,0x30,0x3c,0x3c,0x38,0x29,0x29,0x0a,0x6c,0x61,0x73, - 0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x3d,0x69,0x3b,0x0a,0x7d,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d, - 0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61, - 0x62,0x6c,0x65,0x41,0x74,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x73,0x72,0x63,0x5d,0x2b,0x31, - 0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x64,0x73,0x74,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x72,0x65,0x67,0x69, - 0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x2b,0x31,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65, - 0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x28,0x31,0x75,0x3c,0x3c,0x73,0x72,0x63,0x29,0x29,0x3f,0x28,0x28,0x28,0x72,0x65,0x67,0x69,0x73,0x74, - 0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3e,0x3e,0x28,0x73,0x72,0x63,0x2a,0x38,0x29,0x29,0x26,0x30,0x78,0x46,0x46,0x29,0x2b,0x31,0x29, - 0x3a,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x64,0x73,0x74,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x28,0x72, - 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x28,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x29,0x29,0x3f,0x28,0x28,0x28, - 0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3e,0x3e,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x26,0x30,0x78, - 0x46,0x46,0x29,0x2b,0x31,0x29,0x3a,0x30,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50, - 0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68, - 0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74, - 0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30, - 0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64, - 0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c, - 0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d, - 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c, - 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61, - 0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72, - 0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64, - 0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29, - 0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d, - 0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66, - 0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61, - 0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x64, - 0x73,0x74,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61, - 0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c, - 0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e, - 0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, - 0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52, - 0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65, - 0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e, - 0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75, - 0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38, - 0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b, - 0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52, - 0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61, - 0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43, - 0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78, - 0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73, - 0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64, - 0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f, - 0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c, - 0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x64,0x73,0x74,0x2c,0x69,0x6e, - 0x73,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69, - 0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41, - 0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a, - 0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x49,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49, + 0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x69,0x6e,0x74,0x20,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65, + 0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x32,0x2a,0x20,0x70,0x30,0x2c,0x0a, + 0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x0a,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x69,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x2c,0x0a,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x64,0x73,0x74,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x69,0x6e,0x73,0x74,0x2c,0x0a,0x63, + 0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x75,0x69,0x6e,0x74,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x0a,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74, + 0x2c,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x0a,0x63,0x6f, + 0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x74,0x3b,0x0a,0x74, + 0x2e,0x78,0x3d,0x28,0x73,0x72,0x63,0x3d,0x3d,0x64,0x73,0x74,0x29,0x3f,0x28,0x28,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x53,0x63,0x72,0x61,0x74,0x63,0x68,0x70, + 0x61,0x64,0x4c,0x33,0x4d,0x61,0x73,0x6b,0x29,0x3e,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x53,0x43,0x52,0x41,0x54,0x43,0x48,0x50,0x41,0x44,0x5f,0x4c,0x32, + 0x29,0x3f,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3a,0x73,0x63,0x72,0x61, + 0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x29,0x3a,0x6d,0x61,0x78,0x28,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61, + 0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x29,0x3b,0x0a,0x74,0x2e, + 0x79,0x3d,0x69,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x74,0x31,0x3d,0x74,0x2e,0x78,0x3b,0x0a,0x69,0x66,0x28,0x28,0x6c,0x61,0x73,0x74,0x42, + 0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3c,0x3d,0x74,0x31,0x29,0x26,0x26,0x28,0x74,0x31,0x3c,0x3d,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63, + 0x68,0x29,0x29,0x0a,0x7b,0x0a,0x74,0x2e,0x78,0x3d,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x2b,0x31,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x20,0x69, + 0x66,0x28,0x28,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3e,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x26, + 0x26,0x28,0x74,0x31,0x3c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x29,0x29,0x0a,0x7b,0x0a,0x74,0x2e,0x78,0x3d,0x6c,0x61, + 0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3b,0x0a,0x7d,0x0a,0x70,0x30,0x5b,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61, + 0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x5d,0x3d,0x74,0x3b,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74, + 0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2b,0x31,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x67,0x65,0x6e,0x65, + 0x72,0x61,0x74,0x65,0x5f,0x6a,0x69,0x74,0x5f,0x63,0x6f,0x64,0x65,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x32,0x2a,0x20,0x65,0x2c, + 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x32,0x2a,0x20,0x70,0x30,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74, + 0x2a,0x20,0x70,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x0a,0x7b,0x0a,0x69,0x6e,0x74,0x20,0x70,0x72,0x65,0x66,0x65, + 0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31, + 0x0a,0x66,0x6f,0x72,0x20,0x28,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x20,0x69,0x6e,0x74,0x20,0x70,0x61,0x73,0x73,0x3d,0x30,0x3b,0x20,0x70,0x61,0x73,0x73,0x3c, + 0x32,0x3b,0x20,0x2b,0x2b,0x70,0x61,0x73,0x73,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d, + 0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x69,0x6e,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e, + 0x67,0x65,0x64,0x5b,0x38,0x5d,0x3d,0x7b,0x20,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31, + 0x20,0x7d,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x75,0x6c,0x6f,0x6e,0x67,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e, + 0x67,0x65,0x64,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x30, + 0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x75,0x69,0x6e,0x74,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c, + 0x65,0x41,0x74,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61, + 0x62,0x6c,0x65,0x41,0x74,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x2d,0x31, + 0x3b,0x0a,0x69,0x6e,0x74,0x20,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x3d,0x2d,0x31,0x3b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x69,0x6e,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72, + 0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x5b,0x38,0x5d,0x3d,0x7b,0x20,0x2d, + 0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x2c,0x2d,0x31,0x20,0x7d,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a, + 0x75,0x6c,0x6f,0x6e,0x67,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63, + 0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67, + 0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x30,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x75,0x69,0x6e,0x74,0x20, + 0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65, + 0x74,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c, + 0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x30,0x3b,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61, + 0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x30,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28, + 0x75,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45, + 0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x30,0x29,0x0a,0x65,0x5b,0x69,0x5d,0x2e,0x78,0x20,0x26,0x3d,0x20,0x7e, + 0x28,0x30,0x78,0x66,0x38,0x75,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x69,0x6e,0x73,0x74,0x3d,0x65,0x5b,0x69,0x5d,0x3b,0x0a,0x75,0x69,0x6e, + 0x74,0x20,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x30,0x78,0x46,0x46,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, + 0x20,0x64,0x73,0x74,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x38,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73, + 0x72,0x63,0x3d,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x31,0x36,0x29,0x26,0x37,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x6d,0x6f, + 0x64,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x3e,0x3e,0x32,0x34,0x3b,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69, + 0x6e,0x73,0x74,0x2e,0x78,0x26,0x28,0x30,0x78,0x32,0x30,0x3c,0x3c,0x38,0x29,0x29,0x0a,0x7b,0x0a,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72, + 0x67,0x65,0x74,0x3d,0x69,0x3b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20, + 0x3e,0x20,0x32,0x35,0x36,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d, + 0x30,0x3b,0x20,0x6a,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64, + 0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x5b,0x6a,0x5d,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68, + 0x61,0x6e,0x67,0x65,0x64,0x5b,0x6a,0x5d,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e, + 0x67,0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68, + 0x61,0x6e,0x67,0x65,0x64,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63, + 0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3b,0x0a,0x23,0x65,0x6e,0x64, + 0x69,0x66,0x0a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61, + 0x72,0x67,0x65,0x74,0x3d,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3b,0x0a,0x73,0x63,0x72,0x61, + 0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65, + 0x74,0x3d,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3b,0x0a,0x7d,0x0a,0x69, + 0x66,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x28,0x30,0x78,0x34,0x30,0x3c,0x3c,0x38,0x29,0x29,0x0a,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x3d,0x69, + 0x3b,0x0a,0x7d,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32, + 0x35,0x36,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x72,0x65,0x67, + 0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x73,0x72,0x63,0x5d,0x2b,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75, + 0x69,0x6e,0x74,0x20,0x64,0x73,0x74,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43, + 0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x2b,0x31,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20, + 0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67, + 0x65,0x64,0x26,0x28,0x31,0x75,0x3c,0x3c,0x73,0x72,0x63,0x29,0x29,0x3f,0x28,0x28,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61, + 0x6e,0x67,0x65,0x64,0x3e,0x3e,0x28,0x73,0x72,0x63,0x2a,0x38,0x29,0x29,0x26,0x30,0x78,0x46,0x46,0x29,0x2b,0x31,0x29,0x3a,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x75,0x69,0x6e,0x74,0x20,0x64,0x73,0x74,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61, + 0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x28,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x29,0x29,0x3f,0x28,0x28,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c, + 0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3e,0x3e,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x26,0x30,0x78,0x46,0x46,0x29,0x2b,0x31,0x29,0x3a,0x30,0x3b, + 0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, + 0x41,0x44,0x44,0x5f,0x52,0x53,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49, 0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74, 0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28, 0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64, 0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72, 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64, 0x69,0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, - 0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, - 0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d, - 0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b, - 0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65, - 0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c, - 0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29, - 0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23, - 0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f, - 0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65, - 0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x64,0x73,0x74,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72, - 0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65, - 0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61,0x73, - 0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69, - 0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c, - 0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48, - 0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e, - 0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b, - 0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69, - 0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38, - 0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73, - 0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x63, - 0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53, - 0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73, - 0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d, - 0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28, - 0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a, - 0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e, - 0x64,0x69,0x66,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f, - 0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63, - 0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x64,0x73,0x74,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72,0x63,0x41, - 0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74, - 0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42, - 0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75, - 0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f, - 0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48, + 0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x52,0x53,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x49,0x41,0x44,0x44,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41, + 0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64, + 0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67, + 0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c, + 0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29, + 0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a, + 0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61, + 0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66, + 0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x64,0x73,0x74,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73, + 0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c, + 0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61, + 0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74, + 0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x41,0x44, + 0x44,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42, 0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e, 0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b, 0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69, @@ -3812,292 +3744,358 @@ static const char randomx_cl[131026] = { 0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73, 0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x63, 0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, - 0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d, - 0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b, - 0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65, - 0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c, - 0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29, - 0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23, - 0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f, - 0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65, - 0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x64,0x73,0x74,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72, - 0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65, - 0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61,0x73, - 0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69, - 0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55, - 0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55, - 0x4c,0x5f,0x52,0x43,0x50,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2d,0x31,0x29,0x29,0x0a,0x7b, + 0x49,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49, + 0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a, + 0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d, + 0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72, + 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73, + 0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65, + 0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69, + 0x66,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e, + 0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f, + 0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x64,0x73,0x74,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61, + 0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73, + 0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61, + 0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b, + 0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x55,0x42,0x5f,0x4d,0x3b,0x0a, + 0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b, 0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a, 0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73, 0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c, 0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28, 0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61, - 0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x74, - 0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55, - 0x4c,0x5f,0x52,0x43,0x50,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e, - 0x45,0x47,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20, - 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73, - 0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67, - 0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68, - 0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e, - 0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e, - 0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d, - 0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x2b,0x52,0x41,0x4e, - 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50, - 0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68, - 0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74, - 0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30, - 0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64, - 0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c, - 0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68, - 0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30, - 0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x64,0x73,0x74,0x2c,0x69, - 0x6e,0x73,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61, - 0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65, - 0x41,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b, - 0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45, - 0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, - 0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23, - 0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65, - 0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a, - 0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73, - 0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75, - 0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43, - 0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65, - 0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b, - 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52, - 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64, - 0x73,0x74,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e, - 0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b, - 0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x73,0x72,0x63,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c, - 0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72, - 0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c, - 0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c, - 0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26, - 0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x73,0x72,0x63,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c, - 0x3c,0x28,0x73,0x72,0x63,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x28, - 0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x29,0x7c,0x28,0x31,0x75,0x3c,0x3c,0x73,0x72,0x63,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x63,0x6f,0x6e, - 0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53, - 0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53, - 0x57,0x41,0x50,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e, - 0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53, - 0x57,0x41,0x50,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70, - 0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70, - 0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f, - 0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63, - 0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x30,0x78,0x46,0x46,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c, + 0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e, + 0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f, + 0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d, + 0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32, + 0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23, + 0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74, + 0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29, + 0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65, + 0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28, + 0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74, + 0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f, + 0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x64,0x73,0x74,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c, 0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63, 0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61, 0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70, - 0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70, - 0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x74, - 0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55, - 0x42,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42, - 0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f, - 0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65, - 0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x30,0x78,0x46,0x46,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73, - 0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c, - 0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61, - 0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74, - 0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55, - 0x42,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41, - 0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x74,0x69, - 0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41, - 0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f, - 0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x61,0x73, - 0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70,0x72, - 0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75, - 0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x30,0x78,0x46,0x46,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41, + 0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70, + 0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66, + 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69, + 0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65, + 0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43, + 0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f, + 0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61, + 0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a, + 0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b,0x0a, + 0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x29,0x0a, + 0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36, + 0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c, + 0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72, + 0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c, + 0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57, + 0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28,0x70,0x61, + 0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70, + 0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f, + 0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x64,0x73,0x74,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41, 0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70, 0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67, 0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f, - 0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f, - 0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x74,0x69, - 0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52, - 0x54,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41, - 0x4e,0x43,0x48,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x20,0x75,0x69, - 0x6e,0x74,0x20,0x64,0x73,0x74,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x32,0x3d,0x64,0x73,0x74,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41, - 0x74,0x3b,0x0a,0x65,0x5b,0x64,0x73,0x74,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x32,0x5d,0x2e,0x78,0x7c,0x3d,0x28,0x30,0x78,0x32,0x30,0x3c,0x3c, - 0x38,0x29,0x3b,0x0a,0x65,0x5b,0x69,0x5d,0x2e,0x78,0x7c,0x3d,0x28,0x30,0x78,0x34,0x30,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e, - 0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x72,0x65,0x67, - 0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x6a,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x75,0x69,0x6e, - 0x74,0x20,0x74,0x3d,0x69,0x7c,0x28,0x69,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x74,0x3d,0x74,0x7c,0x28,0x74,0x3c,0x3c,0x31,0x36,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73, - 0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x74,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68, - 0x61,0x6e,0x67,0x65,0x64,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x28,0x72,0x65,0x67,0x69,0x73, - 0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3c,0x3c,0x33,0x32,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73, - 0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x30,0x78,0x46,0x46,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x23,0x69, - 0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67, - 0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72, - 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74, - 0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c, - 0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68, - 0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20, - 0x72,0x65,0x67,0x3d,0x30,0x3b,0x20,0x72,0x65,0x67,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x72,0x65,0x67,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f, - 0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74, - 0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65, - 0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x5b,0x72,0x65,0x67,0x5d,0x2b, - 0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x72,0x65,0x67,0x69,0x73,0x74, - 0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x72,0x65,0x67,0x5d,0x2b,0x31,0x3b,0x0a,0x69,0x66,0x28,0x61,0x76,0x61,0x69,0x6c,0x61,0x62, - 0x6c,0x65,0x41,0x74,0x21,0x3d,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x29,0x0a,0x7b, - 0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x72,0x65,0x67,0x5d,0x3d,0x69,0x3b,0x0a,0x7d,0x0a,0x23, - 0x65,0x6c,0x73,0x65,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63, - 0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x41,0x74,0x42,0x72,0x61, - 0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x26,0x28,0x31,0x75,0x3c,0x3c,0x72,0x65,0x67,0x29,0x29,0x3f,0x28,0x28,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72, - 0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3e,0x3e,0x28,0x72,0x65,0x67,0x2a, - 0x38,0x29,0x29,0x26,0x30,0x78,0x46,0x46,0x29,0x2b,0x31,0x29,0x3a,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x61,0x76,0x61,0x69,0x6c, - 0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x28,0x31,0x75,0x3c,0x3c, - 0x72,0x65,0x67,0x29,0x29,0x3f,0x28,0x28,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3e,0x3e,0x28,0x72, - 0x65,0x67,0x2a,0x38,0x29,0x29,0x26,0x30,0x78,0x46,0x46,0x29,0x2b,0x31,0x29,0x3a,0x30,0x3b,0x0a,0x69,0x66,0x28,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41, - 0x74,0x21,0x3d,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x29,0x0a,0x7b,0x0a,0x72,0x65, + 0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63, + 0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66, + 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69, + 0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65, 0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43, - 0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x72,0x65,0x67,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f, - 0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x72,0x65,0x67,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61, - 0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x72,0x65,0x67,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x73,0x63,0x72, - 0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x21,0x3d, - 0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x29,0x0a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61, - 0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x69,0x2b,0x31,0x3b,0x0a,0x69,0x66,0x28,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48, - 0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x21,0x3d,0x73,0x63,0x72,0x61, - 0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x29,0x0a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61, - 0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x69,0x2b,0x31,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65, - 0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48, - 0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44, - 0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f, - 0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x65,0x5b,0x69, - 0x5d,0x2e,0x78,0x3d,0x69,0x6e,0x73,0x74,0x2e,0x78,0x7c,0x28,0x30,0x78,0x38,0x30,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x73, - 0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x69,0x2b,0x31,0x3b,0x0a,0x69,0x66,0x28,0x28,0x6d,0x6f, - 0x64,0x3e,0x3e,0x34,0x29,0x3e,0x3d,0x31,0x34,0x29,0x0a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62, - 0x6c,0x65,0x41,0x74,0x3d,0x69,0x2b,0x31,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d, - 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x20,0x70,0x72, - 0x65,0x76,0x3d,0x70,0x30,0x5b,0x30,0x5d,0x2e,0x78,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72, - 0x20,0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x31,0x3b,0x20,0x6a,0x3c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74, - 0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x63,0x75,0x72,0x3d,0x70,0x30,0x5b,0x6a,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x63,0x75,0x72, - 0x2e,0x78,0x3e,0x3d,0x70,0x72,0x65,0x76,0x29,0x0a,0x7b,0x0a,0x70,0x72,0x65,0x76,0x3d,0x63,0x75,0x72,0x2e,0x78,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65, - 0x3b,0x0a,0x7d,0x0a,0x69,0x6e,0x74,0x20,0x6a,0x31,0x3d,0x6a,0x2d,0x31,0x3b,0x0a,0x64,0x6f,0x20,0x7b,0x0a,0x70,0x30,0x5b,0x6a,0x31,0x2b,0x31,0x5d,0x3d,0x70,0x30, - 0x5b,0x6a,0x31,0x5d,0x3b,0x0a,0x2d,0x2d,0x6a,0x31,0x3b,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x28,0x6a,0x31,0x3e,0x3d,0x30,0x29,0x26,0x26,0x28,0x70, - 0x30,0x5b,0x6a,0x31,0x5d,0x2e,0x78,0x3e,0x3d,0x63,0x75,0x72,0x2e,0x78,0x29,0x29,0x3b,0x0a,0x70,0x30,0x5b,0x6a,0x31,0x2b,0x31,0x5d,0x3d,0x63,0x75,0x72,0x3b,0x0a, - 0x7d,0x0a,0x70,0x30,0x5b,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x5d,0x2e,0x78,0x3d,0x52,0x41,0x4e,0x44, - 0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x69,0x6e,0x74,0x2a,0x20, - 0x70,0x72,0x65,0x66,0x65,0x63,0x74,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x73,0x74,0x61,0x63,0x6b,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x69, - 0x6e,0x74,0x2a,0x29,0x28,0x70,0x30,0x2b,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2b,0x31,0x29,0x3b,0x0a, - 0x65,0x6e,0x75,0x6d,0x20,0x7b,0x20,0x6e,0x75,0x6d,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x3d,0x32,0x31,0x20,0x7d,0x3b,0x0a, - 0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x6e, - 0x75,0x6d,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x63,0x74,0x68, - 0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x73,0x74,0x61,0x63,0x6b,0x5b,0x69,0x5d,0x3d,0x4e,0x55,0x4d,0x5f,0x56,0x47,0x50,0x52,0x5f,0x52,0x45,0x47,0x49,0x53,0x54,0x45, - 0x52,0x53,0x2d,0x32,0x2d,0x69,0x2a,0x32,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x69,0x6e,0x74,0x2a,0x20,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68, - 0x65,0x64,0x5f,0x76,0x67,0x70,0x72,0x73,0x3d,0x70,0x72,0x65,0x66,0x65,0x63,0x74,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x73,0x74,0x61,0x63,0x6b,0x2b,0x6e,0x75, - 0x6d,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c, - 0x20,0x38,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52, - 0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x65,0x64,0x5f,0x76,0x67,0x70,0x72,0x73,0x5b,0x69, - 0x5d,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x6b,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74, - 0x61,0x3d,0x70,0x30,0x5b,0x30,0x5d,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x20, - 0x73,0x5f,0x77,0x61,0x69,0x74,0x63,0x6e,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x3d,0x36,0x33,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x6e,0x75,0x6d,0x5f,0x70,0x72,0x65,0x66, - 0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x3d,0x6e,0x75,0x6d,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63, - 0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6c,0x61,0x73,0x74,0x5f,0x62,0x72,0x61, - 0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x70,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x69,0x7a,0x65,0x5f,0x6c,0x69, - 0x6d,0x69,0x74,0x3d,0x28,0x43,0x4f,0x4d,0x50,0x49,0x4c,0x45,0x44,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x2d,0x32,0x30,0x30,0x29,0x2f, - 0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x73,0x74,0x61, - 0x72,0x74,0x5f,0x70,0x3d,0x70,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e, - 0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x3b,0x20,0x2b, - 0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x69,0x6e,0x73,0x74,0x3d,0x65,0x5b,0x69,0x5d,0x3b,0x0a,0x69,0x66,0x28, - 0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x28,0x30,0x78,0x32,0x30,0x3c,0x3c,0x38,0x29,0x29,0x0a,0x6c,0x61,0x73,0x74,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61, - 0x72,0x67,0x65,0x74,0x3d,0x70,0x3b,0x0a,0x62,0x6f,0x6f,0x6c,0x20,0x64,0x6f,0x6e,0x65,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x64,0x6f,0x20,0x7b,0x0a,0x75,0x69, - 0x6e,0x74,0x32,0x20,0x6a,0x69,0x74,0x5f,0x69,0x6e,0x73,0x74,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76, - 0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x6a,0x69,0x74,0x5f,0x76,0x6d,0x63,0x6e,0x74,0x3b,0x0a,0x69,0x66,0x28,0x21,0x64,0x6f, - 0x6e,0x65,0x26,0x26,0x28,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x2e,0x78,0x3d,0x3d,0x69,0x29,0x26,0x26,0x28,0x6e,0x75,0x6d,0x5f,0x70, - 0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x3e,0x30,0x29,0x29,0x0a,0x7b,0x0a,0x2b,0x2b, - 0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3d,0x70, - 0x72,0x65,0x66,0x65,0x63,0x74,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x73,0x74,0x61,0x63,0x6b,0x5b,0x2d,0x2d,0x6e,0x75,0x6d,0x5f,0x70,0x72,0x65,0x66,0x65,0x74, - 0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5d,0x3b,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x65,0x64,0x5f, - 0x76,0x67,0x70,0x72,0x73,0x5b,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x2e,0x79,0x5d,0x3d,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x7c,0x28, - 0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x3c,0x3c,0x31,0x36,0x29,0x3b,0x0a,0x6a,0x69,0x74,0x5f,0x69,0x6e,0x73,0x74,0x3d,0x65,0x5b,0x70,0x72,0x65, - 0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x2e,0x79,0x5d,0x3b,0x0a,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72, - 0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3b,0x0a,0x6a,0x69,0x74,0x5f,0x76,0x6d,0x63,0x6e,0x74,0x3d,0x6d,0x65,0x6d,0x5f,0x63,0x6f, - 0x75,0x6e,0x74,0x65,0x72,0x3b,0x0a,0x73,0x5f,0x77,0x61,0x69,0x74,0x63,0x6e,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x3d,0x36,0x33,0x3b,0x0a,0x2b,0x2b,0x6b,0x3b,0x0a, - 0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x3d,0x70,0x30,0x5b,0x6b,0x5d,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x63,0x6f, - 0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x65,0x64,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x64,0x61,0x74,0x61,0x3d,0x70,0x72, - 0x65,0x66,0x65,0x74,0x63,0x68,0x65,0x64,0x5f,0x76,0x67,0x70,0x72,0x73,0x5b,0x69,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x76,0x67,0x70, - 0x72,0x5f,0x69,0x64,0x3d,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x65,0x64,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x64,0x61,0x74,0x61,0x26,0x30,0x78,0x46,0x46,0x46, - 0x46,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x70,0x72,0x65,0x76,0x5f,0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x3d,0x70,0x72, - 0x65,0x66,0x65,0x74,0x63,0x68,0x65,0x64,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x64,0x61,0x74,0x61,0x3e,0x3e,0x31,0x36,0x3b,0x0a,0x69,0x66,0x28,0x76,0x67,0x70,0x72, - 0x5f,0x69,0x64,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x63,0x74,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x73,0x74,0x61,0x63,0x6b,0x5b,0x6e,0x75,0x6d,0x5f,0x70,0x72, - 0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x2b,0x2b,0x5d,0x3d,0x76,0x67,0x70,0x72,0x5f,0x69, - 0x64,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x28,0x30,0x78,0x38,0x30,0x3c,0x3c,0x38,0x29,0x29,0x0a,0x7b,0x0a,0x2b,0x2b,0x6d,0x65,0x6d,0x5f, - 0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x3b,0x0a,0x73,0x5f,0x77,0x61,0x69,0x74,0x63,0x6e,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x3d,0x36,0x33,0x3b,0x0a,0x7d,0x0a,0x63, - 0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x76,0x6d,0x63,0x6e,0x74,0x3d,0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x2d,0x70,0x72,0x65,0x76,0x5f, - 0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x3b,0x0a,0x6a,0x69,0x74,0x5f,0x69,0x6e,0x73,0x74,0x3d,0x69,0x6e,0x73,0x74,0x3b,0x0a,0x6a,0x69,0x74,0x5f, - 0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x2d,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3b,0x0a,0x6a,0x69, - 0x74,0x5f,0x76,0x6d,0x63,0x6e,0x74,0x3d,0x28,0x76,0x6d,0x63,0x6e,0x74,0x3c,0x73,0x5f,0x77,0x61,0x69,0x74,0x63,0x6e,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x29,0x3f, - 0x76,0x6d,0x63,0x6e,0x74,0x3a,0x2d,0x31,0x3b,0x0a,0x69,0x66,0x28,0x76,0x6d,0x63,0x6e,0x74,0x3c,0x73,0x5f,0x77,0x61,0x69,0x74,0x63,0x6e,0x74,0x5f,0x76,0x61,0x6c, - 0x75,0x65,0x29,0x0a,0x73,0x5f,0x77,0x61,0x69,0x74,0x63,0x6e,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x3d,0x76,0x6d,0x63,0x6e,0x74,0x3b,0x0a,0x64,0x6f,0x6e,0x65,0x3d, - 0x74,0x72,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x70,0x3d,0x6a,0x69,0x74,0x5f,0x65,0x6d,0x69,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x28,0x70, - 0x2c,0x6c,0x61,0x73,0x74,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x2c,0x6a,0x69,0x74,0x5f,0x69,0x6e,0x73,0x74,0x2c,0x6a,0x69,0x74, - 0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2c,0x6a,0x69,0x74,0x5f,0x76,0x6d,0x63,0x6e,0x74,0x2c,0x62, - 0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x69,0x66,0x28,0x70,0x2d,0x73,0x74,0x61,0x72,0x74,0x5f,0x70,0x3e,0x73,0x69,0x7a,0x65,0x5f,0x6c,0x69, - 0x6d,0x69,0x74,0x29,0x0a,0x7b,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x53,0x45,0x54,0x50,0x43,0x5f,0x42,0x36,0x34,0x5f,0x53,0x31,0x32,0x5f,0x31,0x33, - 0x3b,0x20,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x21,0x64,0x6f,0x6e,0x65,0x29,0x3b,0x0a, - 0x7d,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x53,0x45,0x54,0x50,0x43,0x5f,0x42,0x36,0x34,0x5f,0x53,0x31,0x32,0x5f,0x31,0x33,0x3b,0x20,0x0a,0x72,0x65, - 0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f, - 0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f,0x73,0x69,0x7a,0x65,0x28,0x36,0x34,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c, - 0x20,0x76,0x6f,0x69,0x64,0x20,0x72,0x61,0x6e,0x64,0x6f,0x6d,0x78,0x5f,0x6a,0x69,0x74,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67, - 0x2a,0x20,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x72,0x65,0x67,0x69,0x73,0x74, - 0x65,0x72,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x32,0x2a,0x20,0x69,0x6e,0x74,0x65,0x72,0x6d,0x65,0x64,0x69,0x61,0x74,0x65, - 0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d, - 0x73,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33, - 0x32,0x5f,0x74,0x2a,0x20,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x74,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e, - 0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f, - 0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x2f,0x33,0x32,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x75,0x62,0x3d, - 0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x20,0x25,0x20,0x33,0x32,0x3b,0x0a,0x69,0x66,0x28,0x73,0x75,0x62,0x21,0x3d,0x30, - 0x29,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x32,0x2a,0x20,0x65,0x3d,0x28,0x5f,0x5f,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x32,0x2a,0x29,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64, - 0x65,0x78,0x2a,0x28,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x2b, - 0x28,0x31,0x32,0x38,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75, - 0x69,0x6e,0x74,0x32,0x2a,0x20,0x70,0x30,0x3d,0x69,0x6e,0x74,0x65,0x72,0x6d,0x65,0x64,0x69,0x61,0x74,0x65,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x73,0x2b,0x67, - 0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x28,0x49,0x4e,0x54,0x45,0x52,0x4d,0x45,0x44,0x49,0x41,0x54,0x45,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41, - 0x4d,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x32,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, - 0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x3d,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x73,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x28,0x43, - 0x4f,0x4d,0x50,0x49,0x4c,0x45,0x44,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74, - 0x29,0x29,0x3b,0x0a,0x67,0x65,0x6e,0x65,0x72,0x61,0x74,0x65,0x5f,0x6a,0x69,0x74,0x5f,0x63,0x6f,0x64,0x65,0x28,0x65,0x2c,0x70,0x30,0x2c,0x70,0x2c,0x62,0x61,0x74, - 0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b,0x0a,0x69,0x66,0x28,0x69,0x74,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x30,0x29,0x0a,0x72,0x6f,0x75,0x6e,0x64, - 0x69,0x6e,0x67,0x5b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3d,0x30,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c, - 0x6f,0x6e,0x67,0x2a,0x20,0x52,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x33,0x32, - 0x3b,0x0a,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x2b,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x28,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59, - 0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x3b,0x0a,0x52,0x5b,0x30,0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b, - 0x31,0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b,0x32,0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b,0x33,0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b,0x34,0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b, - 0x35,0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b,0x36,0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b,0x37,0x5d,0x3d,0x30,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x64, - 0x6f,0x75,0x62,0x6c,0x65,0x2a,0x20,0x41,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x29,0x28,0x52,0x2b,0x32,0x34, - 0x29,0x3b,0x0a,0x41,0x5b,0x30,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74, - 0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x31,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69, - 0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x32,0x5d,0x3d, - 0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70, - 0x79,0x5b,0x32,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x33,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61, - 0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x33,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x34,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c, - 0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x34,0x5d,0x29,0x3b,0x0a,0x41, - 0x5b,0x35,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e, - 0x74,0x72,0x6f,0x70,0x79,0x5b,0x35,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x36,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65, - 0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x36,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x37,0x5d,0x3d,0x67,0x65,0x74,0x53, - 0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x37,0x5d, - 0x29,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x30,0x5d,0x3d,0x65, - 0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x38,0x5d,0x26,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x41,0x6c,0x69,0x67,0x6e,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x28,0x28, - 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x31,0x5d,0x3d,0x65,0x6e,0x74,0x72,0x6f,0x70, - 0x79,0x5b,0x31,0x30,0x5d,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x3d,0x65,0x6e,0x74, - 0x72,0x6f,0x70,0x79,0x5b,0x31,0x32,0x5d,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x37, - 0x29,0x29,0x5b,0x30,0x5d,0x3d,0x30,0x2b,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x31,0x29,0x3b,0x0a,0x61,0x64, - 0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20,0x3e,0x3e,0x3d,0x20,0x31,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c, - 0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x37,0x29,0x29,0x5b,0x31,0x5d,0x3d,0x32,0x2b,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69, - 0x73,0x74,0x65,0x72,0x73,0x26,0x31,0x29,0x3b,0x0a,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20,0x3e,0x3e,0x3d,0x20,0x31, - 0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x37,0x29,0x29,0x5b,0x32,0x5d,0x3d,0x34,0x2b, - 0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x31,0x29,0x3b,0x0a,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67, - 0x69,0x73,0x74,0x65,0x72,0x73,0x20,0x3e,0x3e,0x3d,0x20,0x31,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x28, - 0x52,0x2b,0x31,0x37,0x29,0x29,0x5b,0x33,0x5d,0x3d,0x36,0x2b,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x31,0x29, - 0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x39,0x29,0x29,0x5b,0x30,0x5d,0x3d,0x28,0x65, - 0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31,0x33,0x5d,0x26,0x44,0x61,0x74,0x61,0x73,0x65,0x74,0x45,0x78,0x74,0x72,0x61,0x49,0x74,0x65,0x6d,0x73,0x29,0x2a,0x43,0x61, - 0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x53,0x69,0x7a,0x65,0x3b,0x0a,0x52,0x5b,0x32,0x30,0x5d,0x3d,0x67,0x65,0x74,0x46,0x6c,0x6f,0x61,0x74,0x4d,0x61,0x73,0x6b,0x28, - 0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31,0x34,0x5d,0x29,0x3b,0x0a,0x52,0x5b,0x32,0x31,0x5d,0x3d,0x67,0x65,0x74,0x46,0x6c,0x6f,0x61,0x74,0x4d,0x61,0x73,0x6b, - 0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31,0x35,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x00 + 0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f, + 0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61, + 0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a, + 0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x52,0x3b, + 0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d, + 0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32, + 0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23, + 0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74, + 0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29, + 0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65, + 0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x69,0x66,0x28, + 0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74, + 0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f, + 0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x64,0x73,0x74,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c, + 0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63, + 0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61, + 0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70, + 0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x4d,0x55,0x4c,0x48,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28, + 0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x29,0x0a,0x7b,0x0a, + 0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x26,0x28,0x69,0x6e,0x73,0x74,0x2e,0x79,0x2d,0x31,0x29,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c, + 0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65, + 0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65, + 0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69, + 0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c, + 0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f, + 0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4d,0x55,0x4c,0x5f,0x52,0x43,0x50,0x3b,0x0a,0x69,0x66, + 0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50, + 0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68, + 0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74, + 0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30, + 0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64, + 0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c, + 0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d, + 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x4e,0x45,0x47,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51, + 0x5f,0x49,0x58,0x4f,0x52,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f, + 0x49,0x58,0x4f,0x52,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49, + 0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74, + 0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28, + 0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64, + 0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72, + 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64, + 0x69,0x66,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75, + 0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68, + 0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x64,0x73,0x74,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72,0x63,0x41,0x76, + 0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c, + 0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72, + 0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65, + 0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x58,0x4f,0x52,0x5f,0x4d,0x3b, + 0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52, + 0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73, + 0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c, + 0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26, + 0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c, + 0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31, + 0x75,0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64, + 0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x52,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x49,0x52,0x4f,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52, + 0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x73,0x72,0x63,0x21,0x3d,0x64,0x73,0x74,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66, + 0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69, + 0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72, + 0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x73,0x72,0x63,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74, + 0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67, + 0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28, + 0x69,0x29,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65, + 0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c, + 0x3c,0x28,0x73,0x72,0x63,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28,0x73,0x72,0x63,0x2a,0x38,0x29,0x29, + 0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x28,0x31,0x75,0x3c,0x3c,0x64,0x73,0x74,0x29,0x7c, + 0x28,0x31,0x75,0x3c,0x3c,0x73,0x72,0x63,0x29,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a, + 0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x57,0x41,0x50,0x5f,0x52,0x3b,0x0a,0x69,0x66, + 0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x2b,0x52,0x41,0x4e, + 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a, + 0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x57,0x41,0x50,0x5f,0x52,0x2b,0x52,0x41,0x4e, + 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70, + 0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f, + 0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72, + 0x63,0x2c,0x30,0x78,0x46,0x46,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74, + 0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41, + 0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74, + 0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e, + 0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x41,0x44,0x44,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44, + 0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f, + 0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f, + 0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28, + 0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74, + 0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65,0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f, + 0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c,0x30,0x78,0x46,0x46,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62, + 0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74, + 0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54, + 0x61,0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f, + 0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x55,0x42,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f, + 0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70, + 0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x43,0x41,0x4c,0x5f,0x52,0x2b,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x4d,0x55,0x4c,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x31,0x29,0x0a,0x70,0x72,0x65, + 0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3d,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x72,0x65, + 0x61,0x64,0x28,0x70,0x30,0x2c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2c,0x69,0x2c,0x73,0x72,0x63,0x2c, + 0x30,0x78,0x46,0x46,0x2c,0x69,0x6e,0x73,0x74,0x2c,0x73,0x72,0x63,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68, + 0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61, + 0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x2c,0x6c,0x61,0x73,0x74,0x42,0x72, + 0x61,0x6e,0x63,0x68,0x29,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f, + 0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x44,0x49,0x56,0x5f,0x4d,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d, + 0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70, + 0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x46,0x53,0x51,0x52,0x54,0x5f,0x52,0x3b,0x0a,0x69,0x66,0x28,0x6f, + 0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x29,0x0a,0x7b,0x0a,0x69,0x66, + 0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,0x20,0x75,0x69,0x6e,0x74,0x20,0x64,0x73,0x74,0x41,0x76,0x61, + 0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x32,0x3d,0x64,0x73,0x74,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3b,0x0a,0x65,0x5b,0x64,0x73,0x74,0x41, + 0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x32,0x5d,0x2e,0x78,0x7c,0x3d,0x28,0x30,0x78,0x32,0x30,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x65,0x5b,0x69,0x5d,0x2e, + 0x78,0x7c,0x3d,0x28,0x30,0x78,0x34,0x30,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41, + 0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f,0x72,0x20, + 0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x30,0x3b,0x20,0x6a,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74, + 0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x6a,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x75,0x69,0x6e,0x74,0x20,0x74,0x3d,0x69,0x7c,0x28,0x69,0x3c, + 0x3c,0x38,0x29,0x3b,0x0a,0x74,0x3d,0x74,0x7c,0x28,0x74,0x3c,0x3c,0x31,0x36,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68, + 0x61,0x6e,0x67,0x65,0x64,0x3d,0x74,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x72,0x65,0x67, + 0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68, + 0x61,0x6e,0x67,0x65,0x64,0x3c,0x3c,0x33,0x32,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x30, + 0x78,0x46,0x46,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58, + 0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74, + 0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x64,0x73,0x74,0x5d,0x3d,0x69,0x3b,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61, + 0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e, + 0x28,0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c, + 0x28,0x64,0x73,0x74,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75, + 0x3c,0x3c,0x64,0x73,0x74,0x3b,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x72,0x65,0x67,0x3d,0x30,0x3b,0x20,0x72,0x65, + 0x67,0x3c,0x38,0x3b,0x20,0x2b,0x2b,0x72,0x65,0x67,0x29,0x0a,0x7b,0x0a,0x23,0x69,0x66,0x20,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41, + 0x4d,0x5f,0x53,0x49,0x5a,0x45,0x20,0x3e,0x20,0x32,0x35,0x36,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c, + 0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e, + 0x67,0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x5b,0x72,0x65,0x67,0x5d,0x2b,0x31,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x75,0x69,0x6e,0x74,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61, + 0x6e,0x67,0x65,0x64,0x5b,0x72,0x65,0x67,0x5d,0x2b,0x31,0x3b,0x0a,0x69,0x66,0x28,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x21,0x3d,0x61,0x76,0x61, + 0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x29,0x0a,0x7b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72, + 0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x5b,0x72,0x65,0x67,0x5d,0x3d,0x69,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6c,0x73,0x65,0x0a,0x63,0x6f,0x6e,0x73, + 0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3d,0x28, + 0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74, + 0x26,0x28,0x31,0x75,0x3c,0x3c,0x72,0x65,0x67,0x29,0x29,0x3f,0x28,0x28,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67, + 0x65,0x64,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x3e,0x3e,0x28,0x72,0x65,0x67,0x2a,0x38,0x29,0x29,0x26,0x30,0x78,0x46,0x46,0x29, + 0x2b,0x31,0x29,0x3a,0x30,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x28,0x72, + 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x28,0x31,0x75,0x3c,0x3c,0x72,0x65,0x67,0x29,0x29,0x3f,0x28,0x28,0x28, + 0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3e,0x3e,0x28,0x72,0x65,0x67,0x2a,0x38,0x29,0x29,0x26,0x30,0x78, + 0x46,0x46,0x29,0x2b,0x31,0x29,0x3a,0x30,0x3b,0x0a,0x69,0x66,0x28,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x21,0x3d,0x61,0x76,0x61,0x69,0x6c,0x61, + 0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x29,0x0a,0x7b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73, + 0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x3d,0x28,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x4c,0x61,0x73,0x74,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x26,0x7e,0x28, + 0x30,0x78,0x46,0x46,0x75,0x6c,0x3c,0x3c,0x28,0x72,0x65,0x67,0x2a,0x38,0x29,0x29,0x29,0x7c,0x28,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x28,0x69,0x29,0x3c,0x3c,0x28, + 0x72,0x65,0x67,0x2a,0x38,0x29,0x29,0x3b,0x0a,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x57,0x61,0x73,0x43,0x68,0x61,0x6e,0x67,0x65,0x64,0x7c,0x3d,0x31,0x75,0x3c, + 0x3c,0x72,0x65,0x67,0x3b,0x0a,0x7d,0x0a,0x23,0x65,0x6e,0x64,0x69,0x66,0x0a,0x7d,0x0a,0x69,0x66,0x28,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76, + 0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x21,0x3d,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61, + 0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x29,0x0a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c, + 0x65,0x41,0x74,0x3d,0x69,0x2b,0x31,0x3b,0x0a,0x69,0x66,0x28,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61, + 0x62,0x6c,0x65,0x41,0x74,0x42,0x72,0x61,0x6e,0x63,0x68,0x54,0x61,0x72,0x67,0x65,0x74,0x21,0x3d,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67, + 0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x29,0x0a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69, + 0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x69,0x2b,0x31,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64, + 0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x42,0x52,0x41,0x4e,0x43,0x48,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f, + 0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f,0x55,0x4e,0x44,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x74,0x69, + 0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x43,0x46,0x52,0x4f, + 0x55,0x4e,0x44,0x3b,0x0a,0x69,0x66,0x28,0x6f,0x70,0x63,0x6f,0x64,0x65,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46,0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f, + 0x52,0x45,0x29,0x0a,0x7b,0x0a,0x69,0x66,0x28,0x70,0x61,0x73,0x73,0x3d,0x3d,0x30,0x29,0x0a,0x7b,0x0a,0x65,0x5b,0x69,0x5d,0x2e,0x78,0x3d,0x69,0x6e,0x73,0x74,0x2e, + 0x78,0x7c,0x28,0x30,0x78,0x38,0x30,0x3c,0x3c,0x38,0x29,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64, + 0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x69,0x2b,0x31,0x3b,0x0a,0x69,0x66,0x28,0x28,0x6d,0x6f,0x64,0x3e,0x3e,0x34,0x29,0x3e,0x3d,0x31,0x34, + 0x29,0x0a,0x73,0x63,0x72,0x61,0x74,0x63,0x68,0x70,0x61,0x64,0x48,0x69,0x67,0x68,0x41,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x41,0x74,0x3d,0x69,0x2b,0x31,0x3b, + 0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x6f,0x70,0x63,0x6f,0x64,0x65,0x2d,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x46, + 0x52,0x45,0x51,0x5f,0x49,0x53,0x54,0x4f,0x52,0x45,0x3b,0x0a,0x7d,0x0a,0x7d,0x0a,0x75,0x69,0x6e,0x74,0x20,0x70,0x72,0x65,0x76,0x3d,0x70,0x30,0x5b,0x30,0x5d,0x2e, + 0x78,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x6a,0x3d,0x31, + 0x3b,0x20,0x6a,0x3c,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x3b,0x20,0x2b,0x2b,0x6a,0x29,0x0a,0x7b,0x0a, + 0x75,0x69,0x6e,0x74,0x32,0x20,0x63,0x75,0x72,0x3d,0x70,0x30,0x5b,0x6a,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x63,0x75,0x72,0x2e,0x78,0x3e,0x3d,0x70,0x72,0x65,0x76,0x29, + 0x0a,0x7b,0x0a,0x70,0x72,0x65,0x76,0x3d,0x63,0x75,0x72,0x2e,0x78,0x3b,0x0a,0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x69,0x6e,0x74,0x20,0x6a, + 0x31,0x3d,0x6a,0x2d,0x31,0x3b,0x0a,0x64,0x6f,0x20,0x7b,0x0a,0x70,0x30,0x5b,0x6a,0x31,0x2b,0x31,0x5d,0x3d,0x70,0x30,0x5b,0x6a,0x31,0x5d,0x3b,0x0a,0x2d,0x2d,0x6a, + 0x31,0x3b,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x28,0x6a,0x31,0x3e,0x3d,0x30,0x29,0x26,0x26,0x28,0x70,0x30,0x5b,0x6a,0x31,0x5d,0x2e,0x78,0x3e,0x3d, + 0x63,0x75,0x72,0x2e,0x78,0x29,0x29,0x3b,0x0a,0x70,0x30,0x5b,0x6a,0x31,0x2b,0x31,0x5d,0x3d,0x63,0x75,0x72,0x3b,0x0a,0x7d,0x0a,0x70,0x30,0x5b,0x70,0x72,0x65,0x66, + 0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x5d,0x2e,0x78,0x3d,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52, + 0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x69,0x6e,0x74,0x2a,0x20,0x70,0x72,0x65,0x66,0x65,0x63,0x74,0x68,0x5f, + 0x76,0x67,0x70,0x72,0x73,0x5f,0x73,0x74,0x61,0x63,0x6b,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x69,0x6e,0x74,0x2a,0x29,0x28,0x70,0x30,0x2b,0x70, + 0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x2b,0x31,0x29,0x3b,0x0a,0x65,0x6e,0x75,0x6d,0x20,0x7b,0x20,0x6e,0x75, + 0x6d,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x3d,0x32,0x31,0x20,0x7d,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75, + 0x6e,0x72,0x6f,0x6c,0x6c,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x6e,0x75,0x6d,0x5f,0x70,0x72,0x65,0x66,0x65,0x74, + 0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x63,0x74,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x73,0x74, + 0x61,0x63,0x6b,0x5b,0x69,0x5d,0x3d,0x4e,0x55,0x4d,0x5f,0x56,0x47,0x50,0x52,0x5f,0x52,0x45,0x47,0x49,0x53,0x54,0x45,0x52,0x53,0x2d,0x32,0x2d,0x69,0x2a,0x32,0x3b, + 0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x69,0x6e,0x74,0x2a,0x20,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x65,0x64,0x5f,0x76,0x67,0x70,0x72,0x73,0x3d, + 0x70,0x72,0x65,0x66,0x65,0x63,0x74,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x73,0x74,0x61,0x63,0x6b,0x2b,0x6e,0x75,0x6d,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63, + 0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x3b,0x0a,0x23,0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x38,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69, + 0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c,0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x3b,0x20, + 0x2b,0x2b,0x69,0x29,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x65,0x64,0x5f,0x76,0x67,0x70,0x72,0x73,0x5b,0x69,0x5d,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x20, + 0x6b,0x3d,0x30,0x3b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x3d,0x70,0x30,0x5b,0x30,0x5d,0x3b,0x0a, + 0x69,0x6e,0x74,0x20,0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x3d,0x30,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x73,0x5f,0x77,0x61,0x69,0x74,0x63,0x6e,0x74, + 0x5f,0x76,0x61,0x6c,0x75,0x65,0x3d,0x36,0x33,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x6e,0x75,0x6d,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72, + 0x73,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x3d,0x6e,0x75,0x6d,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x3b,0x0a, + 0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x6c,0x61,0x73,0x74,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65, + 0x74,0x3d,0x70,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x69,0x7a,0x65,0x5f,0x6c,0x69,0x6d,0x69,0x74,0x3d,0x28,0x43,0x4f,0x4d,0x50, + 0x49,0x4c,0x45,0x44,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x2d,0x32,0x30,0x30,0x29,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69, + 0x6e,0x74,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x73,0x74,0x61,0x72,0x74,0x5f,0x70,0x3d,0x70,0x3b,0x0a,0x23, + 0x70,0x72,0x61,0x67,0x6d,0x61,0x20,0x75,0x6e,0x72,0x6f,0x6c,0x6c,0x20,0x31,0x0a,0x66,0x6f,0x72,0x20,0x28,0x69,0x6e,0x74,0x20,0x69,0x3d,0x30,0x3b,0x20,0x69,0x3c, + 0x52,0x41,0x4e,0x44,0x4f,0x4d,0x58,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x3b,0x20,0x2b,0x2b,0x69,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e, + 0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x32,0x20,0x69,0x6e,0x73,0x74,0x3d,0x65,0x5b,0x69,0x5d,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73,0x74,0x2e,0x78,0x26,0x28,0x30, + 0x78,0x32,0x30,0x3c,0x3c,0x38,0x29,0x29,0x0a,0x6c,0x61,0x73,0x74,0x5f,0x62,0x72,0x61,0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x3d,0x70,0x3b,0x0a,0x62, + 0x6f,0x6f,0x6c,0x20,0x64,0x6f,0x6e,0x65,0x3d,0x66,0x61,0x6c,0x73,0x65,0x3b,0x0a,0x64,0x6f,0x20,0x7b,0x0a,0x75,0x69,0x6e,0x74,0x32,0x20,0x6a,0x69,0x74,0x5f,0x69, + 0x6e,0x73,0x74,0x3b,0x0a,0x69,0x6e,0x74,0x20,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78, + 0x3b,0x0a,0x69,0x6e,0x74,0x20,0x6a,0x69,0x74,0x5f,0x76,0x6d,0x63,0x6e,0x74,0x3b,0x0a,0x69,0x66,0x28,0x21,0x64,0x6f,0x6e,0x65,0x26,0x26,0x28,0x70,0x72,0x65,0x66, + 0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x2e,0x78,0x3d,0x3d,0x69,0x29,0x26,0x26,0x28,0x6e,0x75,0x6d,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76, + 0x67,0x70,0x72,0x73,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x3e,0x30,0x29,0x29,0x0a,0x7b,0x0a,0x2b,0x2b,0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74, + 0x65,0x72,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3d,0x70,0x72,0x65,0x66,0x65,0x63,0x74,0x68,0x5f,0x76, + 0x67,0x70,0x72,0x73,0x5f,0x73,0x74,0x61,0x63,0x6b,0x5b,0x2d,0x2d,0x6e,0x75,0x6d,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f, + 0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x5d,0x3b,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x65,0x64,0x5f,0x76,0x67,0x70,0x72,0x73,0x5b,0x70,0x72,0x65, + 0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74,0x61,0x2e,0x79,0x5d,0x3d,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x7c,0x28,0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74, + 0x65,0x72,0x3c,0x3c,0x31,0x36,0x29,0x3b,0x0a,0x6a,0x69,0x74,0x5f,0x69,0x6e,0x73,0x74,0x3d,0x65,0x5b,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x64,0x61,0x74, + 0x61,0x2e,0x79,0x5d,0x3b,0x0a,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x76,0x67, + 0x70,0x72,0x5f,0x69,0x64,0x3b,0x0a,0x6a,0x69,0x74,0x5f,0x76,0x6d,0x63,0x6e,0x74,0x3d,0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x3b,0x0a,0x73,0x5f, + 0x77,0x61,0x69,0x74,0x63,0x6e,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x3d,0x36,0x33,0x3b,0x0a,0x2b,0x2b,0x6b,0x3b,0x0a,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f, + 0x64,0x61,0x74,0x61,0x3d,0x70,0x30,0x5b,0x6b,0x5d,0x3b,0x0a,0x7d,0x0a,0x65,0x6c,0x73,0x65,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x70, + 0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x65,0x64,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x64,0x61,0x74,0x61,0x3d,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x65,0x64,0x5f, + 0x76,0x67,0x70,0x72,0x73,0x5b,0x69,0x5d,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3d,0x70,0x72,0x65,0x66, + 0x65,0x74,0x63,0x68,0x65,0x64,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x64,0x61,0x74,0x61,0x26,0x30,0x78,0x46,0x46,0x46,0x46,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20, + 0x69,0x6e,0x74,0x20,0x70,0x72,0x65,0x76,0x5f,0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x3d,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x65,0x64,0x5f, + 0x76,0x67,0x70,0x72,0x73,0x5f,0x64,0x61,0x74,0x61,0x3e,0x3e,0x31,0x36,0x3b,0x0a,0x69,0x66,0x28,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x29,0x0a,0x70,0x72,0x65,0x66, + 0x65,0x63,0x74,0x68,0x5f,0x76,0x67,0x70,0x72,0x73,0x5f,0x73,0x74,0x61,0x63,0x6b,0x5b,0x6e,0x75,0x6d,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f,0x76,0x67, + 0x70,0x72,0x73,0x5f,0x61,0x76,0x61,0x69,0x6c,0x61,0x62,0x6c,0x65,0x2b,0x2b,0x5d,0x3d,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3b,0x0a,0x69,0x66,0x28,0x69,0x6e,0x73, + 0x74,0x2e,0x78,0x26,0x28,0x30,0x78,0x38,0x30,0x3c,0x3c,0x38,0x29,0x29,0x0a,0x7b,0x0a,0x2b,0x2b,0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x3b,0x0a, + 0x73,0x5f,0x77,0x61,0x69,0x74,0x63,0x6e,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x3d,0x36,0x33,0x3b,0x0a,0x7d,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x69,0x6e,0x74,0x20, + 0x76,0x6d,0x63,0x6e,0x74,0x3d,0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74,0x65,0x72,0x2d,0x70,0x72,0x65,0x76,0x5f,0x6d,0x65,0x6d,0x5f,0x63,0x6f,0x75,0x6e,0x74, + 0x65,0x72,0x3b,0x0a,0x6a,0x69,0x74,0x5f,0x69,0x6e,0x73,0x74,0x3d,0x69,0x6e,0x73,0x74,0x3b,0x0a,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68,0x5f, + 0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x2d,0x76,0x67,0x70,0x72,0x5f,0x69,0x64,0x3b,0x0a,0x6a,0x69,0x74,0x5f,0x76,0x6d,0x63,0x6e,0x74,0x3d,0x28, + 0x76,0x6d,0x63,0x6e,0x74,0x3c,0x73,0x5f,0x77,0x61,0x69,0x74,0x63,0x6e,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x29,0x3f,0x76,0x6d,0x63,0x6e,0x74,0x3a,0x2d,0x31,0x3b, + 0x0a,0x69,0x66,0x28,0x76,0x6d,0x63,0x6e,0x74,0x3c,0x73,0x5f,0x77,0x61,0x69,0x74,0x63,0x6e,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x29,0x0a,0x73,0x5f,0x77,0x61,0x69, + 0x74,0x63,0x6e,0x74,0x5f,0x76,0x61,0x6c,0x75,0x65,0x3d,0x76,0x6d,0x63,0x6e,0x74,0x3b,0x0a,0x64,0x6f,0x6e,0x65,0x3d,0x74,0x72,0x75,0x65,0x3b,0x0a,0x7d,0x0a,0x70, + 0x3d,0x6a,0x69,0x74,0x5f,0x65,0x6d,0x69,0x74,0x5f,0x69,0x6e,0x73,0x74,0x72,0x75,0x63,0x74,0x69,0x6f,0x6e,0x28,0x70,0x2c,0x6c,0x61,0x73,0x74,0x5f,0x62,0x72,0x61, + 0x6e,0x63,0x68,0x5f,0x74,0x61,0x72,0x67,0x65,0x74,0x2c,0x6a,0x69,0x74,0x5f,0x69,0x6e,0x73,0x74,0x2c,0x6a,0x69,0x74,0x5f,0x70,0x72,0x65,0x66,0x65,0x74,0x63,0x68, + 0x5f,0x76,0x67,0x70,0x72,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2c,0x6a,0x69,0x74,0x5f,0x76,0x6d,0x63,0x6e,0x74,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65, + 0x29,0x3b,0x0a,0x69,0x66,0x28,0x70,0x2d,0x73,0x74,0x61,0x72,0x74,0x5f,0x70,0x3e,0x73,0x69,0x7a,0x65,0x5f,0x6c,0x69,0x6d,0x69,0x74,0x29,0x0a,0x7b,0x0a,0x2a,0x28, + 0x70,0x2b,0x2b,0x29,0x3d,0x53,0x5f,0x53,0x45,0x54,0x50,0x43,0x5f,0x42,0x36,0x34,0x5f,0x53,0x31,0x32,0x5f,0x31,0x33,0x3b,0x20,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e, + 0x20,0x70,0x3b,0x0a,0x7d,0x0a,0x7d,0x20,0x77,0x68,0x69,0x6c,0x65,0x20,0x28,0x21,0x64,0x6f,0x6e,0x65,0x29,0x3b,0x0a,0x7d,0x0a,0x2a,0x28,0x70,0x2b,0x2b,0x29,0x3d, + 0x53,0x5f,0x53,0x45,0x54,0x50,0x43,0x5f,0x42,0x36,0x34,0x5f,0x53,0x31,0x32,0x5f,0x31,0x33,0x3b,0x20,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x20,0x70,0x3b,0x0a,0x7d, + 0x0a,0x5f,0x5f,0x61,0x74,0x74,0x72,0x69,0x62,0x75,0x74,0x65,0x5f,0x5f,0x28,0x28,0x72,0x65,0x71,0x64,0x5f,0x77,0x6f,0x72,0x6b,0x5f,0x67,0x72,0x6f,0x75,0x70,0x5f, + 0x73,0x69,0x7a,0x65,0x28,0x36,0x34,0x2c,0x31,0x2c,0x31,0x29,0x29,0x29,0x0a,0x5f,0x5f,0x6b,0x65,0x72,0x6e,0x65,0x6c,0x20,0x76,0x6f,0x69,0x64,0x20,0x72,0x61,0x6e, + 0x64,0x6f,0x6d,0x78,0x5f,0x6a,0x69,0x74,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79, + 0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x2c,0x5f,0x5f,0x67,0x6c,0x6f, + 0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x32,0x2a,0x20,0x69,0x6e,0x74,0x65,0x72,0x6d,0x65,0x64,0x69,0x61,0x74,0x65,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x73, + 0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x73,0x2c,0x75,0x69,0x6e,0x74,0x20,0x62,0x61, + 0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x2c,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x2a,0x20,0x72,0x6f,0x75,0x6e, + 0x64,0x69,0x6e,0x67,0x2c,0x75,0x69,0x6e,0x74,0x33,0x32,0x5f,0x74,0x20,0x69,0x74,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e,0x29,0x0a,0x7b,0x0a,0x63,0x6f,0x6e,0x73,0x74, + 0x20,0x75,0x69,0x6e,0x74,0x20,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x64, + 0x28,0x30,0x29,0x2f,0x33,0x32,0x3b,0x0a,0x63,0x6f,0x6e,0x73,0x74,0x20,0x75,0x69,0x6e,0x74,0x20,0x73,0x75,0x62,0x3d,0x67,0x65,0x74,0x5f,0x67,0x6c,0x6f,0x62,0x61, + 0x6c,0x5f,0x69,0x64,0x28,0x30,0x29,0x20,0x25,0x20,0x33,0x32,0x3b,0x0a,0x69,0x66,0x28,0x73,0x75,0x62,0x21,0x3d,0x30,0x29,0x0a,0x72,0x65,0x74,0x75,0x72,0x6e,0x3b, + 0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x32,0x2a,0x20,0x65,0x3d,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e, + 0x74,0x32,0x2a,0x29,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x28,0x45,0x4e,0x54,0x52,0x4f, + 0x50,0x59,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x2b,0x28,0x31,0x32,0x38,0x2f,0x73,0x69,0x7a,0x65, + 0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x32,0x2a,0x20,0x70,0x30,0x3d, + 0x69,0x6e,0x74,0x65,0x72,0x6d,0x65,0x64,0x69,0x61,0x74,0x65,0x5f,0x70,0x72,0x6f,0x67,0x72,0x61,0x6d,0x73,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64, + 0x65,0x78,0x2a,0x28,0x49,0x4e,0x54,0x45,0x52,0x4d,0x45,0x44,0x49,0x41,0x54,0x45,0x5f,0x50,0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69, + 0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x32,0x29,0x29,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x20,0x70,0x3d,0x70, + 0x72,0x6f,0x67,0x72,0x61,0x6d,0x73,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x28,0x43,0x4f,0x4d,0x50,0x49,0x4c,0x45,0x44,0x5f,0x50, + 0x52,0x4f,0x47,0x52,0x41,0x4d,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a,0x65,0x6f,0x66,0x28,0x75,0x69,0x6e,0x74,0x29,0x29,0x3b,0x0a,0x67,0x65,0x6e,0x65,0x72, + 0x61,0x74,0x65,0x5f,0x6a,0x69,0x74,0x5f,0x63,0x6f,0x64,0x65,0x28,0x65,0x2c,0x70,0x30,0x2c,0x70,0x2c,0x62,0x61,0x74,0x63,0x68,0x5f,0x73,0x69,0x7a,0x65,0x29,0x3b, + 0x0a,0x69,0x66,0x28,0x69,0x74,0x65,0x72,0x61,0x74,0x69,0x6f,0x6e,0x3d,0x3d,0x30,0x29,0x0a,0x72,0x6f,0x75,0x6e,0x64,0x69,0x6e,0x67,0x5b,0x67,0x6c,0x6f,0x62,0x61, + 0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x5d,0x3d,0x30,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x6c,0x6f,0x6e,0x67,0x2a,0x20,0x52,0x3d,0x72,0x65, + 0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x2b,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x33,0x32,0x3b,0x0a,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79, + 0x2b,0x3d,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x5f,0x69,0x6e,0x64,0x65,0x78,0x2a,0x28,0x45,0x4e,0x54,0x52,0x4f,0x50,0x59,0x5f,0x53,0x49,0x5a,0x45,0x2f,0x73,0x69,0x7a, + 0x65,0x6f,0x66,0x28,0x75,0x6c,0x6f,0x6e,0x67,0x29,0x29,0x3b,0x0a,0x52,0x5b,0x30,0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b,0x31,0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b,0x32, + 0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b,0x33,0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b,0x34,0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b,0x35,0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b,0x36, + 0x5d,0x3d,0x30,0x3b,0x0a,0x52,0x5b,0x37,0x5d,0x3d,0x30,0x3b,0x0a,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x20,0x41,0x3d, + 0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x64,0x6f,0x75,0x62,0x6c,0x65,0x2a,0x29,0x28,0x52,0x2b,0x32,0x34,0x29,0x3b,0x0a,0x41,0x5b,0x30,0x5d,0x3d,0x67, + 0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79, + 0x5b,0x30,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x31,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74, + 0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x32,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50, + 0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x32,0x5d,0x29,0x3b,0x0a,0x41,0x5b, + 0x33,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74, + 0x72,0x6f,0x70,0x79,0x5b,0x33,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x34,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46, + 0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x34,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x35,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d, + 0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x35,0x5d,0x29, + 0x3b,0x0a,0x41,0x5b,0x36,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74,0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73, + 0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x36,0x5d,0x29,0x3b,0x0a,0x41,0x5b,0x37,0x5d,0x3d,0x67,0x65,0x74,0x53,0x6d,0x61,0x6c,0x6c,0x50,0x6f,0x73,0x69,0x74, + 0x69,0x76,0x65,0x46,0x6c,0x6f,0x61,0x74,0x42,0x69,0x74,0x73,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x37,0x5d,0x29,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c, + 0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x30,0x5d,0x3d,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x38,0x5d, + 0x26,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x41,0x6c,0x69,0x67,0x6e,0x4d,0x61,0x73,0x6b,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20, + 0x75,0x69,0x6e,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x36,0x29,0x29,0x5b,0x31,0x5d,0x3d,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31,0x30,0x5d,0x3b,0x0a,0x75,0x69, + 0x6e,0x74,0x20,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x3d,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31,0x32,0x5d,0x3b, + 0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x37,0x29,0x29,0x5b,0x30,0x5d,0x3d,0x30,0x2b,0x28, + 0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x31,0x29,0x3b,0x0a,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69, + 0x73,0x74,0x65,0x72,0x73,0x20,0x3e,0x3e,0x3d,0x20,0x31,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x28,0x52, + 0x2b,0x31,0x37,0x29,0x29,0x5b,0x31,0x5d,0x3d,0x32,0x2b,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x31,0x29,0x3b, + 0x0a,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20,0x3e,0x3e,0x3d,0x20,0x31,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f, + 0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x37,0x29,0x29,0x5b,0x32,0x5d,0x3d,0x34,0x2b,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52, + 0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x31,0x29,0x3b,0x0a,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x20,0x3e,0x3e, + 0x3d,0x20,0x31,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f,0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x37,0x29,0x29,0x5b,0x33,0x5d, + 0x3d,0x36,0x2b,0x28,0x61,0x64,0x64,0x72,0x65,0x73,0x73,0x52,0x65,0x67,0x69,0x73,0x74,0x65,0x72,0x73,0x26,0x31,0x29,0x3b,0x0a,0x28,0x28,0x5f,0x5f,0x67,0x6c,0x6f, + 0x62,0x61,0x6c,0x20,0x75,0x69,0x6e,0x74,0x2a,0x29,0x28,0x52,0x2b,0x31,0x39,0x29,0x29,0x5b,0x30,0x5d,0x3d,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31,0x33, + 0x5d,0x26,0x44,0x61,0x74,0x61,0x73,0x65,0x74,0x45,0x78,0x74,0x72,0x61,0x49,0x74,0x65,0x6d,0x73,0x29,0x2a,0x43,0x61,0x63,0x68,0x65,0x4c,0x69,0x6e,0x65,0x53,0x69, + 0x7a,0x65,0x3b,0x0a,0x52,0x5b,0x32,0x30,0x5d,0x3d,0x67,0x65,0x74,0x46,0x6c,0x6f,0x61,0x74,0x4d,0x61,0x73,0x6b,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b,0x31, + 0x34,0x5d,0x29,0x3b,0x0a,0x52,0x5b,0x32,0x31,0x5d,0x3d,0x67,0x65,0x74,0x46,0x6c,0x6f,0x61,0x74,0x4d,0x61,0x73,0x6b,0x28,0x65,0x6e,0x74,0x72,0x6f,0x70,0x79,0x5b, + 0x31,0x35,0x5d,0x29,0x3b,0x0a,0x7d,0x0a,0x00 }; } // namespace xmrig diff --git a/src/backend/opencl/generators/ocl_generic_astrobwt_generator.cpp b/src/backend/opencl/generators/ocl_generic_astrobwt_generator.cpp deleted file mode 100644 index fdc0518074..0000000000 --- a/src/backend/opencl/generators/ocl_generic_astrobwt_generator.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018 Lee Clagett - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/OclThreads.h" -#include "backend/opencl/wrappers/OclDevice.h" -#include "base/crypto/Algorithm.h" -#include "crypto/randomx/randomx.h" -#include "crypto/rx/RxAlgo.h" - - -namespace xmrig { - - -bool ocl_generic_astrobwt_generator(const OclDevice &device, const Algorithm &algorithm, OclThreads &threads) -{ - if (algorithm.family() != Algorithm::ASTROBWT) { - return false; - } - - if (algorithm.id() == Algorithm::ASTROBWT_DERO_2) { - uint32_t intensity = device.computeUnits() * 128; - if (!intensity || (intensity > 4096)) { - intensity = 4096; - } - threads.add(OclThread(device.index(), intensity, 1)); - return true; - } - - const size_t mem = device.globalMemSize(); - - uint32_t per_thread_mem = 10 << 20; - uint32_t intensity = static_cast((mem - (128 << 20)) / per_thread_mem / 2); - - intensity &= ~63U; - - if (!intensity) { - return false; - } - - if (intensity > 256) { - intensity = 256; - } - - threads.add(OclThread(device.index(), intensity, 2)); - - return true; -} - - -} // namespace xmrig diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_FilterKernel.cpp b/src/backend/opencl/kernels/astrobwt/AstroBWT_FilterKernel.cpp deleted file mode 100644 index 95f65d3275..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_FilterKernel.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/kernels/astrobwt/AstroBWT_FilterKernel.h" -#include "backend/opencl/wrappers/OclLib.h" - - -void xmrig::AstroBWT_FilterKernel::enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size) -{ - enqueueNDRange(queue, 1, nullptr, &threads, &workgroup_size); -} - - -void xmrig::AstroBWT_FilterKernel::setArgs(uint32_t nonce, uint32_t bwt_max_size, cl_mem hashes, cl_mem filtered_hashes) -{ - setArg(0, sizeof(uint32_t), &nonce); - setArg(1, sizeof(uint32_t), &bwt_max_size); - setArg(2, sizeof(cl_mem), &hashes); - setArg(3, sizeof(cl_mem), &filtered_hashes); -} diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_FilterKernel.h b/src/backend/opencl/kernels/astrobwt/AstroBWT_FilterKernel.h deleted file mode 100644 index 60a748de0e..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_FilterKernel.h +++ /dev/null @@ -1,48 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef XMRIG_ASTROBWT_FILTERKERNEL_H -#define XMRIG_ASTROBWT_FILTERKERNEL_H - - -#include "backend/opencl/wrappers/OclKernel.h" - - -namespace xmrig { - - -class AstroBWT_FilterKernel : public OclKernel -{ -public: - inline AstroBWT_FilterKernel(cl_program program) : OclKernel(program, "filter") {} - - void enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size); - void setArgs(uint32_t nonce, uint32_t bwt_max_size, cl_mem hashes, cl_mem filtered_hashes); -}; - - -} // namespace xmrig - - -#endif /* XMRIG_ASTROBWT_FILTERKERNEL_H */ diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_FindSharesKernel.cpp b/src/backend/opencl/kernels/astrobwt/AstroBWT_FindSharesKernel.cpp deleted file mode 100644 index 4f3d8aee1c..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_FindSharesKernel.cpp +++ /dev/null @@ -1,47 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2019 SChernykh - * Copyright 2016-2019 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/kernels/astrobwt/AstroBWT_FindSharesKernel.h" -#include "backend/opencl/wrappers/OclLib.h" - - -void xmrig::AstroBWT_FindSharesKernel::enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size) -{ - enqueueNDRange(queue, 1, nullptr, &threads, &workgroup_size); -} - - -void xmrig::AstroBWT_FindSharesKernel::setArgs(cl_mem hashes, cl_mem filtered_hashes, cl_mem shares) -{ - setArg(0, sizeof(cl_mem), &hashes); - setArg(1, sizeof(cl_mem), &filtered_hashes); - setArg(3, sizeof(cl_mem), &shares); -} - - -void xmrig::AstroBWT_FindSharesKernel::setTarget(uint64_t target) -{ - setArg(2, sizeof(uint64_t), &target); -} diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_FindSharesKernel.h b/src/backend/opencl/kernels/astrobwt/AstroBWT_FindSharesKernel.h deleted file mode 100644 index 6645cc56bf..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_FindSharesKernel.h +++ /dev/null @@ -1,49 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2019 SChernykh - * Copyright 2016-2019 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef XMRIG_ASTROBWTFINDSHARESKERNEL_H -#define XMRIG_ASTROBWTFINDSHARESKERNEL_H - - -#include "backend/opencl/wrappers/OclKernel.h" - - -namespace xmrig { - - -class AstroBWT_FindSharesKernel : public OclKernel -{ -public: - inline AstroBWT_FindSharesKernel(cl_program program) : OclKernel(program, "find_shares") {} - - void enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size); - void setArgs(cl_mem hashes, cl_mem filtered_hashes, cl_mem shares); - void setTarget(uint64_t target); -}; - - -} // namespace xmrig - - -#endif /* XMRIG_ASTROBWTFINDSHARESKERNEL_H */ diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_MainKernel.cpp b/src/backend/opencl/kernels/astrobwt/AstroBWT_MainKernel.cpp deleted file mode 100644 index c08562a6fa..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_MainKernel.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/kernels/astrobwt/AstroBWT_MainKernel.h" -#include "backend/opencl/wrappers/OclLib.h" - - -void xmrig::AstroBWT_MainKernel::enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size) -{ - const size_t gthreads = threads * workgroup_size; - enqueueNDRange(queue, 1, nullptr, >hreads, &workgroup_size); -} - - -void xmrig::AstroBWT_MainKernel::setArgs(cl_mem inputs, cl_mem input_sizes, uint32_t input_stride, cl_mem indices, cl_mem tmp_indices) -{ - setArg(0, sizeof(cl_mem), &inputs); - setArg(1, sizeof(cl_mem), &input_sizes); - setArg(2, sizeof(uint32_t), &input_stride); - setArg(3, sizeof(cl_mem), &indices); - setArg(4, sizeof(cl_mem), &tmp_indices); -} diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_MainKernel.h b/src/backend/opencl/kernels/astrobwt/AstroBWT_MainKernel.h deleted file mode 100644 index 812256ebc5..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_MainKernel.h +++ /dev/null @@ -1,48 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef XMRIG_ASTROBWT_MAINKERNEL_H -#define XMRIG_ASTROBWT_MAINKERNEL_H - - -#include "backend/opencl/wrappers/OclKernel.h" - - -namespace xmrig { - - -class AstroBWT_MainKernel : public OclKernel -{ -public: - inline AstroBWT_MainKernel(cl_program program) : OclKernel(program, "BWT") {} - - void enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size); - void setArgs(cl_mem inputs, cl_mem input_sizes, uint32_t input_stride, cl_mem indices, cl_mem tmp_indices); -}; - - -} // namespace xmrig - - -#endif /* XMRIG_ASTROBWT_MAINKERNEL_H */ diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_PrepareBatch2Kernel.cpp b/src/backend/opencl/kernels/astrobwt/AstroBWT_PrepareBatch2Kernel.cpp deleted file mode 100644 index 962e482181..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_PrepareBatch2Kernel.cpp +++ /dev/null @@ -1,41 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/kernels/astrobwt/AstroBWT_PrepareBatch2Kernel.h" -#include "backend/opencl/wrappers/OclLib.h" - - -void xmrig::AstroBWT_PrepareBatch2Kernel::enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size) -{ - enqueueNDRange(queue, 1, nullptr, &threads, &workgroup_size); -} - - -void xmrig::AstroBWT_PrepareBatch2Kernel::setArgs(cl_mem hashes, cl_mem filtered_hashes, cl_mem bwt_data_sizes) -{ - setArg(0, sizeof(cl_mem), &hashes); - setArg(1, sizeof(cl_mem), &filtered_hashes); - setArg(2, sizeof(cl_mem), &bwt_data_sizes); -} diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_PrepareBatch2Kernel.h b/src/backend/opencl/kernels/astrobwt/AstroBWT_PrepareBatch2Kernel.h deleted file mode 100644 index 8dd1f9836b..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_PrepareBatch2Kernel.h +++ /dev/null @@ -1,48 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef XMRIG_ASTROBWT_PREPAREBATCH2KERNEL_H -#define XMRIG_ASTROBWT_PREPAREBATCH2KERNEL_H - - -#include "backend/opencl/wrappers/OclKernel.h" - - -namespace xmrig { - - -class AstroBWT_PrepareBatch2Kernel : public OclKernel -{ -public: - inline AstroBWT_PrepareBatch2Kernel(cl_program program) : OclKernel(program, "prepare_batch2") {} - - void enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size); - void setArgs(cl_mem hashes, cl_mem filtered_hashes, cl_mem bwt_data_sizes); -}; - - -} // namespace xmrig - - -#endif /* XMRIG_ASTROBWT_PREPAREBATCH2KERNEL_H */ diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3InitialKernel.cpp b/src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3InitialKernel.cpp deleted file mode 100644 index ac80ae1012..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3InitialKernel.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/kernels/astrobwt/AstroBWT_SHA3InitialKernel.h" -#include "backend/opencl/wrappers/OclLib.h" - - -void xmrig::AstroBWT_SHA3InitialKernel::enqueue(cl_command_queue queue, size_t threads) -{ - const size_t workgroup_size = 32; - const size_t gthreads = threads * workgroup_size; - enqueueNDRange(queue, 1, nullptr, >hreads, &workgroup_size); -} - - -void xmrig::AstroBWT_SHA3InitialKernel::setArgs(cl_mem input, uint32_t input_size, uint32_t nonce, cl_mem output_salsa20_keys) -{ - setArg(0, sizeof(cl_mem), &input); - setArg(1, sizeof(uint32_t), &input_size); - setArg(2, sizeof(uint32_t), &nonce); - setArg(3, sizeof(cl_mem), &output_salsa20_keys); -} diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3InitialKernel.h b/src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3InitialKernel.h deleted file mode 100644 index ad6486c58f..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3InitialKernel.h +++ /dev/null @@ -1,48 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef XMRIG_ASTROBWT_SHA3INITIALKERNEL_H -#define XMRIG_ASTROBWT_SHA3INITIALKERNEL_H - - -#include "backend/opencl/wrappers/OclKernel.h" - - -namespace xmrig { - - -class AstroBWT_SHA3InitialKernel : public OclKernel -{ -public: - inline AstroBWT_SHA3InitialKernel(cl_program program) : OclKernel(program, "sha3_initial") {} - - void enqueue(cl_command_queue queue, size_t threads); - void setArgs(cl_mem input, uint32_t input_size, uint32_t nonce, cl_mem output_salsa20_keys); -}; - - -} // namespace xmrig - - -#endif /* XMRIG_ASTROBWT_SHA3INITIALKERNEL_H */ diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3Kernel.cpp b/src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3Kernel.cpp deleted file mode 100644 index 323505cb1a..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3Kernel.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/kernels/astrobwt/AstroBWT_SHA3Kernel.h" -#include "backend/opencl/wrappers/OclLib.h" - - -void xmrig::AstroBWT_SHA3Kernel::enqueue(cl_command_queue queue, size_t threads) -{ - const size_t workgroup_size = 32; - const size_t gthreads = threads * workgroup_size; - enqueueNDRange(queue, 1, nullptr, >hreads, &workgroup_size); -} - - -void xmrig::AstroBWT_SHA3Kernel::setArgs(cl_mem inputs, cl_mem input_sizes, uint32_t input_stride, cl_mem output_salsa20_keys) -{ - setArg(0, sizeof(cl_mem), &inputs); - setArg(1, sizeof(cl_mem), &input_sizes); - setArg(2, sizeof(uint32_t), &input_stride); - setArg(3, sizeof(cl_mem), &output_salsa20_keys); -} diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3Kernel.h b/src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3Kernel.h deleted file mode 100644 index 62dc1a1a40..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3Kernel.h +++ /dev/null @@ -1,48 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef XMRIG_ASTROBWT_SHA3KERNEL_H -#define XMRIG_ASTROBWT_SHA3KERNEL_H - - -#include "backend/opencl/wrappers/OclKernel.h" - - -namespace xmrig { - - -class AstroBWT_SHA3Kernel : public OclKernel -{ -public: - inline AstroBWT_SHA3Kernel(cl_program program) : OclKernel(program, "sha3") {} - - void enqueue(cl_command_queue queue, size_t threads); - void setArgs(cl_mem inputs, cl_mem input_sizes, uint32_t input_stride, cl_mem output_salsa20_keys); -}; - - -} // namespace xmrig - - -#endif /* XMRIG_ASTROBWT_SHA3KERNEL_H */ diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_Salsa20Kernel.cpp b/src/backend/opencl/kernels/astrobwt/AstroBWT_Salsa20Kernel.cpp deleted file mode 100644 index 8a0ae9ae59..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_Salsa20Kernel.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/kernels/astrobwt/AstroBWT_Salsa20Kernel.h" -#include "backend/opencl/wrappers/OclLib.h" - - -void xmrig::AstroBWT_Salsa20Kernel::enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size) -{ - const size_t gthreads = threads * workgroup_size; - enqueueNDRange(queue, 1, nullptr, >hreads, &workgroup_size); -} - - -void xmrig::AstroBWT_Salsa20Kernel::setArgs(cl_mem salsa20_keys, cl_mem outputs, cl_mem output_sizes, uint32_t output_stride) -{ - setArg(0, sizeof(cl_mem), &salsa20_keys); - setArg(1, sizeof(cl_mem), &outputs); - setArg(2, sizeof(cl_mem), &output_sizes); - setArg(3, sizeof(uint32_t), &output_stride); -} diff --git a/src/backend/opencl/kernels/astrobwt/AstroBWT_Salsa20Kernel.h b/src/backend/opencl/kernels/astrobwt/AstroBWT_Salsa20Kernel.h deleted file mode 100644 index 945b1fd6c9..0000000000 --- a/src/backend/opencl/kernels/astrobwt/AstroBWT_Salsa20Kernel.h +++ /dev/null @@ -1,48 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef XMRIG_ASTROBWT_SALSA20KERNEL_H -#define XMRIG_ASTROBWT_SALSA20KERNEL_H - - -#include "backend/opencl/wrappers/OclKernel.h" - - -namespace xmrig { - - -class AstroBWT_Salsa20Kernel : public OclKernel -{ -public: - inline AstroBWT_Salsa20Kernel(cl_program program) : OclKernel(program, "Salsa20_XORKeyStream") {} - - void enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size); - void setArgs(cl_mem salsa20_keys, cl_mem outputs, cl_mem output_sizes, uint32_t output_stride); -}; - - -} // namespace xmrig - - -#endif /* XMRIG_ASTROBWT_SALSA20KERNEL_H */ diff --git a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_FixOrderKernel.cpp b/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_FixOrderKernel.cpp deleted file mode 100644 index 5cc812f8bf..0000000000 --- a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_FixOrderKernel.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_FixOrderKernel.h" -#include "backend/opencl/wrappers/OclLib.h" - - -void xmrig::AstroBWT_v2_BWT_FixOrderKernel::enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size) -{ - const size_t gthreads = threads * workgroup_size; - enqueueNDRange(queue, 1, nullptr, >hreads, &workgroup_size); -} - - -void xmrig::AstroBWT_v2_BWT_FixOrderKernel::setArgs(cl_mem datas, cl_mem keys, cl_mem temp_storage) -{ - setArg(0, sizeof(cl_mem), &datas); - setArg(1, sizeof(cl_mem), &keys); - setArg(2, sizeof(cl_mem), &temp_storage); -} diff --git a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_FixOrderKernel.h b/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_FixOrderKernel.h deleted file mode 100644 index 7859e666f3..0000000000 --- a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_FixOrderKernel.h +++ /dev/null @@ -1,44 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - - -#include "backend/opencl/wrappers/OclKernel.h" - - -namespace xmrig { - - -class AstroBWT_v2_BWT_FixOrderKernel : public OclKernel -{ -public: - inline AstroBWT_v2_BWT_FixOrderKernel(cl_program program) : OclKernel(program, "BWT_fix_order") {} - - void enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size); - void setArgs(cl_mem datas, cl_mem keys, cl_mem temp_storage); -}; - - -} // namespace xmrig diff --git a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_PreprocessKernel.cpp b/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_PreprocessKernel.cpp deleted file mode 100644 index aade283167..0000000000 --- a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_PreprocessKernel.cpp +++ /dev/null @@ -1,41 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_PreprocessKernel.h" -#include "backend/opencl/wrappers/OclLib.h" - - -void xmrig::AstroBWT_v2_BWT_PreprocessKernel::enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size) -{ - const size_t gthreads = threads * workgroup_size; - enqueueNDRange(queue, 1, nullptr, >hreads, &workgroup_size); -} - - -void xmrig::AstroBWT_v2_BWT_PreprocessKernel::setArgs(cl_mem datas, cl_mem keys) -{ - setArg(0, sizeof(cl_mem), &datas); - setArg(1, sizeof(cl_mem), &keys); -} diff --git a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_PreprocessKernel.h b/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_PreprocessKernel.h deleted file mode 100644 index dc41fce072..0000000000 --- a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_PreprocessKernel.h +++ /dev/null @@ -1,44 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - - -#include "backend/opencl/wrappers/OclKernel.h" - - -namespace xmrig { - - -class AstroBWT_v2_BWT_PreprocessKernel : public OclKernel -{ -public: - inline AstroBWT_v2_BWT_PreprocessKernel(cl_program program) : OclKernel(program, "BWT_preprocess") {} - - void enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size); - void setArgs(cl_mem datas, cl_mem keys); -}; - - -} // namespace xmrig diff --git a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_FindSharesKernel.cpp b/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_FindSharesKernel.cpp deleted file mode 100644 index 8ca0185a08..0000000000 --- a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_FindSharesKernel.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2019 SChernykh - * Copyright 2016-2019 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_FindSharesKernel.h" -#include "backend/opencl/wrappers/OclLib.h" - - -void xmrig::AstroBWT_v2_FindSharesKernel::enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size) -{ - enqueueNDRange(queue, 1, nullptr, &threads, &workgroup_size); -} - - -void xmrig::AstroBWT_v2_FindSharesKernel::setArgs(cl_mem hashes, cl_mem shares) -{ - setArg(0, sizeof(cl_mem), &hashes); - setArg(2, sizeof(cl_mem), &shares); -} - - -void xmrig::AstroBWT_v2_FindSharesKernel::setTarget(uint64_t target) -{ - setArg(1, sizeof(uint64_t), &target); -} diff --git a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_FindSharesKernel.h b/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_FindSharesKernel.h deleted file mode 100644 index 4b585216e6..0000000000 --- a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_FindSharesKernel.h +++ /dev/null @@ -1,45 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2019 SChernykh - * Copyright 2016-2019 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - - -#include "backend/opencl/wrappers/OclKernel.h" - - -namespace xmrig { - - -class AstroBWT_v2_FindSharesKernel : public OclKernel -{ -public: - inline AstroBWT_v2_FindSharesKernel(cl_program program) : OclKernel(program, "find_shares") {} - - void enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size); - void setArgs(cl_mem hashes, cl_mem shares); - void setTarget(uint64_t target); -}; - - -} // namespace xmrig diff --git a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3InitialKernel.cpp b/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3InitialKernel.cpp deleted file mode 100644 index 5ba0e27523..0000000000 --- a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3InitialKernel.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3InitialKernel.h" -#include "backend/opencl/wrappers/OclLib.h" - - -void xmrig::AstroBWT_v2_SHA3InitialKernel::enqueue(cl_command_queue queue, size_t threads) -{ - const size_t workgroup_size = 32; - const size_t gthreads = threads * workgroup_size; - enqueueNDRange(queue, 1, nullptr, >hreads, &workgroup_size); -} - - -void xmrig::AstroBWT_v2_SHA3InitialKernel::setArgs(cl_mem input, uint32_t input_size, uint32_t nonce, cl_mem output_salsa20_keys) -{ - setArg(0, sizeof(cl_mem), &input); - setArg(1, sizeof(uint32_t), &input_size); - setArg(2, sizeof(uint32_t), &nonce); - setArg(3, sizeof(cl_mem), &output_salsa20_keys); -} diff --git a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3InitialKernel.h b/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3InitialKernel.h deleted file mode 100644 index 1e7d142331..0000000000 --- a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3InitialKernel.h +++ /dev/null @@ -1,44 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - - -#include "backend/opencl/wrappers/OclKernel.h" - - -namespace xmrig { - - -class AstroBWT_v2_SHA3InitialKernel : public OclKernel -{ -public: - inline AstroBWT_v2_SHA3InitialKernel(cl_program program) : OclKernel(program, "sha3_initial") {} - - void enqueue(cl_command_queue queue, size_t threads); - void setArgs(cl_mem input, uint32_t input_size, uint32_t nonce, cl_mem output_salsa20_keys); -}; - - -} // namespace xmrig diff --git a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3Kernel.cpp b/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3Kernel.cpp deleted file mode 100644 index 346e0dc167..0000000000 --- a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3Kernel.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3Kernel.h" -#include "backend/opencl/wrappers/OclLib.h" - - -void xmrig::AstroBWT_v2_SHA3Kernel::enqueue(cl_command_queue queue, size_t threads) -{ - const size_t workgroup_size = 32; - const size_t gthreads = threads * workgroup_size; - enqueueNDRange(queue, 1, nullptr, >hreads, &workgroup_size); -} - - -void xmrig::AstroBWT_v2_SHA3Kernel::setArgs(cl_mem temp_storage, cl_mem hashes) -{ - setArg(0, sizeof(cl_mem), &temp_storage); - setArg(1, sizeof(cl_mem), &hashes); -} diff --git a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3Kernel.h b/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3Kernel.h deleted file mode 100644 index 622abcccde..0000000000 --- a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3Kernel.h +++ /dev/null @@ -1,44 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - - -#include "backend/opencl/wrappers/OclKernel.h" - - -namespace xmrig { - - -class AstroBWT_v2_SHA3Kernel : public OclKernel -{ -public: - inline AstroBWT_v2_SHA3Kernel(cl_program program) : OclKernel(program, "sha3") {} - - void enqueue(cl_command_queue queue, size_t threads); - void setArgs(cl_mem temp_storage, cl_mem hashes); -}; - - -} // namespace xmrig diff --git a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_Salsa20Kernel.cpp b/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_Salsa20Kernel.cpp deleted file mode 100644 index 902f818cc4..0000000000 --- a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_Salsa20Kernel.cpp +++ /dev/null @@ -1,41 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - - -#include "backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_Salsa20Kernel.h" -#include "backend/opencl/wrappers/OclLib.h" - - -void xmrig::AstroBWT_v2_Salsa20Kernel::enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size) -{ - const size_t gthreads = threads * workgroup_size; - enqueueNDRange(queue, 1, nullptr, >hreads, &workgroup_size); -} - - -void xmrig::AstroBWT_v2_Salsa20Kernel::setArgs(cl_mem salsa20_keys, cl_mem outputs) -{ - setArg(0, sizeof(cl_mem), &salsa20_keys); - setArg(1, sizeof(cl_mem), &outputs); -} diff --git a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_Salsa20Kernel.h b/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_Salsa20Kernel.h deleted file mode 100644 index 85fa522298..0000000000 --- a/src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_Salsa20Kernel.h +++ /dev/null @@ -1,44 +0,0 @@ -/* XMRig - * Copyright 2010 Jeff Garzik - * Copyright 2012-2014 pooler - * Copyright 2014 Lucas Jones - * Copyright 2014-2016 Wolf9466 - * Copyright 2016 Jay D Dee - * Copyright 2017-2018 XMR-Stak , - * Copyright 2018-2020 SChernykh - * Copyright 2016-2020 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - - -#include "backend/opencl/wrappers/OclKernel.h" - - -namespace xmrig { - - -class AstroBWT_v2_Salsa20Kernel : public OclKernel -{ -public: - inline AstroBWT_v2_Salsa20Kernel(cl_program program) : OclKernel(program, "Salsa20_XORKeyStream") {} - - void enqueue(cl_command_queue queue, size_t threads, size_t workgroup_size); - void setArgs(cl_mem salsa20_keys, cl_mem outputs); -}; - - -} // namespace xmrig diff --git a/src/backend/opencl/opencl.cmake b/src/backend/opencl/opencl.cmake index e9e69e8cce..84912c1863 100644 --- a/src/backend/opencl/opencl.cmake +++ b/src/backend/opencl/opencl.cmake @@ -110,45 +110,6 @@ if (WITH_OPENCL) ) endif() - if (WITH_ASTROBWT) - list(APPEND HEADERS_BACKEND_OPENCL - src/backend/opencl/kernels/astrobwt/AstroBWT_FilterKernel.h - src/backend/opencl/kernels/astrobwt/AstroBWT_FindSharesKernel.h - src/backend/opencl/kernels/astrobwt/AstroBWT_MainKernel.h - src/backend/opencl/kernels/astrobwt/AstroBWT_PrepareBatch2Kernel.h - src/backend/opencl/kernels/astrobwt/AstroBWT_Salsa20Kernel.h - src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3InitialKernel.h - src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3Kernel.h - src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_FixOrderKernel.h - src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_PreprocessKernel.h - src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_FindSharesKernel.h - src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_Salsa20Kernel.h - src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3InitialKernel.h - src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3Kernel.h - src/backend/opencl/runners/OclAstroBWTRunner.h - src/backend/opencl/runners/OclAstroBWT_v2_Runner.h - ) - - list(APPEND SOURCES_BACKEND_OPENCL - src/backend/opencl/generators/ocl_generic_astrobwt_generator.cpp - src/backend/opencl/kernels/astrobwt/AstroBWT_FilterKernel.cpp - src/backend/opencl/kernels/astrobwt/AstroBWT_FindSharesKernel.cpp - src/backend/opencl/kernels/astrobwt/AstroBWT_MainKernel.cpp - src/backend/opencl/kernels/astrobwt/AstroBWT_PrepareBatch2Kernel.cpp - src/backend/opencl/kernels/astrobwt/AstroBWT_Salsa20Kernel.cpp - src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3InitialKernel.cpp - src/backend/opencl/kernels/astrobwt/AstroBWT_SHA3Kernel.cpp - src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_FixOrderKernel.cpp - src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_PreprocessKernel.cpp - src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_FindSharesKernel.cpp - src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_Salsa20Kernel.cpp - src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3InitialKernel.cpp - src/backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3Kernel.cpp - src/backend/opencl/runners/OclAstroBWTRunner.cpp - src/backend/opencl/runners/OclAstroBWT_v2_Runner.cpp - ) - endif() - if (WITH_KAWPOW) list(APPEND HEADERS_BACKEND_OPENCL src/backend/opencl/kernels/kawpow/KawPow_CalculateDAGKernel.h diff --git a/src/backend/opencl/runners/OclAstroBWTRunner.cpp b/src/backend/opencl/runners/OclAstroBWTRunner.cpp deleted file mode 100644 index 76b1107c92..0000000000 --- a/src/backend/opencl/runners/OclAstroBWTRunner.cpp +++ /dev/null @@ -1,214 +0,0 @@ -/* XMRig - * Copyright (c) 2018-2021 SChernykh - * Copyright (c) 2016-2021 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "backend/opencl/runners/OclAstroBWTRunner.h" -#include "backend/opencl/kernels/astrobwt/AstroBWT_FilterKernel.h" -#include "backend/opencl/kernels/astrobwt/AstroBWT_FindSharesKernel.h" -#include "backend/opencl/kernels/astrobwt/AstroBWT_MainKernel.h" -#include "backend/opencl/kernels/astrobwt/AstroBWT_PrepareBatch2Kernel.h" -#include "backend/opencl/kernels/astrobwt/AstroBWT_Salsa20Kernel.h" -#include "backend/opencl/kernels/astrobwt/AstroBWT_SHA3InitialKernel.h" -#include "backend/opencl/kernels/astrobwt/AstroBWT_SHA3Kernel.h" -#include "backend/opencl/OclLaunchData.h" -#include "backend/opencl/wrappers/OclLib.h" -#include "base/io/log/Log.h" -#include "base/net/stratum/Job.h" - - -namespace xmrig { - - -constexpr int STAGE1_SIZE = 147253; -constexpr uint32_t STAGE1_DATA_STRIDE = (STAGE1_SIZE + 256 + 255) & ~255U; -constexpr uint32_t OclAstroBWTRunner::BWT_DATA_STRIDE; - - -} // namespace xmrig - - -xmrig::OclAstroBWTRunner::OclAstroBWTRunner(size_t index, const OclLaunchData &data) : OclBaseRunner(index, data) -{ - switch (data.device.type()) - { - case OclDevice::Baffin: - case OclDevice::Ellesmere: - case OclDevice::Polaris: - case OclDevice::Lexa: - case OclDevice::Vega_10: - case OclDevice::Vega_20: - case OclDevice::Raven: - m_workgroup_size = 64; - break; - - default: - m_workgroup_size = 32; - break; - } - - m_options += " -DSALSA20_GROUP_SIZE=" + std::to_string(m_workgroup_size); - m_options += " -DBWT_GROUP_SIZE=" + std::to_string(m_workgroup_size); - - m_bwt_allocation_size = static_cast(m_intensity) * BWT_DATA_STRIDE; - m_batch_size1 = static_cast(m_bwt_allocation_size / STAGE1_DATA_STRIDE + 255U) & ~255U; - m_bwt_allocation_size = std::max(m_bwt_allocation_size, m_batch_size1 * STAGE1_DATA_STRIDE); - - m_bwt_data_sizes_host = new uint32_t[m_batch_size1]; -} - - -xmrig::OclAstroBWTRunner::~OclAstroBWTRunner() -{ - delete m_sha3_initial_kernel; - delete m_sha3_kernel; - delete m_salsa20_kernel; - delete m_bwt_kernel; - delete m_filter_kernel; - delete m_prepare_batch2_kernel; - delete m_find_shares_kernel; - - OclLib::release(m_salsa20_keys); - OclLib::release(m_bwt_data); - OclLib::release(m_bwt_data_sizes); - OclLib::release(m_indices); - OclLib::release(m_tmp_indices); - OclLib::release(m_filtered_hashes); - - delete [] m_bwt_data_sizes_host; -} - - -size_t xmrig::OclAstroBWTRunner::bufferSize() const -{ - return OclBaseRunner::bufferSize() + - align(m_batch_size1 * 32) + // m_salsa20_keys - align(m_bwt_allocation_size) + // m_bwt_data - align(m_batch_size1 * 4) + // m_bwt_data_sizes - align(m_bwt_allocation_size * 8) + // m_indices - align(m_bwt_allocation_size * 8) + // m_tmp_indices - align((m_batch_size1 + m_intensity) * 36 + 4); // m_filtered_hashes -} - - -void xmrig::OclAstroBWTRunner::run(uint32_t nonce, uint32_t *hashOutput) -{ - m_sha3_initial_kernel->setArg(2, sizeof(nonce), &nonce); - m_salsa20_kernel->setArg(3, sizeof(STAGE1_DATA_STRIDE), &STAGE1_DATA_STRIDE); - m_bwt_kernel->setArg(2, sizeof(STAGE1_DATA_STRIDE), &STAGE1_DATA_STRIDE); - - const uint32_t t = STAGE1_DATA_STRIDE * 8; - m_sha3_kernel->setArg(2, sizeof(t), &t); - m_filter_kernel->setArg(0, sizeof(nonce), &nonce); - - const uint32_t zero = 0; - enqueueWriteBuffer(m_output, CL_FALSE, sizeof(cl_uint) * 0xFF, sizeof(uint32_t), &zero); - - m_sha3_initial_kernel->enqueue(m_queue, m_batch_size1); - - for (uint32_t i = 0; i < m_batch_size1; ++i) { - m_bwt_data_sizes_host[i] = STAGE1_SIZE; - } - - enqueueWriteBuffer(m_bwt_data_sizes, CL_FALSE, 0, m_batch_size1 * sizeof(uint32_t), m_bwt_data_sizes_host); - - m_salsa20_kernel->enqueue(m_queue, m_batch_size1, m_workgroup_size); - m_bwt_kernel->enqueue(m_queue, m_batch_size1, m_workgroup_size); - m_sha3_kernel->enqueue(m_queue, m_batch_size1); - m_filter_kernel->enqueue(m_queue, m_batch_size1, m_workgroup_size); - - uint32_t num_filtered_hashes = 0; - enqueueReadBuffer(m_filtered_hashes, CL_TRUE, 0, sizeof(num_filtered_hashes), &num_filtered_hashes); - - m_processedHashes = 0; - while (num_filtered_hashes >= m_intensity) - { - num_filtered_hashes -= m_intensity; - m_processedHashes += m_intensity; - - m_salsa20_kernel->setArg(3, sizeof(BWT_DATA_STRIDE), &BWT_DATA_STRIDE); - m_bwt_kernel->setArg(2, sizeof(BWT_DATA_STRIDE), &BWT_DATA_STRIDE); - - const uint32_t t = BWT_DATA_STRIDE * 8; - m_sha3_kernel->setArg(2, sizeof(t), &t); - - m_prepare_batch2_kernel->enqueue(m_queue, m_intensity, m_workgroup_size); - m_salsa20_kernel->enqueue(m_queue, m_intensity, m_workgroup_size); - m_bwt_kernel->enqueue(m_queue, m_intensity, m_workgroup_size); - m_sha3_kernel->enqueue(m_queue, m_intensity); - - m_find_shares_kernel->enqueue(m_queue, m_intensity, m_workgroup_size); - - finalize(hashOutput); - - OclLib::finish(m_queue); - } -} - - -void xmrig::OclAstroBWTRunner::set(const Job &job, uint8_t *blob) -{ - if (job.size() > (Job::kMaxBlobSize - 4)) { - throw std::length_error("job size too big"); - } - - if (job.size() < Job::kMaxBlobSize) { - memset(blob + job.size(), 0, Job::kMaxBlobSize - job.size()); - } - - enqueueWriteBuffer(m_input, CL_TRUE, 0, Job::kMaxBlobSize, blob); - - m_sha3_initial_kernel->setArgs(m_input, static_cast(job.size()), *job.nonce(), m_salsa20_keys); - m_salsa20_kernel->setArgs(m_salsa20_keys, m_bwt_data, m_bwt_data_sizes, STAGE1_DATA_STRIDE); - m_bwt_kernel->setArgs(m_bwt_data, m_bwt_data_sizes, STAGE1_DATA_STRIDE, m_indices, m_tmp_indices); - m_sha3_kernel->setArgs(m_tmp_indices, m_bwt_data_sizes, STAGE1_DATA_STRIDE * 8, m_salsa20_keys); - m_filter_kernel->setArgs(*job.nonce(), BWT_DATA_MAX_SIZE, m_salsa20_keys, m_filtered_hashes); - m_prepare_batch2_kernel->setArgs(m_salsa20_keys, m_filtered_hashes, m_bwt_data_sizes); - m_find_shares_kernel->setArgs(m_salsa20_keys, m_filtered_hashes, m_output); - m_find_shares_kernel->setTarget(job.target()); - - const uint32_t zero = 0; - enqueueWriteBuffer(m_filtered_hashes, CL_TRUE, 0, sizeof(uint32_t), &zero); -} - - -void xmrig::OclAstroBWTRunner::build() -{ - OclBaseRunner::build(); - - m_sha3_initial_kernel = new AstroBWT_SHA3InitialKernel(m_program); - m_sha3_kernel = new AstroBWT_SHA3Kernel(m_program); - m_salsa20_kernel = new AstroBWT_Salsa20Kernel(m_program); - m_bwt_kernel = new AstroBWT_MainKernel(m_program); - m_filter_kernel = new AstroBWT_FilterKernel(m_program); - m_prepare_batch2_kernel = new AstroBWT_PrepareBatch2Kernel(m_program); - m_find_shares_kernel = new AstroBWT_FindSharesKernel(m_program); -} - - -void xmrig::OclAstroBWTRunner::init() -{ - OclBaseRunner::init(); - - const cl_mem_flags f = CL_MEM_READ_WRITE | CL_MEM_HOST_NO_ACCESS; - - m_salsa20_keys = createSubBuffer(f, m_batch_size1 * 32); - m_bwt_data = createSubBuffer(f, m_bwt_allocation_size); - m_bwt_data_sizes = createSubBuffer(CL_MEM_READ_WRITE | CL_MEM_HOST_WRITE_ONLY, m_batch_size1 * 4); - m_indices = createSubBuffer(f, m_bwt_allocation_size * 8); - m_tmp_indices = createSubBuffer(f, m_bwt_allocation_size * 8); - m_filtered_hashes = createSubBuffer(CL_MEM_READ_WRITE, (m_batch_size1 + m_intensity) * 36 + 4); -} diff --git a/src/backend/opencl/runners/OclAstroBWTRunner.h b/src/backend/opencl/runners/OclAstroBWTRunner.h deleted file mode 100644 index d1204f9200..0000000000 --- a/src/backend/opencl/runners/OclAstroBWTRunner.h +++ /dev/null @@ -1,89 +0,0 @@ -/* XMRig - * Copyright (c) 2018-2021 SChernykh - * Copyright (c) 2016-2021 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef XMRIG_OCLASTROBWTRUNNER_H -#define XMRIG_OCLASTROBWTRUNNER_H - - -#include "backend/opencl/runners/OclBaseRunner.h" - -namespace xmrig { - - -class AstroBWT_FilterKernel; -class AstroBWT_MainKernel; -class AstroBWT_PrepareBatch2Kernel; -class AstroBWT_Salsa20Kernel; -class AstroBWT_SHA3InitialKernel; -class AstroBWT_SHA3Kernel; -class AstroBWT_FindSharesKernel; - - -class OclAstroBWTRunner : public OclBaseRunner -{ -public: - static constexpr uint32_t BWT_DATA_MAX_SIZE = 600 * 1024 - 256; - static constexpr uint32_t BWT_DATA_STRIDE = (BWT_DATA_MAX_SIZE + 256 + 255) & ~255U; - - XMRIG_DISABLE_COPY_MOVE_DEFAULT(OclAstroBWTRunner) - - OclAstroBWTRunner(size_t index, const OclLaunchData &data); - ~OclAstroBWTRunner() override; - - inline uint32_t roundSize() const override { return static_cast(m_batch_size1); } - - // ~0.5% of all hashes are invalid - inline uint32_t processedHashes() const override { return static_cast(m_processedHashes * 0.995); } - -protected: - size_t bufferSize() const override; - void run(uint32_t nonce, uint32_t *hashOutput) override; - void set(const Job &job, uint8_t *blob) override; - void build() override; - void init() override; - -private: - AstroBWT_SHA3InitialKernel* m_sha3_initial_kernel = nullptr; - AstroBWT_SHA3Kernel* m_sha3_kernel = nullptr; - AstroBWT_Salsa20Kernel* m_salsa20_kernel = nullptr; - AstroBWT_MainKernel* m_bwt_kernel = nullptr; - AstroBWT_FilterKernel* m_filter_kernel = nullptr; - AstroBWT_PrepareBatch2Kernel* m_prepare_batch2_kernel = nullptr; - AstroBWT_FindSharesKernel* m_find_shares_kernel = nullptr; - - - cl_mem m_salsa20_keys = nullptr; - cl_mem m_bwt_data = nullptr; - cl_mem m_bwt_data_sizes = nullptr; - cl_mem m_indices = nullptr; - cl_mem m_tmp_indices = nullptr; - cl_mem m_filtered_hashes = nullptr; - - uint32_t m_workgroup_size = 0; - uint64_t m_bwt_allocation_size = 0; - uint64_t m_batch_size1 = 0; - uint32_t m_processedHashes = 0; - - uint32_t* m_bwt_data_sizes_host = nullptr; -}; - - -} /* namespace xmrig */ - - -#endif // XMRIG_OCLASTROBWTRUNNER_H diff --git a/src/backend/opencl/runners/OclAstroBWT_v2_Runner.cpp b/src/backend/opencl/runners/OclAstroBWT_v2_Runner.cpp deleted file mode 100644 index f369d0d723..0000000000 --- a/src/backend/opencl/runners/OclAstroBWT_v2_Runner.cpp +++ /dev/null @@ -1,155 +0,0 @@ -/* XMRig - * Copyright (c) 2018-2021 SChernykh - * Copyright (c) 2016-2021 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "backend/opencl/runners/OclAstroBWT_v2_Runner.h" -#include "backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_FindSharesKernel.h" -#include "backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_FixOrderKernel.h" -#include "backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_BWT_PreprocessKernel.h" -#include "backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_Salsa20Kernel.h" -#include "backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3InitialKernel.h" -#include "backend/opencl/kernels/astrobwt_v2/AstroBWT_v2_SHA3Kernel.h" -#include "backend/opencl/OclLaunchData.h" -#include "backend/opencl/wrappers/OclLib.h" -#include "base/io/log/Log.h" -#include "base/net/stratum/Job.h" - - -xmrig::OclAstroBWT_v2_Runner::OclAstroBWT_v2_Runner(size_t index, const OclLaunchData &data) : OclBaseRunner(index, data) -{ - switch (data.device.type()) - { - case OclDevice::Baffin: - case OclDevice::Ellesmere: - case OclDevice::Polaris: - case OclDevice::Lexa: - case OclDevice::Vega_10: - case OclDevice::Vega_20: - case OclDevice::Raven: - m_workgroup_size = 64; - break; - - default: - m_workgroup_size = 32; - break; - } - - m_options += " -DSALSA20_GROUP_SIZE=" + std::to_string(m_workgroup_size); - m_bwt_allocation_size = m_intensity * BWT_DATA_STRIDE; -} - - -xmrig::OclAstroBWT_v2_Runner::~OclAstroBWT_v2_Runner() -{ - delete m_find_shares_kernel; - delete m_bwt_fix_order_kernel; - delete m_bwt_preprocess_kernel; - delete m_salsa20_kernel; - delete m_sha3_initial_kernel; - delete m_sha3_kernel; - - OclLib::release(m_input); - OclLib::release(m_hashes); - OclLib::release(m_data); - OclLib::release(m_keys); - OclLib::release(m_temp_storage); -} - - -size_t xmrig::OclAstroBWT_v2_Runner::bufferSize() const -{ - return OclBaseRunner::bufferSize() + - align(m_intensity * 32) + // m_hashes - align(m_bwt_allocation_size) + // m_data - align(m_bwt_allocation_size * 4) + // m_keys - align(m_bwt_allocation_size * 2); // m_temp_storage -} - - -void xmrig::OclAstroBWT_v2_Runner::run(uint32_t nonce, uint32_t *hashOutput) -{ - const uint32_t zero = 0; - enqueueWriteBuffer(m_output, CL_FALSE, sizeof(cl_uint) * 0xFF, sizeof(uint32_t), &zero); - - m_sha3_initial_kernel->setArg(2, sizeof(nonce), &nonce); - m_sha3_initial_kernel->enqueue(m_queue, m_intensity); - - m_salsa20_kernel->enqueue(m_queue, m_intensity, m_workgroup_size); - - m_bwt_preprocess_kernel->enqueue(m_queue, m_intensity, 1024); - m_bwt_fix_order_kernel->enqueue(m_queue, m_intensity, 1024); - - m_sha3_kernel->enqueue(m_queue, m_intensity); - - m_find_shares_kernel->enqueue(m_queue, m_intensity, m_workgroup_size); - - finalize(hashOutput); - - OclLib::finish(m_queue); - - for (uint32_t i = 0; i < hashOutput[0xFF]; ++i) { - hashOutput[i] += nonce; - } -} - - -void xmrig::OclAstroBWT_v2_Runner::set(const Job &job, uint8_t *blob) -{ - if (job.size() > (Job::kMaxBlobSize - 4)) { - throw std::length_error("job size too big"); - } - - if (job.size() < Job::kMaxBlobSize) { - memset(blob + job.size(), 0, Job::kMaxBlobSize - job.size()); - } - - enqueueWriteBuffer(m_input, CL_TRUE, 0, Job::kMaxBlobSize, blob); - - m_sha3_initial_kernel->setArgs(m_input, static_cast(job.size()), *job.nonce(), m_hashes); - m_salsa20_kernel->setArgs(m_hashes, m_data); - m_bwt_preprocess_kernel->setArgs(m_data, m_keys); - m_bwt_fix_order_kernel->setArgs(m_data, m_keys, m_temp_storage); - m_sha3_kernel->setArgs(m_temp_storage, m_hashes); - m_find_shares_kernel->setArgs(m_hashes, m_output); - m_find_shares_kernel->setTarget(job.target()); -} - - -void xmrig::OclAstroBWT_v2_Runner::build() -{ - OclBaseRunner::build(); - - m_find_shares_kernel = new AstroBWT_v2_FindSharesKernel(m_program); - m_bwt_fix_order_kernel = new AstroBWT_v2_BWT_FixOrderKernel(m_program); - m_bwt_preprocess_kernel = new AstroBWT_v2_BWT_PreprocessKernel(m_program); - m_salsa20_kernel = new AstroBWT_v2_Salsa20Kernel(m_program); - m_sha3_initial_kernel = new AstroBWT_v2_SHA3InitialKernel(m_program); - m_sha3_kernel = new AstroBWT_v2_SHA3Kernel(m_program); -} - - -void xmrig::OclAstroBWT_v2_Runner::init() -{ - OclBaseRunner::init(); - - const cl_mem_flags f = CL_MEM_READ_WRITE | CL_MEM_HOST_NO_ACCESS; - - m_hashes = createSubBuffer(f, m_intensity * 32); - m_data = createSubBuffer(f, m_bwt_allocation_size); - m_keys = createSubBuffer(f, m_bwt_allocation_size * 4); - m_temp_storage = createSubBuffer(f, m_bwt_allocation_size * 2); -} diff --git a/src/backend/opencl/runners/OclAstroBWT_v2_Runner.h b/src/backend/opencl/runners/OclAstroBWT_v2_Runner.h deleted file mode 100644 index 722a0545a8..0000000000 --- a/src/backend/opencl/runners/OclAstroBWT_v2_Runner.h +++ /dev/null @@ -1,78 +0,0 @@ -/* XMRig - * Copyright (c) 2018-2021 SChernykh - * Copyright (c) 2016-2021 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#ifndef XMRIG_OclAstroBWT_v2_Runner_H -#define XMRIG_OclAstroBWT_v2_Runner_H - - -#include "backend/opencl/runners/OclBaseRunner.h" - -namespace xmrig { - - -class AstroBWT_v2_FindSharesKernel; -class AstroBWT_v2_BWT_FixOrderKernel; -class AstroBWT_v2_BWT_PreprocessKernel; -class AstroBWT_v2_Salsa20Kernel; -class AstroBWT_v2_SHA3InitialKernel; -class AstroBWT_v2_SHA3Kernel; - - -class OclAstroBWT_v2_Runner : public OclBaseRunner -{ -public: - static constexpr uint32_t BWT_DATA_SIZE = 9973; - static constexpr uint32_t BWT_DATA_STRIDE = 10240; - - XMRIG_DISABLE_COPY_MOVE_DEFAULT(OclAstroBWT_v2_Runner) - - OclAstroBWT_v2_Runner(size_t index, const OclLaunchData &data); - ~OclAstroBWT_v2_Runner() override; - - inline uint32_t roundSize() const override { return m_intensity; } - inline uint32_t processedHashes() const override { return m_intensity; } - -protected: - size_t bufferSize() const override; - void run(uint32_t nonce, uint32_t *hashOutput) override; - void set(const Job &job, uint8_t *blob) override; - void build() override; - void init() override; - -private: - AstroBWT_v2_FindSharesKernel* m_find_shares_kernel = nullptr; - AstroBWT_v2_BWT_FixOrderKernel* m_bwt_fix_order_kernel = nullptr; - AstroBWT_v2_BWT_PreprocessKernel* m_bwt_preprocess_kernel = nullptr; - AstroBWT_v2_Salsa20Kernel* m_salsa20_kernel = nullptr; - AstroBWT_v2_SHA3InitialKernel* m_sha3_initial_kernel = nullptr; - AstroBWT_v2_SHA3Kernel* m_sha3_kernel = nullptr; - - cl_mem m_hashes = nullptr; - cl_mem m_data = nullptr; - cl_mem m_keys = nullptr; - cl_mem m_temp_storage = nullptr; - - uint32_t m_workgroup_size = 0; - uint32_t m_bwt_allocation_size = 0; -}; - - -} /* namespace xmrig */ - - -#endif // XMRIG_OclAstroBWT_v2_Runner_H diff --git a/src/backend/opencl/wrappers/OclDevice.cpp b/src/backend/opencl/wrappers/OclDevice.cpp index 54557cbe2e..bd1ccb4533 100644 --- a/src/backend/opencl/wrappers/OclDevice.cpp +++ b/src/backend/opencl/wrappers/OclDevice.cpp @@ -47,10 +47,6 @@ namespace xmrig { extern bool ocl_generic_rx_generator(const OclDevice &device, const Algorithm &algorithm, OclThreads &threads); #endif -#ifdef XMRIG_ALGO_ASTROBWT -extern bool ocl_generic_astrobwt_generator(const OclDevice& device, const Algorithm& algorithm, OclThreads& threads); -#endif - #ifdef XMRIG_ALGO_KAWPOW extern bool ocl_generic_kawpow_generator(const OclDevice& device, const Algorithm& algorithm, OclThreads& threads); #endif @@ -63,9 +59,6 @@ static ocl_gen_config_fun generators[] = { # ifdef XMRIG_ALGO_RANDOMX ocl_generic_rx_generator, # endif -# ifdef XMRIG_ALGO_ASTROBWT - ocl_generic_astrobwt_generator, -# endif # ifdef XMRIG_ALGO_KAWPOW ocl_generic_kawpow_generator, # endif diff --git a/src/base/crypto/Algorithm.cpp b/src/base/crypto/Algorithm.cpp index 6a20a5b513..6e76fd2637 100644 --- a/src/base/crypto/Algorithm.cpp +++ b/src/base/crypto/Algorithm.cpp @@ -91,12 +91,6 @@ const char *Algorithm::kAR2_CHUKWA_V2 = "argon2/chukwav2"; const char *Algorithm::kAR2_WRKZ = "argon2/ninja"; #endif -#ifdef XMRIG_ALGO_ASTROBWT -const char *Algorithm::kASTROBWT = "astrobwt"; -const char *Algorithm::kASTROBWT_DERO = "astrobwt"; -const char *Algorithm::kASTROBWT_DERO_2 = "astrobwt/v2"; -#endif - #ifdef XMRIG_ALGO_KAWPOW const char *Algorithm::kKAWPOW = "kawpow"; const char *Algorithm::kKAWPOW_RVN = "kawpow"; @@ -162,11 +156,6 @@ static const std::map kAlgorithmNames = { ALGO_NAME(AR2_WRKZ), # endif -# ifdef XMRIG_ALGO_ASTROBWT - ALGO_NAME(ASTROBWT_DERO), - ALGO_NAME(ASTROBWT_DERO_2), -# endif - # ifdef XMRIG_ALGO_KAWPOW ALGO_NAME(KAWPOW_RVN), # endif @@ -282,13 +271,6 @@ static const std::map kAlgorithmAlias ALGO_ALIAS_AUTO(AR2_WRKZ), ALGO_ALIAS(AR2_WRKZ, "argon2/wrkz"), # endif -# ifdef XMRIG_ALGO_ASTROBWT - ALGO_ALIAS_AUTO(ASTROBWT_DERO), ALGO_ALIAS(ASTROBWT_DERO, "astrobwt/dero"), - ALGO_ALIAS_AUTO(ASTROBWT_DERO_2), ALGO_ALIAS(ASTROBWT_DERO_2, "astrobwt/v2"), - ALGO_ALIAS_AUTO(ASTROBWT_DERO_2), ALGO_ALIAS(ASTROBWT_DERO_2, "astrobwt/dero_he"), - ALGO_ALIAS_AUTO(ASTROBWT_DERO_2), ALGO_ALIAS(ASTROBWT_DERO_2, "astrobwt/derohe"), -# endif - # ifdef XMRIG_ALGO_KAWPOW ALGO_ALIAS_AUTO(KAWPOW_RVN), ALGO_ALIAS(KAWPOW_RVN, "kawpow/rvn"), # endif @@ -370,7 +352,6 @@ std::vector xmrig::Algorithm::all(const std::function DaemonClient::m_storage; static const char* kBlocktemplateBlob = "blocktemplate_blob"; static const char* kBlockhashingBlob = "blockhashing_blob"; -static const char* kLastError = "lasterror"; static const char *kGetHeight = "/getheight"; static const char *kGetInfo = "/getinfo"; static const char *kHash = "hash"; @@ -81,14 +80,6 @@ static constexpr size_t kZMQGreetingSize1 = 11; static const char kZMQHandshake[] = "\4\x19\5READY\xbSocket-Type\0\0\0\3SUB"; static const char kZMQSubscribe[] = "\0\x18\1json-minimal-chain_main"; -static const char kWSSLogin[] = "\ -GET /ws/%s HTTP/1.1\r\n\ -Host: %s\r\n\ -Upgrade: websocket\r\n\ -Connection: Upgrade\r\n\ -Sec-WebSocket-Key: %s\r\n\ -Sec-WebSocket-Version: 13\r\n\r\n"; - } // namespace xmrig @@ -105,20 +96,11 @@ xmrig::DaemonClient::~DaemonClient() { delete m_timer; delete m_ZMQSocket; -# ifdef XMRIG_FEATURE_TLS - delete m_wss.m_socket; -# endif } void xmrig::DaemonClient::deleteLater() { -# ifdef XMRIG_FEATURE_TLS - if (m_pool.isWSS()) { - WSSClose(true); - } - else -# endif if (m_pool.zmq_port() >= 0) { ZMQClose(true); } @@ -148,19 +130,13 @@ bool xmrig::DaemonClient::isTLS() const } -bool xmrig::DaemonClient::isWSS() const -{ - return m_pool.isWSS(); -} - - int64_t xmrig::DaemonClient::submit(const JobResult &result) { if (result.jobId != m_currentJobId) { return -1; } - char *data = (m_apiVersion == API_DERO) ? m_blockhashingblob.data() : m_blocktemplateStr.data(); + char *data = m_blocktemplateStr.data(); const size_t sig_offset = m_job.nonceOffset() + m_job.nonceSize(); @@ -182,17 +158,6 @@ int64_t xmrig::DaemonClient::submit(const JobResult &result) Cvt::toHex(data + m_job.nonceOffset() * 2, 8, reinterpret_cast(&result.nonce), 4); -# ifdef XMRIG_FEATURE_TLS - if (m_pool.isWSS() && (m_apiVersion == API_DERO) && (m_pool.algorithm().id() == Algorithm::ASTROBWT_DERO_2)) { - char buf[256]; - const int n = snprintf(buf, sizeof(buf), "{\"jobid\":\"%s\",\"mbl_blob\":\"%s\"}", m_job.id().data(), data); - if (0 <= n && n < static_cast(sizeof(buf))) { - return WSSWrite(buf, n) ? 1 : -1; - } - return -1; - } -# endif - if (m_blocktemplate.hasMinerSignature()) { Cvt::toHex(data + sig_offset * 2, 128, result.minerSignature(), 64); } @@ -203,13 +168,7 @@ int64_t xmrig::DaemonClient::submit(const JobResult &result) Document doc(kObjectType); Value params(kArrayType); - if (m_apiVersion == API_DERO) { - params.PushBack(m_blocktemplateStr.toJSON(), doc.GetAllocator()); - params.PushBack(m_blockhashingblob.toJSON(), doc.GetAllocator()); - } - else { - params.PushBack(m_blocktemplateStr.toJSON(), doc.GetAllocator()); - } + params.PushBack(m_blocktemplateStr.toJSON(), doc.GetAllocator()); JsonRequest::create(doc, m_sequence, "submitblock", params); @@ -243,16 +202,11 @@ void xmrig::DaemonClient::connect() m_pool.setAlgo(m_coin.algorithm()); } - const xmrig::Algorithm algo = m_pool.algorithm(); - if ((algo == Algorithm::ASTROBWT_DERO) || (algo == Algorithm::ASTROBWT_DERO_2) || (m_coin == Coin::DERO) || (m_coin == Coin::DERO_HE)) { - m_apiVersion = API_DERO; - } - if ((m_apiVersion == API_MONERO) && !m_walletAddress.isValid()) { return connectError("Invalid wallet address."); } - if ((m_pool.zmq_port() >= 0) || m_pool.isWSS()) { + if (m_pool.zmq_port() >= 0) { m_dns = Dns::resolve(m_pool.host(), this); } else { @@ -353,15 +307,7 @@ void xmrig::DaemonClient::onTimer(const Timer *) connect(); } else if (m_state == ConnectedState) { - if (m_pool.isWSS()) { - return; - } - if (m_apiVersion == API_DERO) { - rpcSend(JsonRequest::create(m_sequence, "get_info")); - } - else { - send((m_apiVersion == API_MONERO) ? kGetHeight : kGetInfo); - } + send((m_apiVersion == API_MONERO) ? kGetHeight : kGetInfo); } } @@ -396,14 +342,6 @@ void xmrig::DaemonClient::onResolved(const DnsRecords &records, int status, cons uv_tcp_keepalive(s, 1, 60); # endif -# ifdef XMRIG_FEATURE_TLS - if (m_pool.isWSS()) { - delete m_wss.m_socket; - m_wss.m_socket = s; - uv_tcp_connect(req, s, record.addr(m_pool.port()), onWSSConnect); - } - else -# endif if (m_pool.zmq_port() > 0) { delete m_ZMQSocket; m_ZMQSocket = s; @@ -511,11 +449,6 @@ bool xmrig::DaemonClient::parseJob(const rapidjson::Value ¶ms, int *code) # endif } - if (m_apiVersion == API_DERO) { - const uint64_t offset = Json::getUint64(params, "reserved_offset"); - Cvt::toHex(m_blockhashingblob.data() + offset * 2, kBlobReserveSize * 2, Cvt::randomBytes(kBlobReserveSize).data(), kBlobReserveSize); - } - if (m_coin.isValid()) { job.setAlgorithm(m_coin.algorithm(m_blocktemplate.majorVersion())); } @@ -536,13 +469,6 @@ bool xmrig::DaemonClient::parseJob(const rapidjson::Value ¶ms, int *code) m_blocktemplateStr = std::move(blocktemplate); m_prevHash = Json::getString(params, "prev_hash"); - if (m_apiVersion == API_DERO) { - // Truncate to 32 bytes to have the same data as in get_info RPC - if (m_prevHash.size() > 64) { - m_prevHash.data()[64] = '\0'; - } - } - if (m_state == ConnectingState) { setState(ConnectedState); } @@ -586,13 +512,6 @@ bool xmrig::DaemonClient::parseResponse(int64_t id, const rapidjson::Value &resu const char* error_msg = nullptr; - if ((m_apiVersion == API_DERO) && result.HasMember("status")) { - error_msg = result["status"].GetString(); - if (!error_msg || (strlen(error_msg) == 0) || (strcmp(error_msg, "OK") == 0)) { - error_msg = nullptr; - } - } - if (handleSubmitResponse(id, error_msg)) { if (error_msg || (m_pool.zmq_port() < 0)) { getBlockTemplate(); @@ -613,12 +532,7 @@ int64_t xmrig::DaemonClient::getBlockTemplate() Value params(kObjectType); params.AddMember("wallet_address", m_user.toJSON(), allocator); - if (m_apiVersion == API_DERO) { - params.AddMember("reserve_size", static_cast(kBlobReserveSize), allocator); - } - else { - params.AddMember("extra_nonce", Cvt::toHex(Cvt::randomBytes(kBlobReserveSize)).toJSON(doc), allocator); - } + params.AddMember("extra_nonce", Cvt::toHex(Cvt::randomBytes(kBlobReserveSize)).toJSON(doc), allocator); JsonRequest::create(doc, m_sequence, "getblocktemplate", params); @@ -648,12 +562,6 @@ void xmrig::DaemonClient::retry() setState(ConnectingState); } -# ifdef XMRIG_FEATURE_TLS - if (m_wss.m_socket) { - uv_close(reinterpret_cast(m_wss.m_socket), onWSSClose); - } - else -# endif if ((m_ZMQConnectionState != ZMQ_NOT_CONNECTED) && (m_ZMQConnectionState != ZMQ_DISCONNECTING)) { uv_close(reinterpret_cast(m_ZMQSocket), onZMQClose); } @@ -950,10 +858,14 @@ void xmrig::DaemonClient::ZMQParse() m_ZMQRecvBuf.erase(m_ZMQRecvBuf.begin(), m_ZMQRecvBuf.begin() + (data - m_ZMQRecvBuf.data())); # ifdef APP_DEBUG - LOG_DEBUG(CYAN("tcp-zmq://%s:%u") BLACK_BOLD(" read ") CYAN_BOLD("%zu") BLACK_BOLD(" bytes") " %s", m_pool.host().data(), m_pool.zmq_port(), msg.size(), msg.data()); + msg.push_back('\0'); + LOG_DEBUG(CYAN("tcp-zmq://%s:%u") BLACK_BOLD(" read ") CYAN_BOLD("%zu") BLACK_BOLD(" bytes") " %s", m_pool.host().data(), m_pool.zmq_port(), msg.size() - 1, msg.data()); # endif - getBlockTemplate(); + // Clear previous hash and check daemon height to guarantee that xmrig will call get_block_template RPC later + // We can't call get_block_template directly because daemon is not ready yet + m_prevHash = nullptr; + send(kGetHeight); } @@ -978,377 +890,3 @@ bool xmrig::DaemonClient::ZMQClose(bool shutdown) return false; } - - -#ifdef XMRIG_FEATURE_TLS -void xmrig::DaemonClient::onWSSConnect(uv_connect_t* req, int status) -{ - DaemonClient* client = getClient(req->data); - delete req; - - if (!client) { - return; - } - - if (status < 0) { - LOG_ERR("%s " RED("WSS connect error: ") RED_BOLD("\"%s\""), client->tag(), uv_strerror(status)); - client->retry(); - return; - } - - client->WSSConnected(); -} - - -void xmrig::DaemonClient::onWSSRead(uv_stream_t* stream, ssize_t nread, const uv_buf_t* buf) -{ - DaemonClient* client = getClient(stream->data); - if (client) { - client->WSSRead(nread, buf); - } - - NetBuffer::release(buf); -} - - -void xmrig::DaemonClient::onWSSClose(uv_handle_t* handle) -{ - DaemonClient* client = getClient(handle->data); - if (client) { -# ifdef APP_DEBUG - LOG_DEBUG(CYAN("%s") BLACK_BOLD(" disconnected"), client->m_pool.url().data()); -# endif - client->m_wss.cleanup(); - client->retry(); - } -} - - -void xmrig::DaemonClient::onWSSShutdown(uv_handle_t* handle) -{ - DaemonClient* client = getClient(handle->data); - if (client) { -# ifdef APP_DEBUG - LOG_DEBUG(CYAN("%s") BLACK_BOLD(" shutdown"), client->m_pool.url().data()); -# endif - client->m_wss.cleanup(); - m_storage.remove(client->m_key); - } -} - - -void xmrig::DaemonClient::WSSConnected() -{ - m_wss.m_ctx = SSL_CTX_new(SSLv23_method()); - m_wss.m_write = BIO_new(BIO_s_mem()); - m_wss.m_read = BIO_new(BIO_s_mem()); - - SSL_CTX_set_options(m_wss.m_ctx, SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3); - m_wss.m_ssl = SSL_new(m_wss.m_ctx); - SSL_set_connect_state(m_wss.m_ssl); - SSL_set_bio(m_wss.m_ssl, m_wss.m_read, m_wss.m_write); - SSL_do_handshake(m_wss.m_ssl); - - if (WSSWrite(nullptr, 0)) { - uv_read_start(reinterpret_cast(m_wss.m_socket), NetBuffer::onAlloc, onWSSRead); - } -} - - -bool xmrig::DaemonClient::WSSWrite(const char* data, size_t size) -{ - if (!m_wss.m_socket) { - return false; - } - - if (data && size) { -# ifdef APP_DEBUG - LOG_DEBUG(CYAN("%s") BLACK_BOLD(" write ") CYAN_BOLD("%zu") BLACK_BOLD(" bytes") " %s", m_pool.url().data(), size, data); -# endif - - if (!m_wss.m_handshake) { - WSS::Header h{}; - h.fin = 1; - h.mask = 1; - h.opcode = 1; - - uint8_t size_buf[8]; - if (size < 126) { - h.payload_len = static_cast(size); - } - else if (size < 65536) { - h.payload_len = 126; - size_buf[0] = static_cast(size >> 8); - size_buf[1] = static_cast(size & 0xFF); - } - else { - h.payload_len = 127; - uint64_t k = size; - for (int i = 7; i >= 0; --i, k >>= 8) { - size_buf[i] = static_cast(k & 0xFF); - } - } - - // Header - SSL_write(m_wss.m_ssl, &h, sizeof(h)); - - // Optional extended payload length - if (h.payload_len == 126) SSL_write(m_wss.m_ssl, size_buf, 2); - if (h.payload_len == 127) SSL_write(m_wss.m_ssl, size_buf, 8); - - // Masking-key - SSL_write(m_wss.m_ssl, "\0\0\0\0", 4); - } - - SSL_write(m_wss.m_ssl, data, static_cast(size)); - } - - uv_buf_t buf; - buf.len = BIO_get_mem_data(m_wss.m_write, &buf.base); - - if (buf.len == 0) { - return true; - } - - const int rc = uv_try_write(reinterpret_cast(m_wss.m_socket), &buf, 1); - - BIO_reset(m_wss.m_write); - - if (static_cast(rc) == buf.len) { - return true; - } - - LOG_ERR("%s " RED("WSS write failed, rc = %d"), tag(), rc); - WSSClose(); - return false; -} - - -void xmrig::DaemonClient::WSSRead(ssize_t nread, const uv_buf_t* read_buf) -{ - if (nread <= 0) { - LOG_ERR("%s " RED("WSS read failed, nread = %" PRId64), tag(), nread); - WSSClose(); - return; - } - - BIO_write(m_wss.m_read, read_buf->base, static_cast(nread)); - - if (!SSL_is_init_finished(m_wss.m_ssl)) { - const int rc = SSL_connect(m_wss.m_ssl); - - if ((rc < 0) && (SSL_get_error(m_wss.m_ssl, rc) == SSL_ERROR_WANT_READ)) { - WSSWrite(nullptr, 0); - } - else if (rc == 1) { - // login - static constexpr char Base64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; - - char key[25]; - std::random_device r; - - for (int i = 0; i < 21; ++i) { - key[i] = Base64[r() % 64]; - } - - key[21] = Base64[0]; - key[22] = '='; - key[23] = '='; - key[24] = '\0'; - - const int n = snprintf(m_wss.m_buf, sizeof(m_wss.m_buf), kWSSLogin, m_pool.user().data(), m_pool.host().data(), key); - if (0 <= n && n < static_cast(sizeof(m_wss.m_buf))) { - WSSWrite(m_wss.m_buf, n); - } - else { - WSSClose(); - } - } - - return; - } - - int n = 0; - while ((n = SSL_read(m_wss.m_ssl, m_wss.m_buf, sizeof(m_wss.m_buf))) > 0) { - m_wss.m_data.insert(m_wss.m_data.end(), m_wss.m_buf, m_wss.m_buf + n); - - // Skip the first message (HTTP upgrade response) - if (m_wss.m_handshake) { - const size_t len = m_wss.m_data.size(); - if (len >= 4) { - for (size_t k = 0; k <= len - 4; ++k) { - if (memcmp(m_wss.m_data.data() + k, "\r\n\r\n", 4) == 0) { - m_wss.m_handshake = false; - m_wss.m_data.erase(m_wss.m_data.begin(), m_wss.m_data.begin() + k + 4); - break; - } - } - } - continue; - } - - const uint8_t* p0 = reinterpret_cast(m_wss.m_data.data()); - const uint8_t* p = p0; - const uint8_t* e = p0 + m_wss.m_data.size(); - - if (e - p < static_cast(sizeof(WSS::Header))) - continue; - - const WSS::Header* h = reinterpret_cast(p); - p += sizeof(WSS::Header); - - uint64_t len = h->payload_len; - - if (len == 126) { - if (e - p < static_cast(sizeof(uint16_t))) { - continue; - } - len = 0; - for (size_t i = 0; i < sizeof(uint16_t); ++i, ++p) { - len = (len << 8) | *p; - } - } - else if (len == 127) { - if (e - p < static_cast(sizeof(uint64_t))) { - continue; - } - len = 0; - for (size_t i = 0; i < sizeof(uint64_t); ++i, ++p) { - len = (len << 8) | *p; - } - } - - uint8_t mask_key[4] = {}; - if (h->mask) { - if (e - p < 4) - continue; - memcpy(mask_key, p, 4); - p += 4; - } - - if (static_cast(e - p) < len) - continue; - - for (uint64_t i = 0; i < len; ++i) { - m_wss.m_message.push_back(p[i] ^ mask_key[i % 4]); - } - p += len; - - m_wss.m_data.erase(m_wss.m_data.begin(), m_wss.m_data.begin() + (p - p0)); - - if (h->fin) { - if (m_wss.m_message.back() == '\n') { - m_wss.m_message.back() = '\0'; - } - else { - m_wss.m_message.push_back('\0'); - } - WSSParse(); - m_wss.m_message.clear(); - } - } -} - - -void xmrig::DaemonClient::WSSParse() -{ -# ifdef APP_DEBUG - LOG_DEBUG(CYAN("%s") BLACK_BOLD(" read ") CYAN_BOLD("%zu") BLACK_BOLD(" bytes") " %s", m_pool.url().data(), m_wss.m_message.size(), m_wss.m_message.data()); -# endif - - using namespace rapidjson; - - Document doc; - if (doc.ParseInsitu(m_wss.m_message.data()).HasParseError() || !doc.IsObject()) { - if (!isQuiet()) { - LOG_ERR("%s " RED("JSON decode failed: ") RED_BOLD("\"%s\""), tag(), GetParseError_En(doc.GetParseError())); - } - - return retry(); - } - - if (doc.HasMember(kLastError)) { - String err = Json::getString(doc, kLastError, ""); - if (!err.isEmpty()) { - LOG_ERR("%s " RED_BOLD("\"%s\""), tag(), err.data()); - return; - } - } - - if (doc.HasMember(kBlockhashingBlob)) { - Job job(false, m_pool.algorithm(), String()); - - m_blockhashingblob = Json::getString(doc, kBlockhashingBlob, ""); - if (m_blockhashingblob.isEmpty()) { - LOG_ERR("%s " RED_BOLD("blockhashing_blob is empty"), tag()); - return; - } - job.setBlob(m_blockhashingblob); - memset(job.blob() + job.nonceOffset(), 0, job.nonceSize()); - - const uint64_t height = Json::getUint64(doc, kHeight); - - job.setHeight(height); - job.setDiff(Json::getUint64(doc, "difficultyuint64")); - //job.setDiff(100000); - - m_currentJobId = Json::getString(doc, "jobid"); - job.setId(m_currentJobId); - - m_job = std::move(job); - - if (m_state == ConnectingState) { - setState(ConnectedState); - } - - const uint64_t blocks = Json::getUint64(doc, "blocks"); - const uint64_t miniblocks = Json::getUint64(doc, "miniblocks"); - - if ((blocks != m_wss.m_blocks) || (miniblocks != m_wss.m_miniblocks) || (height != m_wss.m_height)) { - LOG_INFO("%s " GREEN_BOLD("%" PRIu64 " blocks, %" PRIu64 " mini blocks"), tag(), blocks, miniblocks); - m_wss.m_blocks = blocks; - m_wss.m_miniblocks = miniblocks; - m_wss.m_height = height; - } - - m_listener->onJobReceived(this, m_job, doc); - return; - } -} - - -bool xmrig::DaemonClient::WSSClose(bool shutdown) -{ - if (m_wss.m_socket && (uv_is_closing(reinterpret_cast(m_wss.m_socket)) == 0)) { - uv_close(reinterpret_cast(m_wss.m_socket), shutdown ? onWSSShutdown : onWSSClose); - return true; - } - - return false; -} - - -void xmrig::DaemonClient::WSS::cleanup() -{ - delete m_socket; - m_socket = nullptr; - - if (m_ctx) { - SSL_CTX_free(m_ctx); - m_ctx = nullptr; - } - if (m_ssl) { - SSL_free(m_ssl); - m_ssl = nullptr; - } - - m_read = nullptr; - m_write = nullptr; - m_handshake = true; - m_blocks = 0; - m_miniblocks = 0; - m_height = 0; - m_data.clear(); - m_message.clear(); -} -#endif diff --git a/src/base/net/stratum/DaemonClient.h b/src/base/net/stratum/DaemonClient.h index 2cb6f8b815..7880de404a 100644 --- a/src/base/net/stratum/DaemonClient.h +++ b/src/base/net/stratum/DaemonClient.h @@ -63,7 +63,6 @@ class DaemonClient : public BaseClient, public IDnsListener, public ITimerListen protected: bool disconnect() override; bool isTLS() const override; - bool isWSS() const override; int64_t submit(const JobResult &result) override; void connect() override; void connect(const Pool &pool) override; @@ -95,7 +94,6 @@ class DaemonClient : public BaseClient, public IDnsListener, public ITimerListen enum { API_CRYPTONOTE_DEFAULT, API_MONERO, - API_DERO, } m_apiVersion = API_MONERO; BlockTemplate m_blocktemplate; @@ -143,45 +141,6 @@ class DaemonClient : public BaseClient, public IDnsListener, public ITimerListen std::vector m_ZMQSendBuf; std::vector m_ZMQRecvBuf; - -# ifdef XMRIG_FEATURE_TLS - static void onWSSConnect(uv_connect_t* req, int status); - static void onWSSRead(uv_stream_t* stream, ssize_t nread, const uv_buf_t* buf); - static void onWSSClose(uv_handle_t* handle); - static void onWSSShutdown(uv_handle_t* handle); - - void WSSConnected(); - bool WSSWrite(const char* data, size_t size); - void WSSRead(ssize_t nread, const uv_buf_t* buf); - void WSSParse(); - bool WSSClose(bool shutdown = false); - - struct WSS { - struct Header - { - uint8_t opcode : 4; - uint8_t reserved : 3; - uint8_t fin : 1; - uint8_t payload_len : 7; - uint8_t mask : 1; - }; - - uv_tcp_t* m_socket = nullptr; - SSL_CTX* m_ctx = nullptr; - BIO* m_read = nullptr; - BIO* m_write = nullptr; - SSL* m_ssl = nullptr; - char m_buf[512] = {}; - bool m_handshake = true; - uint64_t m_blocks = 0; - uint64_t m_miniblocks = 0; - uint64_t m_height = 0; - std::vector m_data; - std::vector m_message; - - void cleanup(); - } m_wss; -# endif }; diff --git a/src/base/net/stratum/Job.cpp b/src/base/net/stratum/Job.cpp index fd002d0e3f..56f5de8041 100644 --- a/src/base/net/stratum/Job.cpp +++ b/src/base/net/stratum/Job.cpp @@ -48,7 +48,13 @@ xmrig::Job::Job(bool nicehash, const Algorithm &algorithm, const String &clientI bool xmrig::Job::isEqual(const Job &other) const { - return m_id == other.m_id && m_clientId == other.m_clientId && memcmp(m_blob, other.m_blob, sizeof(m_blob)) == 0 && m_target == other.m_target; + return m_id == other.m_id && m_clientId == other.m_clientId && isEqualBlob(other) && m_target == other.m_target; +} + + +bool xmrig::Job::isEqualBlob(const Job &other) const +{ + return (m_size == other.m_size) && (memcmp(m_blob, other.m_blob, m_size) == 0); } @@ -58,19 +64,19 @@ bool xmrig::Job::setBlob(const char *blob) return false; } - m_size = strlen(blob); - if (m_size % 2 != 0) { + size_t size = strlen(blob); + if (size % 2 != 0) { return false; } - m_size /= 2; + size /= 2; const size_t minSize = nonceOffset() + nonceSize(); - if (m_size < minSize || m_size >= sizeof(m_blob)) { + if (size < minSize || size >= sizeof(m_blob)) { return false; } - if (!Cvt::fromHex(m_blob, sizeof(m_blob), blob, m_size * 2)) { + if (!Cvt::fromHex(m_blob, sizeof(m_blob), blob, size * 2)) { return false; } @@ -80,9 +86,10 @@ bool xmrig::Job::setBlob(const char *blob) # ifdef XMRIG_PROXY_PROJECT memset(m_rawBlob, 0, sizeof(m_rawBlob)); - memcpy(m_rawBlob, blob, m_size * 2); + memcpy(m_rawBlob, blob, size * 2); # endif + m_size = size; return true; } @@ -169,10 +176,6 @@ int32_t xmrig::Job::nonceOffset() const auto f = algorithm().family(); if (f == Algorithm::KAWPOW) return 32; if (f == Algorithm::GHOSTRIDER) return 76; - - auto id = algorithm().id(); - if (id == Algorithm::ASTROBWT_DERO_2) return 44; - return 39; } diff --git a/src/base/net/stratum/Job.h b/src/base/net/stratum/Job.h index 3fb31baa5b..e314a266dc 100644 --- a/src/base/net/stratum/Job.h +++ b/src/base/net/stratum/Job.h @@ -59,6 +59,7 @@ class Job ~Job() = default; bool isEqual(const Job &other) const; + bool isEqualBlob(const Job &other) const; bool setBlob(const char *blob); bool setSeedHash(const char *hash); bool setTarget(const char *target); diff --git a/src/base/net/stratum/Pool.cpp b/src/base/net/stratum/Pool.cpp index e11e8717f7..7a58f4cb52 100644 --- a/src/base/net/stratum/Pool.cpp +++ b/src/base/net/stratum/Pool.cpp @@ -76,7 +76,6 @@ const char *Pool::kSelfSelect = "self-select"; const char *Pool::kSOCKS5 = "socks5"; const char *Pool::kSubmitToOrigin = "submit-to-origin"; const char *Pool::kTls = "tls"; -const char *Pool::kWSS = "wss"; const char *Pool::kUrl = "url"; const char *Pool::kUser = "user"; const char *Pool::kSpendSecretKey = "spend-secret-key"; @@ -94,7 +93,7 @@ xmrig::Pool::Pool(const char *url) : } -xmrig::Pool::Pool(const char *host, uint16_t port, const char *user, const char *password, const char* spendSecretKey, int keepAlive, bool nicehash, bool tls, bool wss, Mode mode) : +xmrig::Pool::Pool(const char *host, uint16_t port, const char *user, const char *password, const char* spendSecretKey, int keepAlive, bool nicehash, bool tls, Mode mode) : m_keepAlive(keepAlive), m_mode(mode), m_flags(1 << FLAG_ENABLED), @@ -106,7 +105,6 @@ xmrig::Pool::Pool(const char *host, uint16_t port, const char *user, const char { m_flags.set(FLAG_NICEHASH, nicehash || strstr(host, kNicehashHost)); m_flags.set(FLAG_TLS, tls); - m_flags.set(FLAG_WSS, wss); } @@ -134,7 +132,6 @@ xmrig::Pool::Pool(const rapidjson::Value &object) : m_flags.set(FLAG_ENABLED, Json::getBool(object, kEnabled, true)); m_flags.set(FLAG_NICEHASH, Json::getBool(object, kNicehash) || m_url.host().contains(kNicehashHost)); m_flags.set(FLAG_TLS, Json::getBool(object, kTls) || m_url.isTLS()); - m_flags.set(FLAG_WSS, Json::getBool(object, kWSS) || m_url.isWSS()); setKeepAlive(Json::getValue(object, kKeepalive)); @@ -296,7 +293,6 @@ rapidjson::Value xmrig::Pool::toJSON(rapidjson::Document &doc) const obj.AddMember(StringRef(kEnabled), m_flags.test(FLAG_ENABLED), allocator); obj.AddMember(StringRef(kTls), isTLS(), allocator); - obj.AddMember(StringRef(kWSS), isWSS(), allocator); obj.AddMember(StringRef(kFingerprint), m_fingerprint.toJSON(), allocator); obj.AddMember(StringRef(kDaemon), m_mode == MODE_DAEMON, allocator); obj.AddMember(StringRef(kSOCKS5), m_proxy.toJSON(doc), allocator); diff --git a/src/base/net/stratum/Pool.h b/src/base/net/stratum/Pool.h index 54e38f8dc8..78684510f0 100644 --- a/src/base/net/stratum/Pool.h +++ b/src/base/net/stratum/Pool.h @@ -69,12 +69,10 @@ class Pool static const char *kSOCKS5; static const char *kSubmitToOrigin; static const char *kTls; - static const char* kWSS; static const char *kUrl; static const char *kUser; static const char* kSpendSecretKey; static const char* kDaemonZMQPort; - static const char* kDaemonWSSPort; static const char *kNicehashHost; constexpr static int kKeepAliveTimeout = 60; @@ -82,7 +80,7 @@ class Pool constexpr static uint64_t kDefaultPollInterval = 1000; Pool() = default; - Pool(const char *host, uint16_t port, const char *user, const char *password, const char* spendSecretKey, int keepAlive, bool nicehash, bool tls, bool wss, Mode mode); + Pool(const char *host, uint16_t port, const char *user, const char *password, const char* spendSecretKey, int keepAlive, bool nicehash, bool tls, Mode mode); Pool(const char *url); Pool(const rapidjson::Value &object); @@ -95,7 +93,6 @@ class Pool inline bool isNicehash() const { return m_flags.test(FLAG_NICEHASH); } inline bool isTLS() const { return m_flags.test(FLAG_TLS) || m_url.isTLS(); } - inline bool isWSS() const { return m_flags.test(FLAG_WSS) || m_url.isWSS(); } inline bool isValid() const { return m_url.isValid(); } inline const Algorithm &algorithm() const { return m_algorithm; } inline const Coin &coin() const { return m_coin; } @@ -138,7 +135,6 @@ class Pool FLAG_ENABLED, FLAG_NICEHASH, FLAG_TLS, - FLAG_WSS, FLAG_MAX }; diff --git a/src/base/net/stratum/SelfSelectClient.h b/src/base/net/stratum/SelfSelectClient.h index a68dbcfc2a..c73198a5a2 100644 --- a/src/base/net/stratum/SelfSelectClient.h +++ b/src/base/net/stratum/SelfSelectClient.h @@ -49,7 +49,6 @@ class SelfSelectClient : public IClient, public IClientListener, public IHttpLis inline bool hasExtension(Extension extension) const noexcept override { return m_client->hasExtension(extension); } inline bool isEnabled() const override { return m_client->isEnabled(); } inline bool isTLS() const override { return m_client->isTLS(); } - inline bool isWSS() const override { return m_client->isWSS(); } inline const char *mode() const override { return m_client->mode(); } inline const char *tag() const override { return m_client->tag(); } inline const char *tlsFingerprint() const override { return m_client->tlsFingerprint(); } diff --git a/src/base/net/stratum/Url.cpp b/src/base/net/stratum/Url.cpp index 3bb47db1e9..7904a445dc 100644 --- a/src/base/net/stratum/Url.cpp +++ b/src/base/net/stratum/Url.cpp @@ -39,7 +39,6 @@ static const char kSOCKS5[] = "socks5://"; #ifdef XMRIG_FEATURE_HTTP static const char kDaemonHttp[] = "daemon+http://"; static const char kDaemonHttps[] = "daemon+https://"; -static const char kDaemonWss[] = "daemon+wss://"; #endif } // namespace xmrig @@ -104,11 +103,6 @@ bool xmrig::Url::parse(const char *url) m_scheme = DAEMON; m_tls = false; } - else if (strncasecmp(url, kDaemonWss, sizeof(kDaemonWss) - 1) == 0) { - m_scheme = DAEMON; - m_tls = true; - m_wss = true; - } # endif else { return false; diff --git a/src/base/net/stratum/Url.h b/src/base/net/stratum/Url.h index f8ccf7693b..6882631e25 100644 --- a/src/base/net/stratum/Url.h +++ b/src/base/net/stratum/Url.h @@ -41,7 +41,6 @@ class Url Url(const char *host, uint16_t port, bool tls = false, Scheme scheme = UNSPECIFIED); inline bool isTLS() const { return m_tls; } - inline bool isWSS() const { return m_wss; } inline bool isValid() const { return !m_host.isNull() && m_port > 0; } inline const String &host() const { return m_host; } inline const String &url() const { return m_url; } @@ -58,7 +57,6 @@ class Url bool parseIPv6(const char *addr); bool m_tls = false; - bool m_wss = false; Scheme m_scheme = UNSPECIFIED; String m_host; String m_url; diff --git a/src/base/net/stratum/benchmark/BenchClient.h b/src/base/net/stratum/benchmark/BenchClient.h index 1bd2816145..c29e42e005 100644 --- a/src/base/net/stratum/benchmark/BenchClient.h +++ b/src/base/net/stratum/benchmark/BenchClient.h @@ -41,7 +41,6 @@ class BenchClient : public IClient, public IHttpListener, public IBenchListener, inline bool hasExtension(Extension) const noexcept override { return false; } inline bool isEnabled() const override { return true; } inline bool isTLS() const override { return false; } - inline bool isWSS() const override { return false; } inline const char *mode() const override { return "benchmark"; } inline const char *tlsFingerprint() const override { return nullptr; } inline const char *tlsVersion() const override { return nullptr; } diff --git a/src/base/tools/Alignment.h b/src/base/tools/Alignment.h index 00316af9d0..7afe872691 100644 --- a/src/base/tools/Alignment.h +++ b/src/base/tools/Alignment.h @@ -30,7 +30,7 @@ namespace xmrig { template inline T readUnaligned(const T* ptr) { - static_assert(std::is_integral::value, "Integer type required"); + static_assert(std::is_trivially_copyable::value, "T must be trivially copyable"); T result; memcpy(&result, ptr, sizeof(T)); @@ -41,7 +41,7 @@ inline T readUnaligned(const T* ptr) template inline void writeUnaligned(T* ptr, T data) { - static_assert(std::is_integral::value, "Integer type required"); + static_assert(std::is_trivially_copyable::value, "T must be trivially copyable"); memcpy(ptr, &data, sizeof(T)); } diff --git a/src/base/tools/cryptonote/BlockTemplate.cpp b/src/base/tools/cryptonote/BlockTemplate.cpp index 5a3b4fb771..b4fe4bcf4f 100644 --- a/src/base/tools/cryptonote/BlockTemplate.cpp +++ b/src/base/tools/cryptonote/BlockTemplate.cpp @@ -228,14 +228,19 @@ bool xmrig::BlockTemplate::parse(bool hashes) ar(m_amount); ar(m_outputType); - // output type must be txout_to_key (2) - if (m_outputType != 2) { + // output type must be txout_to_key (2) or txout_to_tagged_key (3) + if ((m_outputType != 2) && (m_outputType != 3)) { return false; } setOffset(EPH_PUBLIC_KEY_OFFSET, ar.index()); ar(m_ephPublicKey, kKeySize); + + if (m_outputType == 3) { + ar(m_viewTag); + } + ar(m_extraSize); setOffset(TX_EXTRA_OFFSET, ar.index()); diff --git a/src/base/tools/cryptonote/BlockTemplate.h b/src/base/tools/cryptonote/BlockTemplate.h index d6f2de3f46..c731aad23e 100644 --- a/src/base/tools/cryptonote/BlockTemplate.h +++ b/src/base/tools/cryptonote/BlockTemplate.h @@ -140,6 +140,7 @@ class BlockTemplate uint64_t m_amount = 0; uint8_t m_outputType = 0; Span m_ephPublicKey; + uint8_t m_viewTag = 0; uint64_t m_extraSize = 0; Span m_txExtraNonce; Span m_txMergeMiningTag = 0; diff --git a/src/base/tools/cryptonote/WalletAddress.cpp b/src/base/tools/cryptonote/WalletAddress.cpp index f05dec9fee..f9b8a9f7e9 100644 --- a/src/base/tools/cryptonote/WalletAddress.cpp +++ b/src/base/tools/cryptonote/WalletAddress.cpp @@ -217,12 +217,6 @@ const xmrig::WalletAddress::TagInfo &xmrig::WalletAddress::tagInfo(uint64_t tag) { 0x1742ca, { Coin::ARQMA, STAGENET, INTEGRATED, 39994, 39995 } }, { 0x1d84ca, { Coin::ARQMA, STAGENET, SUBADDRESS, 39994, 39995 } }, - { 0xc8ed8, { Coin::DERO, MAINNET, PUBLIC, 20206, 0 } }, - { 0xa0ed8, { Coin::DERO, MAINNET, INTEGRATED, 20206, 0 } }, - - { 0x6cf58, { Coin::DERO, TESTNET, PUBLIC, 30306, 0 } }, - { 0x44f58, { Coin::DERO, TESTNET, INTEGRATED, 30306, 0 } }, - { 0x1032, { Coin::WOWNERO, MAINNET, PUBLIC, 34568, 34569 } }, { 0x1a9a, { Coin::WOWNERO, MAINNET, INTEGRATED, 34568, 34569 } }, { 0x2fb0, { Coin::WOWNERO, MAINNET, SUBADDRESS, 34568, 34569 } }, diff --git a/src/config.json b/src/config.json index 19b9bc588d..1cdedac256 100644 --- a/src/config.json +++ b/src/config.json @@ -36,8 +36,6 @@ "max-threads-hint": 100, "asm": true, "argon2-impl": null, - "astrobwt-max-size": 550, - "astrobwt-avx2": false, "cn/0": false, "cn-lite/0": false }, diff --git a/src/core/Miner.cpp b/src/core/Miner.cpp index 8bfccd6421..9cc9092b37 100644 --- a/src/core/Miner.cpp +++ b/src/core/Miner.cpp @@ -62,11 +62,6 @@ #endif -#ifdef XMRIG_ALGO_ASTROBWT -# include "crypto/astrobwt/AstroBWT.h" -#endif - - #ifdef XMRIG_ALGO_GHOSTRIDER # include "crypto/ghostrider/ghostrider.h" #endif @@ -399,10 +394,6 @@ xmrig::Miner::Miner(Controller *controller) Rx::init(this); # endif -# ifdef XMRIG_ALGO_ASTROBWT - astrobwt::init(); -# endif - controller->addListener(this); # ifdef XMRIG_FEATURE_API @@ -515,7 +506,7 @@ void xmrig::Miner::setEnabled(bool enabled) return; } - if (d_ptr->battery_power && enabled) { + if (d_ptr->controller->config()->isPauseOnBattery() && d_ptr->battery_power && enabled) { LOG_INFO("%s " YELLOW_BOLD("can't resume while on battery power"), Tags::miner()); return; @@ -570,6 +561,12 @@ void xmrig::Miner::setJob(const Job &job, bool donate) const uint8_t index = donate ? 1 : 0; d_ptr->reset = !(d_ptr->job.index() == 1 && index == 0 && d_ptr->userJobId == job.id()); + + // Don't reset nonce if pool sends the same hashing blob again, but with different difficulty (for example) + if (d_ptr->job.isEqualBlob(job)) { + d_ptr->reset = false; + } + d_ptr->job = job; d_ptr->job.setIndex(index); diff --git a/src/core/config/ConfigTransform.cpp b/src/core/config/ConfigTransform.cpp index 4c84814772..9d24f19ca9 100644 --- a/src/core/config/ConfigTransform.cpp +++ b/src/core/config/ConfigTransform.cpp @@ -163,14 +163,6 @@ void xmrig::ConfigTransform::transform(rapidjson::Document &doc, int key, const return set(doc, CpuConfig::kField, CpuConfig::kAsm, arg); # endif -# ifdef XMRIG_ALGO_ASTROBWT - case IConfig::AstroBWTMaxSizeKey: /* --astrobwt-max-size */ - return set(doc, CpuConfig::kField, CpuConfig::kAstroBWTMaxSize, static_cast(strtol(arg, nullptr, 10))); - - case IConfig::AstroBWTAVX2Key: /* --astrobwt-avx2 */ - return set(doc, CpuConfig::kField, CpuConfig::kAstroBWTAVX2, true); -# endif - # ifdef XMRIG_ALGO_RANDOMX case IConfig::RandomXInitKey: /* --randomx-init */ return set(doc, RxConfig::kField, RxConfig::kInit, static_cast(strtol(arg, nullptr, 10))); @@ -327,16 +319,18 @@ void xmrig::ConfigTransform::transformUint64(rapidjson::Document &doc, int key, #ifdef XMRIG_FEATURE_BENCHMARK void xmrig::ConfigTransform::transformBenchmark(rapidjson::Document &doc, int key, const char *arg) { - set(doc, CpuConfig::kField, CpuConfig::kHugePagesJit, true); - set(doc, CpuConfig::kField, CpuConfig::kPriority, 2); - set(doc, CpuConfig::kField, CpuConfig::kYield, false); - switch (key) { case IConfig::AlgorithmKey: /* --algo */ return set(doc, BenchConfig::kBenchmark, BenchConfig::kAlgo, arg); case IConfig::BenchKey: /* --bench */ + { + // CPU settings for the benchmark + set(doc, CpuConfig::kField, CpuConfig::kHugePagesJit, true); + set(doc, CpuConfig::kField, CpuConfig::kPriority, 2); + set(doc, CpuConfig::kField, CpuConfig::kYield, false); return set(doc, BenchConfig::kBenchmark, BenchConfig::kSize, arg); + } case IConfig::StressKey: /* --stress */ return add(doc, Pools::kPools, Pool::kUser, BenchConfig::kBenchmark); diff --git a/src/core/config/Config_default.h b/src/core/config/Config_default.h index 6c46fa9568..ec0980307f 100644 --- a/src/core/config/Config_default.h +++ b/src/core/config/Config_default.h @@ -66,8 +66,6 @@ R"===( "max-threads-hint": 100, "asm": true, "argon2-impl": null, - "astrobwt-max-size": 550, - "astrobwt-avx2": false, "cn/0": false, "cn-lite/0": false }, diff --git a/src/core/config/Config_platform.h b/src/core/config/Config_platform.h index b3e768dc93..d3d3157c3d 100644 --- a/src/core/config/Config_platform.h +++ b/src/core/config/Config_platform.h @@ -140,10 +140,6 @@ static const option options[] = { { "randomx-cache-qos", 0, nullptr, IConfig::RandomXCacheQoSKey }, { "cache-qos", 0, nullptr, IConfig::RandomXCacheQoSKey }, # endif - #ifdef XMRIG_ALGO_ASTROBWT - { "astrobwt-max-size", 1, nullptr, IConfig::AstroBWTMaxSizeKey }, - { "astrobwt-avx2", 0, nullptr, IConfig::AstroBWTAVX2Key }, - #endif # ifdef XMRIG_FEATURE_OPENCL { "opencl", 0, nullptr, IConfig::OclKey }, { "opencl-devices", 1, nullptr, IConfig::OclDevicesKey }, diff --git a/src/core/config/usage.h b/src/core/config/usage.h index 6cd599c96d..6f74b21e5f 100644 --- a/src/core/config/usage.h +++ b/src/core/config/usage.h @@ -108,11 +108,6 @@ static inline const std::string &usage() u += " --randomx-cache-qos enable Cache QoS\n"; # endif -# ifdef XMRIG_ALGO_ASTROBWT - u += " --astrobwt-max-size=N skip hashes with large stage 2 size, default: 550, min: 400, max: 1200\n"; - u += " --astrobwt-avx2 enable AVX2 optimizations for AstroBWT algorithm"; -# endif - # ifdef XMRIG_FEATURE_OPENCL u += "\nOpenCL backend:\n"; u += " --opencl enable OpenCL mining backend\n"; diff --git a/src/crypto/astrobwt/AstroBWT.cpp b/src/crypto/astrobwt/AstroBWT.cpp deleted file mode 100644 index 2ae649b2f8..0000000000 --- a/src/crypto/astrobwt/AstroBWT.cpp +++ /dev/null @@ -1,499 +0,0 @@ -/* XMRig - * Copyright (c) 2018 Lee Clagett - * Copyright (c) 2018-2019 tevador - * Copyright (c) 2000 Transmeta Corporation - * Copyright (c) 2004-2008 H. Peter Anvin - * Copyright (c) 2018-2021 SChernykh - * Copyright (c) 2016-2021 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "crypto/astrobwt/AstroBWT.h" -#include "backend/cpu/Cpu.h" -#include "base/crypto/sha3.h" -#include "base/tools/bswap_64.h" -#include "crypto/cn/CryptoNight.h" -#include "crypto/astrobwt/sort_indices2.h" - - -#include - - -constexpr int STAGE1_SIZE = 147253; -constexpr int ALLOCATION_SIZE = (STAGE1_SIZE + 1048576) + (128 - (STAGE1_SIZE & 63)); - -constexpr int COUNTING_SORT_BITS = 10; -constexpr int COUNTING_SORT_SIZE = 1 << COUNTING_SORT_BITS; - -static bool astrobwtInitialized = false; - -#ifdef ASTROBWT_AVX2 -static bool hasAVX2 = false; - -extern "C" -#ifndef _MSC_VER -__attribute__((ms_abi)) -#endif -void SHA3_256_AVX2_ASM(const void* in, size_t inBytes, void* out); -#endif - -#ifdef XMRIG_ARM -extern "C" { -#include "salsa20_ref/ecrypt-sync.h" -} - -static void Salsa20_XORKeyStream(const void* key, void* output, size_t size) -{ - uint8_t iv[8] = {}; - ECRYPT_ctx ctx; - ECRYPT_keysetup(&ctx, static_cast(key), 256, 64); - ECRYPT_ivsetup(&ctx, iv); - ECRYPT_keystream_bytes(&ctx, static_cast(output), size); - memset(static_cast(output) - 16, 0, 16); - memset(static_cast(output) + size, 0, 16); -} -#else -#include "Salsa20.hpp" - -static void Salsa20_XORKeyStream(const void* key, void* output, size_t size) -{ - const uint64_t iv = 0; - ZeroTier::Salsa20 s(key, &iv); - s.XORKeyStream(output, static_cast(size)); - memset(static_cast(output) - 16, 0, 16); - memset(static_cast(output) + size, 0, 16); -} - -extern "C" int salsa20_stream_avx2(void* c, uint64_t clen, const void* iv, const void* key); - -static void Salsa20_XORKeyStream_AVX256(const void* key, void* output, size_t size) -{ - const uint64_t iv = 0; - salsa20_stream_avx2(output, size, &iv, key); - memset(static_cast(output) - 16, 0, 16); - memset(static_cast(output) + size, 0, 16); -} -#endif - -static inline bool smaller(const uint8_t* v, uint64_t a, uint64_t b) -{ - const uint64_t value_a = a >> 21; - const uint64_t value_b = b >> 21; - - if (value_a < value_b) { - return true; - } - - if (value_a > value_b) { - return false; - } - - a &= (1 << 21) - 1; - b &= (1 << 21) - 1; - - if (a == b) { - return false; - } - - const uint64_t data_a = bswap_64(*reinterpret_cast(v + a + 5)); - const uint64_t data_b = bswap_64(*reinterpret_cast(v + b + 5)); - return (data_a < data_b); -} - -void sort_indices(uint32_t N, const uint8_t* v, uint64_t* indices, uint64_t* tmp_indices) -{ - uint32_t counters[2][COUNTING_SORT_SIZE] = {}; - - { -#define ITER(X) \ - do { \ - const uint64_t k = bswap_64(*reinterpret_cast(v + i + X)); \ - ++counters[0][(k >> (64 - COUNTING_SORT_BITS * 2)) & (COUNTING_SORT_SIZE - 1)]; \ - ++counters[1][k >> (64 - COUNTING_SORT_BITS)]; \ - } while (0) - - uint32_t i = 0; - const uint32_t n = N - 15; - for (; i < n; i += 16) { - ITER(0); ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); - ITER(8); ITER(9); ITER(10); ITER(11); ITER(12); ITER(13); ITER(14); ITER(15); - } - for (; i < N; ++i) { - ITER(0); - } - -#undef ITER - } - - uint32_t prev[2] = { counters[0][0], counters[1][0] }; - counters[0][0] = prev[0] - 1; - counters[1][0] = prev[1] - 1; - for (int i = 1; i < COUNTING_SORT_SIZE; ++i) - { - const uint32_t cur[2] = { counters[0][i] + prev[0], counters[1][i] + prev[1] }; - counters[0][i] = cur[0] - 1; - counters[1][i] = cur[1] - 1; - prev[0] = cur[0]; - prev[1] = cur[1]; - } - - { -#define ITER(X) \ - do { \ - const uint64_t k = bswap_64(*reinterpret_cast(v + (i - X))); \ - tmp_indices[counters[0][(k >> (64 - COUNTING_SORT_BITS * 2)) & (COUNTING_SORT_SIZE - 1)]--] = (k & (static_cast(-1) << 21)) | (i - X); \ - } while (0) - - uint32_t i = N; - for (; i >= 8; i -= 8) { - ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); ITER(8); - } - for (; i > 0; --i) { - ITER(1); - } - -#undef ITER - } - - { -#define ITER(X) \ - do { \ - const uint64_t data = tmp_indices[i - X]; \ - indices[counters[1][data >> (64 - COUNTING_SORT_BITS)]--] = data; \ - } while (0) - - uint32_t i = N; - for (; i >= 8; i -= 8) { - ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); ITER(8); - } - for (; i > 0; --i) { - ITER(1); - } - -#undef ITER - } - - uint64_t prev_t = indices[0]; - for (uint32_t i = 1; i < N; ++i) - { - uint64_t t = indices[i]; - if (smaller(v, t, prev_t)) - { - const uint64_t t2 = prev_t; - int j = i - 1; - do - { - indices[j + 1] = prev_t; - --j; - - if (j < 0) { - break; - } - - prev_t = indices[j]; - } while (smaller(v, t, prev_t)); - indices[j + 1] = t; - t = t2; - } - prev_t = t; - } -} - -void sort_indices2(uint32_t N, const uint8_t* v, uint64_t* indices, uint64_t* tmp_indices) -{ - alignas(16) uint32_t counters[1 << COUNTING_SORT_BITS] = {}; - alignas(16) uint32_t counters2[1 << COUNTING_SORT_BITS]; - - { -#define ITER(X) { \ - const uint64_t k = bswap_64(*reinterpret_cast(v + i + X)); \ - ++counters[k >> (64 - COUNTING_SORT_BITS)]; \ - } - - uint32_t i = 0; - const uint32_t n = (N / 32) * 32; - for (; i < n; i += 32) { - ITER(0); ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); - ITER(8); ITER(9); ITER(10); ITER(11); ITER(12); ITER(13); ITER(14); ITER(15); - ITER(16); ITER(17); ITER(18); ITER(19); ITER(20); ITER(21); ITER(22); ITER(23); - ITER(24); ITER(25); ITER(26); ITER(27); ITER(28); ITER(29); ITER(30); ITER(31); - } - for (; i < N; ++i) { - ITER(0); - } - -#undef ITER - } - - uint32_t prev = static_cast(-1); - for (uint32_t i = 0; i < (1 << COUNTING_SORT_BITS); i += 16) - { -#define ITER(X) { \ - const uint32_t cur = counters[i + X] + prev; \ - counters[i + X] = cur; \ - counters2[i + X] = cur; \ - prev = cur; \ - } - ITER(0); ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); - ITER(8); ITER(9); ITER(10); ITER(11); ITER(12); ITER(13); ITER(14); ITER(15); -#undef ITER - } - - { -#define ITER(X) \ - do { \ - const uint64_t k = bswap_64(*reinterpret_cast(v + (i - X))); \ - indices[counters[k >> (64 - COUNTING_SORT_BITS)]--] = (k & (static_cast(-1) << 21)) | (i - X); \ - } while (0) - - uint32_t i = N; - for (; i >= 8; i -= 8) { - ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); ITER(8); - } - for (; i > 0; --i) { - ITER(1); - } - -#undef ITER - } - - uint32_t prev_i = 0; - for (uint32_t i0 = 0; i0 < (1 << COUNTING_SORT_BITS); ++i0) { - const uint32_t i = counters2[i0] + 1; - const uint32_t n = i - prev_i; - if (n > 1) { - memset(counters, 0, sizeof(uint32_t) * (1 << COUNTING_SORT_BITS)); - - const uint32_t n8 = (n / 8) * 8; - uint32_t j = 0; - -#define ITER(X) { \ - const uint64_t k = indices[prev_i + j + X]; \ - ++counters[(k >> (64 - COUNTING_SORT_BITS * 2)) & ((1 << COUNTING_SORT_BITS) - 1)]; \ - tmp_indices[j + X] = k; \ - } - for (; j < n8; j += 8) { - ITER(0); ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); - } - for (; j < n; ++j) { - ITER(0); - } -#undef ITER - - uint32_t prev = static_cast(-1); - for (uint32_t j = 0; j < (1 << COUNTING_SORT_BITS); j += 32) - { -#define ITER(X) { \ - const uint32_t cur = counters[j + X] + prev; \ - counters[j + X] = cur; \ - prev = cur; \ - } - ITER(0); ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); - ITER(8); ITER(9); ITER(10); ITER(11); ITER(12); ITER(13); ITER(14); ITER(15); - ITER(16); ITER(17); ITER(18); ITER(19); ITER(20); ITER(21); ITER(22); ITER(23); - ITER(24); ITER(25); ITER(26); ITER(27); ITER(28); ITER(29); ITER(30); ITER(31); -#undef ITER - } - -#define ITER(X) { \ - const uint64_t k = tmp_indices[j - X]; \ - const uint32_t index = counters[(k >> (64 - COUNTING_SORT_BITS * 2)) & ((1 << COUNTING_SORT_BITS) - 1)]--; \ - indices[prev_i + index] = k; \ - } - for (j = n; j >= 8; j -= 8) { - ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); ITER(8); - } - for (; j > 0; --j) { - ITER(1); - } -#undef ITER - - uint64_t prev_t = indices[prev_i]; - for (uint64_t* p = indices + prev_i + 1, *e = indices + i; p != e; ++p) - { - uint64_t t = *p; - if (smaller(v, t, prev_t)) - { - const uint64_t t2 = prev_t; - uint64_t* p1 = p; - do - { - *p1 = prev_t; - --p1; - - if (p1 <= indices + prev_i) { - break; - } - - prev_t = *(p1 - 1); - } while (smaller(v, t, prev_t)); - *p1 = t; - t = t2; - } - prev_t = t; - } - } - prev_i = i; - } -} - -bool xmrig::astrobwt::astrobwt_dero(const void* input_data, uint32_t input_size, void* scratchpad, uint8_t* output_hash, int stage2_max_size, bool avx2) -{ - alignas(8) uint8_t key[32]; - uint8_t* scratchpad_ptr = (uint8_t*)(scratchpad) + 64; - uint8_t* stage1_output = scratchpad_ptr; - uint8_t* stage2_output = scratchpad_ptr; - uint64_t* indices = (uint64_t*)(scratchpad_ptr + ALLOCATION_SIZE); - uint64_t* tmp_indices = (uint64_t*)(scratchpad_ptr + ALLOCATION_SIZE * 9); - uint8_t* stage1_result = (uint8_t*)(tmp_indices); - uint8_t* stage2_result = (uint8_t*)(tmp_indices); - -#ifdef ASTROBWT_AVX2 - if (hasAVX2 && avx2) { - SHA3_256_AVX2_ASM(input_data, input_size, key); - Salsa20_XORKeyStream_AVX256(key, stage1_output, STAGE1_SIZE); - } - else -#endif - { - sha3_HashBuffer(256, SHA3_FLAGS_NONE, input_data, input_size, key, sizeof(key)); - Salsa20_XORKeyStream(key, stage1_output, STAGE1_SIZE); - } - - sort_indices(STAGE1_SIZE + 1, stage1_output, indices, tmp_indices); - - { - const uint8_t* tmp = stage1_output - 1; - for (int i = 0; i <= STAGE1_SIZE; ++i) { - stage1_result[i] = tmp[indices[i] & ((1 << 21) - 1)]; - } - } - -#ifdef ASTROBWT_AVX2 - if (hasAVX2 && avx2) - SHA3_256_AVX2_ASM(stage1_result, STAGE1_SIZE + 1, key); - else -#endif - sha3_HashBuffer(256, SHA3_FLAGS_NONE, stage1_result, STAGE1_SIZE + 1, key, sizeof(key)); - - const int stage2_size = STAGE1_SIZE + (*(uint32_t*)(key) & 0xfffff); - if (stage2_size > stage2_max_size) { - return false; - } - -#ifdef ASTROBWT_AVX2 - if (hasAVX2 && avx2) { - Salsa20_XORKeyStream_AVX256(key, stage2_output, stage2_size); - } - else -#endif - { - Salsa20_XORKeyStream(key, stage2_output, stage2_size); - } - - sort_indices2(stage2_size + 1, stage2_output, indices, tmp_indices); - - { - const uint8_t* tmp = stage2_output - 1; - int i = 0; - const int n = ((stage2_size + 1) / 4) * 4; - - for (; i < n; i += 4) - { - stage2_result[i + 0] = tmp[indices[i + 0] & ((1 << 21) - 1)]; - stage2_result[i + 1] = tmp[indices[i + 1] & ((1 << 21) - 1)]; - stage2_result[i + 2] = tmp[indices[i + 2] & ((1 << 21) - 1)]; - stage2_result[i + 3] = tmp[indices[i + 3] & ((1 << 21) - 1)]; - } - - for (; i <= stage2_size; ++i) { - stage2_result[i] = tmp[indices[i] & ((1 << 21) - 1)]; - } - } - -#ifdef ASTROBWT_AVX2 - if (hasAVX2 && avx2) - SHA3_256_AVX2_ASM(stage2_result, stage2_size + 1, output_hash); - else -#endif - sha3_HashBuffer(256, SHA3_FLAGS_NONE, stage2_result, stage2_size + 1, output_hash, 32); - - return true; -} - - -bool xmrig::astrobwt::astrobwt_dero_v2(const void* input_data, uint32_t input_size, void* scratchpad, uint8_t* output_hash) -{ - constexpr size_t N = 9973; - constexpr size_t STRIDE = 10240; - - alignas(8) uint8_t key[32]; - uint8_t* scratchpad_ptr = (uint8_t*)(scratchpad) + 64; - uint8_t* v = scratchpad_ptr; - uint32_t* indices = (uint32_t*)(scratchpad_ptr + STRIDE); - uint32_t* tmp_indices = (uint32_t*)(scratchpad_ptr + STRIDE * 5); - -#ifdef ASTROBWT_AVX2 - if (hasAVX2) { - SHA3_256_AVX2_ASM(input_data, input_size, key); - Salsa20_XORKeyStream_AVX256(key, v, N); - } - else -#endif - { - sha3_HashBuffer(256, SHA3_FLAGS_NONE, input_data, input_size, key, sizeof(key)); - Salsa20_XORKeyStream(key, v, N); - } - - sort_indices_astrobwt_v2(N, v, indices, tmp_indices); - -#ifdef ASTROBWT_AVX2 - if (hasAVX2) { - SHA3_256_AVX2_ASM(indices, N * 2, output_hash); - } - else -#endif - { - sha3_HashBuffer(256, SHA3_FLAGS_NONE, indices, N * 2, output_hash, 32); - } - - return true; -} - - -void xmrig::astrobwt::init() -{ - if (!astrobwtInitialized) { -# ifdef ASTROBWT_AVX2 - hasAVX2 = Cpu::info()->hasAVX2(); -# endif - - astrobwtInitialized = true; - } -} - - -template<> -void xmrig::astrobwt::single_hash(const uint8_t* input, size_t size, uint8_t* output, cryptonight_ctx** ctx, uint64_t) -{ - astrobwt_dero(input, static_cast(size), ctx[0]->memory, output, std::numeric_limits::max(), true); -} - - -template<> -void xmrig::astrobwt::single_hash(const uint8_t* input, size_t size, uint8_t* output, cryptonight_ctx** ctx, uint64_t) -{ - astrobwt_dero_v2(input, static_cast(size), ctx[0]->memory, output); -} diff --git a/src/crypto/astrobwt/AstroBWT.h b/src/crypto/astrobwt/AstroBWT.h deleted file mode 100644 index 15dfa361ee..0000000000 --- a/src/crypto/astrobwt/AstroBWT.h +++ /dev/null @@ -1,47 +0,0 @@ -/* XMRig - * Copyright (c) 2018 Lee Clagett - * Copyright (c) 2018-2019 tevador - * Copyright (c) 2000 Transmeta Corporation - * Copyright (c) 2004-2008 H. Peter Anvin - * Copyright (c) 2018-2021 SChernykh - * Copyright (c) 2016-2021 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "base/crypto/Algorithm.h" - - -struct cryptonight_ctx; - - -namespace xmrig { - - -namespace astrobwt { - -bool astrobwt_dero(const void* input_data, uint32_t input_size, void* scratchpad, uint8_t* output_hash, int stage2_max_size, bool avx2); -bool astrobwt_dero_v2(const void* input_data, uint32_t input_size, void* scratchpad, uint8_t* output_hash); -void init(); - -template -void single_hash(const uint8_t* input, size_t size, uint8_t* output, cryptonight_ctx** ctx, uint64_t); - -template<> -void single_hash(const uint8_t* input, size_t size, uint8_t* output, cryptonight_ctx** ctx, uint64_t); - -template<> -void single_hash(const uint8_t* input, size_t size, uint8_t* output, cryptonight_ctx** ctx, uint64_t); - -}} // namespace xmrig::astrobwt diff --git a/src/crypto/astrobwt/Salsa20.cpp b/src/crypto/astrobwt/Salsa20.cpp deleted file mode 100644 index a355b187d6..0000000000 --- a/src/crypto/astrobwt/Salsa20.cpp +++ /dev/null @@ -1,352 +0,0 @@ -/* - * Based on public domain code available at: http://cr.yp.to/snuffle.html - * - * Modifications and C-native SSE macro based SSE implementation by - * Adam Ierymenko . - * - * Additional modifications and code cleanup for AstroBWT by - * SChernykh - * - * Since the original was public domain, this is too. - */ - -#include "Salsa20.hpp" - -// Statically compute and define SSE constants -class _s20sseconsts -{ -public: - _s20sseconsts() - { - maskLo32 = _mm_shuffle_epi32(_mm_cvtsi32_si128(-1), _MM_SHUFFLE(1, 0, 1, 0)); - maskHi32 = _mm_slli_epi64(maskLo32, 32); - } - __m128i maskLo32,maskHi32; -}; -static const _s20sseconsts _S20SSECONSTANTS; - -namespace ZeroTier { - -void Salsa20::init(const void *key,const void *iv) -{ - const uint32_t *const k = (const uint32_t *)key; - _state.i[0] = 0x61707865; - _state.i[1] = 0x3320646e; - _state.i[2] = 0x79622d32; - _state.i[3] = 0x6b206574; - _state.i[4] = k[3]; - _state.i[5] = 0; - _state.i[6] = k[7]; - _state.i[7] = k[2]; - _state.i[8] = 0; - _state.i[9] = k[6]; - _state.i[10] = k[1]; - _state.i[11] = ((const uint32_t *)iv)[1]; - _state.i[12] = k[5]; - _state.i[13] = k[0]; - _state.i[14] = ((const uint32_t *)iv)[0]; - _state.i[15] = k[4]; -} - -void Salsa20::XORKeyStream(void *out,unsigned int bytes) -{ - uint8_t tmp[64]; - uint8_t *c = (uint8_t *)out; - uint8_t *ctarget = c; - unsigned int i; - - if (!bytes) - return; - - for (;;) { - if (bytes < 64) { - for (i = 0;i < bytes;++i) - tmp[i] = 0; - ctarget = c; - c = tmp; - } - - __m128i X0 = _mm_loadu_si128((const __m128i *)&(_state.v[0])); - __m128i X1 = _mm_loadu_si128((const __m128i *)&(_state.v[1])); - __m128i X2 = _mm_loadu_si128((const __m128i *)&(_state.v[2])); - __m128i X3 = _mm_loadu_si128((const __m128i *)&(_state.v[3])); - __m128i T; - __m128i X0s = X0; - __m128i X1s = X1; - __m128i X2s = X2; - __m128i X3s = X3; - - // 2X round ------------------------------------------------------------- - T = _mm_add_epi32(X0, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X1, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X3, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x93); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x39); - T = _mm_add_epi32(X0, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X3, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X1, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x39); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x93); - - // 2X round ------------------------------------------------------------- - T = _mm_add_epi32(X0, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X1, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X3, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x93); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x39); - T = _mm_add_epi32(X0, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X3, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X1, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x39); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x93); - - // 2X round ------------------------------------------------------------- - T = _mm_add_epi32(X0, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X1, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X3, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x93); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x39); - T = _mm_add_epi32(X0, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X3, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X1, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x39); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x93); - - // 2X round ------------------------------------------------------------- - T = _mm_add_epi32(X0, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X1, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X3, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x93); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x39); - T = _mm_add_epi32(X0, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X3, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X1, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x39); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x93); - - // 2X round ------------------------------------------------------------- - T = _mm_add_epi32(X0, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X1, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X3, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x93); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x39); - T = _mm_add_epi32(X0, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X3, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X1, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x39); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x93); - - // 2X round ------------------------------------------------------------- - T = _mm_add_epi32(X0, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X1, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X3, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x93); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x39); - T = _mm_add_epi32(X0, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X3, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X1, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x39); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x93); - - // 2X round ------------------------------------------------------------- - T = _mm_add_epi32(X0, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X1, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X3, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x93); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x39); - T = _mm_add_epi32(X0, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X3, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X1, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x39); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x93); - - // 2X round ------------------------------------------------------------- - T = _mm_add_epi32(X0, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X1, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X3, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x93); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x39); - T = _mm_add_epi32(X0, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X3, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X1, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x39); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x93); - - // 2X round ------------------------------------------------------------- - T = _mm_add_epi32(X0, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X1, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X3, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x93); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x39); - T = _mm_add_epi32(X0, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X3, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X1, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x39); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x93); - - // 2X round ------------------------------------------------------------- - T = _mm_add_epi32(X0, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X1, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X3, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x93); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x39); - T = _mm_add_epi32(X0, X1); - X3 = _mm_xor_si128(_mm_xor_si128(X3, _mm_slli_epi32(T, 7)), _mm_srli_epi32(T, 25)); - T = _mm_add_epi32(X3, X0); - X2 = _mm_xor_si128(_mm_xor_si128(X2, _mm_slli_epi32(T, 9)), _mm_srli_epi32(T, 23)); - T = _mm_add_epi32(X2, X3); - X1 = _mm_xor_si128(_mm_xor_si128(X1, _mm_slli_epi32(T, 13)), _mm_srli_epi32(T, 19)); - T = _mm_add_epi32(X1, X2); - X0 = _mm_xor_si128(_mm_xor_si128(X0, _mm_slli_epi32(T, 18)), _mm_srli_epi32(T, 14)); - X1 = _mm_shuffle_epi32(X1, 0x39); - X2 = _mm_shuffle_epi32(X2, 0x4E); - X3 = _mm_shuffle_epi32(X3, 0x93); - - X0 = _mm_add_epi32(X0s,X0); - X1 = _mm_add_epi32(X1s,X1); - X2 = _mm_add_epi32(X2s,X2); - X3 = _mm_add_epi32(X3s,X3); - - __m128i k02 = _mm_shuffle_epi32(_mm_or_si128(_mm_slli_epi64(X0, 32), _mm_srli_epi64(X3, 32)), _MM_SHUFFLE(0, 1, 2, 3)); - __m128i k13 = _mm_shuffle_epi32(_mm_or_si128(_mm_slli_epi64(X1, 32), _mm_srli_epi64(X0, 32)), _MM_SHUFFLE(0, 1, 2, 3)); - __m128i k20 = _mm_or_si128(_mm_and_si128(X2, _S20SSECONSTANTS.maskLo32), _mm_and_si128(X1, _S20SSECONSTANTS.maskHi32)); - __m128i k31 = _mm_or_si128(_mm_and_si128(X3, _S20SSECONSTANTS.maskLo32), _mm_and_si128(X2, _S20SSECONSTANTS.maskHi32)); - _mm_storeu_ps(reinterpret_cast(c),_mm_castsi128_ps(_mm_unpackhi_epi64(k02,k20))); - _mm_storeu_ps(reinterpret_cast(c) + 4,_mm_castsi128_ps(_mm_unpackhi_epi64(k13,k31))); - _mm_storeu_ps(reinterpret_cast(c) + 8,_mm_castsi128_ps(_mm_unpacklo_epi64(k20,k02))); - _mm_storeu_ps(reinterpret_cast(c) + 12,_mm_castsi128_ps(_mm_unpacklo_epi64(k31,k13))); - - if (!(++_state.i[8])) { - ++_state.i[5]; // state reordered for SSE - /* stopping at 2^70 bytes per nonce is user's responsibility */ - } - - if (bytes <= 64) { - if (bytes < 64) { - for (i = 0;i < bytes;++i) - ctarget[i] = c[i]; - } - - return; - } - - bytes -= 64; - c += 64; - } -} - -} // namespace ZeroTier diff --git a/src/crypto/astrobwt/Salsa20.hpp b/src/crypto/astrobwt/Salsa20.hpp deleted file mode 100644 index 1313fdb4ef..0000000000 --- a/src/crypto/astrobwt/Salsa20.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Based on public domain code available at: http://cr.yp.to/snuffle.html - * - * This therefore is public domain. - */ - -#ifndef ZT_SALSA20_HPP -#define ZT_SALSA20_HPP - -#include -#include -#include -#include -#include - -namespace ZeroTier { - -/** - * Salsa20 stream cipher - */ -class Salsa20 -{ -public: - /** - * @param key 256-bit (32 byte) key - * @param iv 64-bit initialization vector - */ - Salsa20(const void *key,const void *iv) - { - init(key,iv); - } - - /** - * Initialize cipher - * - * @param key Key bits - * @param iv 64-bit initialization vector - */ - void init(const void *key,const void *iv); - - void XORKeyStream(void *out,unsigned int bytes); - -private: - union { - __m128i v[4]; - uint32_t i[16]; - } _state; -}; - -} // namespace ZeroTier - -#endif diff --git a/src/crypto/astrobwt/salsa20_ref/ecrypt-config.h b/src/crypto/astrobwt/salsa20_ref/ecrypt-config.h deleted file mode 100644 index 096358ab08..0000000000 --- a/src/crypto/astrobwt/salsa20_ref/ecrypt-config.h +++ /dev/null @@ -1,272 +0,0 @@ -/* ecrypt-config.h */ - -/* *** Normally, it should not be necessary to edit this file. *** */ - -#ifndef ECRYPT_CONFIG -#define ECRYPT_CONFIG - -/* ------------------------------------------------------------------------- */ - -/* Guess the endianness of the target architecture. */ - -/* - * The LITTLE endian machines: - */ -#if defined(__ultrix) /* Older MIPS */ -#define ECRYPT_LITTLE_ENDIAN -#elif defined(__alpha) /* Alpha */ -#define ECRYPT_LITTLE_ENDIAN -#elif defined(i386) /* x86 (gcc) */ -#define ECRYPT_LITTLE_ENDIAN -#elif defined(__i386) /* x86 (gcc) */ -#define ECRYPT_LITTLE_ENDIAN -#elif defined(_M_IX86) /* x86 (MSC, Borland) */ -#define ECRYPT_LITTLE_ENDIAN -#elif defined(_MSC_VER) /* x86 (surely MSC) */ -#define ECRYPT_LITTLE_ENDIAN -#elif defined(__INTEL_COMPILER) /* x86 (surely Intel compiler icl.exe) */ -#define ECRYPT_LITTLE_ENDIAN - -/* - * The BIG endian machines: - */ -#elif defined(sun) /* Newer Sparc's */ -#define ECRYPT_BIG_ENDIAN -#elif defined(__ppc__) /* PowerPC */ -#define ECRYPT_BIG_ENDIAN - -/* - * Finally machines with UNKNOWN endianness: - */ -#elif defined (_AIX) /* RS6000 */ -#define ECRYPT_UNKNOWN -#elif defined(__hpux) /* HP-PA */ -#define ECRYPT_UNKNOWN -#elif defined(__aux) /* 68K */ -#define ECRYPT_UNKNOWN -#elif defined(__dgux) /* 88K (but P6 in latest boxes) */ -#define ECRYPT_UNKNOWN -#elif defined(__sgi) /* Newer MIPS */ -#define ECRYPT_UNKNOWN -#else /* Any other processor */ -#define ECRYPT_UNKNOWN -#endif - -/* ------------------------------------------------------------------------- */ - -/* - * Find minimal-width types to store 8-bit, 16-bit, 32-bit, and 64-bit - * integers. - * - * Note: to enable 64-bit types on 32-bit compilers, it might be - * necessary to switch from ISO C90 mode to ISO C99 mode (e.g., gcc - * -std=c99). - */ - -#include - -/* --- check char --- */ - -#if (UCHAR_MAX / 0xFU > 0xFU) -#ifndef I8T -#define I8T char -#define U8C(v) (v##U) - -#if (UCHAR_MAX == 0xFFU) -#define ECRYPT_I8T_IS_BYTE -#endif - -#endif - -#if (UCHAR_MAX / 0xFFU > 0xFFU) -#ifndef I16T -#define I16T char -#define U16C(v) (v##U) -#endif - -#if (UCHAR_MAX / 0xFFFFU > 0xFFFFU) -#ifndef I32T -#define I32T char -#define U32C(v) (v##U) -#endif - -#if (UCHAR_MAX / 0xFFFFFFFFU > 0xFFFFFFFFU) -#ifndef I64T -#define I64T char -#define U64C(v) (v##U) -#define ECRYPT_NATIVE64 -#endif - -#endif -#endif -#endif -#endif - -/* --- check short --- */ - -#if (USHRT_MAX / 0xFU > 0xFU) -#ifndef I8T -#define I8T short -#define U8C(v) (v##U) - -#if (USHRT_MAX == 0xFFU) -#define ECRYPT_I8T_IS_BYTE -#endif - -#endif - -#if (USHRT_MAX / 0xFFU > 0xFFU) -#ifndef I16T -#define I16T short -#define U16C(v) (v##U) -#endif - -#if (USHRT_MAX / 0xFFFFU > 0xFFFFU) -#ifndef I32T -#define I32T short -#define U32C(v) (v##U) -#endif - -#if (USHRT_MAX / 0xFFFFFFFFU > 0xFFFFFFFFU) -#ifndef I64T -#define I64T short -#define U64C(v) (v##U) -#define ECRYPT_NATIVE64 -#endif - -#endif -#endif -#endif -#endif - -/* --- check int --- */ - -#if (UINT_MAX / 0xFU > 0xFU) -#ifndef I8T -#define I8T int -#define U8C(v) (v##U) - -#if (ULONG_MAX == 0xFFU) -#define ECRYPT_I8T_IS_BYTE -#endif - -#endif - -#if (UINT_MAX / 0xFFU > 0xFFU) -#ifndef I16T -#define I16T int -#define U16C(v) (v##U) -#endif - -#if (UINT_MAX / 0xFFFFU > 0xFFFFU) -#ifndef I32T -#define I32T int -#define U32C(v) (v##U) -#endif - -#if (UINT_MAX / 0xFFFFFFFFU > 0xFFFFFFFFU) -#ifndef I64T -#define I64T int -#define U64C(v) (v##U) -#define ECRYPT_NATIVE64 -#endif - -#endif -#endif -#endif -#endif - -/* --- check long --- */ - -#if (ULONG_MAX / 0xFUL > 0xFUL) -#ifndef I8T -#define I8T long -#define U8C(v) (v##UL) - -#if (ULONG_MAX == 0xFFUL) -#define ECRYPT_I8T_IS_BYTE -#endif - -#endif - -#if (ULONG_MAX / 0xFFUL > 0xFFUL) -#ifndef I16T -#define I16T long -#define U16C(v) (v##UL) -#endif - -#if (ULONG_MAX / 0xFFFFUL > 0xFFFFUL) -#ifndef I32T -#define I32T long -#define U32C(v) (v##UL) -#endif - -#if (ULONG_MAX / 0xFFFFFFFFUL > 0xFFFFFFFFUL) -#ifndef I64T -#define I64T long -#define U64C(v) (v##UL) -#define ECRYPT_NATIVE64 -#endif - -#endif -#endif -#endif -#endif - -/* --- check long long --- */ - -#ifdef ULLONG_MAX - -#if (ULLONG_MAX / 0xFULL > 0xFULL) -#ifndef I8T -#define I8T long long -#define U8C(v) (v##ULL) - -#if (ULLONG_MAX == 0xFFULL) -#define ECRYPT_I8T_IS_BYTE -#endif - -#endif - -#if (ULLONG_MAX / 0xFFULL > 0xFFULL) -#ifndef I16T -#define I16T long long -#define U16C(v) (v##ULL) -#endif - -#if (ULLONG_MAX / 0xFFFFULL > 0xFFFFULL) -#ifndef I32T -#define I32T long long -#define U32C(v) (v##ULL) -#endif - -#if (ULLONG_MAX / 0xFFFFFFFFULL > 0xFFFFFFFFULL) -#ifndef I64T -#define I64T long long -#define U64C(v) (v##ULL) -#endif - -#endif -#endif -#endif -#endif - -#endif - -/* --- check __int64 --- */ - -#ifdef _UI64_MAX - -#if (_UI64_MAX / 0xFFFFFFFFui64 > 0xFFFFFFFFui64) -#ifndef I64T -#define I64T __int64 -#define U64C(v) (v##ui64) -#endif - -#endif - -#endif - -/* ------------------------------------------------------------------------- */ - -#endif diff --git a/src/crypto/astrobwt/salsa20_ref/ecrypt-machine.h b/src/crypto/astrobwt/salsa20_ref/ecrypt-machine.h deleted file mode 100644 index 3e550d024b..0000000000 --- a/src/crypto/astrobwt/salsa20_ref/ecrypt-machine.h +++ /dev/null @@ -1,46 +0,0 @@ -/* ecrypt-machine.h */ - -/* - * This file is included by 'ecrypt-portable.h'. It allows to override - * the default macros for specific platforms. Please carefully check - * the machine code generated by your compiler (with optimisations - * turned on) before deciding to edit this file. - */ - -/* ------------------------------------------------------------------------- */ - -#if (defined(ECRYPT_DEFAULT_ROT) && !defined(ECRYPT_MACHINE_ROT)) - -#define ECRYPT_MACHINE_ROT - -#if (defined(WIN32) && defined(_MSC_VER)) - -#undef ROTL32 -#undef ROTR32 -#undef ROTL64 -#undef ROTR64 - -#include - -#define ROTL32(v, n) _lrotl(v, n) -#define ROTR32(v, n) _lrotr(v, n) -#define ROTL64(v, n) _rotl64(v, n) -#define ROTR64(v, n) _rotr64(v, n) - -#endif - -#endif - -/* ------------------------------------------------------------------------- */ - -#if (defined(ECRYPT_DEFAULT_SWAP) && !defined(ECRYPT_MACHINE_SWAP)) - -#define ECRYPT_MACHINE_SWAP - -/* - * If you want to overwrite the default swap macros, put it here. And so on. - */ - -#endif - -/* ------------------------------------------------------------------------- */ diff --git a/src/crypto/astrobwt/salsa20_ref/ecrypt-portable.h b/src/crypto/astrobwt/salsa20_ref/ecrypt-portable.h deleted file mode 100644 index 607fee1d0f..0000000000 --- a/src/crypto/astrobwt/salsa20_ref/ecrypt-portable.h +++ /dev/null @@ -1,303 +0,0 @@ -/* ecrypt-portable.h */ - -/* - * WARNING: the conversions defined below are implemented as macros, - * and should be used carefully. They should NOT be used with - * parameters which perform some action. E.g., the following two lines - * are not equivalent: - * - * 1) ++x; y = ROTL32(x, n); - * 2) y = ROTL32(++x, n); - */ - -/* - * *** Please do not edit this file. *** - * - * The default macros can be overridden for specific architectures by - * editing 'ecrypt-machine.h'. - */ - -#ifndef ECRYPT_PORTABLE -#define ECRYPT_PORTABLE - -#include "ecrypt-config.h" - -/* ------------------------------------------------------------------------- */ - -/* - * The following types are defined (if available): - * - * u8: unsigned integer type, at least 8 bits - * u16: unsigned integer type, at least 16 bits - * u32: unsigned integer type, at least 32 bits - * u64: unsigned integer type, at least 64 bits - * - * s8, s16, s32, s64 -> signed counterparts of u8, u16, u32, u64 - * - * The selection of minimum-width integer types is taken care of by - * 'ecrypt-config.h'. Note: to enable 64-bit types on 32-bit - * compilers, it might be necessary to switch from ISO C90 mode to ISO - * C99 mode (e.g., gcc -std=c99). - */ - -#ifdef I8T -typedef signed I8T s8; -typedef unsigned I8T u8; -#endif - -#ifdef I16T -typedef signed I16T s16; -typedef unsigned I16T u16; -#endif - -#ifdef I32T -typedef signed I32T s32; -typedef unsigned I32T u32; -#endif - -#ifdef I64T -typedef signed I64T s64; -typedef unsigned I64T u64; -#endif - -/* - * The following macros are used to obtain exact-width results. - */ - -#define U8V(v) ((u8)(v) & U8C(0xFF)) -#define U16V(v) ((u16)(v) & U16C(0xFFFF)) -#define U32V(v) ((u32)(v) & U32C(0xFFFFFFFF)) -#define U64V(v) ((u64)(v) & U64C(0xFFFFFFFFFFFFFFFF)) - -/* ------------------------------------------------------------------------- */ - -/* - * The following macros return words with their bits rotated over n - * positions to the left/right. - */ - -#define ECRYPT_DEFAULT_ROT - -#define ROTL8(v, n) \ - (U8V((v) << (n)) | ((v) >> (8 - (n)))) - -#define ROTL16(v, n) \ - (U16V((v) << (n)) | ((v) >> (16 - (n)))) - -#define ROTL32(v, n) \ - (U32V((v) << (n)) | ((v) >> (32 - (n)))) - -#define ROTL64(v, n) \ - (U64V((v) << (n)) | ((v) >> (64 - (n)))) - -#define ROTR8(v, n) ROTL8(v, 8 - (n)) -#define ROTR16(v, n) ROTL16(v, 16 - (n)) -#define ROTR32(v, n) ROTL32(v, 32 - (n)) -#define ROTR64(v, n) ROTL64(v, 64 - (n)) - -#include "ecrypt-machine.h" - -/* ------------------------------------------------------------------------- */ - -/* - * The following macros return a word with bytes in reverse order. - */ - -#define ECRYPT_DEFAULT_SWAP - -#define SWAP16(v) \ - ROTL16(v, 8) - -#define SWAP32(v) \ - ((ROTL32(v, 8) & U32C(0x00FF00FF)) | \ - (ROTL32(v, 24) & U32C(0xFF00FF00))) - -#ifdef ECRYPT_NATIVE64 -#define SWAP64(v) \ - ((ROTL64(v, 8) & U64C(0x000000FF000000FF)) | \ - (ROTL64(v, 24) & U64C(0x0000FF000000FF00)) | \ - (ROTL64(v, 40) & U64C(0x00FF000000FF0000)) | \ - (ROTL64(v, 56) & U64C(0xFF000000FF000000))) -#else -#define SWAP64(v) \ - (((u64)SWAP32(U32V(v)) << 32) | (u64)SWAP32(U32V(v >> 32))) -#endif - -#include "ecrypt-machine.h" - -#define ECRYPT_DEFAULT_WTOW - -#ifdef ECRYPT_LITTLE_ENDIAN -#define U16TO16_LITTLE(v) (v) -#define U32TO32_LITTLE(v) (v) -#define U64TO64_LITTLE(v) (v) - -#define U16TO16_BIG(v) SWAP16(v) -#define U32TO32_BIG(v) SWAP32(v) -#define U64TO64_BIG(v) SWAP64(v) -#endif - -#ifdef ECRYPT_BIG_ENDIAN -#define U16TO16_LITTLE(v) SWAP16(v) -#define U32TO32_LITTLE(v) SWAP32(v) -#define U64TO64_LITTLE(v) SWAP64(v) - -#define U16TO16_BIG(v) (v) -#define U32TO32_BIG(v) (v) -#define U64TO64_BIG(v) (v) -#endif - -#include "ecrypt-machine.h" - -/* - * The following macros load words from an array of bytes with - * different types of endianness, and vice versa. - */ - -#define ECRYPT_DEFAULT_BTOW - -#if (!defined(ECRYPT_UNKNOWN) && defined(ECRYPT_I8T_IS_BYTE)) - -#define U8TO16_LITTLE(p) U16TO16_LITTLE(((u16*)(p))[0]) -#define U8TO32_LITTLE(p) U32TO32_LITTLE(((u32*)(p))[0]) -#define U8TO64_LITTLE(p) U64TO64_LITTLE(((u64*)(p))[0]) - -#define U8TO16_BIG(p) U16TO16_BIG(((u16*)(p))[0]) -#define U8TO32_BIG(p) U32TO32_BIG(((u32*)(p))[0]) -#define U8TO64_BIG(p) U64TO64_BIG(((u64*)(p))[0]) - -#define U16TO8_LITTLE(p, v) (((u16*)(p))[0] = U16TO16_LITTLE(v)) -#define U32TO8_LITTLE(p, v) (((u32*)(p))[0] = U32TO32_LITTLE(v)) -#define U64TO8_LITTLE(p, v) (((u64*)(p))[0] = U64TO64_LITTLE(v)) - -#define U16TO8_BIG(p, v) (((u16*)(p))[0] = U16TO16_BIG(v)) -#define U32TO8_BIG(p, v) (((u32*)(p))[0] = U32TO32_BIG(v)) -#define U64TO8_BIG(p, v) (((u64*)(p))[0] = U64TO64_BIG(v)) - -#else - -#define U8TO16_LITTLE(p) \ - (((u16)((p)[0]) ) | \ - ((u16)((p)[1]) << 8)) - -#define U8TO32_LITTLE(p) \ - (((u32)((p)[0]) ) | \ - ((u32)((p)[1]) << 8) | \ - ((u32)((p)[2]) << 16) | \ - ((u32)((p)[3]) << 24)) - -#ifdef ECRYPT_NATIVE64 -#define U8TO64_LITTLE(p) \ - (((u64)((p)[0]) ) | \ - ((u64)((p)[1]) << 8) | \ - ((u64)((p)[2]) << 16) | \ - ((u64)((p)[3]) << 24) | \ - ((u64)((p)[4]) << 32) | \ - ((u64)((p)[5]) << 40) | \ - ((u64)((p)[6]) << 48) | \ - ((u64)((p)[7]) << 56)) -#else -#define U8TO64_LITTLE(p) \ - ((u64)U8TO32_LITTLE(p) | ((u64)U8TO32_LITTLE((p) + 4) << 32)) -#endif - -#define U8TO16_BIG(p) \ - (((u16)((p)[0]) << 8) | \ - ((u16)((p)[1]) )) - -#define U8TO32_BIG(p) \ - (((u32)((p)[0]) << 24) | \ - ((u32)((p)[1]) << 16) | \ - ((u32)((p)[2]) << 8) | \ - ((u32)((p)[3]) )) - -#ifdef ECRYPT_NATIVE64 -#define U8TO64_BIG(p) \ - (((u64)((p)[0]) << 56) | \ - ((u64)((p)[1]) << 48) | \ - ((u64)((p)[2]) << 40) | \ - ((u64)((p)[3]) << 32) | \ - ((u64)((p)[4]) << 24) | \ - ((u64)((p)[5]) << 16) | \ - ((u64)((p)[6]) << 8) | \ - ((u64)((p)[7]) )) -#else -#define U8TO64_BIG(p) \ - (((u64)U8TO32_BIG(p) << 32) | (u64)U8TO32_BIG((p) + 4)) -#endif - -#define U16TO8_LITTLE(p, v) \ - do { \ - (p)[0] = U8V((v) ); \ - (p)[1] = U8V((v) >> 8); \ - } while (0) - -#define U32TO8_LITTLE(p, v) \ - do { \ - (p)[0] = U8V((v) ); \ - (p)[1] = U8V((v) >> 8); \ - (p)[2] = U8V((v) >> 16); \ - (p)[3] = U8V((v) >> 24); \ - } while (0) - -#ifdef ECRYPT_NATIVE64 -#define U64TO8_LITTLE(p, v) \ - do { \ - (p)[0] = U8V((v) ); \ - (p)[1] = U8V((v) >> 8); \ - (p)[2] = U8V((v) >> 16); \ - (p)[3] = U8V((v) >> 24); \ - (p)[4] = U8V((v) >> 32); \ - (p)[5] = U8V((v) >> 40); \ - (p)[6] = U8V((v) >> 48); \ - (p)[7] = U8V((v) >> 56); \ - } while (0) -#else -#define U64TO8_LITTLE(p, v) \ - do { \ - U32TO8_LITTLE((p), U32V((v) )); \ - U32TO8_LITTLE((p) + 4, U32V((v) >> 32)); \ - } while (0) -#endif - -#define U16TO8_BIG(p, v) \ - do { \ - (p)[0] = U8V((v) ); \ - (p)[1] = U8V((v) >> 8); \ - } while (0) - -#define U32TO8_BIG(p, v) \ - do { \ - (p)[0] = U8V((v) >> 24); \ - (p)[1] = U8V((v) >> 16); \ - (p)[2] = U8V((v) >> 8); \ - (p)[3] = U8V((v) ); \ - } while (0) - -#ifdef ECRYPT_NATIVE64 -#define U64TO8_BIG(p, v) \ - do { \ - (p)[0] = U8V((v) >> 56); \ - (p)[1] = U8V((v) >> 48); \ - (p)[2] = U8V((v) >> 40); \ - (p)[3] = U8V((v) >> 32); \ - (p)[4] = U8V((v) >> 24); \ - (p)[5] = U8V((v) >> 16); \ - (p)[6] = U8V((v) >> 8); \ - (p)[7] = U8V((v) ); \ - } while (0) -#else -#define U64TO8_BIG(p, v) \ - do { \ - U32TO8_BIG((p), U32V((v) >> 32)); \ - U32TO8_BIG((p) + 4, U32V((v) )); \ - } while (0) -#endif - -#endif - -#include "ecrypt-machine.h" - -/* ------------------------------------------------------------------------- */ - -#endif diff --git a/src/crypto/astrobwt/salsa20_ref/ecrypt-sync.h b/src/crypto/astrobwt/salsa20_ref/ecrypt-sync.h deleted file mode 100644 index 971cd571f5..0000000000 --- a/src/crypto/astrobwt/salsa20_ref/ecrypt-sync.h +++ /dev/null @@ -1,279 +0,0 @@ -/* ecrypt-sync.h */ - -/* - * Header file for synchronous stream ciphers without authentication - * mechanism. - * - * *** Please only edit parts marked with "[edit]". *** - */ - -#ifndef ECRYPT_SYNC -#define ECRYPT_SYNC - -#include "ecrypt-portable.h" - -/* ------------------------------------------------------------------------- */ - -/* Cipher parameters */ - -/* - * The name of your cipher. - */ -#define ECRYPT_NAME "Salsa20" /* [edit] */ -#define ECRYPT_PROFILE "S!_H." - -/* - * Specify which key and IV sizes are supported by your cipher. A user - * should be able to enumerate the supported sizes by running the - * following code: - * - * for (i = 0; ECRYPT_KEYSIZE(i) <= ECRYPT_MAXKEYSIZE; ++i) - * { - * keysize = ECRYPT_KEYSIZE(i); - * - * ... - * } - * - * All sizes are in bits. - */ - -#define ECRYPT_MAXKEYSIZE 256 /* [edit] */ -#define ECRYPT_KEYSIZE(i) (128 + (i)*128) /* [edit] */ - -#define ECRYPT_MAXIVSIZE 64 /* [edit] */ -#define ECRYPT_IVSIZE(i) (64 + (i)*64) /* [edit] */ - -/* ------------------------------------------------------------------------- */ - -/* Data structures */ - -/* - * ECRYPT_ctx is the structure containing the representation of the - * internal state of your cipher. - */ - -typedef struct -{ - u32 input[16]; /* could be compressed */ - /* - * [edit] - * - * Put here all state variable needed during the encryption process. - */ -} ECRYPT_ctx; - -/* ------------------------------------------------------------------------- */ - -/* Mandatory functions */ - -/* - * Key and message independent initialization. This function will be - * called once when the program starts (e.g., to build expanded S-box - * tables). - */ -void ECRYPT_init(); - -/* - * Key setup. It is the user's responsibility to select the values of - * keysize and ivsize from the set of supported values specified - * above. - */ -void ECRYPT_keysetup( - ECRYPT_ctx* ctx, - const u8* key, - u32 keysize, /* Key size in bits. */ - u32 ivsize); /* IV size in bits. */ - -/* - * IV setup. After having called ECRYPT_keysetup(), the user is - * allowed to call ECRYPT_ivsetup() different times in order to - * encrypt/decrypt different messages with the same key but different - * IV's. - */ -void ECRYPT_ivsetup( - ECRYPT_ctx* ctx, - const u8* iv); - -/* - * Encryption/decryption of arbitrary length messages. - * - * For efficiency reasons, the API provides two types of - * encrypt/decrypt functions. The ECRYPT_encrypt_bytes() function - * (declared here) encrypts byte strings of arbitrary length, while - * the ECRYPT_encrypt_blocks() function (defined later) only accepts - * lengths which are multiples of ECRYPT_BLOCKLENGTH. - * - * The user is allowed to make multiple calls to - * ECRYPT_encrypt_blocks() to incrementally encrypt a long message, - * but he is NOT allowed to make additional encryption calls once he - * has called ECRYPT_encrypt_bytes() (unless he starts a new message - * of course). For example, this sequence of calls is acceptable: - * - * ECRYPT_keysetup(); - * - * ECRYPT_ivsetup(); - * ECRYPT_encrypt_blocks(); - * ECRYPT_encrypt_blocks(); - * ECRYPT_encrypt_bytes(); - * - * ECRYPT_ivsetup(); - * ECRYPT_encrypt_blocks(); - * ECRYPT_encrypt_blocks(); - * - * ECRYPT_ivsetup(); - * ECRYPT_encrypt_bytes(); - * - * The following sequence is not: - * - * ECRYPT_keysetup(); - * ECRYPT_ivsetup(); - * ECRYPT_encrypt_blocks(); - * ECRYPT_encrypt_bytes(); - * ECRYPT_encrypt_blocks(); - */ - -void ECRYPT_encrypt_bytes( - ECRYPT_ctx* ctx, - const u8* plaintext, - u8* ciphertext, - u32 msglen); /* Message length in bytes. */ - -void ECRYPT_decrypt_bytes( - ECRYPT_ctx* ctx, - const u8* ciphertext, - u8* plaintext, - u32 msglen); /* Message length in bytes. */ - -/* ------------------------------------------------------------------------- */ - -/* Optional features */ - -/* - * For testing purposes it can sometimes be useful to have a function - * which immediately generates keystream without having to provide it - * with a zero plaintext. If your cipher cannot provide this function - * (e.g., because it is not strictly a synchronous cipher), please - * reset the ECRYPT_GENERATES_KEYSTREAM flag. - */ - -#define ECRYPT_GENERATES_KEYSTREAM -#ifdef ECRYPT_GENERATES_KEYSTREAM - -void ECRYPT_keystream_bytes( - ECRYPT_ctx* ctx, - u8* keystream, - u32 length); /* Length of keystream in bytes. */ - -#endif - -/* ------------------------------------------------------------------------- */ - -/* Optional optimizations */ - -/* - * By default, the functions in this section are implemented using - * calls to functions declared above. However, you might want to - * implement them differently for performance reasons. - */ - -/* - * All-in-one encryption/decryption of (short) packets. - * - * The default definitions of these functions can be found in - * "ecrypt-sync.c". If you want to implement them differently, please - * undef the ECRYPT_USES_DEFAULT_ALL_IN_ONE flag. - */ -#define ECRYPT_USES_DEFAULT_ALL_IN_ONE /* [edit] */ - -void ECRYPT_encrypt_packet( - ECRYPT_ctx* ctx, - const u8* iv, - const u8* plaintext, - u8* ciphertext, - u32 msglen); - -void ECRYPT_decrypt_packet( - ECRYPT_ctx* ctx, - const u8* iv, - const u8* ciphertext, - u8* plaintext, - u32 msglen); - -/* - * Encryption/decryption of blocks. - * - * By default, these functions are defined as macros. If you want to - * provide a different implementation, please undef the - * ECRYPT_USES_DEFAULT_BLOCK_MACROS flag and implement the functions - * declared below. - */ - -#define ECRYPT_BLOCKLENGTH 64 /* [edit] */ - -#define ECRYPT_USES_DEFAULT_BLOCK_MACROS /* [edit] */ -#ifdef ECRYPT_USES_DEFAULT_BLOCK_MACROS - -#define ECRYPT_encrypt_blocks(ctx, plaintext, ciphertext, blocks) \ - ECRYPT_encrypt_bytes(ctx, plaintext, ciphertext, \ - (blocks) * ECRYPT_BLOCKLENGTH) - -#define ECRYPT_decrypt_blocks(ctx, ciphertext, plaintext, blocks) \ - ECRYPT_decrypt_bytes(ctx, ciphertext, plaintext, \ - (blocks) * ECRYPT_BLOCKLENGTH) - -#ifdef ECRYPT_GENERATES_KEYSTREAM - -#define ECRYPT_keystream_blocks(ctx, keystream, blocks) \ - ECRYPT_keystream_bytes(ctx, keystream, \ - (blocks) * ECRYPT_BLOCKLENGTH) - -#endif - -#else - -void ECRYPT_encrypt_blocks( - ECRYPT_ctx* ctx, - const u8* plaintext, - u8* ciphertext, - u32 blocks); /* Message length in blocks. */ - -void ECRYPT_decrypt_blocks( - ECRYPT_ctx* ctx, - const u8* ciphertext, - u8* plaintext, - u32 blocks); /* Message length in blocks. */ - -#ifdef ECRYPT_GENERATES_KEYSTREAM - -void ECRYPT_keystream_blocks( - ECRYPT_ctx* ctx, - const u8* keystream, - u32 blocks); /* Keystream length in blocks. */ - -#endif - -#endif - -/* - * If your cipher can be implemented in different ways, you can use - * the ECRYPT_VARIANT parameter to allow the user to choose between - * them at compile time (e.g., gcc -DECRYPT_VARIANT=3 ...). Please - * only use this possibility if you really think it could make a - * significant difference and keep the number of variants - * (ECRYPT_MAXVARIANT) as small as possible (definitely not more than - * 10). Note also that all variants should have exactly the same - * external interface (i.e., the same ECRYPT_BLOCKLENGTH, etc.). - */ -#define ECRYPT_MAXVARIANT 1 /* [edit] */ - -#ifndef ECRYPT_VARIANT -#define ECRYPT_VARIANT 1 -#endif - -#if (ECRYPT_VARIANT > ECRYPT_MAXVARIANT) -#error this variant does not exist -#endif - -/* ------------------------------------------------------------------------- */ - -#endif diff --git a/src/crypto/astrobwt/salsa20_ref/salsa20.c b/src/crypto/astrobwt/salsa20_ref/salsa20.c deleted file mode 100644 index bfced22237..0000000000 --- a/src/crypto/astrobwt/salsa20_ref/salsa20.c +++ /dev/null @@ -1,219 +0,0 @@ -/* -salsa20-merged.c version 20051118 -D. J. Bernstein -Public domain. -*/ - -#include "ecrypt-sync.h" - -#define ROTATE(v,c) (ROTL32(v,c)) -#define XOR(v,w) ((v) ^ (w)) -#define PLUS(v,w) (U32V((v) + (w))) -#define PLUSONE(v) (PLUS((v),1)) - -void ECRYPT_init(void) -{ - return; -} - -static const char sigma[16] = "expand 32-byte k"; -static const char tau[16] = "expand 16-byte k"; - -void ECRYPT_keysetup(ECRYPT_ctx *x,const u8 *k,u32 kbits,u32 ivbits) -{ - const char *constants; - - x->input[1] = U8TO32_LITTLE(k + 0); - x->input[2] = U8TO32_LITTLE(k + 4); - x->input[3] = U8TO32_LITTLE(k + 8); - x->input[4] = U8TO32_LITTLE(k + 12); - if (kbits == 256) { /* recommended */ - k += 16; - constants = sigma; - } else { /* kbits == 128 */ - constants = tau; - } - x->input[11] = U8TO32_LITTLE(k + 0); - x->input[12] = U8TO32_LITTLE(k + 4); - x->input[13] = U8TO32_LITTLE(k + 8); - x->input[14] = U8TO32_LITTLE(k + 12); - x->input[0] = U8TO32_LITTLE(constants + 0); - x->input[5] = U8TO32_LITTLE(constants + 4); - x->input[10] = U8TO32_LITTLE(constants + 8); - x->input[15] = U8TO32_LITTLE(constants + 12); -} - -void ECRYPT_ivsetup(ECRYPT_ctx *x,const u8 *iv) -{ - x->input[6] = U8TO32_LITTLE(iv + 0); - x->input[7] = U8TO32_LITTLE(iv + 4); - x->input[8] = 0; - x->input[9] = 0; -} - -void ECRYPT_encrypt_bytes(ECRYPT_ctx *x,const u8 *m,u8 *c,u32 bytes) -{ - u32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15; - u32 j0, j1, j2, j3, j4, j5, j6, j7, j8, j9, j10, j11, j12, j13, j14, j15; - u8 *ctarget = 0; - u8 tmp[64]; - int i; - - if (!bytes) return; - - j0 = x->input[0]; - j1 = x->input[1]; - j2 = x->input[2]; - j3 = x->input[3]; - j4 = x->input[4]; - j5 = x->input[5]; - j6 = x->input[6]; - j7 = x->input[7]; - j8 = x->input[8]; - j9 = x->input[9]; - j10 = x->input[10]; - j11 = x->input[11]; - j12 = x->input[12]; - j13 = x->input[13]; - j14 = x->input[14]; - j15 = x->input[15]; - - for (;;) { - if (bytes < 64) { - for (i = 0;i < bytes;++i) tmp[i] = m[i]; - m = tmp; - ctarget = c; - c = tmp; - } - x0 = j0; - x1 = j1; - x2 = j2; - x3 = j3; - x4 = j4; - x5 = j5; - x6 = j6; - x7 = j7; - x8 = j8; - x9 = j9; - x10 = j10; - x11 = j11; - x12 = j12; - x13 = j13; - x14 = j14; - x15 = j15; - for (i = 20;i > 0;i -= 2) { - x4 = XOR( x4,ROTATE(PLUS( x0,x12), 7)); - x8 = XOR( x8,ROTATE(PLUS( x4, x0), 9)); - x12 = XOR(x12,ROTATE(PLUS( x8, x4),13)); - x0 = XOR( x0,ROTATE(PLUS(x12, x8),18)); - x9 = XOR( x9,ROTATE(PLUS( x5, x1), 7)); - x13 = XOR(x13,ROTATE(PLUS( x9, x5), 9)); - x1 = XOR( x1,ROTATE(PLUS(x13, x9),13)); - x5 = XOR( x5,ROTATE(PLUS( x1,x13),18)); - x14 = XOR(x14,ROTATE(PLUS(x10, x6), 7)); - x2 = XOR( x2,ROTATE(PLUS(x14,x10), 9)); - x6 = XOR( x6,ROTATE(PLUS( x2,x14),13)); - x10 = XOR(x10,ROTATE(PLUS( x6, x2),18)); - x3 = XOR( x3,ROTATE(PLUS(x15,x11), 7)); - x7 = XOR( x7,ROTATE(PLUS( x3,x15), 9)); - x11 = XOR(x11,ROTATE(PLUS( x7, x3),13)); - x15 = XOR(x15,ROTATE(PLUS(x11, x7),18)); - x1 = XOR( x1,ROTATE(PLUS( x0, x3), 7)); - x2 = XOR( x2,ROTATE(PLUS( x1, x0), 9)); - x3 = XOR( x3,ROTATE(PLUS( x2, x1),13)); - x0 = XOR( x0,ROTATE(PLUS( x3, x2),18)); - x6 = XOR( x6,ROTATE(PLUS( x5, x4), 7)); - x7 = XOR( x7,ROTATE(PLUS( x6, x5), 9)); - x4 = XOR( x4,ROTATE(PLUS( x7, x6),13)); - x5 = XOR( x5,ROTATE(PLUS( x4, x7),18)); - x11 = XOR(x11,ROTATE(PLUS(x10, x9), 7)); - x8 = XOR( x8,ROTATE(PLUS(x11,x10), 9)); - x9 = XOR( x9,ROTATE(PLUS( x8,x11),13)); - x10 = XOR(x10,ROTATE(PLUS( x9, x8),18)); - x12 = XOR(x12,ROTATE(PLUS(x15,x14), 7)); - x13 = XOR(x13,ROTATE(PLUS(x12,x15), 9)); - x14 = XOR(x14,ROTATE(PLUS(x13,x12),13)); - x15 = XOR(x15,ROTATE(PLUS(x14,x13),18)); - } - x0 = PLUS(x0,j0); - x1 = PLUS(x1,j1); - x2 = PLUS(x2,j2); - x3 = PLUS(x3,j3); - x4 = PLUS(x4,j4); - x5 = PLUS(x5,j5); - x6 = PLUS(x6,j6); - x7 = PLUS(x7,j7); - x8 = PLUS(x8,j8); - x9 = PLUS(x9,j9); - x10 = PLUS(x10,j10); - x11 = PLUS(x11,j11); - x12 = PLUS(x12,j12); - x13 = PLUS(x13,j13); - x14 = PLUS(x14,j14); - x15 = PLUS(x15,j15); - - x0 = XOR(x0,U8TO32_LITTLE(m + 0)); - x1 = XOR(x1,U8TO32_LITTLE(m + 4)); - x2 = XOR(x2,U8TO32_LITTLE(m + 8)); - x3 = XOR(x3,U8TO32_LITTLE(m + 12)); - x4 = XOR(x4,U8TO32_LITTLE(m + 16)); - x5 = XOR(x5,U8TO32_LITTLE(m + 20)); - x6 = XOR(x6,U8TO32_LITTLE(m + 24)); - x7 = XOR(x7,U8TO32_LITTLE(m + 28)); - x8 = XOR(x8,U8TO32_LITTLE(m + 32)); - x9 = XOR(x9,U8TO32_LITTLE(m + 36)); - x10 = XOR(x10,U8TO32_LITTLE(m + 40)); - x11 = XOR(x11,U8TO32_LITTLE(m + 44)); - x12 = XOR(x12,U8TO32_LITTLE(m + 48)); - x13 = XOR(x13,U8TO32_LITTLE(m + 52)); - x14 = XOR(x14,U8TO32_LITTLE(m + 56)); - x15 = XOR(x15,U8TO32_LITTLE(m + 60)); - - j8 = PLUSONE(j8); - if (!j8) { - j9 = PLUSONE(j9); - /* stopping at 2^70 bytes per nonce is user's responsibility */ - } - - U32TO8_LITTLE(c + 0,x0); - U32TO8_LITTLE(c + 4,x1); - U32TO8_LITTLE(c + 8,x2); - U32TO8_LITTLE(c + 12,x3); - U32TO8_LITTLE(c + 16,x4); - U32TO8_LITTLE(c + 20,x5); - U32TO8_LITTLE(c + 24,x6); - U32TO8_LITTLE(c + 28,x7); - U32TO8_LITTLE(c + 32,x8); - U32TO8_LITTLE(c + 36,x9); - U32TO8_LITTLE(c + 40,x10); - U32TO8_LITTLE(c + 44,x11); - U32TO8_LITTLE(c + 48,x12); - U32TO8_LITTLE(c + 52,x13); - U32TO8_LITTLE(c + 56,x14); - U32TO8_LITTLE(c + 60,x15); - - if (bytes <= 64) { - if (bytes < 64) { - for (i = 0;i < bytes;++i) ctarget[i] = c[i]; - } - x->input[8] = j8; - x->input[9] = j9; - return; - } - bytes -= 64; - c += 64; - m += 64; - } -} - -void ECRYPT_decrypt_bytes(ECRYPT_ctx *x,const u8 *c,u8 *m,u32 bytes) -{ - ECRYPT_encrypt_bytes(x,c,m,bytes); -} - -void ECRYPT_keystream_bytes(ECRYPT_ctx *x,u8 *stream,u32 bytes) -{ - u32 i; - for (i = 0; i < bytes; ++i) stream[i] = 0; - ECRYPT_encrypt_bytes(x,stream,stream,bytes); -} diff --git a/src/crypto/astrobwt/sha3_256_avx2.S b/src/crypto/astrobwt/sha3_256_avx2.S deleted file mode 100644 index f1d4e3eead..0000000000 --- a/src/crypto/astrobwt/sha3_256_avx2.S +++ /dev/null @@ -1,57 +0,0 @@ -;# XMRig -;# Copyright 2010 Jeff Garzik -;# Copyright 2012-2014 pooler -;# Copyright 2014 Lucas Jones -;# Copyright 2014-2016 Wolf9466 -;# Copyright 2016 Jay D Dee -;# Copyright 2017-2019 XMR-Stak , -;# Copyright 2018 Lee Clagett -;# Copyright 2018-2019 tevador -;# Copyright 2000 Transmeta Corporation -;# Copyright 2004-2008 H. Peter Anvin -;# Copyright 2018-2020 SChernykh -;# Copyright 2016-2020 XMRig , -;# -;# This program is free software: you can redistribute it and/or modify -;# it under the terms of the GNU General Public License as published by -;# the Free Software Foundation, either version 3 of the License, or -;# (at your option) any later version. -;# -;# This program is distributed in the hope that it will be useful, -;# but WITHOUT ANY WARRANTY; without even the implied warranty of -;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;# GNU General Public License for more details. -;# -;# You should have received a copy of the GNU General Public License -;# along with this program. If not, see . -;# - -.intel_syntax noprefix -#if defined(__APPLE__) -.text -#define DECL(x) _##x -#else -.section .text -#define DECL(x) x -#endif - -#define ALIGN .balign -#define dq .quad - -.global DECL(SHA3_256_AVX2_ASM) - -ALIGN 64 -DECL(SHA3_256_AVX2_ASM): - -#include "sha3_256_avx2.inc" - -KeccakF1600_AVX2_ASM: - lea r8,[rip+rot_left+96] - lea r9,[rip+rot_right+96] - lea r10,[rip+rndc] - -#include "sha3_256_keccakf1600_avx2.inc" - -#if defined(__linux__) && defined(__ELF__) -.section .note.GNU-stack,"",%progbits -#endif diff --git a/src/crypto/astrobwt/sha3_256_avx2.asm b/src/crypto/astrobwt/sha3_256_avx2.asm deleted file mode 100644 index f38e09f13b..0000000000 --- a/src/crypto/astrobwt/sha3_256_avx2.asm +++ /dev/null @@ -1,45 +0,0 @@ -;# XMRig -;# Copyright 2010 Jeff Garzik -;# Copyright 2012-2014 pooler -;# Copyright 2014 Lucas Jones -;# Copyright 2014-2016 Wolf9466 -;# Copyright 2016 Jay D Dee -;# Copyright 2017-2019 XMR-Stak , -;# Copyright 2018 Lee Clagett -;# Copyright 2018-2019 tevador -;# Copyright 2000 Transmeta Corporation -;# Copyright 2004-2008 H. Peter Anvin -;# Copyright 2018-2020 SChernykh -;# Copyright 2016-2020 XMRig , -;# -;# This program is free software: you can redistribute it and/or modify -;# it under the terms of the GNU General Public License as published by -;# the Free Software Foundation, either version 3 of the License, or -;# (at your option) any later version. -;# -;# This program is distributed in the hope that it will be useful, -;# but WITHOUT ANY WARRANTY; without even the implied warranty of -;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;# GNU General Public License for more details. -;# -;# You should have received a copy of the GNU General Public License -;# along with this program. If not, see . -;# - -_SHA3_256_AVX2_ASM SEGMENT PAGE READ EXECUTE -PUBLIC SHA3_256_AVX2_ASM - -ALIGN 64 -SHA3_256_AVX2_ASM: - -include sha3_256_avx2.inc - -KeccakF1600_AVX2_ASM: - lea r8,[rot_left+96] - lea r9,[rot_right+96] - lea r10,[rndc] - -include sha3_256_keccakf1600_avx2.inc - -_SHA3_256_AVX2_ASM ENDS -END diff --git a/src/crypto/astrobwt/sha3_256_avx2.inc b/src/crypto/astrobwt/sha3_256_avx2.inc deleted file mode 100644 index 81753dba9c..0000000000 --- a/src/crypto/astrobwt/sha3_256_avx2.inc +++ /dev/null @@ -1,162 +0,0 @@ -;# XMRig -;# Copyright 2010 Jeff Garzik -;# Copyright 2012-2014 pooler -;# Copyright 2014 Lucas Jones -;# Copyright 2014-2016 Wolf9466 -;# Copyright 2016 Jay D Dee -;# Copyright 2017-2019 XMR-Stak , -;# Copyright 2018 Lee Clagett -;# Copyright 2018-2019 tevador -;# Copyright 2000 Transmeta Corporation -;# Copyright 2004-2008 H. Peter Anvin -;# Copyright 2018-2020 SChernykh -;# Copyright 2016-2020 XMRig , -;# -;# This program is free software: you can redistribute it and/or modify -;# it under the terms of the GNU General Public License as published by -;# the Free Software Foundation, either version 3 of the License, or -;# (at your option) any later version. -;# -;# This program is distributed in the hope that it will be useful, -;# but WITHOUT ANY WARRANTY; without even the implied warranty of -;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;# GNU General Public License for more details. -;# -;# You should have received a copy of the GNU General Public License -;# along with this program. If not, see . -;# - - vzeroupper - - mov qword ptr [rsp+8],rbx - mov qword ptr [rsp+16],rsi - mov qword ptr [rsp+24],rdi - push rbp - push r12 - push r13 - push r14 - push r15 - - sub rsp, 80 - movdqu xmmword ptr [rsp+64], xmm6 - movdqu xmmword ptr [rsp+48], xmm7 - movdqu xmmword ptr [rsp+32], xmm8 - movdqu xmmword ptr [rsp+16], xmm9 - movdqu xmmword ptr [rsp+0], xmm10 - sub rsp, 80 - movdqu xmmword ptr [rsp+64], xmm11 - movdqu xmmword ptr [rsp+48], xmm12 - movdqu xmmword ptr [rsp+32], xmm13 - movdqu xmmword ptr [rsp+16], xmm14 - movdqu xmmword ptr [rsp+0], xmm15 - - sub rsp,320 - lea rbp,[rsp+64] - and rbp,-32 - vpxor xmm0,xmm0,xmm0 - xor edi,edi - mov dword ptr [rbp],50462976 - mov r12,rdx - mov dword ptr [rbp+4],169150212 - mov r14,rdx - mov dword ptr [rbp+8],218436623 - shr r14,3 - and r12d,7 - mov dword ptr [rbp+12],135009046 - mov r13,r8 - mov byte ptr [rbp+16],9 - mov rsi,rcx - mov ebx,edi - vmovdqa ymmword ptr [rbp+32],ymm0 - vmovdqa ymmword ptr [rbp+64],ymm0 - vmovdqa ymmword ptr [rbp+96],ymm0 - vmovdqa ymmword ptr [rbp+128],ymm0 - vmovdqa ymmword ptr [rbp+160],ymm0 - vmovdqa ymmword ptr [rbp+192],ymm0 - vmovdqa ymmword ptr [rbp+224],ymm0 - test r14,r14 - je sha3_main_loop_end - -sha3_main_loop: - movzx eax,byte ptr [rbp+rbx] - lea rcx,[rbp+32] - lea rcx,[rcx+rax*8] - mov rax,qword ptr [rsi] - xor qword ptr [rcx],rax - lea r15,[rbx+1] - cmp rbx,16 - jne skip_keccak - - lea rcx,[rbp+32] - call KeccakF1600_AVX2_ASM - -skip_keccak: - cmp rbx,16 - mov rax,rdi - cmovne rax,r15 - add rsi,8 - mov rbx,rax - sub r14,1 - jne sha3_main_loop - -sha3_main_loop_end: - mov rdx,rdi - test r12,r12 - je sha3_tail_loop_end - mov r8,rdi - -sha3_tail_loop: - movzx eax,byte ptr [rdx+rsi] - inc rdx - shlx rcx,rax,r8 - or rdi,rcx - add r8,8 - cmp rdx,r12 - jb sha3_tail_loop - -sha3_tail_loop_end: - movzx eax,byte ptr [rbp+rbx] - lea rdx,[rbp+32] - lea rdx,[rdx+rax*8] - mov ecx,6 - lea rax,[r12*8] - shlx rcx,rcx,rax - xor rcx,qword ptr [rdx] - mov eax,1 - shl rax,63 - xor rcx,rdi - mov qword ptr [rdx],rcx - xor qword ptr [rbp+104],rax - - lea rcx,[rbp+32] - call KeccakF1600_AVX2_ASM - - vmovups ymm0,ymmword ptr [rbp+32] - vmovups ymmword ptr [r13],ymm0 - vzeroupper - - add rsp,320 - - movdqu xmm15, xmmword ptr [rsp] - movdqu xmm14, xmmword ptr [rsp+16] - movdqu xmm13, xmmword ptr [rsp+32] - movdqu xmm12, xmmword ptr [rsp+48] - movdqu xmm11, xmmword ptr [rsp+64] - add rsp, 80 - movdqu xmm10, xmmword ptr [rsp] - movdqu xmm9, xmmword ptr [rsp+16] - movdqu xmm8, xmmword ptr [rsp+32] - movdqu xmm7, xmmword ptr [rsp+48] - movdqu xmm6, xmmword ptr [rsp+64] - add rsp, 80 - - pop r15 - pop r14 - pop r13 - pop r12 - pop rbp - mov rbx,qword ptr [rsp+8] - mov rsi,qword ptr [rsp+16] - mov rdi,qword ptr [rsp+24] - - ret diff --git a/src/crypto/astrobwt/sha3_256_keccakf1600_avx2.inc b/src/crypto/astrobwt/sha3_256_keccakf1600_avx2.inc deleted file mode 100644 index a9bae47a1d..0000000000 --- a/src/crypto/astrobwt/sha3_256_keccakf1600_avx2.inc +++ /dev/null @@ -1,203 +0,0 @@ -;# XMRig -;# Copyright 2010 Jeff Garzik -;# Copyright 2012-2014 pooler -;# Copyright 2014 Lucas Jones -;# Copyright 2014-2016 Wolf9466 -;# Copyright 2016 Jay D Dee -;# Copyright 2017-2019 XMR-Stak , -;# Copyright 2018 Lee Clagett -;# Copyright 2018-2019 tevador -;# Copyright 2000 Transmeta Corporation -;# Copyright 2004-2008 H. Peter Anvin -;# Copyright 2018-2020 SChernykh -;# Copyright 2016-2020 XMRig , -;# -;# This program is free software: you can redistribute it and/or modify -;# it under the terms of the GNU General Public License as published by -;# the Free Software Foundation, either version 3 of the License, or -;# (at your option) any later version. -;# -;# This program is distributed in the hope that it will be useful, -;# but WITHOUT ANY WARRANTY; without even the implied warranty of -;# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;# GNU General Public License for more details. -;# -;# You should have received a copy of the GNU General Public License -;# along with this program. If not, see . -;# - - mov eax,24 - lea rcx,[rcx+96] - vpbroadcastq ymm0,QWORD PTR [rcx-96] - vmovdqu ymm1,YMMWORD PTR [rcx-88] - vmovdqu ymm2,YMMWORD PTR [rcx-56] - vmovdqu ymm3,YMMWORD PTR [rcx-24] - vmovdqu ymm4,YMMWORD PTR [rcx+8] - vmovdqu ymm5,YMMWORD PTR [rcx+40] - vmovdqu ymm6,YMMWORD PTR [rcx+72] - -ALIGN 64 -Loop_avx2: - vpshufd ymm13,ymm2,78 - vpxor ymm12,ymm5,ymm3 - vpxor ymm9,ymm4,ymm6 - vpxor ymm12,ymm12,ymm1 - vpxor ymm12,ymm12,ymm9 - vpermq ymm11,ymm12,147 - vpxor ymm13,ymm13,ymm2 - vpermq ymm7,ymm13,78 - vpsrlq ymm8,ymm12,63 - vpaddq ymm9,ymm12,ymm12 - vpor ymm8,ymm8,ymm9 - vpermq ymm15,ymm8,57 - vpxor ymm14,ymm8,ymm11 - vpermq ymm14,ymm14,0 - vpxor ymm13,ymm13,ymm0 - vpxor ymm13,ymm13,ymm7 - vpsrlq ymm7,ymm13,63 - vpaddq ymm8,ymm13,ymm13 - vpor ymm8,ymm8,ymm7 - vpxor ymm2,ymm2,ymm14 - vpxor ymm0,ymm0,ymm14 - vpblendd ymm15,ymm15,ymm8,192 - vpblendd ymm11,ymm11,ymm13,3 - vpxor ymm15,ymm15,ymm11 - vpsllvq ymm10,ymm2,YMMWORD PTR [r8-96] - vpsrlvq ymm2,ymm2,YMMWORD PTR [r9-96] - vpor ymm2,ymm2,ymm10 - vpxor ymm3,ymm3,ymm15 - vpsllvq ymm11,ymm3,YMMWORD PTR [r8-32] - vpsrlvq ymm3,ymm3,YMMWORD PTR [r9-32] - vpor ymm3,ymm3,ymm11 - vpxor ymm4,ymm4,ymm15 - vpsllvq ymm12,ymm4,YMMWORD PTR [r8] - vpsrlvq ymm4,ymm4,YMMWORD PTR [r9] - vpor ymm4,ymm4,ymm12 - vpxor ymm5,ymm5,ymm15 - vpsllvq ymm13,ymm5,YMMWORD PTR [r8+32] - vpsrlvq ymm5,ymm5,YMMWORD PTR [r9+32] - vpor ymm5,ymm5,ymm13 - vpxor ymm6,ymm6,ymm15 - vpermq ymm10,ymm2,141 - vpermq ymm11,ymm3,141 - vpsllvq ymm14,ymm6,YMMWORD PTR [r8+64] - vpsrlvq ymm8,ymm6,YMMWORD PTR [r9+64] - vpor ymm8,ymm8,ymm14 - vpxor ymm1,ymm1,ymm15 - vpermq ymm12,ymm4,27 - vpermq ymm13,ymm5,114 - vpsllvq ymm15,ymm1,YMMWORD PTR [r8-64] - vpsrlvq ymm9,ymm1,YMMWORD PTR [r9-64] - vpor ymm9,ymm9,ymm15 - vpsrldq ymm14,ymm8,8 - vpandn ymm7,ymm8,ymm14 - vpblendd ymm3,ymm9,ymm13,12 - vpblendd ymm15,ymm11,ymm9,12 - vpblendd ymm5,ymm10,ymm11,12 - vpblendd ymm14,ymm9,ymm10,12 - vpblendd ymm3,ymm3,ymm11,48 - vpblendd ymm15,ymm15,ymm12,48 - vpblendd ymm5,ymm5,ymm9,48 - vpblendd ymm14,ymm14,ymm13,48 - vpblendd ymm3,ymm3,ymm12,192 - vpblendd ymm15,ymm15,ymm13,192 - vpblendd ymm5,ymm5,ymm13,192 - vpblendd ymm14,ymm14,ymm11,192 - vpandn ymm3,ymm3,ymm15 - vpandn ymm5,ymm5,ymm14 - vpblendd ymm6,ymm12,ymm9,12 - vpblendd ymm15,ymm10,ymm12,12 - vpxor ymm3,ymm3,ymm10 - vpblendd ymm6,ymm6,ymm10,48 - vpblendd ymm15,ymm15,ymm11,48 - vpxor ymm5,ymm5,ymm12 - vpblendd ymm6,ymm6,ymm11,192 - vpblendd ymm15,ymm15,ymm9,192 - vpandn ymm6,ymm6,ymm15 - vpxor ymm6,ymm6,ymm13 - vpermq ymm4,ymm8,30 - vpblendd ymm15,ymm4,ymm0,48 - vpermq ymm1,ymm8,57 - vpblendd ymm1,ymm1,ymm0,192 - vpandn ymm1,ymm1,ymm15 - vpblendd ymm2,ymm11,ymm12,12 - vpblendd ymm14,ymm13,ymm11,12 - vpblendd ymm2,ymm2,ymm13,48 - vpblendd ymm14,ymm14,ymm10,48 - vpblendd ymm2,ymm2,ymm10,192 - vpblendd ymm14,ymm14,ymm12,192 - vpandn ymm2,ymm2,ymm14 - vpxor ymm2,ymm2,ymm9 - vpermq ymm7,ymm7,0 - vpermq ymm3,ymm3,27 - vpermq ymm5,ymm5,141 - vpermq ymm6,ymm6,114 - vpblendd ymm4,ymm13,ymm10,12 - vpblendd ymm14,ymm12,ymm13,12 - vpblendd ymm4,ymm4,ymm12,48 - vpblendd ymm14,ymm14,ymm9,48 - vpblendd ymm4,ymm4,ymm9,192 - vpblendd ymm14,ymm14,ymm10,192 - vpandn ymm4,ymm4,ymm14 - vpxor ymm0,ymm0,ymm7 - vpxor ymm1,ymm1,ymm8 - vpxor ymm4,ymm4,ymm11 - vpxor ymm0,ymm0,YMMWORD PTR [r10] - lea r10,[r10+32] - dec eax - jnz Loop_avx2 - - vmovq QWORD PTR [rcx-96],xmm0 - vmovdqu YMMWORD PTR [rcx-88],ymm1 - vmovdqu YMMWORD PTR [rcx-56],ymm2 - vmovdqu YMMWORD PTR [rcx-24],ymm3 - vmovdqu YMMWORD PTR [rcx+8],ymm4 - vmovdqu YMMWORD PTR [rcx+40],ymm5 - vmovdqu YMMWORD PTR [rcx+72],ymm6 - - ret - -ALIGN 32 -rot_left: - dq 3, 18, 36, 41 - dq 1, 62, 28, 27 - dq 45, 6, 56, 39 - dq 10, 61, 55, 8 - dq 2, 15, 25, 20 - dq 44, 43, 21, 14 - -ALIGN 32 -rot_right: - dq 64-3, 64-18, 64-36, 64-41 - dq 64-1, 64-62, 64-28, 64-27 - dq 64-45, 64-6, 64-56, 64-39 - dq 64-10, 64-61, 64-55, 64-8 - dq 64-2, 64-15, 64-25, 64-20 - dq 64-44, 64-43, 64-21, 64-14 - -ALIGN 32 -rndc: - dq 1, 1, 1, 1 - dq 32898, 32898, 32898, 32898 - dq 9223372036854808714, 9223372036854808714, 9223372036854808714, 9223372036854808714 - dq 9223372039002292224, 9223372039002292224, 9223372039002292224, 9223372039002292224 - dq 32907, 32907, 32907, 32907 - dq 2147483649, 2147483649, 2147483649, 2147483649 - dq 9223372039002292353, 9223372039002292353, 9223372039002292353, 9223372039002292353 - dq 9223372036854808585, 9223372036854808585, 9223372036854808585, 9223372036854808585 - dq 138, 138, 138, 138 - dq 136, 136, 136, 136 - dq 2147516425, 2147516425, 2147516425, 2147516425 - dq 2147483658, 2147483658, 2147483658, 2147483658 - dq 2147516555, 2147516555, 2147516555, 2147516555 - dq 9223372036854775947, 9223372036854775947, 9223372036854775947, 9223372036854775947 - dq 9223372036854808713, 9223372036854808713, 9223372036854808713, 9223372036854808713 - dq 9223372036854808579, 9223372036854808579, 9223372036854808579, 9223372036854808579 - dq 9223372036854808578, 9223372036854808578, 9223372036854808578, 9223372036854808578 - dq 9223372036854775936, 9223372036854775936, 9223372036854775936, 9223372036854775936 - dq 32778, 32778, 32778, 32778 - dq 9223372039002259466, 9223372039002259466, 9223372039002259466, 9223372039002259466 - dq 9223372039002292353, 9223372039002292353, 9223372039002292353, 9223372039002292353 - dq 9223372036854808704, 9223372036854808704, 9223372036854808704, 9223372036854808704 - dq 2147483649, 2147483649, 2147483649, 2147483649 - dq 9223372039002292232, 9223372039002292232, 9223372039002292232, 9223372039002292232 diff --git a/src/crypto/astrobwt/sort_indices2.cpp b/src/crypto/astrobwt/sort_indices2.cpp deleted file mode 100644 index 2d86d4624d..0000000000 --- a/src/crypto/astrobwt/sort_indices2.cpp +++ /dev/null @@ -1,208 +0,0 @@ -/* XMRig - * Copyright (c) 2018 Lee Clagett - * Copyright (c) 2018-2019 tevador - * Copyright (c) 2000 Transmeta Corporation - * Copyright (c) 2004-2008 H. Peter Anvin - * Copyright (c) 2018-2021 SChernykh - * Copyright (c) 2016-2021 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include "crypto/astrobwt/sort_indices2.h" -#include "base/tools/bswap_64.h" -#include - - -#ifdef __GNUC__ -#define NOINLINE __attribute__((noinline)) -#define RESTRICT __restrict__ -#elif _MSC_VER -#define NOINLINE __declspec(noinline) -#define RESTRICT __restrict -#else -#define NOINLINE -#define RESTRICT -#endif - - -#if __has_cpp_attribute(unlikely) -#define UNLIKELY(X) (X) [[unlikely]] -#elif defined __GNUC__ -#define UNLIKELY(X) (__builtin_expect((X), 0)) -#else -#define UNLIKELY(X) (X) -#endif - - -static NOINLINE void fix(const uint8_t* RESTRICT v, uint32_t* RESTRICT indices, int32_t i) -{ - uint32_t prev_t = indices[i - 1]; - uint32_t t = indices[i]; - - const uint32_t data_a = bswap_32(*(const uint32_t*)(v + (t & 0xFFFF) + 2)); - if (data_a < bswap_32(*(const uint32_t*)(v + (prev_t & 0xFFFF) + 2))) - { - const uint32_t t2 = prev_t; - int32_t j = i - 1; - do - { - indices[j + 1] = prev_t; - --j; - - if (j < 0) { - break; - } - - prev_t = indices[j]; - } while (((t ^ prev_t) <= 0xFFFF) && (data_a < bswap_32(*(const uint32_t*)(v + (prev_t & 0xFFFF) + 2)))); - indices[j + 1] = t; - t = t2; - } -} - - -static NOINLINE void sort_indices(uint32_t N, const uint8_t* RESTRICT v, uint32_t* RESTRICT indices, uint32_t* RESTRICT tmp_indices) -{ - uint8_t byte_counters[2][256] = {}; - uint32_t counters[2][256]; - - { -#define ITER(X) ++byte_counters[1][v[i + X]]; - - enum { unroll = 12 }; - - uint32_t i = 0; - const uint32_t n = N - (unroll - 1); - for (; i < n; i += unroll) { - ITER(0); ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); ITER(8); ITER(9); ITER(10); ITER(11); - } - for (; i < N; ++i) { - ITER(0); - } - memcpy(&byte_counters[0], &byte_counters[1], 256); - --byte_counters[0][v[0]]; - -#undef ITER - } - - { - uint32_t c0 = byte_counters[0][0]; - uint32_t c1 = byte_counters[1][0] - 1; - counters[0][0] = c0; - counters[1][0] = c1; - uint8_t* src = &byte_counters[0][0] + 1; - uint32_t* dst = &counters[0][0] + 1; - const uint8_t* const e = &byte_counters[0][0] + 256; - do { - c0 += src[0]; - c1 += src[256]; - dst[0] = c0; - dst[256] = c1; - ++src; - ++dst; - } while (src < e); - } - - { -#define ITER(X) \ - do { \ - const uint32_t byte0 = v[i - X + 0]; \ - const uint32_t byte1 = v[i - X + 1]; \ - tmp_indices[counters[0][byte1]--] = (byte0 << 24) | (byte1 << 16) | (i - X); \ - } while (0) - - enum { unroll = 8 }; - - uint32_t i = N; - for (; i >= unroll; i -= unroll) { - ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); ITER(8); - } - for (; i > 0; --i) { - ITER(1); - } - -#undef ITER - } - - { -#define ITER(X) \ - do { \ - const uint32_t data = tmp_indices[i - X]; \ - indices[counters[1][data >> 24]--] = data; \ - } while (0) - - enum { unroll = 8 }; - - uint32_t i = N; - for (; i >= unroll; i -= unroll) { - ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); ITER(8); - } - for (; i > 0; --i) { - ITER(1); - } - -#undef ITER - } - - { -#define ITER(X) do { if UNLIKELY(a[X * 2] == a[(X + 1) * 2]) fix(v, indices, i + X); } while (0) - - enum { unroll = 16 }; - - uint32_t i = 1; - const uint32_t n = N - (unroll - 1); - const uint16_t* a = ((const uint16_t*)indices) + 1; - - for (; i < n; i += unroll, a += unroll * 2) { - ITER(0); ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); - ITER(8); ITER(9); ITER(10); ITER(11); ITER(12); ITER(13); ITER(14); ITER(15); - } - for (; i < N; ++i, a += 2) { - ITER(0); - } - -#undef ITER - } - - { -#define ITER(X) a[X] = b[X * 2]; - - enum { unroll = 32 }; - - uint16_t* a = (uint16_t*)indices; - uint16_t* b = (uint16_t*)indices; - uint16_t* e = ((uint16_t*)indices) + (N - (unroll - 1)); - - for (; a < e; a += unroll, b += unroll * 2) { - ITER(0); ITER(1); ITER(2); ITER(3); ITER(4); ITER(5); ITER(6); ITER(7); - ITER(8); ITER(9); ITER(10); ITER(11); ITER(12); ITER(13); ITER(14); ITER(15); - ITER(16); ITER(17); ITER(18); ITER(19); ITER(20); ITER(21); ITER(22); ITER(23); - ITER(24); ITER(25); ITER(26); ITER(27); ITER(28); ITER(29); ITER(30); ITER(31); - } - - e = ((uint16_t*)indices) + N; - for (; a < e; ++a, b += 2) { - ITER(0); - } - -#undef ITER - } -} - - -void sort_indices_astrobwt_v2(uint32_t N, const uint8_t* v, uint32_t* indices, uint32_t* tmp_indices) -{ - sort_indices(N, v, indices, tmp_indices); -} diff --git a/src/crypto/astrobwt/sort_indices2.h b/src/crypto/astrobwt/sort_indices2.h deleted file mode 100644 index 3dd3a75157..0000000000 --- a/src/crypto/astrobwt/sort_indices2.h +++ /dev/null @@ -1,26 +0,0 @@ -/* XMRig - * Copyright (c) 2018 Lee Clagett - * Copyright (c) 2018-2019 tevador - * Copyright (c) 2000 Transmeta Corporation - * Copyright (c) 2004-2008 H. Peter Anvin - * Copyright (c) 2018-2021 SChernykh - * Copyright (c) 2016-2021 XMRig , - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#include - - -void sort_indices_astrobwt_v2(uint32_t N, const uint8_t* v, uint32_t* indices, uint32_t* tmp_indices); diff --git a/src/crypto/astrobwt/xmm6int/salsa20_xmm6int-avx2.c b/src/crypto/astrobwt/xmm6int/salsa20_xmm6int-avx2.c deleted file mode 100644 index dab2b74d39..0000000000 --- a/src/crypto/astrobwt/xmm6int/salsa20_xmm6int-avx2.c +++ /dev/null @@ -1,98 +0,0 @@ -/* - * ISC License - * - * Copyright (c) 2013-2021 - * Frank Denis - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include - -#include -#include -#include -#include - -#define ROUNDS 20 - -typedef struct salsa_ctx { - uint32_t input[16]; -} salsa_ctx; - -static const int TR[16] = { - 0, 5, 10, 15, 12, 1, 6, 11, 8, 13, 2, 7, 4, 9, 14, 3 -}; - -#define LOAD32_LE(p) *((uint32_t*)(p)) -#define STORE32_LE(dst, src) memcpy((dst), &(src), sizeof(uint32_t)) - -static void -salsa_keysetup(salsa_ctx *ctx, const uint8_t *k) -{ - ctx->input[TR[1]] = LOAD32_LE(k + 0); - ctx->input[TR[2]] = LOAD32_LE(k + 4); - ctx->input[TR[3]] = LOAD32_LE(k + 8); - ctx->input[TR[4]] = LOAD32_LE(k + 12); - ctx->input[TR[11]] = LOAD32_LE(k + 16); - ctx->input[TR[12]] = LOAD32_LE(k + 20); - ctx->input[TR[13]] = LOAD32_LE(k + 24); - ctx->input[TR[14]] = LOAD32_LE(k + 28); - ctx->input[TR[0]] = 0x61707865; - ctx->input[TR[5]] = 0x3320646e; - ctx->input[TR[10]] = 0x79622d32; - ctx->input[TR[15]] = 0x6b206574; -} - -static void -salsa_ivsetup(salsa_ctx *ctx, const uint8_t *iv, const uint8_t *counter) -{ - ctx->input[TR[6]] = LOAD32_LE(iv + 0); - ctx->input[TR[7]] = LOAD32_LE(iv + 4); - ctx->input[TR[8]] = counter == NULL ? 0 : LOAD32_LE(counter + 0); - ctx->input[TR[9]] = counter == NULL ? 0 : LOAD32_LE(counter + 4); -} - -static void -salsa20_encrypt_bytes(salsa_ctx *ctx, const uint8_t *m, uint8_t *c, - unsigned long long bytes) -{ - uint32_t * const x = &ctx->input[0]; - - if (!bytes) { - return; /* LCOV_EXCL_LINE */ - } - -#include "u8.h" -#include "u4.h" -#include "u1.h" -#include "u0.h" -} - -int salsa20_stream_avx2(void* c, uint64_t clen, const void* iv, const void* key) -{ - struct salsa_ctx ctx; - - if (!clen) { - return 0; - } - - salsa_keysetup(&ctx, (const uint8_t*)key); - salsa_ivsetup(&ctx, (const uint8_t*)iv, NULL); - memset(c, 0, clen); - salsa20_encrypt_bytes(&ctx, (const uint8_t*)c, (uint8_t*)c, clen); - - return 0; -} diff --git a/src/crypto/astrobwt/xmm6int/u0.h b/src/crypto/astrobwt/xmm6int/u0.h deleted file mode 100644 index ab93f74256..0000000000 --- a/src/crypto/astrobwt/xmm6int/u0.h +++ /dev/null @@ -1,193 +0,0 @@ -if (bytes > 0) { - __m128i diag0 = _mm_loadu_si128((const __m128i *) (x + 0)); - __m128i diag1 = _mm_loadu_si128((const __m128i *) (x + 4)); - __m128i diag2 = _mm_loadu_si128((const __m128i *) (x + 8)); - __m128i diag3 = _mm_loadu_si128((const __m128i *) (x + 12)); - __m128i a0, a1, a2, a3, a4, a5, a6, a7; - __m128i b0, b1, b2, b3, b4, b5, b6, b7; - uint8_t partialblock[64]; - - unsigned int i; - - a0 = diag1; - for (i = 0; i < ROUNDS; i += 4) { - a0 = _mm_add_epi32(a0, diag0); - a1 = diag0; - b0 = a0; - a0 = _mm_slli_epi32(a0, 7); - b0 = _mm_srli_epi32(b0, 25); - diag3 = _mm_xor_si128(diag3, a0); - - diag3 = _mm_xor_si128(diag3, b0); - - a1 = _mm_add_epi32(a1, diag3); - a2 = diag3; - b1 = a1; - a1 = _mm_slli_epi32(a1, 9); - b1 = _mm_srli_epi32(b1, 23); - diag2 = _mm_xor_si128(diag2, a1); - diag3 = _mm_shuffle_epi32(diag3, 0x93); - diag2 = _mm_xor_si128(diag2, b1); - - a2 = _mm_add_epi32(a2, diag2); - a3 = diag2; - b2 = a2; - a2 = _mm_slli_epi32(a2, 13); - b2 = _mm_srli_epi32(b2, 19); - diag1 = _mm_xor_si128(diag1, a2); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag1 = _mm_xor_si128(diag1, b2); - - a3 = _mm_add_epi32(a3, diag1); - a4 = diag3; - b3 = a3; - a3 = _mm_slli_epi32(a3, 18); - b3 = _mm_srli_epi32(b3, 14); - diag0 = _mm_xor_si128(diag0, a3); - diag1 = _mm_shuffle_epi32(diag1, 0x39); - diag0 = _mm_xor_si128(diag0, b3); - - a4 = _mm_add_epi32(a4, diag0); - a5 = diag0; - b4 = a4; - a4 = _mm_slli_epi32(a4, 7); - b4 = _mm_srli_epi32(b4, 25); - diag1 = _mm_xor_si128(diag1, a4); - - diag1 = _mm_xor_si128(diag1, b4); - - a5 = _mm_add_epi32(a5, diag1); - a6 = diag1; - b5 = a5; - a5 = _mm_slli_epi32(a5, 9); - b5 = _mm_srli_epi32(b5, 23); - diag2 = _mm_xor_si128(diag2, a5); - diag1 = _mm_shuffle_epi32(diag1, 0x93); - diag2 = _mm_xor_si128(diag2, b5); - - a6 = _mm_add_epi32(a6, diag2); - a7 = diag2; - b6 = a6; - a6 = _mm_slli_epi32(a6, 13); - b6 = _mm_srli_epi32(b6, 19); - diag3 = _mm_xor_si128(diag3, a6); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag3 = _mm_xor_si128(diag3, b6); - - a7 = _mm_add_epi32(a7, diag3); - a0 = diag1; - b7 = a7; - a7 = _mm_slli_epi32(a7, 18); - b7 = _mm_srli_epi32(b7, 14); - diag0 = _mm_xor_si128(diag0, a7); - diag3 = _mm_shuffle_epi32(diag3, 0x39); - diag0 = _mm_xor_si128(diag0, b7); - - a0 = _mm_add_epi32(a0, diag0); - a1 = diag0; - b0 = a0; - a0 = _mm_slli_epi32(a0, 7); - b0 = _mm_srli_epi32(b0, 25); - diag3 = _mm_xor_si128(diag3, a0); - - diag3 = _mm_xor_si128(diag3, b0); - - a1 = _mm_add_epi32(a1, diag3); - a2 = diag3; - b1 = a1; - a1 = _mm_slli_epi32(a1, 9); - b1 = _mm_srli_epi32(b1, 23); - diag2 = _mm_xor_si128(diag2, a1); - diag3 = _mm_shuffle_epi32(diag3, 0x93); - diag2 = _mm_xor_si128(diag2, b1); - - a2 = _mm_add_epi32(a2, diag2); - a3 = diag2; - b2 = a2; - a2 = _mm_slli_epi32(a2, 13); - b2 = _mm_srli_epi32(b2, 19); - diag1 = _mm_xor_si128(diag1, a2); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag1 = _mm_xor_si128(diag1, b2); - - a3 = _mm_add_epi32(a3, diag1); - a4 = diag3; - b3 = a3; - a3 = _mm_slli_epi32(a3, 18); - b3 = _mm_srli_epi32(b3, 14); - diag0 = _mm_xor_si128(diag0, a3); - diag1 = _mm_shuffle_epi32(diag1, 0x39); - diag0 = _mm_xor_si128(diag0, b3); - - a4 = _mm_add_epi32(a4, diag0); - a5 = diag0; - b4 = a4; - a4 = _mm_slli_epi32(a4, 7); - b4 = _mm_srli_epi32(b4, 25); - diag1 = _mm_xor_si128(diag1, a4); - - diag1 = _mm_xor_si128(diag1, b4); - - a5 = _mm_add_epi32(a5, diag1); - a6 = diag1; - b5 = a5; - a5 = _mm_slli_epi32(a5, 9); - b5 = _mm_srli_epi32(b5, 23); - diag2 = _mm_xor_si128(diag2, a5); - diag1 = _mm_shuffle_epi32(diag1, 0x93); - diag2 = _mm_xor_si128(diag2, b5); - - a6 = _mm_add_epi32(a6, diag2); - a7 = diag2; - b6 = a6; - a6 = _mm_slli_epi32(a6, 13); - b6 = _mm_srli_epi32(b6, 19); - diag3 = _mm_xor_si128(diag3, a6); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag3 = _mm_xor_si128(diag3, b6); - - a7 = _mm_add_epi32(a7, diag3); - a0 = diag1; - b7 = a7; - a7 = _mm_slli_epi32(a7, 18); - b7 = _mm_srli_epi32(b7, 14); - diag0 = _mm_xor_si128(diag0, a7); - diag3 = _mm_shuffle_epi32(diag3, 0x39); - diag0 = _mm_xor_si128(diag0, b7); - } - - diag0 = _mm_add_epi32(diag0, _mm_loadu_si128((const __m128i *) (x + 0))); - diag1 = _mm_add_epi32(diag1, _mm_loadu_si128((const __m128i *) (x + 4))); - diag2 = _mm_add_epi32(diag2, _mm_loadu_si128((const __m128i *) (x + 8))); - diag3 = _mm_add_epi32(diag3, _mm_loadu_si128((const __m128i *) (x + 12))); - -#define ONEQUAD_SHUFFLE(A, B, C, D) \ - do { \ - uint32_t in##A = _mm_cvtsi128_si32(diag0); \ - uint32_t in##B = _mm_cvtsi128_si32(diag1); \ - uint32_t in##C = _mm_cvtsi128_si32(diag2); \ - uint32_t in##D = _mm_cvtsi128_si32(diag3); \ - diag0 = _mm_shuffle_epi32(diag0, 0x39); \ - diag1 = _mm_shuffle_epi32(diag1, 0x39); \ - diag2 = _mm_shuffle_epi32(diag2, 0x39); \ - diag3 = _mm_shuffle_epi32(diag3, 0x39); \ - *(uint32_t *) (partialblock + (A * 4)) = in##A; \ - *(uint32_t *) (partialblock + (B * 4)) = in##B; \ - *(uint32_t *) (partialblock + (C * 4)) = in##C; \ - *(uint32_t *) (partialblock + (D * 4)) = in##D; \ - } while (0) - -#define ONEQUAD(A, B, C, D) ONEQUAD_SHUFFLE(A, B, C, D) - - ONEQUAD(0, 12, 8, 4); - ONEQUAD(5, 1, 13, 9); - ONEQUAD(10, 6, 2, 14); - ONEQUAD(15, 11, 7, 3); - -#undef ONEQUAD -#undef ONEQUAD_SHUFFLE - - for (i = 0; i < bytes; i++) { - c[i] = m[i] ^ partialblock[i]; - } -} diff --git a/src/crypto/astrobwt/xmm6int/u1.h b/src/crypto/astrobwt/xmm6int/u1.h deleted file mode 100644 index e82521cd5e..0000000000 --- a/src/crypto/astrobwt/xmm6int/u1.h +++ /dev/null @@ -1,207 +0,0 @@ -while (bytes >= 64) { - __m128i diag0 = _mm_loadu_si128((const __m128i *) (x + 0)); - __m128i diag1 = _mm_loadu_si128((const __m128i *) (x + 4)); - __m128i diag2 = _mm_loadu_si128((const __m128i *) (x + 8)); - __m128i diag3 = _mm_loadu_si128((const __m128i *) (x + 12)); - __m128i a0, a1, a2, a3, a4, a5, a6, a7; - __m128i b0, b1, b2, b3, b4, b5, b6, b7; - - uint32_t in8; - uint32_t in9; - int i; - - a0 = diag1; - for (i = 0; i < ROUNDS; i += 4) { - a0 = _mm_add_epi32(a0, diag0); - a1 = diag0; - b0 = a0; - a0 = _mm_slli_epi32(a0, 7); - b0 = _mm_srli_epi32(b0, 25); - diag3 = _mm_xor_si128(diag3, a0); - - diag3 = _mm_xor_si128(diag3, b0); - - a1 = _mm_add_epi32(a1, diag3); - a2 = diag3; - b1 = a1; - a1 = _mm_slli_epi32(a1, 9); - b1 = _mm_srli_epi32(b1, 23); - diag2 = _mm_xor_si128(diag2, a1); - diag3 = _mm_shuffle_epi32(diag3, 0x93); - diag2 = _mm_xor_si128(diag2, b1); - - a2 = _mm_add_epi32(a2, diag2); - a3 = diag2; - b2 = a2; - a2 = _mm_slli_epi32(a2, 13); - b2 = _mm_srli_epi32(b2, 19); - diag1 = _mm_xor_si128(diag1, a2); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag1 = _mm_xor_si128(diag1, b2); - - a3 = _mm_add_epi32(a3, diag1); - a4 = diag3; - b3 = a3; - a3 = _mm_slli_epi32(a3, 18); - b3 = _mm_srli_epi32(b3, 14); - diag0 = _mm_xor_si128(diag0, a3); - diag1 = _mm_shuffle_epi32(diag1, 0x39); - diag0 = _mm_xor_si128(diag0, b3); - - a4 = _mm_add_epi32(a4, diag0); - a5 = diag0; - b4 = a4; - a4 = _mm_slli_epi32(a4, 7); - b4 = _mm_srli_epi32(b4, 25); - diag1 = _mm_xor_si128(diag1, a4); - - diag1 = _mm_xor_si128(diag1, b4); - - a5 = _mm_add_epi32(a5, diag1); - a6 = diag1; - b5 = a5; - a5 = _mm_slli_epi32(a5, 9); - b5 = _mm_srli_epi32(b5, 23); - diag2 = _mm_xor_si128(diag2, a5); - diag1 = _mm_shuffle_epi32(diag1, 0x93); - diag2 = _mm_xor_si128(diag2, b5); - - a6 = _mm_add_epi32(a6, diag2); - a7 = diag2; - b6 = a6; - a6 = _mm_slli_epi32(a6, 13); - b6 = _mm_srli_epi32(b6, 19); - diag3 = _mm_xor_si128(diag3, a6); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag3 = _mm_xor_si128(diag3, b6); - - a7 = _mm_add_epi32(a7, diag3); - a0 = diag1; - b7 = a7; - a7 = _mm_slli_epi32(a7, 18); - b7 = _mm_srli_epi32(b7, 14); - diag0 = _mm_xor_si128(diag0, a7); - diag3 = _mm_shuffle_epi32(diag3, 0x39); - diag0 = _mm_xor_si128(diag0, b7); - - a0 = _mm_add_epi32(a0, diag0); - a1 = diag0; - b0 = a0; - a0 = _mm_slli_epi32(a0, 7); - b0 = _mm_srli_epi32(b0, 25); - diag3 = _mm_xor_si128(diag3, a0); - - diag3 = _mm_xor_si128(diag3, b0); - - a1 = _mm_add_epi32(a1, diag3); - a2 = diag3; - b1 = a1; - a1 = _mm_slli_epi32(a1, 9); - b1 = _mm_srli_epi32(b1, 23); - diag2 = _mm_xor_si128(diag2, a1); - diag3 = _mm_shuffle_epi32(diag3, 0x93); - diag2 = _mm_xor_si128(diag2, b1); - - a2 = _mm_add_epi32(a2, diag2); - a3 = diag2; - b2 = a2; - a2 = _mm_slli_epi32(a2, 13); - b2 = _mm_srli_epi32(b2, 19); - diag1 = _mm_xor_si128(diag1, a2); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag1 = _mm_xor_si128(diag1, b2); - - a3 = _mm_add_epi32(a3, diag1); - a4 = diag3; - b3 = a3; - a3 = _mm_slli_epi32(a3, 18); - b3 = _mm_srli_epi32(b3, 14); - diag0 = _mm_xor_si128(diag0, a3); - diag1 = _mm_shuffle_epi32(diag1, 0x39); - diag0 = _mm_xor_si128(diag0, b3); - - a4 = _mm_add_epi32(a4, diag0); - a5 = diag0; - b4 = a4; - a4 = _mm_slli_epi32(a4, 7); - b4 = _mm_srli_epi32(b4, 25); - diag1 = _mm_xor_si128(diag1, a4); - - diag1 = _mm_xor_si128(diag1, b4); - - a5 = _mm_add_epi32(a5, diag1); - a6 = diag1; - b5 = a5; - a5 = _mm_slli_epi32(a5, 9); - b5 = _mm_srli_epi32(b5, 23); - diag2 = _mm_xor_si128(diag2, a5); - diag1 = _mm_shuffle_epi32(diag1, 0x93); - diag2 = _mm_xor_si128(diag2, b5); - - a6 = _mm_add_epi32(a6, diag2); - a7 = diag2; - b6 = a6; - a6 = _mm_slli_epi32(a6, 13); - b6 = _mm_srli_epi32(b6, 19); - diag3 = _mm_xor_si128(diag3, a6); - diag2 = _mm_shuffle_epi32(diag2, 0x4e); - diag3 = _mm_xor_si128(diag3, b6); - - a7 = _mm_add_epi32(a7, diag3); - a0 = diag1; - b7 = a7; - a7 = _mm_slli_epi32(a7, 18); - b7 = _mm_srli_epi32(b7, 14); - diag0 = _mm_xor_si128(diag0, a7); - diag3 = _mm_shuffle_epi32(diag3, 0x39); - diag0 = _mm_xor_si128(diag0, b7); - } - - diag0 = _mm_add_epi32(diag0, _mm_loadu_si128((const __m128i *) (x + 0))); - diag1 = _mm_add_epi32(diag1, _mm_loadu_si128((const __m128i *) (x + 4))); - diag2 = _mm_add_epi32(diag2, _mm_loadu_si128((const __m128i *) (x + 8))); - diag3 = _mm_add_epi32(diag3, _mm_loadu_si128((const __m128i *) (x + 12))); - -#define ONEQUAD_SHUFFLE(A, B, C, D) \ - do { \ - uint32_t in##A = _mm_cvtsi128_si32(diag0); \ - uint32_t in##B = _mm_cvtsi128_si32(diag1); \ - uint32_t in##C = _mm_cvtsi128_si32(diag2); \ - uint32_t in##D = _mm_cvtsi128_si32(diag3); \ - diag0 = _mm_shuffle_epi32(diag0, 0x39); \ - diag1 = _mm_shuffle_epi32(diag1, 0x39); \ - diag2 = _mm_shuffle_epi32(diag2, 0x39); \ - diag3 = _mm_shuffle_epi32(diag3, 0x39); \ - in##A ^= *(const uint32_t *) (m + (A * 4)); \ - in##B ^= *(const uint32_t *) (m + (B * 4)); \ - in##C ^= *(const uint32_t *) (m + (C * 4)); \ - in##D ^= *(const uint32_t *) (m + (D * 4)); \ - *(uint32_t *) (c + (A * 4)) = in##A; \ - *(uint32_t *) (c + (B * 4)) = in##B; \ - *(uint32_t *) (c + (C * 4)) = in##C; \ - *(uint32_t *) (c + (D * 4)) = in##D; \ - } while (0) - -#define ONEQUAD(A, B, C, D) ONEQUAD_SHUFFLE(A, B, C, D) - - ONEQUAD(0, 12, 8, 4); - ONEQUAD(5, 1, 13, 9); - ONEQUAD(10, 6, 2, 14); - ONEQUAD(15, 11, 7, 3); - -#undef ONEQUAD -#undef ONEQUAD_SHUFFLE - - in8 = x[8]; - in9 = x[13]; - in8++; - if (in8 == 0) { - in9++; - } - x[8] = in8; - x[13] = in9; - - c += 64; - m += 64; - bytes -= 64; -} diff --git a/src/crypto/astrobwt/xmm6int/u4.h b/src/crypto/astrobwt/xmm6int/u4.h deleted file mode 100644 index 474f486002..0000000000 --- a/src/crypto/astrobwt/xmm6int/u4.h +++ /dev/null @@ -1,547 +0,0 @@ -if (bytes >= 256) { - __m128i y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14, - y15; - __m128i z0, z1, z2, z3, z4, z5, z6, z7, z8, z9, z10, z11, z12, z13, z14, - z15; - __m128i orig0, orig1, orig2, orig3, orig4, orig5, orig6, orig7, orig8, - orig9, orig10, orig11, orig12, orig13, orig14, orig15; - - uint32_t in8; - uint32_t in9; - int i; - - /* element broadcast immediate for _mm_shuffle_epi32 are in order: - 0x00, 0x55, 0xaa, 0xff */ - z0 = _mm_loadu_si128((const __m128i *) (x + 0)); - z5 = _mm_shuffle_epi32(z0, 0x55); - z10 = _mm_shuffle_epi32(z0, 0xaa); - z15 = _mm_shuffle_epi32(z0, 0xff); - z0 = _mm_shuffle_epi32(z0, 0x00); - z1 = _mm_loadu_si128((const __m128i *) (x + 4)); - z6 = _mm_shuffle_epi32(z1, 0xaa); - z11 = _mm_shuffle_epi32(z1, 0xff); - z12 = _mm_shuffle_epi32(z1, 0x00); - z1 = _mm_shuffle_epi32(z1, 0x55); - z2 = _mm_loadu_si128((const __m128i *) (x + 8)); - z7 = _mm_shuffle_epi32(z2, 0xff); - z13 = _mm_shuffle_epi32(z2, 0x55); - z2 = _mm_shuffle_epi32(z2, 0xaa); - /* no z8 -> first half of the nonce, will fill later */ - z3 = _mm_loadu_si128((const __m128i *) (x + 12)); - z4 = _mm_shuffle_epi32(z3, 0x00); - z14 = _mm_shuffle_epi32(z3, 0xaa); - z3 = _mm_shuffle_epi32(z3, 0xff); - /* no z9 -> second half of the nonce, will fill later */ - orig0 = z0; - orig1 = z1; - orig2 = z2; - orig3 = z3; - orig4 = z4; - orig5 = z5; - orig6 = z6; - orig7 = z7; - orig10 = z10; - orig11 = z11; - orig12 = z12; - orig13 = z13; - orig14 = z14; - orig15 = z15; - - while (bytes >= 256) { - /* vector implementation for z8 and z9 */ - /* not sure if it helps for only 4 blocks */ - const __m128i addv8 = _mm_set_epi64x(1, 0); - const __m128i addv9 = _mm_set_epi64x(3, 2); - __m128i t8, t9; - uint64_t in89; - - in8 = x[8]; - in9 = x[13]; - in89 = ((uint64_t) in8) | (((uint64_t) in9) << 32); - t8 = _mm_set1_epi64x(in89); - t9 = _mm_set1_epi64x(in89); - - z8 = _mm_add_epi64(addv8, t8); - z9 = _mm_add_epi64(addv9, t9); - - t8 = _mm_unpacklo_epi32(z8, z9); - t9 = _mm_unpackhi_epi32(z8, z9); - - z8 = _mm_unpacklo_epi32(t8, t9); - z9 = _mm_unpackhi_epi32(t8, t9); - - orig8 = z8; - orig9 = z9; - - in89 += 4; - - x[8] = in89 & 0xFFFFFFFF; - x[13] = (in89 >> 32) & 0xFFFFFFFF; - - z5 = orig5; - z10 = orig10; - z15 = orig15; - z14 = orig14; - z3 = orig3; - z6 = orig6; - z11 = orig11; - z1 = orig1; - - z7 = orig7; - z13 = orig13; - z2 = orig2; - z9 = orig9; - z0 = orig0; - z12 = orig12; - z4 = orig4; - z8 = orig8; - - for (i = 0; i < ROUNDS; i += 2) { - /* the inner loop is a direct translation (regexp search/replace) - * from the amd64-xmm6 ASM */ - __m128i r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, - r14, r15; - - y4 = z12; - y4 = _mm_add_epi32(y4, z0); - r4 = y4; - y4 = _mm_slli_epi32(y4, 7); - z4 = _mm_xor_si128(z4, y4); - r4 = _mm_srli_epi32(r4, 25); - z4 = _mm_xor_si128(z4, r4); - - y9 = z1; - y9 = _mm_add_epi32(y9, z5); - r9 = y9; - y9 = _mm_slli_epi32(y9, 7); - z9 = _mm_xor_si128(z9, y9); - r9 = _mm_srli_epi32(r9, 25); - z9 = _mm_xor_si128(z9, r9); - - y8 = z0; - y8 = _mm_add_epi32(y8, z4); - r8 = y8; - y8 = _mm_slli_epi32(y8, 9); - z8 = _mm_xor_si128(z8, y8); - r8 = _mm_srli_epi32(r8, 23); - z8 = _mm_xor_si128(z8, r8); - - y13 = z5; - y13 = _mm_add_epi32(y13, z9); - r13 = y13; - y13 = _mm_slli_epi32(y13, 9); - z13 = _mm_xor_si128(z13, y13); - r13 = _mm_srli_epi32(r13, 23); - z13 = _mm_xor_si128(z13, r13); - - y12 = z4; - y12 = _mm_add_epi32(y12, z8); - r12 = y12; - y12 = _mm_slli_epi32(y12, 13); - z12 = _mm_xor_si128(z12, y12); - r12 = _mm_srli_epi32(r12, 19); - z12 = _mm_xor_si128(z12, r12); - - y1 = z9; - y1 = _mm_add_epi32(y1, z13); - r1 = y1; - y1 = _mm_slli_epi32(y1, 13); - z1 = _mm_xor_si128(z1, y1); - r1 = _mm_srli_epi32(r1, 19); - z1 = _mm_xor_si128(z1, r1); - - y0 = z8; - y0 = _mm_add_epi32(y0, z12); - r0 = y0; - y0 = _mm_slli_epi32(y0, 18); - z0 = _mm_xor_si128(z0, y0); - r0 = _mm_srli_epi32(r0, 14); - z0 = _mm_xor_si128(z0, r0); - - y5 = z13; - y5 = _mm_add_epi32(y5, z1); - r5 = y5; - y5 = _mm_slli_epi32(y5, 18); - z5 = _mm_xor_si128(z5, y5); - r5 = _mm_srli_epi32(r5, 14); - z5 = _mm_xor_si128(z5, r5); - - y14 = z6; - y14 = _mm_add_epi32(y14, z10); - r14 = y14; - y14 = _mm_slli_epi32(y14, 7); - z14 = _mm_xor_si128(z14, y14); - r14 = _mm_srli_epi32(r14, 25); - z14 = _mm_xor_si128(z14, r14); - - y3 = z11; - y3 = _mm_add_epi32(y3, z15); - r3 = y3; - y3 = _mm_slli_epi32(y3, 7); - z3 = _mm_xor_si128(z3, y3); - r3 = _mm_srli_epi32(r3, 25); - z3 = _mm_xor_si128(z3, r3); - - y2 = z10; - y2 = _mm_add_epi32(y2, z14); - r2 = y2; - y2 = _mm_slli_epi32(y2, 9); - z2 = _mm_xor_si128(z2, y2); - r2 = _mm_srli_epi32(r2, 23); - z2 = _mm_xor_si128(z2, r2); - - y7 = z15; - y7 = _mm_add_epi32(y7, z3); - r7 = y7; - y7 = _mm_slli_epi32(y7, 9); - z7 = _mm_xor_si128(z7, y7); - r7 = _mm_srli_epi32(r7, 23); - z7 = _mm_xor_si128(z7, r7); - - y6 = z14; - y6 = _mm_add_epi32(y6, z2); - r6 = y6; - y6 = _mm_slli_epi32(y6, 13); - z6 = _mm_xor_si128(z6, y6); - r6 = _mm_srli_epi32(r6, 19); - z6 = _mm_xor_si128(z6, r6); - - y11 = z3; - y11 = _mm_add_epi32(y11, z7); - r11 = y11; - y11 = _mm_slli_epi32(y11, 13); - z11 = _mm_xor_si128(z11, y11); - r11 = _mm_srli_epi32(r11, 19); - z11 = _mm_xor_si128(z11, r11); - - y10 = z2; - y10 = _mm_add_epi32(y10, z6); - r10 = y10; - y10 = _mm_slli_epi32(y10, 18); - z10 = _mm_xor_si128(z10, y10); - r10 = _mm_srli_epi32(r10, 14); - z10 = _mm_xor_si128(z10, r10); - - y1 = z3; - y1 = _mm_add_epi32(y1, z0); - r1 = y1; - y1 = _mm_slli_epi32(y1, 7); - z1 = _mm_xor_si128(z1, y1); - r1 = _mm_srli_epi32(r1, 25); - z1 = _mm_xor_si128(z1, r1); - - y15 = z7; - y15 = _mm_add_epi32(y15, z11); - r15 = y15; - y15 = _mm_slli_epi32(y15, 18); - z15 = _mm_xor_si128(z15, y15); - r15 = _mm_srli_epi32(r15, 14); - z15 = _mm_xor_si128(z15, r15); - - y6 = z4; - y6 = _mm_add_epi32(y6, z5); - r6 = y6; - y6 = _mm_slli_epi32(y6, 7); - z6 = _mm_xor_si128(z6, y6); - r6 = _mm_srli_epi32(r6, 25); - z6 = _mm_xor_si128(z6, r6); - - y2 = z0; - y2 = _mm_add_epi32(y2, z1); - r2 = y2; - y2 = _mm_slli_epi32(y2, 9); - z2 = _mm_xor_si128(z2, y2); - r2 = _mm_srli_epi32(r2, 23); - z2 = _mm_xor_si128(z2, r2); - - y7 = z5; - y7 = _mm_add_epi32(y7, z6); - r7 = y7; - y7 = _mm_slli_epi32(y7, 9); - z7 = _mm_xor_si128(z7, y7); - r7 = _mm_srli_epi32(r7, 23); - z7 = _mm_xor_si128(z7, r7); - - y3 = z1; - y3 = _mm_add_epi32(y3, z2); - r3 = y3; - y3 = _mm_slli_epi32(y3, 13); - z3 = _mm_xor_si128(z3, y3); - r3 = _mm_srli_epi32(r3, 19); - z3 = _mm_xor_si128(z3, r3); - - y4 = z6; - y4 = _mm_add_epi32(y4, z7); - r4 = y4; - y4 = _mm_slli_epi32(y4, 13); - z4 = _mm_xor_si128(z4, y4); - r4 = _mm_srli_epi32(r4, 19); - z4 = _mm_xor_si128(z4, r4); - - y0 = z2; - y0 = _mm_add_epi32(y0, z3); - r0 = y0; - y0 = _mm_slli_epi32(y0, 18); - z0 = _mm_xor_si128(z0, y0); - r0 = _mm_srli_epi32(r0, 14); - z0 = _mm_xor_si128(z0, r0); - - y5 = z7; - y5 = _mm_add_epi32(y5, z4); - r5 = y5; - y5 = _mm_slli_epi32(y5, 18); - z5 = _mm_xor_si128(z5, y5); - r5 = _mm_srli_epi32(r5, 14); - z5 = _mm_xor_si128(z5, r5); - - y11 = z9; - y11 = _mm_add_epi32(y11, z10); - r11 = y11; - y11 = _mm_slli_epi32(y11, 7); - z11 = _mm_xor_si128(z11, y11); - r11 = _mm_srli_epi32(r11, 25); - z11 = _mm_xor_si128(z11, r11); - - y12 = z14; - y12 = _mm_add_epi32(y12, z15); - r12 = y12; - y12 = _mm_slli_epi32(y12, 7); - z12 = _mm_xor_si128(z12, y12); - r12 = _mm_srli_epi32(r12, 25); - z12 = _mm_xor_si128(z12, r12); - - y8 = z10; - y8 = _mm_add_epi32(y8, z11); - r8 = y8; - y8 = _mm_slli_epi32(y8, 9); - z8 = _mm_xor_si128(z8, y8); - r8 = _mm_srli_epi32(r8, 23); - z8 = _mm_xor_si128(z8, r8); - - y13 = z15; - y13 = _mm_add_epi32(y13, z12); - r13 = y13; - y13 = _mm_slli_epi32(y13, 9); - z13 = _mm_xor_si128(z13, y13); - r13 = _mm_srli_epi32(r13, 23); - z13 = _mm_xor_si128(z13, r13); - - y9 = z11; - y9 = _mm_add_epi32(y9, z8); - r9 = y9; - y9 = _mm_slli_epi32(y9, 13); - z9 = _mm_xor_si128(z9, y9); - r9 = _mm_srli_epi32(r9, 19); - z9 = _mm_xor_si128(z9, r9); - - y14 = z12; - y14 = _mm_add_epi32(y14, z13); - r14 = y14; - y14 = _mm_slli_epi32(y14, 13); - z14 = _mm_xor_si128(z14, y14); - r14 = _mm_srli_epi32(r14, 19); - z14 = _mm_xor_si128(z14, r14); - - y10 = z8; - y10 = _mm_add_epi32(y10, z9); - r10 = y10; - y10 = _mm_slli_epi32(y10, 18); - z10 = _mm_xor_si128(z10, y10); - r10 = _mm_srli_epi32(r10, 14); - z10 = _mm_xor_si128(z10, r10); - - y15 = z13; - y15 = _mm_add_epi32(y15, z14); - r15 = y15; - y15 = _mm_slli_epi32(y15, 18); - z15 = _mm_xor_si128(z15, y15); - r15 = _mm_srli_epi32(r15, 14); - z15 = _mm_xor_si128(z15, r15); - } - -/* store data ; this macro replicates the original amd64-xmm6 code */ -#define ONEQUAD_SHUFFLE(A, B, C, D) \ - z##A = _mm_add_epi32(z##A, orig##A); \ - z##B = _mm_add_epi32(z##B, orig##B); \ - z##C = _mm_add_epi32(z##C, orig##C); \ - z##D = _mm_add_epi32(z##D, orig##D); \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - z##A = _mm_shuffle_epi32(z##A, 0x39); \ - z##B = _mm_shuffle_epi32(z##B, 0x39); \ - z##C = _mm_shuffle_epi32(z##C, 0x39); \ - z##D = _mm_shuffle_epi32(z##D, 0x39); \ - \ - in##A ^= *(uint32_t *) (m + 0); \ - in##B ^= *(uint32_t *) (m + 4); \ - in##C ^= *(uint32_t *) (m + 8); \ - in##D ^= *(uint32_t *) (m + 12); \ - \ - *(uint32_t *) (c + 0) = in##A; \ - *(uint32_t *) (c + 4) = in##B; \ - *(uint32_t *) (c + 8) = in##C; \ - *(uint32_t *) (c + 12) = in##D; \ - \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - z##A = _mm_shuffle_epi32(z##A, 0x39); \ - z##B = _mm_shuffle_epi32(z##B, 0x39); \ - z##C = _mm_shuffle_epi32(z##C, 0x39); \ - z##D = _mm_shuffle_epi32(z##D, 0x39); \ - \ - in##A ^= *(uint32_t *) (m + 64); \ - in##B ^= *(uint32_t *) (m + 68); \ - in##C ^= *(uint32_t *) (m + 72); \ - in##D ^= *(uint32_t *) (m + 76); \ - *(uint32_t *) (c + 64) = in##A; \ - *(uint32_t *) (c + 68) = in##B; \ - *(uint32_t *) (c + 72) = in##C; \ - *(uint32_t *) (c + 76) = in##D; \ - \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - z##A = _mm_shuffle_epi32(z##A, 0x39); \ - z##B = _mm_shuffle_epi32(z##B, 0x39); \ - z##C = _mm_shuffle_epi32(z##C, 0x39); \ - z##D = _mm_shuffle_epi32(z##D, 0x39); \ - \ - in##A ^= *(uint32_t *) (m + 128); \ - in##B ^= *(uint32_t *) (m + 132); \ - in##C ^= *(uint32_t *) (m + 136); \ - in##D ^= *(uint32_t *) (m + 140); \ - *(uint32_t *) (c + 128) = in##A; \ - *(uint32_t *) (c + 132) = in##B; \ - *(uint32_t *) (c + 136) = in##C; \ - *(uint32_t *) (c + 140) = in##D; \ - \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - \ - in##A ^= *(uint32_t *) (m + 192); \ - in##B ^= *(uint32_t *) (m + 196); \ - in##C ^= *(uint32_t *) (m + 200); \ - in##D ^= *(uint32_t *) (m + 204); \ - *(uint32_t *) (c + 192) = in##A; \ - *(uint32_t *) (c + 196) = in##B; \ - *(uint32_t *) (c + 200) = in##C; \ - *(uint32_t *) (c + 204) = in##D - -/* store data ; this macro replaces shuffle+mov by a direct extract; not much - * difference */ -#define ONEQUAD_EXTRACT(A, B, C, D) \ - z##A = _mm_add_epi32(z##A, orig##A); \ - z##B = _mm_add_epi32(z##B, orig##B); \ - z##C = _mm_add_epi32(z##C, orig##C); \ - z##D = _mm_add_epi32(z##D, orig##D); \ - in##A = _mm_cvtsi128_si32(z##A); \ - in##B = _mm_cvtsi128_si32(z##B); \ - in##C = _mm_cvtsi128_si32(z##C); \ - in##D = _mm_cvtsi128_si32(z##D); \ - in##A ^= *(uint32_t *) (m + 0); \ - in##B ^= *(uint32_t *) (m + 4); \ - in##C ^= *(uint32_t *) (m + 8); \ - in##D ^= *(uint32_t *) (m + 12); \ - *(uint32_t *) (c + 0) = in##A; \ - *(uint32_t *) (c + 4) = in##B; \ - *(uint32_t *) (c + 8) = in##C; \ - *(uint32_t *) (c + 12) = in##D; \ - \ - in##A = _mm_extract_epi32(z##A, 1); \ - in##B = _mm_extract_epi32(z##B, 1); \ - in##C = _mm_extract_epi32(z##C, 1); \ - in##D = _mm_extract_epi32(z##D, 1); \ - \ - in##A ^= *(uint32_t *) (m + 64); \ - in##B ^= *(uint32_t *) (m + 68); \ - in##C ^= *(uint32_t *) (m + 72); \ - in##D ^= *(uint32_t *) (m + 76); \ - *(uint32_t *) (c + 64) = in##A; \ - *(uint32_t *) (c + 68) = in##B; \ - *(uint32_t *) (c + 72) = in##C; \ - *(uint32_t *) (c + 76) = in##D; \ - \ - in##A = _mm_extract_epi32(z##A, 2); \ - in##B = _mm_extract_epi32(z##B, 2); \ - in##C = _mm_extract_epi32(z##C, 2); \ - in##D = _mm_extract_epi32(z##D, 2); \ - \ - in##A ^= *(uint32_t *) (m + 128); \ - in##B ^= *(uint32_t *) (m + 132); \ - in##C ^= *(uint32_t *) (m + 136); \ - in##D ^= *(uint32_t *) (m + 140); \ - *(uint32_t *) (c + 128) = in##A; \ - *(uint32_t *) (c + 132) = in##B; \ - *(uint32_t *) (c + 136) = in##C; \ - *(uint32_t *) (c + 140) = in##D; \ - \ - in##A = _mm_extract_epi32(z##A, 3); \ - in##B = _mm_extract_epi32(z##B, 3); \ - in##C = _mm_extract_epi32(z##C, 3); \ - in##D = _mm_extract_epi32(z##D, 3); \ - \ - in##A ^= *(uint32_t *) (m + 192); \ - in##B ^= *(uint32_t *) (m + 196); \ - in##C ^= *(uint32_t *) (m + 200); \ - in##D ^= *(uint32_t *) (m + 204); \ - *(uint32_t *) (c + 192) = in##A; \ - *(uint32_t *) (c + 196) = in##B; \ - *(uint32_t *) (c + 200) = in##C; \ - *(uint32_t *) (c + 204) = in##D - -/* store data ; this macro first transpose data in-registers, and then store - * them in memory. much faster with icc. */ -#define ONEQUAD_TRANSPOSE(A, B, C, D) \ - z##A = _mm_add_epi32(z##A, orig##A); \ - z##B = _mm_add_epi32(z##B, orig##B); \ - z##C = _mm_add_epi32(z##C, orig##C); \ - z##D = _mm_add_epi32(z##D, orig##D); \ - y##A = _mm_unpacklo_epi32(z##A, z##B); \ - y##B = _mm_unpacklo_epi32(z##C, z##D); \ - y##C = _mm_unpackhi_epi32(z##A, z##B); \ - y##D = _mm_unpackhi_epi32(z##C, z##D); \ - z##A = _mm_unpacklo_epi64(y##A, y##B); \ - z##B = _mm_unpackhi_epi64(y##A, y##B); \ - z##C = _mm_unpacklo_epi64(y##C, y##D); \ - z##D = _mm_unpackhi_epi64(y##C, y##D); \ - y##A = _mm_xor_si128(z##A, _mm_loadu_si128((const __m128i *) (m + 0))); \ - _mm_storeu_si128((__m128i *) (c + 0), y##A); \ - y##B = _mm_xor_si128(z##B, _mm_loadu_si128((const __m128i *) (m + 64))); \ - _mm_storeu_si128((__m128i *) (c + 64), y##B); \ - y##C = _mm_xor_si128(z##C, _mm_loadu_si128((const __m128i *) (m + 128))); \ - _mm_storeu_si128((__m128i *) (c + 128), y##C); \ - y##D = _mm_xor_si128(z##D, _mm_loadu_si128((const __m128i *) (m + 192))); \ - _mm_storeu_si128((__m128i *) (c + 192), y##D) - -#define ONEQUAD(A, B, C, D) ONEQUAD_TRANSPOSE(A, B, C, D) - - ONEQUAD(0, 1, 2, 3); - m += 16; - c += 16; - ONEQUAD(4, 5, 6, 7); - m += 16; - c += 16; - ONEQUAD(8, 9, 10, 11); - m += 16; - c += 16; - ONEQUAD(12, 13, 14, 15); - m -= 48; - c -= 48; - -#undef ONEQUAD -#undef ONEQUAD_TRANSPOSE -#undef ONEQUAD_EXTRACT -#undef ONEQUAD_SHUFFLE - - bytes -= 256; - c += 256; - m += 256; - } -} diff --git a/src/crypto/astrobwt/xmm6int/u8.h b/src/crypto/astrobwt/xmm6int/u8.h deleted file mode 100644 index 581b22c214..0000000000 --- a/src/crypto/astrobwt/xmm6int/u8.h +++ /dev/null @@ -1,477 +0,0 @@ -if (bytes >= 512) { - __m256i y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14, - y15; - - /* the naive way seems as fast (if not a bit faster) than the vector way */ - __m256i z0 = _mm256_set1_epi32(x[0]); - __m256i z5 = _mm256_set1_epi32(x[1]); - __m256i z10 = _mm256_set1_epi32(x[2]); - __m256i z15 = _mm256_set1_epi32(x[3]); - __m256i z12 = _mm256_set1_epi32(x[4]); - __m256i z1 = _mm256_set1_epi32(x[5]); - __m256i z6 = _mm256_set1_epi32(x[6]); - __m256i z11 = _mm256_set1_epi32(x[7]); - __m256i z8; /* useless */ - __m256i z13 = _mm256_set1_epi32(x[9]); - __m256i z2 = _mm256_set1_epi32(x[10]); - __m256i z7 = _mm256_set1_epi32(x[11]); - __m256i z4 = _mm256_set1_epi32(x[12]); - __m256i z9; /* useless */ - __m256i z14 = _mm256_set1_epi32(x[14]); - __m256i z3 = _mm256_set1_epi32(x[15]); - - __m256i orig0 = z0; - __m256i orig1 = z1; - __m256i orig2 = z2; - __m256i orig3 = z3; - __m256i orig4 = z4; - __m256i orig5 = z5; - __m256i orig6 = z6; - __m256i orig7 = z7; - __m256i orig8; - __m256i orig9; - __m256i orig10 = z10; - __m256i orig11 = z11; - __m256i orig12 = z12; - __m256i orig13 = z13; - __m256i orig14 = z14; - __m256i orig15 = z15; - - uint32_t in8; - uint32_t in9; - int i; - - while (bytes >= 512) { - /* vector implementation for z8 and z9 */ - /* faster than the naive version for 8 blocks */ - const __m256i addv8 = _mm256_set_epi64x(3, 2, 1, 0); - const __m256i addv9 = _mm256_set_epi64x(7, 6, 5, 4); - const __m256i permute = _mm256_set_epi32(7, 6, 3, 2, 5, 4, 1, 0); - - __m256i t8, t9; - uint64_t in89; - - in8 = x[8]; - in9 = x[13]; /* see arrays above for the address translation */ - in89 = ((uint64_t) in8) | (((uint64_t) in9) << 32); - - z8 = z9 = _mm256_broadcastq_epi64(_mm_cvtsi64_si128(in89)); - - t8 = _mm256_add_epi64(addv8, z8); - t9 = _mm256_add_epi64(addv9, z9); - - z8 = _mm256_unpacklo_epi32(t8, t9); - z9 = _mm256_unpackhi_epi32(t8, t9); - - t8 = _mm256_unpacklo_epi32(z8, z9); - t9 = _mm256_unpackhi_epi32(z8, z9); - - /* required because unpack* are intra-lane */ - z8 = _mm256_permutevar8x32_epi32(t8, permute); - z9 = _mm256_permutevar8x32_epi32(t9, permute); - - orig8 = z8; - orig9 = z9; - - in89 += 8; - - x[8] = in89 & 0xFFFFFFFF; - x[13] = (in89 >> 32) & 0xFFFFFFFF; - - z5 = orig5; - z10 = orig10; - z15 = orig15; - z14 = orig14; - z3 = orig3; - z6 = orig6; - z11 = orig11; - z1 = orig1; - - z7 = orig7; - z13 = orig13; - z2 = orig2; - z9 = orig9; - z0 = orig0; - z12 = orig12; - z4 = orig4; - z8 = orig8; - - for (i = 0; i < ROUNDS; i += 2) { - /* the inner loop is a direct translation (regexp search/replace) - * from the amd64-xmm6 ASM */ - __m256i r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, - r14, r15; - - y4 = z12; - y4 = _mm256_add_epi32(y4, z0); - r4 = y4; - y4 = _mm256_slli_epi32(y4, 7); - z4 = _mm256_xor_si256(z4, y4); - r4 = _mm256_srli_epi32(r4, 25); - z4 = _mm256_xor_si256(z4, r4); - - y9 = z1; - y9 = _mm256_add_epi32(y9, z5); - r9 = y9; - y9 = _mm256_slli_epi32(y9, 7); - z9 = _mm256_xor_si256(z9, y9); - r9 = _mm256_srli_epi32(r9, 25); - z9 = _mm256_xor_si256(z9, r9); - - y8 = z0; - y8 = _mm256_add_epi32(y8, z4); - r8 = y8; - y8 = _mm256_slli_epi32(y8, 9); - z8 = _mm256_xor_si256(z8, y8); - r8 = _mm256_srli_epi32(r8, 23); - z8 = _mm256_xor_si256(z8, r8); - - y13 = z5; - y13 = _mm256_add_epi32(y13, z9); - r13 = y13; - y13 = _mm256_slli_epi32(y13, 9); - z13 = _mm256_xor_si256(z13, y13); - r13 = _mm256_srli_epi32(r13, 23); - z13 = _mm256_xor_si256(z13, r13); - - y12 = z4; - y12 = _mm256_add_epi32(y12, z8); - r12 = y12; - y12 = _mm256_slli_epi32(y12, 13); - z12 = _mm256_xor_si256(z12, y12); - r12 = _mm256_srli_epi32(r12, 19); - z12 = _mm256_xor_si256(z12, r12); - - y1 = z9; - y1 = _mm256_add_epi32(y1, z13); - r1 = y1; - y1 = _mm256_slli_epi32(y1, 13); - z1 = _mm256_xor_si256(z1, y1); - r1 = _mm256_srli_epi32(r1, 19); - z1 = _mm256_xor_si256(z1, r1); - - y0 = z8; - y0 = _mm256_add_epi32(y0, z12); - r0 = y0; - y0 = _mm256_slli_epi32(y0, 18); - z0 = _mm256_xor_si256(z0, y0); - r0 = _mm256_srli_epi32(r0, 14); - z0 = _mm256_xor_si256(z0, r0); - - y5 = z13; - y5 = _mm256_add_epi32(y5, z1); - r5 = y5; - y5 = _mm256_slli_epi32(y5, 18); - z5 = _mm256_xor_si256(z5, y5); - r5 = _mm256_srli_epi32(r5, 14); - z5 = _mm256_xor_si256(z5, r5); - - y14 = z6; - y14 = _mm256_add_epi32(y14, z10); - r14 = y14; - y14 = _mm256_slli_epi32(y14, 7); - z14 = _mm256_xor_si256(z14, y14); - r14 = _mm256_srli_epi32(r14, 25); - z14 = _mm256_xor_si256(z14, r14); - - y3 = z11; - y3 = _mm256_add_epi32(y3, z15); - r3 = y3; - y3 = _mm256_slli_epi32(y3, 7); - z3 = _mm256_xor_si256(z3, y3); - r3 = _mm256_srli_epi32(r3, 25); - z3 = _mm256_xor_si256(z3, r3); - - y2 = z10; - y2 = _mm256_add_epi32(y2, z14); - r2 = y2; - y2 = _mm256_slli_epi32(y2, 9); - z2 = _mm256_xor_si256(z2, y2); - r2 = _mm256_srli_epi32(r2, 23); - z2 = _mm256_xor_si256(z2, r2); - - y7 = z15; - y7 = _mm256_add_epi32(y7, z3); - r7 = y7; - y7 = _mm256_slli_epi32(y7, 9); - z7 = _mm256_xor_si256(z7, y7); - r7 = _mm256_srli_epi32(r7, 23); - z7 = _mm256_xor_si256(z7, r7); - - y6 = z14; - y6 = _mm256_add_epi32(y6, z2); - r6 = y6; - y6 = _mm256_slli_epi32(y6, 13); - z6 = _mm256_xor_si256(z6, y6); - r6 = _mm256_srli_epi32(r6, 19); - z6 = _mm256_xor_si256(z6, r6); - - y11 = z3; - y11 = _mm256_add_epi32(y11, z7); - r11 = y11; - y11 = _mm256_slli_epi32(y11, 13); - z11 = _mm256_xor_si256(z11, y11); - r11 = _mm256_srli_epi32(r11, 19); - z11 = _mm256_xor_si256(z11, r11); - - y10 = z2; - y10 = _mm256_add_epi32(y10, z6); - r10 = y10; - y10 = _mm256_slli_epi32(y10, 18); - z10 = _mm256_xor_si256(z10, y10); - r10 = _mm256_srli_epi32(r10, 14); - z10 = _mm256_xor_si256(z10, r10); - - y1 = z3; - y1 = _mm256_add_epi32(y1, z0); - r1 = y1; - y1 = _mm256_slli_epi32(y1, 7); - z1 = _mm256_xor_si256(z1, y1); - r1 = _mm256_srli_epi32(r1, 25); - z1 = _mm256_xor_si256(z1, r1); - - y15 = z7; - y15 = _mm256_add_epi32(y15, z11); - r15 = y15; - y15 = _mm256_slli_epi32(y15, 18); - z15 = _mm256_xor_si256(z15, y15); - r15 = _mm256_srli_epi32(r15, 14); - z15 = _mm256_xor_si256(z15, r15); - - y6 = z4; - y6 = _mm256_add_epi32(y6, z5); - r6 = y6; - y6 = _mm256_slli_epi32(y6, 7); - z6 = _mm256_xor_si256(z6, y6); - r6 = _mm256_srli_epi32(r6, 25); - z6 = _mm256_xor_si256(z6, r6); - - y2 = z0; - y2 = _mm256_add_epi32(y2, z1); - r2 = y2; - y2 = _mm256_slli_epi32(y2, 9); - z2 = _mm256_xor_si256(z2, y2); - r2 = _mm256_srli_epi32(r2, 23); - z2 = _mm256_xor_si256(z2, r2); - - y7 = z5; - y7 = _mm256_add_epi32(y7, z6); - r7 = y7; - y7 = _mm256_slli_epi32(y7, 9); - z7 = _mm256_xor_si256(z7, y7); - r7 = _mm256_srli_epi32(r7, 23); - z7 = _mm256_xor_si256(z7, r7); - - y3 = z1; - y3 = _mm256_add_epi32(y3, z2); - r3 = y3; - y3 = _mm256_slli_epi32(y3, 13); - z3 = _mm256_xor_si256(z3, y3); - r3 = _mm256_srli_epi32(r3, 19); - z3 = _mm256_xor_si256(z3, r3); - - y4 = z6; - y4 = _mm256_add_epi32(y4, z7); - r4 = y4; - y4 = _mm256_slli_epi32(y4, 13); - z4 = _mm256_xor_si256(z4, y4); - r4 = _mm256_srli_epi32(r4, 19); - z4 = _mm256_xor_si256(z4, r4); - - y0 = z2; - y0 = _mm256_add_epi32(y0, z3); - r0 = y0; - y0 = _mm256_slli_epi32(y0, 18); - z0 = _mm256_xor_si256(z0, y0); - r0 = _mm256_srli_epi32(r0, 14); - z0 = _mm256_xor_si256(z0, r0); - - y5 = z7; - y5 = _mm256_add_epi32(y5, z4); - r5 = y5; - y5 = _mm256_slli_epi32(y5, 18); - z5 = _mm256_xor_si256(z5, y5); - r5 = _mm256_srli_epi32(r5, 14); - z5 = _mm256_xor_si256(z5, r5); - - y11 = z9; - y11 = _mm256_add_epi32(y11, z10); - r11 = y11; - y11 = _mm256_slli_epi32(y11, 7); - z11 = _mm256_xor_si256(z11, y11); - r11 = _mm256_srli_epi32(r11, 25); - z11 = _mm256_xor_si256(z11, r11); - - y12 = z14; - y12 = _mm256_add_epi32(y12, z15); - r12 = y12; - y12 = _mm256_slli_epi32(y12, 7); - z12 = _mm256_xor_si256(z12, y12); - r12 = _mm256_srli_epi32(r12, 25); - z12 = _mm256_xor_si256(z12, r12); - - y8 = z10; - y8 = _mm256_add_epi32(y8, z11); - r8 = y8; - y8 = _mm256_slli_epi32(y8, 9); - z8 = _mm256_xor_si256(z8, y8); - r8 = _mm256_srli_epi32(r8, 23); - z8 = _mm256_xor_si256(z8, r8); - - y13 = z15; - y13 = _mm256_add_epi32(y13, z12); - r13 = y13; - y13 = _mm256_slli_epi32(y13, 9); - z13 = _mm256_xor_si256(z13, y13); - r13 = _mm256_srli_epi32(r13, 23); - z13 = _mm256_xor_si256(z13, r13); - - y9 = z11; - y9 = _mm256_add_epi32(y9, z8); - r9 = y9; - y9 = _mm256_slli_epi32(y9, 13); - z9 = _mm256_xor_si256(z9, y9); - r9 = _mm256_srli_epi32(r9, 19); - z9 = _mm256_xor_si256(z9, r9); - - y14 = z12; - y14 = _mm256_add_epi32(y14, z13); - r14 = y14; - y14 = _mm256_slli_epi32(y14, 13); - z14 = _mm256_xor_si256(z14, y14); - r14 = _mm256_srli_epi32(r14, 19); - z14 = _mm256_xor_si256(z14, r14); - - y10 = z8; - y10 = _mm256_add_epi32(y10, z9); - r10 = y10; - y10 = _mm256_slli_epi32(y10, 18); - z10 = _mm256_xor_si256(z10, y10); - r10 = _mm256_srli_epi32(r10, 14); - z10 = _mm256_xor_si256(z10, r10); - - y15 = z13; - y15 = _mm256_add_epi32(y15, z14); - r15 = y15; - y15 = _mm256_slli_epi32(y15, 18); - z15 = _mm256_xor_si256(z15, y15); - r15 = _mm256_srli_epi32(r15, 14); - z15 = _mm256_xor_si256(z15, r15); - } - -/* store data ; this macro first transpose data in-registers, and then store - * them in memory. much faster with icc. */ -#define ONEQUAD_TRANSPOSE(A, B, C, D) \ - { \ - __m128i t0, t1, t2, t3; \ - z##A = _mm256_add_epi32(z##A, orig##A); \ - z##B = _mm256_add_epi32(z##B, orig##B); \ - z##C = _mm256_add_epi32(z##C, orig##C); \ - z##D = _mm256_add_epi32(z##D, orig##D); \ - y##A = _mm256_unpacklo_epi32(z##A, z##B); \ - y##B = _mm256_unpacklo_epi32(z##C, z##D); \ - y##C = _mm256_unpackhi_epi32(z##A, z##B); \ - y##D = _mm256_unpackhi_epi32(z##C, z##D); \ - z##A = _mm256_unpacklo_epi64(y##A, y##B); \ - z##B = _mm256_unpackhi_epi64(y##A, y##B); \ - z##C = _mm256_unpacklo_epi64(y##C, y##D); \ - z##D = _mm256_unpackhi_epi64(y##C, y##D); \ - t0 = _mm_xor_si128(_mm256_extracti128_si256(z##A, 0), \ - _mm_loadu_si128((const __m128i*) (m + 0))); \ - _mm_storeu_si128((__m128i*) (c + 0), t0); \ - t1 = _mm_xor_si128(_mm256_extracti128_si256(z##B, 0), \ - _mm_loadu_si128((const __m128i*) (m + 64))); \ - _mm_storeu_si128((__m128i*) (c + 64), t1); \ - t2 = _mm_xor_si128(_mm256_extracti128_si256(z##C, 0), \ - _mm_loadu_si128((const __m128i*) (m + 128))); \ - _mm_storeu_si128((__m128i*) (c + 128), t2); \ - t3 = _mm_xor_si128(_mm256_extracti128_si256(z##D, 0), \ - _mm_loadu_si128((const __m128i*) (m + 192))); \ - _mm_storeu_si128((__m128i*) (c + 192), t3); \ - t0 = _mm_xor_si128(_mm256_extracti128_si256(z##A, 1), \ - _mm_loadu_si128((const __m128i*) (m + 256))); \ - _mm_storeu_si128((__m128i*) (c + 256), t0); \ - t1 = _mm_xor_si128(_mm256_extracti128_si256(z##B, 1), \ - _mm_loadu_si128((const __m128i*) (m + 320))); \ - _mm_storeu_si128((__m128i*) (c + 320), t1); \ - t2 = _mm_xor_si128(_mm256_extracti128_si256(z##C, 1), \ - _mm_loadu_si128((const __m128i*) (m + 384))); \ - _mm_storeu_si128((__m128i*) (c + 384), t2); \ - t3 = _mm_xor_si128(_mm256_extracti128_si256(z##D, 1), \ - _mm_loadu_si128((const __m128i*) (m + 448))); \ - _mm_storeu_si128((__m128i*) (c + 448), t3); \ - } - -#define ONEQUAD(A, B, C, D) ONEQUAD_TRANSPOSE(A, B, C, D) - -#define ONEQUAD_UNPCK(A, B, C, D) \ - { \ - z##A = _mm256_add_epi32(z##A, orig##A); \ - z##B = _mm256_add_epi32(z##B, orig##B); \ - z##C = _mm256_add_epi32(z##C, orig##C); \ - z##D = _mm256_add_epi32(z##D, orig##D); \ - y##A = _mm256_unpacklo_epi32(z##A, z##B); \ - y##B = _mm256_unpacklo_epi32(z##C, z##D); \ - y##C = _mm256_unpackhi_epi32(z##A, z##B); \ - y##D = _mm256_unpackhi_epi32(z##C, z##D); \ - z##A = _mm256_unpacklo_epi64(y##A, y##B); \ - z##B = _mm256_unpackhi_epi64(y##A, y##B); \ - z##C = _mm256_unpacklo_epi64(y##C, y##D); \ - z##D = _mm256_unpackhi_epi64(y##C, y##D); \ - } - -#define ONEOCTO(A, B, C, D, A2, B2, C2, D2) \ - { \ - ONEQUAD_UNPCK(A, B, C, D); \ - ONEQUAD_UNPCK(A2, B2, C2, D2); \ - y##A = _mm256_permute2x128_si256(z##A, z##A2, 0x20); \ - y##A2 = _mm256_permute2x128_si256(z##A, z##A2, 0x31); \ - y##B = _mm256_permute2x128_si256(z##B, z##B2, 0x20); \ - y##B2 = _mm256_permute2x128_si256(z##B, z##B2, 0x31); \ - y##C = _mm256_permute2x128_si256(z##C, z##C2, 0x20); \ - y##C2 = _mm256_permute2x128_si256(z##C, z##C2, 0x31); \ - y##D = _mm256_permute2x128_si256(z##D, z##D2, 0x20); \ - y##D2 = _mm256_permute2x128_si256(z##D, z##D2, 0x31); \ - y##A = _mm256_xor_si256(y##A, \ - _mm256_loadu_si256((const __m256i*) (m + 0))); \ - y##B = _mm256_xor_si256( \ - y##B, _mm256_loadu_si256((const __m256i*) (m + 64))); \ - y##C = _mm256_xor_si256( \ - y##C, _mm256_loadu_si256((const __m256i*) (m + 128))); \ - y##D = _mm256_xor_si256( \ - y##D, _mm256_loadu_si256((const __m256i*) (m + 192))); \ - y##A2 = _mm256_xor_si256( \ - y##A2, _mm256_loadu_si256((const __m256i*) (m + 256))); \ - y##B2 = _mm256_xor_si256( \ - y##B2, _mm256_loadu_si256((const __m256i*) (m + 320))); \ - y##C2 = _mm256_xor_si256( \ - y##C2, _mm256_loadu_si256((const __m256i*) (m + 384))); \ - y##D2 = _mm256_xor_si256( \ - y##D2, _mm256_loadu_si256((const __m256i*) (m + 448))); \ - _mm256_storeu_si256((__m256i*) (c + 0), y##A); \ - _mm256_storeu_si256((__m256i*) (c + 64), y##B); \ - _mm256_storeu_si256((__m256i*) (c + 128), y##C); \ - _mm256_storeu_si256((__m256i*) (c + 192), y##D); \ - _mm256_storeu_si256((__m256i*) (c + 256), y##A2); \ - _mm256_storeu_si256((__m256i*) (c + 320), y##B2); \ - _mm256_storeu_si256((__m256i*) (c + 384), y##C2); \ - _mm256_storeu_si256((__m256i*) (c + 448), y##D2); \ - } - - ONEOCTO(0, 1, 2, 3, 4, 5, 6, 7); - m += 32; - c += 32; - ONEOCTO(8, 9, 10, 11, 12, 13, 14, 15); - m -= 32; - c -= 32; - -#undef ONEQUAD -#undef ONEQUAD_TRANSPOSE -#undef ONEQUAD_UNPCK -#undef ONEOCTO - - bytes -= 512; - c += 512; - m += 512; - } -} diff --git a/src/crypto/cn/CnHash.cpp b/src/crypto/cn/CnHash.cpp index 095b0eb0e0..4b4b006f3f 100644 --- a/src/crypto/cn/CnHash.cpp +++ b/src/crypto/cn/CnHash.cpp @@ -35,11 +35,6 @@ #endif -#ifdef XMRIG_ALGO_ASTROBWT -# include "crypto/astrobwt/AstroBWT.h" -#endif - - #define ADD_FN(algo) do { \ m_map[algo] = new cn_hash_fun_array{}; \ m_map[algo]->data[AV_SINGLE][Assembly::NONE] = cryptonight_single_hash; \ @@ -375,16 +370,6 @@ xmrig::CnHash::CnHash() m_map[Algorithm::AR2_WRKZ]->data[AV_SINGLE_SOFT][Assembly::NONE] = argon2::single_hash; # endif -# ifdef XMRIG_ALGO_ASTROBWT - m_map[Algorithm::ASTROBWT_DERO] = new cn_hash_fun_array{}; - m_map[Algorithm::ASTROBWT_DERO]->data[AV_SINGLE][Assembly::NONE] = astrobwt::single_hash; - m_map[Algorithm::ASTROBWT_DERO]->data[AV_SINGLE_SOFT][Assembly::NONE] = astrobwt::single_hash; - - m_map[Algorithm::ASTROBWT_DERO_2] = new cn_hash_fun_array{}; - m_map[Algorithm::ASTROBWT_DERO_2]->data[AV_SINGLE][Assembly::NONE] = astrobwt::single_hash; - m_map[Algorithm::ASTROBWT_DERO_2]->data[AV_SINGLE_SOFT][Assembly::NONE] = astrobwt::single_hash; -# endif - # ifdef XMRIG_ALGO_GHOSTRIDER ADD_FN(Algorithm::CN_GR_0); ADD_FN(Algorithm::CN_GR_1); @@ -422,8 +407,12 @@ xmrig::cn_hash_fun xmrig::CnHash::fn(const Algorithm &algorithm, AlgoVariant av, } # ifdef XMRIG_ALGO_CN_HEAVY - // cn-heavy optimization for Zen3 CPUs - if ((av == AV_SINGLE) && (assembly != Assembly::NONE) && (Cpu::info()->arch() == ICpuInfo::ARCH_ZEN3) && (Cpu::info()->model() == 0x21)) { + // cn-heavy optimization for Zen3/Zen4 CPUs + const auto arch = Cpu::info()->arch(); + const uint32_t model = Cpu::info()->model(); + const bool is_vermeer = (arch == ICpuInfo::ARCH_ZEN3) && (model == 0x21); + const bool is_raphael = (arch == ICpuInfo::ARCH_ZEN4) && (model == 0x61); + if ((av == AV_SINGLE) && (assembly != Assembly::NONE) && (is_vermeer || is_raphael)) { switch (algorithm.id()) { case Algorithm::CN_HEAVY_0: return cryptonight_single_hash; diff --git a/src/crypto/cn/CryptoNight_test.h b/src/crypto/cn/CryptoNight_test.h index 9bec3cd825..0ce7ca4696 100644 --- a/src/crypto/cn/CryptoNight_test.h +++ b/src/crypto/cn/CryptoNight_test.h @@ -432,37 +432,6 @@ const static uint8_t argon2_wrkz_test_out[256] = { #endif -#ifdef XMRIG_ALGO_ASTROBWT -// "astrobwt" -const static uint8_t astrobwt_dero_test_out[256] = { - 0x7E, 0x88, 0x44, 0xF2, 0xD6, 0xB7, 0xA4, 0x34, 0x98, 0xFE, 0x6D, 0x22, 0x65, 0x27, 0x68, 0x90, - 0x23, 0xDA, 0x8A, 0x52, 0xF9, 0xFC, 0x4E, 0xC6, 0x9E, 0x5A, 0xAA, 0xA6, 0x3E, 0xDC, 0xE1, 0xC1, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; - -// "astrobwt/v2" -const static uint8_t astrobwt_dero_2_test_out[256] = { - 0x48, 0x9E, 0xD2, 0x66, 0x14, 0x27, 0x98, 0x65, 0x03, 0xFB, 0x87, 0x25, 0xE1, 0xD3, 0x98, 0xDA, - 0x27, 0xEE, 0x25, 0x3D, 0xB4, 0x37, 0x87, 0x98, 0xBF, 0x5A, 0x5C, 0x94, 0xEE, 0x0C, 0xE2, 0x2A, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -}; -#endif - - #ifdef XMRIG_ALGO_GHOSTRIDER // "GhostRider" const static uint8_t test_output_gr[256] = { diff --git a/src/crypto/common/VirtualMemory_unix.cpp b/src/crypto/common/VirtualMemory_unix.cpp index edda231f1c..12f4f25f8e 100644 --- a/src/crypto/common/VirtualMemory_unix.cpp +++ b/src/crypto/common/VirtualMemory_unix.cpp @@ -112,13 +112,19 @@ bool xmrig::VirtualMemory::protectRWX(void *p, size_t size) bool xmrig::VirtualMemory::protectRX(void *p, size_t size) { + bool result = true; + # if defined(XMRIG_OS_APPLE) && defined(XMRIG_ARM) pthread_jit_write_protect_np(true); - flushInstructionCache(p, size); - return true; # else - return mprotect(p, size, PROT_READ | PROT_EXEC) == 0; + result = (mprotect(p, size, PROT_READ | PROT_EXEC) == 0); # endif + +# if defined(XMRIG_ARM) + flushInstructionCache(p, size); +# endif + + return result; } diff --git a/src/crypto/ghostrider/CMakeLists.txt b/src/crypto/ghostrider/CMakeLists.txt index a80396b801..6b3f25dd8b 100644 --- a/src/crypto/ghostrider/CMakeLists.txt +++ b/src/crypto/ghostrider/CMakeLists.txt @@ -43,22 +43,22 @@ set(SOURCES ) if (CMAKE_C_COMPILER_ID MATCHES MSVC) - set_source_files_properties(sph_blake.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_bmw.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_cubehash.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_echo.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_fugue.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_groestl.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_hamsi.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_jh.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_keccak.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_luffa.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_shabal.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_shavite.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_simd.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_sha2.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_skein.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") - set_source_files_properties(sph_whirlpool.c PROPERTIES COMPILE_FLAGS "/O1 /Oi /Os") + set_source_files_properties(sph_blake.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_bmw.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_cubehash.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_echo.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_fugue.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_groestl.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_hamsi.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_jh.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_keccak.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_luffa.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_shabal.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_shavite.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_simd.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_sha2.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_skein.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") + set_source_files_properties(sph_whirlpool.c PROPERTIES COMPILE_FLAGS_RELEASE "/O1 /Oi /Os") elseif (CMAKE_C_COMPILER_ID MATCHES GNU OR CMAKE_C_COMPILER_ID MATCHES Clang) set_source_files_properties(sph_blake.c PROPERTIES COMPILE_FLAGS "-Os") set_source_files_properties(sph_bmw.c PROPERTIES COMPILE_FLAGS "-Os") diff --git a/src/crypto/randomx/blake2/avx2/LICENSE b/src/crypto/randomx/blake2/avx2/LICENSE new file mode 100644 index 0000000000..0e259d42c9 --- /dev/null +++ b/src/crypto/randomx/blake2/avx2/LICENSE @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/src/crypto/randomx/blake2/avx2/blake2.h b/src/crypto/randomx/blake2/avx2/blake2.h new file mode 100644 index 0000000000..a1ea671f2e --- /dev/null +++ b/src/crypto/randomx/blake2/avx2/blake2.h @@ -0,0 +1,38 @@ +#ifndef BLAKE2_AVX2_BLAKE2_H +#define BLAKE2_AVX2_BLAKE2_H + +#if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L) + #if defined(_MSC_VER) + #define INLINE __inline + #elif defined(__GNUC__) + #define INLINE __inline__ + #else + #define INLINE + #endif +#else + #define INLINE inline +#endif + +#if defined(_MSC_VER) +#define ALIGN(x) __declspec(align(x)) +#else +#define ALIGN(x) __attribute__((aligned(x))) +#endif + +enum blake2s_constant { + BLAKE2S_BLOCKBYTES = 64, + BLAKE2S_OUTBYTES = 32, + BLAKE2S_KEYBYTES = 32, + BLAKE2S_SALTBYTES = 8, + BLAKE2S_PERSONALBYTES = 8 +}; + +enum blake2b_constant { + BLAKE2B_BLOCKBYTES = 128, + BLAKE2B_OUTBYTES = 64, + BLAKE2B_KEYBYTES = 64, + BLAKE2B_SALTBYTES = 16, + BLAKE2B_PERSONALBYTES = 16 +}; + +#endif diff --git a/src/crypto/randomx/blake2/avx2/blake2b-common.h b/src/crypto/randomx/blake2/avx2/blake2b-common.h new file mode 100644 index 0000000000..f9803ee230 --- /dev/null +++ b/src/crypto/randomx/blake2/avx2/blake2b-common.h @@ -0,0 +1,48 @@ +#ifndef BLAKE2_AVX2_BLAKE2B_COMMON_H +#define BLAKE2_AVX2_BLAKE2B_COMMON_H + +#include +#include +#include + +#include + +#include "blake2.h" + +#define LOAD128(p) _mm_load_si128( (__m128i *)(p) ) +#define STORE128(p,r) _mm_store_si128((__m128i *)(p), r) + +#define LOADU128(p) _mm_loadu_si128( (__m128i *)(p) ) +#define STOREU128(p,r) _mm_storeu_si128((__m128i *)(p), r) + +#define LOAD(p) _mm256_load_si256( (__m256i *)(p) ) +#define STORE(p,r) _mm256_store_si256((__m256i *)(p), r) + +#define LOADU(p) _mm256_loadu_si256( (__m256i *)(p) ) +#define STOREU(p,r) _mm256_storeu_si256((__m256i *)(p), r) + +static INLINE uint64_t LOADU64(void const * p) { + uint64_t v; + memcpy(&v, p, sizeof v); + return v; +} + +#define ROTATE16 _mm256_setr_epi8( 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9, \ + 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9 ) + +#define ROTATE24 _mm256_setr_epi8( 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10, \ + 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10 ) + +#define ADD(a, b) _mm256_add_epi64(a, b) +#define SUB(a, b) _mm256_sub_epi64(a, b) + +#define XOR(a, b) _mm256_xor_si256(a, b) +#define AND(a, b) _mm256_and_si256(a, b) +#define OR(a, b) _mm256_or_si256(a, b) + +#define ROT32(x) _mm256_shuffle_epi32((x), _MM_SHUFFLE(2, 3, 0, 1)) +#define ROT24(x) _mm256_shuffle_epi8((x), ROTATE24) +#define ROT16(x) _mm256_shuffle_epi8((x), ROTATE16) +#define ROT63(x) _mm256_or_si256(_mm256_srli_epi64((x), 63), ADD((x), (x))) + +#endif diff --git a/src/crypto/randomx/blake2/avx2/blake2b-load-avx2.h b/src/crypto/randomx/blake2/avx2/blake2b-load-avx2.h new file mode 100644 index 0000000000..28278f4087 --- /dev/null +++ b/src/crypto/randomx/blake2/avx2/blake2b-load-avx2.h @@ -0,0 +1,340 @@ +#ifndef BLAKE2_AVX2_BLAKE2B_LOAD_AVX2_H +#define BLAKE2_AVX2_BLAKE2B_LOAD_AVX2_H + +#define BLAKE2B_LOAD_MSG_0_1(b0) do { \ + t0 = _mm256_unpacklo_epi64(m0, m1); \ + t1 = _mm256_unpacklo_epi64(m2, m3); \ + b0 = _mm256_blend_epi32(t0, t1, 0xF0); \ +} while(0) + +#define BLAKE2B_LOAD_MSG_0_2(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m0, m1);\ +t1 = _mm256_unpackhi_epi64(m2, m3);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_0_3(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m7, m4);\ +t1 = _mm256_unpacklo_epi64(m5, m6);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_0_4(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m7, m4);\ +t1 = _mm256_unpackhi_epi64(m5, m6);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_1_1(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m7, m2);\ +t1 = _mm256_unpackhi_epi64(m4, m6);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_1_2(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m5, m4);\ +t1 = _mm256_alignr_epi8(m3, m7, 8);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_1_3(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m2, m0);\ +t1 = _mm256_blend_epi32(m5, m0, 0x33);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_1_4(b0) \ +do { \ +t0 = _mm256_alignr_epi8(m6, m1, 8);\ +t1 = _mm256_blend_epi32(m3, m1, 0x33);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_2_1(b0) \ +do { \ +t0 = _mm256_alignr_epi8(m6, m5, 8);\ +t1 = _mm256_unpackhi_epi64(m2, m7);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_2_2(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m4, m0);\ +t1 = _mm256_blend_epi32(m6, m1, 0x33);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_2_3(b0) \ +do { \ +t0 = _mm256_alignr_epi8(m5, m4, 8);\ +t1 = _mm256_unpackhi_epi64(m1, m3);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_2_4(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m2, m7);\ +t1 = _mm256_blend_epi32(m0, m3, 0x33);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_3_1(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m3, m1);\ +t1 = _mm256_unpackhi_epi64(m6, m5);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_3_2(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m4, m0);\ +t1 = _mm256_unpacklo_epi64(m6, m7);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_3_3(b0) \ +do { \ +t0 = _mm256_alignr_epi8(m1, m7, 8);\ +t1 = _mm256_shuffle_epi32(m2, _MM_SHUFFLE(1,0,3,2));\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_3_4(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m4, m3);\ +t1 = _mm256_unpacklo_epi64(m5, m0);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_4_1(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m4, m2);\ +t1 = _mm256_unpacklo_epi64(m1, m5);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_4_2(b0) \ +do { \ +t0 = _mm256_blend_epi32(m3, m0, 0x33);\ +t1 = _mm256_blend_epi32(m7, m2, 0x33);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_4_3(b0) \ +do { \ +t0 = _mm256_alignr_epi8(m7, m1, 8);\ +t1 = _mm256_alignr_epi8(m3, m5, 8);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_4_4(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m6, m0);\ +t1 = _mm256_unpacklo_epi64(m6, m4);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_5_1(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m1, m3);\ +t1 = _mm256_unpacklo_epi64(m0, m4);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_5_2(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m6, m5);\ +t1 = _mm256_unpackhi_epi64(m5, m1);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_5_3(b0) \ +do { \ +t0 = _mm256_alignr_epi8(m2, m0, 8);\ +t1 = _mm256_unpackhi_epi64(m3, m7);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_5_4(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m4, m6);\ +t1 = _mm256_alignr_epi8(m7, m2, 8);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_6_1(b0) \ +do { \ +t0 = _mm256_blend_epi32(m0, m6, 0x33);\ +t1 = _mm256_unpacklo_epi64(m7, m2);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_6_2(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m2, m7);\ +t1 = _mm256_alignr_epi8(m5, m6, 8);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_6_3(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m4, m0);\ +t1 = _mm256_blend_epi32(m4, m3, 0x33);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_6_4(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m5, m3);\ +t1 = _mm256_shuffle_epi32(m1, _MM_SHUFFLE(1,0,3,2));\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_7_1(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m6, m3);\ +t1 = _mm256_blend_epi32(m1, m6, 0x33);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_7_2(b0) \ +do { \ +t0 = _mm256_alignr_epi8(m7, m5, 8);\ +t1 = _mm256_unpackhi_epi64(m0, m4);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_7_3(b0) \ +do { \ +t0 = _mm256_blend_epi32(m2, m1, 0x33);\ +t1 = _mm256_alignr_epi8(m4, m7, 8);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_7_4(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m5, m0);\ +t1 = _mm256_unpacklo_epi64(m2, m3);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_8_1(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m3, m7);\ +t1 = _mm256_alignr_epi8(m0, m5, 8);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_8_2(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m7, m4);\ +t1 = _mm256_alignr_epi8(m4, m1, 8);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_8_3(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m5, m6);\ +t1 = _mm256_unpackhi_epi64(m6, m0);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_8_4(b0) \ +do { \ +t0 = _mm256_alignr_epi8(m1, m2, 8);\ +t1 = _mm256_alignr_epi8(m2, m3, 8);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_9_1(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m5, m4);\ +t1 = _mm256_unpackhi_epi64(m3, m0);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_9_2(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m1, m2);\ +t1 = _mm256_blend_epi32(m2, m3, 0x33);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_9_3(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m6, m7);\ +t1 = _mm256_unpackhi_epi64(m4, m1);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_9_4(b0) \ +do { \ +t0 = _mm256_blend_epi32(m5, m0, 0x33);\ +t1 = _mm256_unpacklo_epi64(m7, m6);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_10_1(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m0, m1);\ +t1 = _mm256_unpacklo_epi64(m2, m3);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_10_2(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m0, m1);\ +t1 = _mm256_unpackhi_epi64(m2, m3);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_10_3(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m7, m4);\ +t1 = _mm256_unpacklo_epi64(m5, m6);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_10_4(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m7, m4);\ +t1 = _mm256_unpackhi_epi64(m5, m6);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_11_1(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m7, m2);\ +t1 = _mm256_unpackhi_epi64(m4, m6);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_11_2(b0) \ +do { \ +t0 = _mm256_unpacklo_epi64(m5, m4);\ +t1 = _mm256_alignr_epi8(m3, m7, 8);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_11_3(b0) \ +do { \ +t0 = _mm256_unpackhi_epi64(m2, m0);\ +t1 = _mm256_blend_epi32(m5, m0, 0x33);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#define BLAKE2B_LOAD_MSG_11_4(b0) \ +do { \ +t0 = _mm256_alignr_epi8(m6, m1, 8);\ +t1 = _mm256_blend_epi32(m3, m1, 0x33);\ +b0 = _mm256_blend_epi32(t0, t1, 0xF0);\ +} while(0) + +#endif + diff --git a/src/crypto/randomx/blake2/avx2/blake2b.h b/src/crypto/randomx/blake2/avx2/blake2b.h new file mode 100644 index 0000000000..a4598fd81d --- /dev/null +++ b/src/crypto/randomx/blake2/avx2/blake2b.h @@ -0,0 +1,16 @@ +#ifndef BLAKE2_AVX2_BLAKE2B_H +#define BLAKE2_AVX2_BLAKE2B_H + +#include + +#if defined(__cplusplus) +extern "C" { +#endif + +int blake2b_avx2(void* out, size_t outlen, const void* in, size_t inlen); + +#if defined(__cplusplus) +} +#endif + +#endif diff --git a/src/crypto/randomx/blake2/avx2/blake2b_avx2.c b/src/crypto/randomx/blake2/avx2/blake2b_avx2.c new file mode 100644 index 0000000000..6177ea19c9 --- /dev/null +++ b/src/crypto/randomx/blake2/avx2/blake2b_avx2.c @@ -0,0 +1,141 @@ +#include +#include +#include +#include + +#include "blake2.h" +#include "blake2b.h" +#include "blake2b-common.h" + +ALIGN(64) static const uint64_t blake2b_IV[8] = { + UINT64_C(0x6A09E667F3BCC908), UINT64_C(0xBB67AE8584CAA73B), + UINT64_C(0x3C6EF372FE94F82B), UINT64_C(0xA54FF53A5F1D36F1), + UINT64_C(0x510E527FADE682D1), UINT64_C(0x9B05688C2B3E6C1F), + UINT64_C(0x1F83D9ABFB41BD6B), UINT64_C(0x5BE0CD19137E2179), +}; + +#define BLAKE2B_G1_V1(a, b, c, d, m) do { \ + a = ADD(a, m); \ + a = ADD(a, b); d = XOR(d, a); d = ROT32(d); \ + c = ADD(c, d); b = XOR(b, c); b = ROT24(b); \ +} while(0) + +#define BLAKE2B_G2_V1(a, b, c, d, m) do { \ + a = ADD(a, m); \ + a = ADD(a, b); d = XOR(d, a); d = ROT16(d); \ + c = ADD(c, d); b = XOR(b, c); b = ROT63(b); \ +} while(0) + +#define BLAKE2B_DIAG_V1(a, b, c, d) do { \ + a = _mm256_permute4x64_epi64(a, _MM_SHUFFLE(2,1,0,3)); \ + d = _mm256_permute4x64_epi64(d, _MM_SHUFFLE(1,0,3,2)); \ + c = _mm256_permute4x64_epi64(c, _MM_SHUFFLE(0,3,2,1)); \ +} while(0) + +#define BLAKE2B_UNDIAG_V1(a, b, c, d) do { \ + a = _mm256_permute4x64_epi64(a, _MM_SHUFFLE(0,3,2,1)); \ + d = _mm256_permute4x64_epi64(d, _MM_SHUFFLE(1,0,3,2)); \ + c = _mm256_permute4x64_epi64(c, _MM_SHUFFLE(2,1,0,3)); \ +} while(0) + +#include "blake2b-load-avx2.h" + +#define BLAKE2B_ROUND_V1(a, b, c, d, r, m) do { \ + __m256i b0; \ + BLAKE2B_LOAD_MSG_ ##r ##_1(b0); \ + BLAKE2B_G1_V1(a, b, c, d, b0); \ + BLAKE2B_LOAD_MSG_ ##r ##_2(b0); \ + BLAKE2B_G2_V1(a, b, c, d, b0); \ + BLAKE2B_DIAG_V1(a, b, c, d); \ + BLAKE2B_LOAD_MSG_ ##r ##_3(b0); \ + BLAKE2B_G1_V1(a, b, c, d, b0); \ + BLAKE2B_LOAD_MSG_ ##r ##_4(b0); \ + BLAKE2B_G2_V1(a, b, c, d, b0); \ + BLAKE2B_UNDIAG_V1(a, b, c, d); \ +} while(0) + +#define BLAKE2B_ROUNDS_V1(a, b, c, d, m) do { \ + BLAKE2B_ROUND_V1(a, b, c, d, 0, (m)); \ + BLAKE2B_ROUND_V1(a, b, c, d, 1, (m)); \ + BLAKE2B_ROUND_V1(a, b, c, d, 2, (m)); \ + BLAKE2B_ROUND_V1(a, b, c, d, 3, (m)); \ + BLAKE2B_ROUND_V1(a, b, c, d, 4, (m)); \ + BLAKE2B_ROUND_V1(a, b, c, d, 5, (m)); \ + BLAKE2B_ROUND_V1(a, b, c, d, 6, (m)); \ + BLAKE2B_ROUND_V1(a, b, c, d, 7, (m)); \ + BLAKE2B_ROUND_V1(a, b, c, d, 8, (m)); \ + BLAKE2B_ROUND_V1(a, b, c, d, 9, (m)); \ + BLAKE2B_ROUND_V1(a, b, c, d, 10, (m)); \ + BLAKE2B_ROUND_V1(a, b, c, d, 11, (m)); \ +} while(0) + +#define DECLARE_MESSAGE_WORDS(m) \ + const __m256i m0 = _mm256_broadcastsi128_si256(LOADU128((m) + 0)); \ + const __m256i m1 = _mm256_broadcastsi128_si256(LOADU128((m) + 16)); \ + const __m256i m2 = _mm256_broadcastsi128_si256(LOADU128((m) + 32)); \ + const __m256i m3 = _mm256_broadcastsi128_si256(LOADU128((m) + 48)); \ + const __m256i m4 = _mm256_broadcastsi128_si256(LOADU128((m) + 64)); \ + const __m256i m5 = _mm256_broadcastsi128_si256(LOADU128((m) + 80)); \ + const __m256i m6 = _mm256_broadcastsi128_si256(LOADU128((m) + 96)); \ + const __m256i m7 = _mm256_broadcastsi128_si256(LOADU128((m) + 112)); \ + __m256i t0, t1; + +#define BLAKE2B_COMPRESS_V1(a, b, m, t0, t1, f0, f1) do { \ + DECLARE_MESSAGE_WORDS(m) \ + const __m256i iv0 = a; \ + const __m256i iv1 = b; \ + __m256i c = LOAD(&blake2b_IV[0]); \ + __m256i d = XOR( \ + LOAD(&blake2b_IV[4]), \ + _mm256_set_epi64x(f1, f0, t1, t0) \ + ); \ + BLAKE2B_ROUNDS_V1(a, b, c, d, m); \ + a = XOR(a, c); \ + b = XOR(b, d); \ + a = XOR(a, iv0); \ + b = XOR(b, iv1); \ +} while(0) + +int blake2b_avx2(void* out_ptr, size_t outlen, const void* in_ptr, size_t inlen) { + const __m256i parameter_block = _mm256_set_epi64x(0, 0, 0, 0x01010000UL | (uint32_t)outlen); + ALIGN(64) uint8_t buffer[BLAKE2B_BLOCKBYTES]; + __m256i a = XOR(LOAD(&blake2b_IV[0]), parameter_block); + __m256i b = LOAD(&blake2b_IV[4]); + uint64_t counter = 0; + const uint8_t* in = (const uint8_t*)in_ptr; + do { + const uint64_t flag = (inlen <= BLAKE2B_BLOCKBYTES) ? -1 : 0; + size_t block_size = BLAKE2B_BLOCKBYTES; + if(inlen < BLAKE2B_BLOCKBYTES) { + memcpy(buffer, in, inlen); + memset(buffer + inlen, 0, BLAKE2B_BLOCKBYTES - inlen); + block_size = inlen; + in = buffer; + } + counter += block_size; + BLAKE2B_COMPRESS_V1(a, b, in, counter, 0, flag, 0); + inlen -= block_size; + in += block_size; + } while(inlen > 0); + + uint8_t* out = (uint8_t*)out_ptr; + + switch (outlen) { + case 64: + STOREU(out + 32, b); + // Fall through + + case 32: + STOREU(out, a); + break; + + default: + STOREU(buffer, a); + STOREU(buffer + 32, b); + memcpy(out, buffer, outlen); + break; + } + + _mm256_zeroupper(); + return 0; +} diff --git a/src/crypto/randomx/blake2/blake2.h b/src/crypto/randomx/blake2/blake2.h index 52f05b3968..dc81a59337 100644 --- a/src/crypto/randomx/blake2/blake2.h +++ b/src/crypto/randomx/blake2/blake2.h @@ -92,7 +92,12 @@ extern "C" { int rx_blake2b_final(blake2b_state *S, void *out, size_t outlen); /* Simple API */ - int rx_blake2b(void *out, size_t outlen, const void *in, size_t inlen); + void rx_blake2b_compress_integer(blake2b_state * S, const uint8_t * block); + void rx_blake2b_compress_sse41(blake2b_state * S, const uint8_t * block); + int rx_blake2b_default(void* out, size_t outlen, const void* in, size_t inlen); + + extern void (*rx_blake2b_compress)(blake2b_state * S, const uint8_t * block); + extern int (*rx_blake2b)(void* out, size_t outlen, const void* in, size_t inlen); /* Argon2 Team - Begin Code */ int rxa2_blake2b_long(void *out, size_t outlen, const void *in, size_t inlen); diff --git a/src/crypto/randomx/blake2/blake2b.c b/src/crypto/randomx/blake2/blake2b.c index 49329e46db..6840c75f86 100644 --- a/src/crypto/randomx/blake2/blake2b.c +++ b/src/crypto/randomx/blake2/blake2b.c @@ -179,7 +179,7 @@ int rx_blake2b_init_key(blake2b_state *S, size_t outlen, const void *key, size_t return 0; } -static void rx_blake2b_compress_integer(blake2b_state *S, const uint8_t *block) { +void rx_blake2b_compress_integer(blake2b_state *S, const uint8_t *block) { uint64_t m[16]; uint64_t v[16]; unsigned int i, r; @@ -237,21 +237,6 @@ static void rx_blake2b_compress_integer(blake2b_state *S, const uint8_t *block) #undef ROUND } -#if defined(XMRIG_FEATURE_SSE4_1) - -uint32_t rx_blake2b_use_sse41 = 0; -void rx_blake2b_compress_sse41(blake2b_state* S, const uint8_t* block); - -#define rx_blake2b_compress(S, block) \ - if (rx_blake2b_use_sse41) \ - rx_blake2b_compress_sse41(S, block); \ - else \ - rx_blake2b_compress_integer(S, block); - -#else -#define rx_blake2b_compress(S, block) rx_blake2b_compress_integer(S, block); -#endif - int rx_blake2b_update(blake2b_state *S, const void *in, size_t inlen) { const uint8_t *pin = (const uint8_t *)in; @@ -322,7 +307,7 @@ int rx_blake2b_final(blake2b_state *S, void *out, size_t outlen) { return 0; } -int rx_blake2b(void *out, size_t outlen, const void *in, size_t inlen) { +int rx_blake2b_default(void *out, size_t outlen, const void *in, size_t inlen) { blake2b_state S; int ret = -1; diff --git a/src/crypto/randomx/bytecode_machine.hpp b/src/crypto/randomx/bytecode_machine.hpp index 8852f4d68f..247e76e95e 100644 --- a/src/crypto/randomx/bytecode_machine.hpp +++ b/src/crypto/randomx/bytecode_machine.hpp @@ -240,10 +240,17 @@ namespace randomx { return x; } + void cleanup() { + for (unsigned i = 0; i < RegistersCount; ++i) { + registerUsage[i] = -1; + } + nreg = nullptr; + } + private: static const int_reg_t zero; - int registerUsage[RegistersCount]; - NativeRegisterFile* nreg; + int registerUsage[RegistersCount] = {}; + NativeRegisterFile* nreg = nullptr; static void* getScratchpadAddress(InstructionByteCode& ibc, uint8_t* scratchpad) { uint32_t addr = (*ibc.isrc + ibc.imm) & ibc.memMask; diff --git a/src/crypto/randomx/jit_compiler_fallback.cpp b/src/crypto/randomx/jit_compiler_fallback.cpp index 369458a45b..f29d644e07 100644 --- a/src/crypto/randomx/jit_compiler_fallback.cpp +++ b/src/crypto/randomx/jit_compiler_fallback.cpp @@ -28,13 +28,12 @@ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#pragma once - void randomx_set_huge_pages_jit(bool) { } + void randomx_set_optimized_dataset_init(int) { } diff --git a/src/crypto/randomx/jit_compiler_x86.cpp b/src/crypto/randomx/jit_compiler_x86.cpp index f7bfc2f938..7d2603e5e8 100644 --- a/src/crypto/randomx/jit_compiler_x86.cpp +++ b/src/crypto/randomx/jit_compiler_x86.cpp @@ -167,6 +167,11 @@ namespace randomx { static const uint8_t* NOPX[] = { NOP1, NOP2, NOP3, NOP4, NOP5, NOP6, NOP7, NOP8, NOP9 }; + static const uint8_t NOP13[] = { 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x44, 0x00, 0x00 }; + static const uint8_t NOP14[] = { 0x0F, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x80, 0x00, 0x00, 0x00, 0x00 }; + static const uint8_t NOP25[] = { 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 }; + static const uint8_t NOP26[] = { 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00 }; + static const uint8_t JMP_ALIGN_PREFIX[14][16] = { {}, {0x2E}, @@ -257,6 +262,10 @@ namespace randomx { // AVX2 init is faster on Zen3 initDatasetAVX2 = true; break; + case xmrig::ICpuInfo::ARCH_ZEN4: + // AVX2 init is slower on Zen4 + initDatasetAVX2 = false; + break; } } } @@ -407,7 +416,7 @@ namespace randomx { *(uint32_t*)(code + codePos + 14) = RandomX_CurrentConfig.ScratchpadL3Mask64_Calculated; if (hasAVX) { uint32_t* p = (uint32_t*)(code + codePos + 61); - *p = (*p & 0xFF000000U) | 0x0077F8C5U; + *p = (*p & 0xFF000000U) | 0x0077F8C5U; // vzeroupper } # ifdef XMRIG_FIX_RYZEN @@ -419,7 +428,8 @@ namespace randomx { memcpy(imul_rcp_storage - 34, &pcfg.eMask, sizeof(pcfg.eMask)); codePos = codePosFirst; - prevCFROUND = 0; + prevCFROUND = -1; + prevFPOperation = -1; //mark all registers as used uint64_t* r = (uint64_t*)registerUsage; @@ -1155,7 +1165,7 @@ namespace randomx { uint8_t* const p = code; uint32_t pos = codePos; - prevCFROUND = 0; + prevFPOperation = pos; const uint64_t dst = instr.dst % RegisterCountFlt; const uint64_t src = instr.src % RegisterCountFlt; @@ -1170,7 +1180,7 @@ namespace randomx { uint8_t* const p = code; uint32_t pos = codePos; - prevCFROUND = 0; + prevFPOperation = pos; const uint32_t src = instr.src % RegistersCount; const uint32_t dst = instr.dst % RegisterCountFlt; @@ -1187,7 +1197,7 @@ namespace randomx { uint8_t* const p = code; uint32_t pos = codePos; - prevCFROUND = 0; + prevFPOperation = pos; const uint64_t dst = instr.dst % RegisterCountFlt; const uint64_t src = instr.src % RegisterCountFlt; @@ -1202,7 +1212,7 @@ namespace randomx { uint8_t* const p = code; uint32_t pos = codePos; - prevCFROUND = 0; + prevFPOperation = pos; const uint32_t src = instr.src % RegistersCount; const uint32_t dst = instr.dst % RegisterCountFlt; @@ -1230,7 +1240,7 @@ namespace randomx { uint8_t* const p = code; uint32_t pos = codePos; - prevCFROUND = 0; + prevFPOperation = pos; const uint64_t dst = instr.dst % RegisterCountFlt; const uint64_t src = instr.src % RegisterCountFlt; @@ -1245,7 +1255,7 @@ namespace randomx { uint8_t* const p = code; uint32_t pos = codePos; - prevCFROUND = 0; + prevFPOperation = pos; const uint32_t src = instr.src % RegistersCount; const uint64_t dst = instr.dst % RegisterCountFlt; @@ -1272,7 +1282,7 @@ namespace randomx { uint8_t* const p = code; uint32_t pos = codePos; - prevCFROUND = 0; + prevFPOperation = pos; const uint32_t dst = instr.dst % RegisterCountFlt; @@ -1283,21 +1293,18 @@ namespace randomx { void JitCompilerX86::h_CFROUND(const Instruction& instr) { uint8_t* const p = code; - uint32_t pos = prevCFROUND; + int32_t t = prevCFROUND; - if (pos) { + if (t > prevFPOperation) { if (vm_flags & RANDOMX_FLAG_AMD) { - memcpy(p + pos + 0, NOP9, 9); - memcpy(p + pos + 9, NOP9, 9); - memcpy(p + pos + 18, NOP8, 8); + memcpy(p + t, NOP26, 26); } else { - memcpy(p + pos + 0, NOP8, 8); - memcpy(p + pos + 8, NOP6, 6); + memcpy(p + t, NOP14, 14); } } - pos = codePos; + uint32_t pos = codePos; prevCFROUND = pos; const uint32_t src = instr.src % RegistersCount; @@ -1322,21 +1329,18 @@ namespace randomx { void JitCompilerX86::h_CFROUND_BMI2(const Instruction& instr) { uint8_t* const p = code; - uint32_t pos = prevCFROUND; + int32_t t = prevCFROUND; - if (pos) { + if (t > prevFPOperation) { if (vm_flags & RANDOMX_FLAG_AMD) { - memcpy(p + pos + 0, NOP9, 9); - memcpy(p + pos + 9, NOP9, 9); - memcpy(p + pos + 18, NOP7, 7); + memcpy(p + t, NOP25, 25); } else { - memcpy(p + pos + 0, NOP8, 8); - memcpy(p + pos + 8, NOP5, 5); + memcpy(p + t, NOP13, 13); } } - pos = codePos; + uint32_t pos = codePos; prevCFROUND = pos; const uint64_t src = instr.src % RegistersCount; @@ -1363,10 +1367,15 @@ namespace randomx { uint8_t* const p = code; uint32_t pos = codePos; - prevCFROUND = 0; - const int reg = instr.dst % RegistersCount; - int32_t jmp_offset = registerUsage[reg] - (pos + 16); + int32_t jmp_offset = registerUsage[reg]; + + // if it jumps over the previous FP instruction that uses rounding, treat it as if FP instruction happened now + if (jmp_offset <= prevFPOperation) { + prevFPOperation = pos; + } + + jmp_offset -= pos + 16; if (jccErratum) { const uint32_t branch_begin = static_cast(pos + 7); diff --git a/src/crypto/randomx/jit_compiler_x86.hpp b/src/crypto/randomx/jit_compiler_x86.hpp index abc8e74f16..152619226d 100644 --- a/src/crypto/randomx/jit_compiler_x86.hpp +++ b/src/crypto/randomx/jit_compiler_x86.hpp @@ -89,7 +89,8 @@ namespace randomx { uint32_t codePos = 0; uint32_t codePosFirst = 0; uint32_t vm_flags = 0; - uint32_t prevCFROUND = 0; + int32_t prevCFROUND = -1; + int32_t prevFPOperation = -1; # ifdef XMRIG_FIX_RYZEN std::pair mainLoopBounds; diff --git a/src/crypto/randomx/vm_interpreted.cpp b/src/crypto/randomx/vm_interpreted.cpp index 840ea76887..9973a22885 100644 --- a/src/crypto/randomx/vm_interpreted.cpp +++ b/src/crypto/randomx/vm_interpreted.cpp @@ -104,6 +104,8 @@ namespace randomx { for (unsigned i = 0; i < RegisterCountFlt; ++i) rx_store_vec_f128(®.e[i].lo, nreg.e[i]); + + cleanup(); } template diff --git a/src/crypto/rx/Rx.cpp b/src/crypto/rx/Rx.cpp index dae49655ec..1d9fa29398 100644 --- a/src/crypto/rx/Rx.cpp +++ b/src/crypto/rx/Rx.cpp @@ -18,6 +18,7 @@ */ #include "crypto/rx/Rx.h" +#include "backend/cpu/Cpu.h" #include "backend/cpu/CpuConfig.h" #include "backend/cpu/CpuThreads.h" #include "crypto/rx/RxConfig.h" @@ -84,6 +85,16 @@ void xmrig::Rx::init(IRxListener *listener) } +#include "crypto/randomx/blake2/blake2.h" +#if defined(XMRIG_FEATURE_AVX2) +#include "crypto/randomx/blake2/avx2/blake2b.h" +#endif + + +void (*rx_blake2b_compress)(blake2b_state* S, const uint8_t * block) = rx_blake2b_compress_integer; +int (*rx_blake2b)(void* out, size_t outlen, const void* in, size_t inlen) = rx_blake2b_default; + + template bool xmrig::Rx::init(const T &seed, const RxConfig &config, const CpuConfig &cpu) { @@ -133,6 +144,19 @@ bool xmrig::Rx::init(const T &seed, const RxConfig &config, const CpuConfig &cpu if (!cpu.isHwAES()) { SelectSoftAESImpl(cpu.threads().get(seed.algorithm()).count()); } + +# if defined(XMRIG_FEATURE_SSE4_1) + if (Cpu::info()->has(ICpuInfo::FLAG_SSE41)) { + rx_blake2b_compress = rx_blake2b_compress_sse41; + } +# endif + +#if defined(XMRIG_FEATURE_AVX2) + if (Cpu::info()->has(ICpuInfo::FLAG_AVX2)) { + rx_blake2b = blake2b_avx2; + } +# endif + osInitialized = true; } diff --git a/src/crypto/rx/RxConfig.cpp b/src/crypto/rx/RxConfig.cpp index 1cd6f6eb17..362876071b 100644 --- a/src/crypto/rx/RxConfig.cpp +++ b/src/crypto/rx/RxConfig.cpp @@ -58,12 +58,13 @@ static const std::array modeNames = { "auto", " #ifdef XMRIG_FEATURE_MSR -constexpr size_t kMsrArraySize = 5; +constexpr size_t kMsrArraySize = 6; static const std::array msrPresets = { MsrItems(), MsrItems{{ 0xC0011020, 0ULL }, { 0xC0011021, 0x40ULL, ~0x20ULL }, { 0xC0011022, 0x1510000ULL }, { 0xC001102b, 0x2000cc16ULL }}, MsrItems{{ 0xC0011020, 0x0004480000000000ULL }, { 0xC0011021, 0x001c000200000040ULL, ~0x20ULL }, { 0xC0011022, 0xc000000401500000ULL }, { 0xC001102b, 0x2000cc14ULL }}, + MsrItems{{ 0xC0011020, 0x0004400000000000ULL }, { 0xC0011021, 0x0004000000000040ULL, ~0x20ULL }, { 0xC0011022, 0x8680000401570000ULL }, { 0xC001102b, 0x2040cc10ULL }}, MsrItems{{ 0x1a4, 0xf }}, MsrItems() }; diff --git a/src/crypto/rx/RxVm.cpp b/src/crypto/rx/RxVm.cpp index f4b37375a8..acaa25e053 100644 --- a/src/crypto/rx/RxVm.cpp +++ b/src/crypto/rx/RxVm.cpp @@ -25,11 +25,6 @@ #include "crypto/rx/RxVm.h" -#if defined(XMRIG_FEATURE_SSE4_1) -extern "C" uint32_t rx_blake2b_use_sse41; -#endif - - randomx_vm *xmrig::RxVm::create(RxDataset *dataset, uint8_t *scratchpad, bool softAes, const Assembly &assembly, uint32_t node) { int flags = 0; @@ -51,10 +46,6 @@ randomx_vm *xmrig::RxVm::create(RxDataset *dataset, uint8_t *scratchpad, bool so flags |= RANDOMX_FLAG_AMD; } -# if defined(XMRIG_FEATURE_SSE4_1) - rx_blake2b_use_sse41 = Cpu::info()->has(ICpuInfo::FLAG_SSE41) ? 1 : 0; -# endif - return randomx_create_vm(static_cast(flags), !dataset->get() ? dataset->cache()->get() : nullptr, dataset->get(), scratchpad, node); } diff --git a/src/hw/dmi/DmiTools.h b/src/hw/dmi/DmiTools.h index 65a1dfd758..cfaf23a026 100644 --- a/src/hw/dmi/DmiTools.h +++ b/src/hw/dmi/DmiTools.h @@ -24,6 +24,7 @@ #include #include +#include "base/tools/Alignment.h" namespace xmrig { @@ -45,10 +46,10 @@ struct u64 { template -inline T dmi_get(const uint8_t *data) { return *reinterpret_cast(data); } +inline T dmi_get(const uint8_t *data) { return readUnaligned(reinterpret_cast(data)); } template -inline T dmi_get(const dmi_header *h, size_t offset) { return *reinterpret_cast(h->data + offset); } +inline T dmi_get(const dmi_header *h, size_t offset) { return readUnaligned(reinterpret_cast(h->data + offset)); } const char *dmi_string(dmi_header *dm, size_t offset); diff --git a/src/net/strategies/DonateStrategy.cpp b/src/net/strategies/DonateStrategy.cpp index cdaf2258f1..50e988893b 100644 --- a/src/net/strategies/DonateStrategy.cpp +++ b/src/net/strategies/DonateStrategy.cpp @@ -70,9 +70,9 @@ xmrig::DonateStrategy::DonateStrategy(Controller *controller, IStrategyListener # endif # ifdef XMRIG_FEATURE_TLS - m_pools.emplace_back(kDonateHostTls, 443, m_userId, nullptr, nullptr, 0, true, true, false, mode); + m_pools.emplace_back(kDonateHostTls, 443, m_userId, nullptr, nullptr, 0, true, true, mode); # endif - m_pools.emplace_back(kDonateHost, 3333, m_userId, nullptr, nullptr, 0, true, false, false, mode); + m_pools.emplace_back(kDonateHost, 3333, m_userId, nullptr, nullptr, 0, true, false, mode); if (m_pools.size() > 1) { m_strategy = new FailoverStrategy(m_pools, 10, 2, this, true); @@ -106,12 +106,6 @@ int64_t xmrig::DonateStrategy::submit(const JobResult &result) void xmrig::DonateStrategy::connect() { -# ifdef XMRIG_ALGO_ASTROBWT - if (m_algorithm == Algorithm::ASTROBWT_DERO_2) { - return; - } -# endif - m_proxy = createProxy(); if (m_proxy) { m_proxy->connect(); @@ -258,7 +252,7 @@ xmrig::IClient *xmrig::DonateStrategy::createProxy() const IClient *client = strategy->client(); m_tls = client->hasExtension(IClient::EXT_TLS); - Pool pool(client->pool().proxy().isValid() ? client->pool().host() : client->ip(), client->pool().port(), m_userId, client->pool().password(), client->pool().spendSecretKey(), 0, true, client->isTLS(), client->isWSS(), Pool::MODE_POOL); + Pool pool(client->pool().proxy().isValid() ? client->pool().host() : client->ip(), client->pool().port(), m_userId, client->pool().password(), client->pool().spendSecretKey(), 0, true, client->isTLS(), Pool::MODE_POOL); pool.setAlgo(client->pool().algorithm()); pool.setProxy(client->pool().proxy()); diff --git a/src/version.h b/src/version.h index 381ed8193c..1d8f16d1da 100644 --- a/src/version.h +++ b/src/version.h @@ -22,15 +22,15 @@ #define APP_ID "xmrig" #define APP_NAME "XMRig" #define APP_DESC "XMRig miner" -#define APP_VERSION "6.17.0" +#define APP_VERSION "6.18.1" #define APP_DOMAIN "xmrig.com" #define APP_SITE "www.xmrig.com" #define APP_COPYRIGHT "Copyright (C) 2016-2022 xmrig.com" #define APP_KIND "miner" #define APP_VER_MAJOR 6 -#define APP_VER_MINOR 17 -#define APP_VER_PATCH 0 +#define APP_VER_MINOR 18 +#define APP_VER_PATCH 1 #ifdef _MSC_VER # if (_MSC_VER >= 1930)